@stackflow/plugin-basic-ui 0.14.1 → 0.14.2

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.
@@ -1,10 +1,16 @@
1
1
  import type { StackflowReactPlugin } from "@stackflow/react";
2
+ import React from "react";
2
3
  import * as theme from "./theme.css";
3
- declare type RPartial<K> = {
4
- [attr in keyof K]?: K[attr] extends object ? RPartial<K[attr]> : K[attr];
5
- };
6
- declare type BasicUIPluginOptions = RPartial<theme.GlobalVars> & {
4
+ import type { RecursivePartial } from "./utils";
5
+ declare type BasicUIPluginOptions = RecursivePartial<theme.GlobalVars> & {
7
6
  theme: "android" | "cupertino";
7
+ appBar?: {
8
+ closeButton?: {
9
+ onClick?: (e: React.MouseEvent<HTMLButtonElement>) => void;
10
+ };
11
+ };
8
12
  };
13
+ export declare const GlobalOptionsProvider: React.Provider<BasicUIPluginOptions>;
14
+ export declare function useGlobalOptions(): BasicUIPluginOptions;
9
15
  export declare const basicUIPlugin: (options: BasicUIPluginOptions) => StackflowReactPlugin;
10
16
  export {};
@@ -17,7 +17,7 @@ declare const AppBar: React.ForwardRefExoticComponent<Partial<Pick<{
17
17
  } | undefined;
18
18
  closeButton?: {
19
19
  renderIcon?: (() => React.ReactNode) | undefined;
20
- onClick: (e: React.MouseEvent<HTMLButtonElement>) => void;
20
+ onClick?: ((e: React.MouseEvent<HTMLButtonElement>) => void) | undefined;
21
21
  } | {
22
22
  render?: (() => React.ReactNode) | undefined;
23
23
  } | undefined;
@@ -1,6 +1,7 @@
1
1
  import React from "react";
2
2
  import type { GlobalVars } from "../theme.css";
3
3
  declare type BottomSheetProps = Partial<Pick<GlobalVars, "backgroundColor" | "dimBackgroundColor">> & Partial<GlobalVars["bottomSheet"]> & {
4
+ onOutsideClick?: React.MouseEventHandler;
4
5
  children: React.ReactNode;
5
6
  };
6
7
  declare const BottomSheet: React.FC<BottomSheetProps>;
@@ -1,6 +1,7 @@
1
1
  import React from "react";
2
2
  import type { GlobalVars } from "../theme.css";
3
3
  declare type ModalProps = Partial<Pick<GlobalVars, "backgroundColor" | "dimBackgroundColor">> & Partial<GlobalVars["modal"]> & {
4
+ onOutsideClick?: React.MouseEventHandler;
4
5
  children: React.ReactNode;
5
6
  };
6
7
  declare const Modal: React.FC<ModalProps>;
@@ -4,4 +4,3 @@ export * from "./useStyleEffect";
4
4
  export * from "./useStyleEffectHide";
5
5
  export * from "./useStyleEffectOffset";
6
6
  export * from "./useStyleEffectSwipeBack";
7
- export * from "./useTheme";
package/dist/index.js CHANGED
@@ -1,2 +1,2 @@
1
- "use strict";var Jt=Object.create;var M=Object.defineProperty,Qt=Object.defineProperties,te=Object.getOwnPropertyDescriptor,ee=Object.getOwnPropertyDescriptors,re=Object.getOwnPropertyNames,it=Object.getOwnPropertySymbols,oe=Object.getPrototypeOf,lt=Object.prototype.hasOwnProperty,ae=Object.prototype.propertyIsEnumerable;var ct=(t,e,o)=>e in t?M(t,e,{enumerable:!0,configurable:!0,writable:!0,value:o}):t[e]=o,dt=(t,e)=>{for(var o in e||(e={}))lt.call(e,o)&&ct(t,o,e[o]);if(it)for(var o of it(e))ae.call(e,o)&&ct(t,o,e[o]);return t},mt=(t,e)=>Qt(t,ee(e));var pt=(t,e)=>{for(var o in e)M(t,o,{get:e[o],enumerable:!0})},ft=(t,e,o,r)=>{if(e&&typeof e=="object"||typeof e=="function")for(let a of re(e))!lt.call(t,a)&&a!==o&&M(t,a,{get:()=>e[a],enumerable:!(r=te(e,a))||r.enumerable});return t};var N=(t,e,o)=>(o=t!=null?Jt(oe(t)):{},ft(e||!t||!t.__esModule?M(o,"default",{value:t,enumerable:!0}):o,t)),ne=t=>ft(M({},"__esModule",{value:!0}),t);var Ce={};pt(Ce,{AppScreen:()=>Dt,BottomSheet:()=>Wt,Modal:()=>Zt,basicUIPlugin:()=>Et,cssVars:()=>i});module.exports=ne(Ce);var kt=require("@vanilla-extract/dynamic"),rt=N(require("react"));var D=require("react");function E(t){return Object.entries(t).reduce((e,[o,r])=>(r!=null&&(e[o]=r),e),{})}function V(t,e,o){let r=()=>{t.removeEventListener(e,r),o()};t.addEventListener(e,r)}var ht=t=>(t(),window.addEventListener("resize",t),()=>{window.removeEventListener("resize",t)});var A=()=>{};function B(t){requestAnimationFrame(()=>{requestAnimationFrame(()=>{t()})})}function L(t){let[e,o]=(0,D.useState)(void 0);return(0,D.useEffect)(()=>{B(()=>{o(t)})},[t]),e}var O=require("react");function ut({outerRef:t,innerRef:e,enable:o}){let[r,a]=(0,O.useState)(void 0);return(0,O.useEffect)(()=>{let l=t&&"current"in t&&t.current,n=e.current;return!o||!l||!n?A:ht(()=>{let s=l.clientWidth,m=n.offsetLeft,h=n.clientWidth,u=s-m-h,p=Math.max(m,u);a(s-2*p)})},[]),{maxWidth:r}}var xt=require("@stackflow/react"),tt=require("react"),P={};function b({styleName:t,refs:e,effect:o}){let r=(0,xt.useActivity)();(0,tt.useEffect)(()=>(P[t]||(P[t]=new Map),P[t].set(r.zIndex,{refs:e,hasEffect:!!o}),()=>{P[t].delete(r.zIndex)}),[r.id,e,o]),(0,tt.useEffect)(()=>{if(!o)return()=>{};let a=(()=>{let n=[];for(let c=1;c<=r.zIndex;c+=1){let s=P[t].get(r.zIndex-c);if(s!=null&&s.refs&&(n=[...n,...s.refs]),s!=null&&s.hasEffect)break}return n})(),l=o({activityTransitionState:r.transitionState,refs:a});return()=>{l==null||l()}},[r.transitionState])}function vt({refs:t,hasEffect:e}){b({styleName:"hide",refs:t,effect:e?({activityTransitionState:o,refs:r})=>{switch(o){case"enter-done":{r.forEach(a=>{a.current.style.display="none"});break}default:{r.forEach(a=>{a.current.style.display=""});break}}}:void 0})}var se=32,H=80;function yt({refs:t,theme:e,hasEffect:o}){b({styleName:"offset",refs:t,effect:o?({activityTransitionState:r,refs:a})=>{let l=e==="cupertino"?`translateX(-${H/16}rem)`:`translateY(-${se/16}rem)`;switch(r){case"enter-active":case"enter-done":{a.forEach(n=>{n.current.style.transition="var(--stackflow-transition-duration)",n.current.style.transform=l});break}case"exit-active":case"exit-done":{B(()=>{a.forEach(n=>{n.current.style.transform="",V(n.current,"transitionend",()=>{n.current.style.transition=""})})});break}default:break}}:void 0})}function bt({theme:t,dimRef:e,edgeRef:o,paperRef:r,hasEffect:a,onSwiped:l}){b({styleName:"swipe-back",refs:[r],effect:a?({refs:n})=>{if(t!=="cupertino")return()=>{};if(!e.current||!o.current||!r.current)return()=>{};let c=e.current,s=o.current,m=r.current,h=null,u=null,p=null,g=[],k=()=>{h=null,u=null,p=null,g=[]},S=!1;function z(x){S||(S=!0,requestAnimationFrame(()=>{let d=x/m.clientWidth;c.style.opacity=`${1-d}`,c.style.transition="0s",m.style.overflowY="hidden",m.style.transform=`translateX(${x}px)`,m.style.transition="0s",n.forEach(f=>{var y;!f.current||(f.current.style.transform=`translateX(${-1*(1-d)*H}px)`,f.current.style.transition="0s",((y=f.current.parentElement)==null?void 0:y.style.display)==="none"&&(f.current.parentElement.style.display="block"))}),S=!1}))}function Q({swiped:x}){requestAnimationFrame(()=>{c.style.opacity=`${x?0:1}`,c.style.transition="var(--stackflow-transition-duration)",m.style.overflowY="hidden",m.style.transform=`translateX(${x?"100%":"0"})`,m.style.transition="var(--stackflow-transition-duration)",n.forEach(d=>{!d.current||(d.current.style.transition="var(--stackflow-transition-duration)",d.current.style.transform=`translateX(${x?"0":`-${H/16}rem`})`)}),V(m,"transitionend",()=>{c.style.opacity="",m.style.overflowY="",m.style.transform="",n.forEach((d,f)=>{if(!d.current)return;let y=g[f];x?(d.current.style.transition="",d.current.style.transform="",d.current.parentElement&&(d.current.parentElement.style.display="")):y&&(d.current.style.transition=y.style.transition,d.current.style.transform=y.style.transform,d.current.parentElement&&y.parentElement&&(d.current.parentElement.style.display=y.parentElement.style.display))})})})}let T=x=>{var f;let{activeElement:d}=document;(f=d==null?void 0:d.blur)==null||f.call(d),h=p=x.touches[0].clientX,u=Date.now(),g=n.map(y=>y.current?{style:{transform:y.current.style.transform,transition:y.current.style.transition},parentElement:y.current.parentElement?{style:{display:y.current.parentElement.style.display}}:void 0}:{style:{transform:"",transition:""}})},w=x=>{if(!h){k();return}p=x.touches[0].clientX,z(p-h)},I=()=>{if(!h||!u||!p){k();return}let x=Date.now(),f=(p-h)/(x-u)>1||p/m.clientWidth>.4;f&&(l==null||l()),k(),Q({swiped:f})};return s.addEventListener("touchstart",T,{passive:!0}),s.addEventListener("touchmove",w,{passive:!0}),s.addEventListener("touchend",I,{passive:!0}),s.addEventListener("touchcancel",I,{passive:!0}),()=>{s.removeEventListener("touchstart",T),s.removeEventListener("touchmove",w),s.removeEventListener("touchend",I),s.removeEventListener("touchcancel",I)}}:void 0})}var F=require("react"),Ct=(0,F.createContext)("android"),gt=Ct.Provider;function $(){return(0,F.useContext)(Ct)}var et={};pt(et,{android:()=>ie,cupertino:()=>ce,globalVars:()=>i,rootAndroid:()=>le,rootCupertino:()=>de});var ie="_1coppmz0",ce="_1coppmz1",i={backgroundColor:"var(--stackflow-basic-ui-background-color)",dimBackgroundColor:"var(--stackflow-basic-ui-dim-background-color)",appBar:{borderColor:"var(--stackflow-basic-ui-app-bar-border-color)",borderSize:"var(--stackflow-basic-ui-app-bar-border-size)",height:"var(--stackflow-basic-ui-app-bar-height)",iconColor:"var(--stackflow-basic-ui-app-bar-icon-color)",textColor:"var(--stackflow-basic-ui-app-bar-text-color)"},bottomSheet:{borderRadius:"var(--stackflow-basic-ui-bottom-sheet-border-radius)"},modal:{borderRadius:"var(--stackflow-basic-ui-bottom-sheet-border-radius)"}},le=":root[data-stackflow-basic-ui-theme=android]",de=":root[data-stackflow-basic-ui-theme=cupertino]";var Et=t=>()=>({key:"basic-ui",wrapStack({stack:e}){var o,r,a,l,n,c,s;return rt.default.createElement(gt,{value:t.theme},rt.default.createElement("div",{className:et[t.theme],style:(0,kt.assignInlineVars)(E({[i.backgroundColor]:t.backgroundColor,[i.dimBackgroundColor]:t.dimBackgroundColor,[i.appBar.borderColor]:(o=t.appBar)==null?void 0:o.borderColor,[i.appBar.borderSize]:(r=t.appBar)==null?void 0:r.borderSize,[i.appBar.height]:(a=t.appBar)==null?void 0:a.height,[i.appBar.iconColor]:(l=t.appBar)==null?void 0:l.iconColor,[i.appBar.textColor]:(n=t.appBar)==null?void 0:n.textColor,[i.bottomSheet.borderRadius]:(c=t.bottomSheet)==null?void 0:c.borderRadius,[i.modal.borderRadius]:(s=t.modal)==null?void 0:s.borderRadius}))},e.render()))}});var U=require("@stackflow/react"),Bt=require("@vanilla-extract/dynamic"),C=N(require("react"));var X=require("@stackflow/react"),Vt=require("@vanilla-extract/dynamic"),v=N(require("react"));var ot=N(require("react")),me=t=>ot.default.createElement("svg",{className:t.className,width:"24",height:"24",viewBox:"0 0 24 24",fill:"none",xmlns:"http://www.w3.org/2000/svg"},ot.default.createElement("path",{d:"M11.5659 5.56564C11.8783 5.25322 11.8783 4.74669 11.5659 4.43427C11.2535 4.12185 10.7469 4.12185 10.4345 4.43427L3.43451 11.4343C3.12209 11.7467 3.12209 12.2532 3.43451 12.5656L10.4345 19.5656C10.7469 19.8781 11.2535 19.8781 11.5659 19.5656C11.8783 19.2532 11.8783 18.7467 11.5659 18.4343L5.93157 12.8H20.0002C20.442 12.8 20.8002 12.4418 20.8002 12C20.8002 11.5581 20.442 11.2 20.0002 11.2H5.93157L11.5659 5.56564Z",fill:"currentColor"})),j=me;var W=N(require("react")),pe=t=>W.default.createElement("svg",{className:t.className,width:"24",height:"24",viewBox:"0 0 24 24",fill:"none",xmlns:"http://www.w3.org/2000/svg"},W.default.createElement("path",{d:"M6.56588 5.43433C6.25346 5.12191 5.74693 5.12191 5.43451 5.43433C5.12209 5.74675 5.12209 6.25328 5.43451 6.5657L10.8688 12L5.43451 17.4343C5.12209 17.7467 5.12209 18.2533 5.43451 18.5657C5.74693 18.8781 6.25346 18.8781 6.56588 18.5657L12.0002 13.1314L17.4345 18.5657C17.7469 18.8781 18.2535 18.8781 18.5659 18.5657C18.8783 18.2533 18.8783 17.7467 18.5659 17.4343L13.1316 12L18.5659 6.5657C18.8783 6.25328 18.8783 5.74675 18.5659 5.43433C18.2535 5.12191 17.7469 5.12191 17.4345 5.43433L12.0002 10.8686L6.56588 5.43433Z",fill:"currentColor"}),W.default.createElement("path",{d:"M6.56588 5.43433C6.25346 5.12191 5.74693 5.12191 5.43451 5.43433C5.12209 5.74675 5.12209 6.25328 5.43451 6.5657L10.8688 12L5.43451 17.4343C5.12209 17.7467 5.12209 18.2533 5.43451 18.5657C5.74693 18.8781 6.25346 18.8781 6.56588 18.5657L12.0002 13.1314L17.4345 18.5657C17.7469 18.8781 18.2535 18.8781 18.5659 18.5657C18.8783 18.2533 18.8783 17.7467 18.5659 17.4343L13.1316 12L18.5659 6.5657C18.8783 6.25328 18.8783 5.74675 18.5659 5.43433C18.2535 5.12191 17.7469 5.12191 17.4345 5.43433L12.0002 10.8686L6.56588 5.43433Z",fill:"currentColor"})),at=pe;var nt=require("@vanilla-extract/recipes/createRuntimeFn"),qt=(0,nt.createRuntimeFn)({defaultClassName:"_1yk3a450 dhthxq4 dhthxq8 dhthxq7 dhthxq0 dhthxqg _1dlf4347",variantClassNames:{border:{true:"_1yk3a451"}},defaultVariants:{},compoundVariants:[]}),st="_1yk3a453 dhthxq8 dhthxq7 dhthxqa dhthxqe dhthxqh",_t="_1yk3a455 dhthxq8 dhthxq7",Rt=(0,nt.createRuntimeFn)({defaultClassName:"_1yk3a456",variantClassNames:{hasLeft:{true:"_1yk3a457"}},defaultVariants:{},compoundVariants:[]}),St="_1yk3a458 dhthxqb dhthxqc dhthxq0",Nt="_1yk3a453 dhthxq8 dhthxq7 dhthxqa dhthxqe dhthxqh",zt="_1yk3a452 dhthxq8 dhthxq7 dhthxq1",It="_1yk3a459 dhthxq8 dhthxq7 dhthxq1 dhthxq5";var G=require("@vanilla-extract/recipes/createRuntimeFn");var Lt=(0,G.createRuntimeFn)({defaultClassName:"dhthxq4 dhthxq0 dhthxq1 dhthxq2 dhthxq3 dhthxqb",variantClassNames:{transitionState:{"enter-active":"_1dlf4349","enter-done":"_1dlf434a","exit-active":"_1dlf434b","exit-done":"_1dlf434c"}},defaultVariants:{},compoundVariants:[]});var Tt="_1dlf434i dhthxq4 dhthxq0 dhthxq1 dhthxq2 dhthxq3 _1dlf4346 _1dlf4348",wt=(0,G.createRuntimeFn)({defaultClassName:"_1dlf434l dhthxq4 dhthxq2 dhthxq3 dhthxq1",variantClassNames:{hasAppBar:{true:"_1dlf434m"}},defaultVariants:{},compoundVariants:[]});var Mt=(0,G.createRuntimeFn)({defaultClassName:"_1dlf434j dhthxq4 dhthxq0 dhthxq1 dhthxq2 dhthxq3 _1dlf4347 _1dlf4348",variantClassNames:{hasAppBar:{true:"_1dlf434k dhthxqf"}},defaultVariants:{},compoundVariants:[]}),q={transitionDuration:"var(--_1dlf4340)",zIndexes:{dim:"var(--_1dlf4341)",paper:"var(--_1dlf4342)",edge:"var(--_1dlf4343)",appBar:"var(--_1dlf4344)"},appBar:{center:{mainWidth:"var(--_1dlf4345)"}}};var he=v.default.forwardRef(({title:t,appendLeft:e,appendRight:o,backButton:r,closeButton:a,closeButtonLocation:l="left",border:n=!0,iconColor:c,textColor:s,borderColor:m,borderSize:h,height:u},p)=>{let g=(0,X.useActions)(),k=(0,X.useActivity)(),S=$(),z=(0,v.useRef)(null),{maxWidth:Q}=ut({outerRef:p,innerRef:z,enable:S==="cupertino"}),T=f=>{r&&"onClick"in r&&r.onClick&&r.onClick(f),f.defaultPrevented||g.pop()},w=k.zIndex===0||k.zIndex===1&&k.transitionState==="enter-active"&&k.pushedBy.name==="Replaced",I=()=>{var f;return w?null:r?"render"in r&&r.render?(f=r.render)==null?void 0:f.call(r):v.default.createElement("button",{type:"button",className:st,onClick:T},"renderIcon"in r&&r.renderIcon?r.renderIcon():v.default.createElement(j,null)):v.default.createElement("button",{type:"button",className:st,onClick:T},v.default.createElement(j,null))},x=()=>!a||!w?null:"render"in a&&a.render?a.render():v.default.createElement("button",{type:"button",className:Nt,onClick:"onClick"in a?a.onClick:A},"renderIcon"in a&&a.renderIcon?a.renderIcon():v.default.createElement(at,null)),d=!!(l==="left"&&a||r||e);return v.default.createElement("div",{ref:p,className:qt({border:n}),style:(0,Vt.assignInlineVars)(E({[i.appBar.iconColor]:c,[i.appBar.textColor]:s,[i.appBar.borderColor]:m,[i.appBar.borderSize]:h,[i.appBar.height]:u,[q.appBar.center.mainWidth]:`${Q}px`}))},v.default.createElement("div",{className:zt},l==="left"&&x(),I(),e==null?void 0:e()),v.default.createElement("div",{ref:z,className:_t},v.default.createElement("div",{className:Rt({hasLeft:d})},typeof t=="string"?v.default.createElement("div",{className:St},t):t)),v.default.createElement("div",{className:It},o==null?void 0:o(),l==="right"&&x()))}),At=he;var ue=({appBar:t,children:e})=>{let o=$(),r=(0,U.useActivity)(),{pop:a}=(0,U.useActions)(),l=(0,C.useRef)(null),n=(0,C.useRef)(null),c=(0,C.useRef)(null),s=(0,C.useRef)(null),m=(0,C.useRef)(null);vt({refs:[l],hasEffect:!0}),yt({theme:o,refs:o==="cupertino"?[c]:[c,m],hasEffect:!0}),bt({theme:o,dimRef:n,edgeRef:s,paperRef:c,hasEffect:!0,onSwiped(){a()}});let h=r.zIndex===0,u=!!t,p=r.zIndex*5,g=p,k=p+(o==="cupertino"&&u?1:3),S=p+4,z=p+7;return C.default.createElement("div",{ref:l,className:Lt({transitionState:L(r.transitionState)}),style:(0,Bt.assignInlineVars)(E({[i.appBar.height]:t==null?void 0:t.height,[q.zIndexes.dim]:`${g}`,[q.zIndexes.paper]:`${k}`,[q.zIndexes.edge]:`${S}`,[q.zIndexes.appBar]:`${z}`,[q.transitionDuration]:r.transitionState==="enter-active"||r.transitionState==="exit-active"?"var(--stackflow-transition-duration)":"0ms"}))},C.default.createElement("div",{className:Tt,ref:n}),C.default.createElement("div",{key:r.id,className:Mt({hasAppBar:u}),ref:c},e),!h&&o==="cupertino"&&C.default.createElement("div",{className:wt({hasAppBar:u}),ref:s}),t&&C.default.createElement(At,mt(dt({},t),{ref:m})))},Dt=ue;var Y=require("@stackflow/react"),jt=require("@vanilla-extract/dynamic"),_=N(require("react"));var Ot=require("@vanilla-extract/recipes/createRuntimeFn"),Ht=(0,Ot.createRuntimeFn)({defaultClassName:"dhthxq4 dhthxq0 dhthxq1 dhthxq2 dhthxq3 dhthxqb",variantClassNames:{transitionState:{"enter-active":"_1ht38h04","enter-done":"_1ht38h05","exit-active":"_1ht38h06","exit-done":"_1ht38h07"}},defaultVariants:{},compoundVariants:[]}),Ft="_1ht38h0d dhthxq4 dhthxq0 dhthxq1 dhthxq2 dhthxq3 dhthxqb dhthxq9 dhthxq7 _1ht38h03";var $t="_1ht38h0e dhthxqb _1ht38h03",K={transitionDuration:"var(--_1ht38h00)",zIndexes:{dim:"var(--_1ht38h01)",paper:"var(--_1ht38h02)"}};var ve=({borderRadius:t="1rem",backgroundColor:e,dimBackgroundColor:o,children:r})=>{let a=(0,Y.useActivity)(),{pop:l}=(0,Y.useActions)(),n=(0,_.useRef)(null),c=(0,_.useRef)(null);b({styleName:"hide",refs:[n]}),b({styleName:"offset",refs:[c]}),b({styleName:"swipe-back",refs:[c]});let s=(0,_.useRef)(!1),m=()=>{s.current||(l(),s.current=!0)},h=g=>{g.stopPropagation()},u=a.zIndex*5+3,p=a.zIndex*5+4;return _.default.createElement("div",{className:Ht({transitionState:L(a.transitionState)}),ref:n,style:(0,jt.assignInlineVars)(E({[i.bottomSheet.borderRadius]:t,[i.backgroundColor]:e,[i.dimBackgroundColor]:o,[K.zIndexes.dim]:`${u}`,[K.zIndexes.paper]:`${p}`,[K.transitionDuration]:a.transitionState==="enter-active"||a.transitionState==="exit-active"?"var(--stackflow-transition-duration)":"0ms"}))},_.default.createElement("div",{className:Ft,ref:c,onClick:m},_.default.createElement("div",{className:$t,onClick:h},r)))},Wt=ve;var J=require("@stackflow/react"),Yt=require("@vanilla-extract/dynamic"),R=N(require("react"));var Gt=require("@vanilla-extract/recipes/createRuntimeFn"),Xt=(0,Gt.createRuntimeFn)({defaultClassName:"dhthxq4 dhthxq0 dhthxq1 dhthxq2 dhthxq3 dhthxqb",variantClassNames:{transitionState:{"enter-active":"_5ozg8c4","enter-done":"_5ozg8c5","exit-active":"_5ozg8c6","exit-done":"_5ozg8c7"}},defaultVariants:{},compoundVariants:[]}),Ut="_5ozg8cd dhthxq4 dhthxq0 dhthxq1 dhthxq2 dhthxq3 dhthxqb dhthxq8 dhthxq7 dhthxqa _5ozg8c3";var Kt="_5ozg8ce dhthxqb _5ozg8c3",Z={transitionDuration:"var(--_5ozg8c0)",zIndexes:{dim:"var(--_5ozg8c1)",paper:"var(--_5ozg8c2)"}};var be=({backgroundColor:t,dimBackgroundColor:e,borderRadius:o="1rem",children:r})=>{let a=(0,J.useActivity)(),{pop:l}=(0,J.useActions)(),n=(0,R.useRef)(null),c=(0,R.useRef)(null);b({styleName:"hide",refs:[n]}),b({styleName:"offset",refs:[c]}),b({styleName:"swipe-back",refs:[c]});let s=(0,R.useRef)(!1),m=()=>{s.current||(l(),s.current=!0)},h=g=>{g.stopPropagation()},u=a.zIndex*5+3,p=a.zIndex*5+4;return R.default.createElement("div",{className:Xt({transitionState:L(a.transitionState)}),ref:n,style:(0,Yt.assignInlineVars)(E({[i.bottomSheet.borderRadius]:o,[i.backgroundColor]:t,[i.dimBackgroundColor]:e,[Z.zIndexes.dim]:`${u}`,[Z.zIndexes.paper]:`${p}`,[Z.transitionDuration]:a.transitionState==="enter-active"||a.transitionState==="exit-active"?"var(--stackflow-transition-duration)":"0ms"}))},R.default.createElement("div",{className:Ut,ref:c,onClick:m},R.default.createElement("div",{className:Kt,onClick:h},r)))},Zt=be;
1
+ "use strict";var Qt=Object.create;var V=Object.defineProperty,te=Object.defineProperties,ee=Object.getOwnPropertyDescriptor,re=Object.getOwnPropertyDescriptors,oe=Object.getOwnPropertyNames,ct=Object.getOwnPropertySymbols,ae=Object.getPrototypeOf,dt=Object.prototype.hasOwnProperty,ne=Object.prototype.propertyIsEnumerable;var lt=(t,e,r)=>e in t?V(t,e,{enumerable:!0,configurable:!0,writable:!0,value:r}):t[e]=r,pt=(t,e)=>{for(var r in e||(e={}))dt.call(e,r)&&lt(t,r,e[r]);if(ct)for(var r of ct(e))ne.call(e,r)&&lt(t,r,e[r]);return t},mt=(t,e)=>te(t,re(e));var ft=(t,e)=>{for(var r in e)V(t,r,{get:e[r],enumerable:!0})},ut=(t,e,r,o)=>{if(e&&typeof e=="object"||typeof e=="function")for(let a of oe(e))!dt.call(t,a)&&a!==r&&V(t,a,{get:()=>e[a],enumerable:!(o=ee(e,a))||o.enumerable});return t};var I=(t,e,r)=>(r=t!=null?Qt(ae(t)):{},ut(e||!t||!t.__esModule?V(r,"default",{value:t,enumerable:!0}):r,t)),se=t=>ut(V({},"__esModule",{value:!0}),t);var Ee={};ft(Ee,{AppScreen:()=>Dt,BottomSheet:()=>Wt,Modal:()=>Kt,basicUIPlugin:()=>bt,cssVars:()=>i});module.exports=se(Ee);var vt=require("@vanilla-extract/dynamic"),M=I(require("react"));var et={};ft(et,{android:()=>ie,cupertino:()=>ce,globalVars:()=>i,rootAndroid:()=>le,rootCupertino:()=>de});var ie="_1coppmz0",ce="_1coppmz1",i={backgroundColor:"var(--stackflow-basic-ui-background-color)",dimBackgroundColor:"var(--stackflow-basic-ui-dim-background-color)",appBar:{borderColor:"var(--stackflow-basic-ui-app-bar-border-color)",borderSize:"var(--stackflow-basic-ui-app-bar-border-size)",height:"var(--stackflow-basic-ui-app-bar-height)",iconColor:"var(--stackflow-basic-ui-app-bar-icon-color)",textColor:"var(--stackflow-basic-ui-app-bar-text-color)"},bottomSheet:{borderRadius:"var(--stackflow-basic-ui-bottom-sheet-border-radius)"},modal:{borderRadius:"var(--stackflow-basic-ui-bottom-sheet-border-radius)"}},le=":root[data-stackflow-basic-ui-theme=android]",de=":root[data-stackflow-basic-ui-theme=cupertino]";function k(t){return Object.entries(t).reduce((e,[r,o])=>(o!=null&&(e[r]=o),e),{})}function D(t,e,r){let o=()=>{t.removeEventListener(e,o),r()};t.addEventListener(e,o)}var ht=t=>(t(),window.addEventListener("resize",t),()=>{window.removeEventListener("resize",t)});var xt=()=>{};function O(t){requestAnimationFrame(()=>{requestAnimationFrame(()=>{t()})})}var yt=(0,M.createContext)({theme:"android"}),pe=yt.Provider;function F(){return(0,M.useContext)(yt)}var bt=t=>()=>({key:"basic-ui",wrapStack({stack:e}){var r,o,a,n,c,p,s;return M.default.createElement(pe,{value:t},M.default.createElement("div",{className:et[t.theme],style:(0,vt.assignInlineVars)(k({[i.backgroundColor]:t.backgroundColor,[i.dimBackgroundColor]:t.dimBackgroundColor,[i.appBar.borderColor]:(r=t.appBar)==null?void 0:r.borderColor,[i.appBar.borderSize]:(o=t.appBar)==null?void 0:o.borderSize,[i.appBar.height]:(a=t.appBar)==null?void 0:a.height,[i.appBar.iconColor]:(n=t.appBar)==null?void 0:n.iconColor,[i.appBar.textColor]:(c=t.appBar)==null?void 0:c.textColor,[i.bottomSheet.borderRadius]:(p=t.bottomSheet)==null?void 0:p.borderRadius,[i.modal.borderRadius]:(s=t.modal)==null?void 0:s.borderRadius}))},e.render()))}});var Z=require("@stackflow/react"),Ht=require("@vanilla-extract/dynamic"),E=I(require("react"));var $=require("react");function P(t){let[e,r]=(0,$.useState)(void 0);return(0,$.useEffect)(()=>{O(()=>{r(t)})},[t]),e}var G=require("react");function Ct({outerRef:t,innerRef:e,enable:r}){let[o,a]=(0,G.useState)(void 0);return(0,G.useEffect)(()=>{let n=t&&"current"in t&&t.current,c=e.current;return!r||!n||!c?xt:ht(()=>{let s=n.clientWidth,l=c.offsetLeft,u=c.clientWidth,y=s-l-u,f=Math.max(l,y);a(s-2*f)})},[]),{maxWidth:o}}var gt=require("@stackflow/react"),rt=require("react"),A={};function C({styleName:t,refs:e,effect:r}){let o=(0,gt.useActivity)();(0,rt.useEffect)(()=>(A[t]||(A[t]=new Map),A[t].set(o.zIndex,{refs:e,hasEffect:!!r}),()=>{A[t].delete(o.zIndex)}),[o.id,e,r]),(0,rt.useEffect)(()=>{if(!r)return()=>{};let a=(()=>{let c=[];for(let p=1;p<=o.zIndex;p+=1){let s=A[t].get(o.zIndex-p);if(s!=null&&s.refs&&(c=[...c,...s.refs]),s!=null&&s.hasEffect)break}return c})(),n=r({activityTransitionState:o.transitionState,refs:a});return()=>{n==null||n()}},[o.transitionState])}function Et({refs:t,hasEffect:e}){C({styleName:"hide",refs:t,effect:e?({activityTransitionState:r,refs:o})=>{switch(r){case"enter-done":{o.forEach(a=>{a.current.style.display="none"});break}default:{o.forEach(a=>{a.current.style.display=""});break}}}:void 0})}var me=32,j=80;function kt({refs:t,theme:e,hasEffect:r}){C({styleName:"offset",refs:t,effect:r?({activityTransitionState:o,refs:a})=>{let n=e==="cupertino"?`translateX(-${j/16}rem)`:`translateY(-${me/16}rem)`;switch(o){case"enter-active":case"enter-done":{a.forEach(c=>{c.current.style.transition="var(--stackflow-transition-duration)",c.current.style.transform=n});break}case"exit-active":case"exit-done":{O(()=>{a.forEach(c=>{c.current.style.transform="",D(c.current,"transitionend",()=>{c.current.style.transition=""})})});break}default:break}}:void 0})}function qt({theme:t,dimRef:e,edgeRef:r,paperRef:o,hasEffect:a,onSwiped:n}){C({styleName:"swipe-back",refs:[o],effect:a?({refs:c})=>{if(t!=="cupertino")return()=>{};if(!e.current||!r.current||!o.current)return()=>{};let p=e.current,s=r.current,l=o.current,u=null,y=null,f=null,g=[],m=()=>{u=null,y=null,f=null,g=[]},N=!1;function z(b){N||(N=!0,requestAnimationFrame(()=>{let d=b/l.clientWidth;p.style.opacity=`${1-d}`,p.style.transition="0s",l.style.overflowY="hidden",l.style.transform=`translateX(${b}px)`,l.style.transition="0s",c.forEach(h=>{var x;!h.current||(h.current.style.transform=`translateX(${-1*(1-d)*j}px)`,h.current.style.transition="0s",((x=h.current.parentElement)==null?void 0:x.style.display)==="none"&&(h.current.parentElement.style.display="block"))}),N=!1}))}function w({swiped:b}){requestAnimationFrame(()=>{p.style.opacity=`${b?0:1}`,p.style.transition="var(--stackflow-transition-duration)",l.style.overflowY="hidden",l.style.transform=`translateX(${b?"100%":"0"})`,l.style.transition="var(--stackflow-transition-duration)",c.forEach(d=>{!d.current||(d.current.style.transition="var(--stackflow-transition-duration)",d.current.style.transform=`translateX(${b?"0":`-${j/16}rem`})`)}),D(l,"transitionend",()=>{p.style.opacity="",l.style.overflowY="",l.style.transform="",c.forEach((d,h)=>{if(!d.current)return;let x=g[h];b?(d.current.style.transition="",d.current.style.transform="",d.current.parentElement&&(d.current.parentElement.style.display="")):x&&(d.current.style.transition=x.style.transition,d.current.style.transform=x.style.transform,d.current.parentElement&&x.parentElement&&(d.current.parentElement.style.display=x.parentElement.style.display))})})})}let T=b=>{var h;let{activeElement:d}=document;(h=d==null?void 0:d.blur)==null||h.call(d),u=f=b.touches[0].clientX,y=Date.now(),g=c.map(x=>x.current?{style:{transform:x.current.style.transform,transition:x.current.style.transition},parentElement:x.current.parentElement?{style:{display:x.current.parentElement.style.display}}:void 0}:{style:{transform:"",transition:""}})},B=b=>{if(!u){m();return}f=b.touches[0].clientX,z(f-u)},L=()=>{if(!u||!y||!f){m();return}let b=Date.now(),h=(f-u)/(b-y)>1||f/l.clientWidth>.4;h&&(n==null||n()),m(),w({swiped:h})};return s.addEventListener("touchstart",T,{passive:!0}),s.addEventListener("touchmove",B,{passive:!0}),s.addEventListener("touchend",L,{passive:!0}),s.addEventListener("touchcancel",L,{passive:!0}),()=>{s.removeEventListener("touchstart",T),s.removeEventListener("touchmove",B),s.removeEventListener("touchend",L),s.removeEventListener("touchcancel",L)}}:void 0})}var Y=require("@stackflow/react"),Vt=require("@vanilla-extract/dynamic"),v=I(require("react"));var ot=I(require("react")),fe=t=>ot.default.createElement("svg",{className:t.className,width:"24",height:"24",viewBox:"0 0 24 24",fill:"none",xmlns:"http://www.w3.org/2000/svg"},ot.default.createElement("path",{d:"M11.5659 5.56564C11.8783 5.25322 11.8783 4.74669 11.5659 4.43427C11.2535 4.12185 10.7469 4.12185 10.4345 4.43427L3.43451 11.4343C3.12209 11.7467 3.12209 12.2532 3.43451 12.5656L10.4345 19.5656C10.7469 19.8781 11.2535 19.8781 11.5659 19.5656C11.8783 19.2532 11.8783 18.7467 11.5659 18.4343L5.93157 12.8H20.0002C20.442 12.8 20.8002 12.4418 20.8002 12C20.8002 11.5581 20.442 11.2 20.0002 11.2H5.93157L11.5659 5.56564Z",fill:"currentColor"})),W=fe;var X=I(require("react")),ue=t=>X.default.createElement("svg",{className:t.className,width:"24",height:"24",viewBox:"0 0 24 24",fill:"none",xmlns:"http://www.w3.org/2000/svg"},X.default.createElement("path",{d:"M6.56588 5.43433C6.25346 5.12191 5.74693 5.12191 5.43451 5.43433C5.12209 5.74675 5.12209 6.25328 5.43451 6.5657L10.8688 12L5.43451 17.4343C5.12209 17.7467 5.12209 18.2533 5.43451 18.5657C5.74693 18.8781 6.25346 18.8781 6.56588 18.5657L12.0002 13.1314L17.4345 18.5657C17.7469 18.8781 18.2535 18.8781 18.5659 18.5657C18.8783 18.2533 18.8783 17.7467 18.5659 17.4343L13.1316 12L18.5659 6.5657C18.8783 6.25328 18.8783 5.74675 18.5659 5.43433C18.2535 5.12191 17.7469 5.12191 17.4345 5.43433L12.0002 10.8686L6.56588 5.43433Z",fill:"currentColor"}),X.default.createElement("path",{d:"M6.56588 5.43433C6.25346 5.12191 5.74693 5.12191 5.43451 5.43433C5.12209 5.74675 5.12209 6.25328 5.43451 6.5657L10.8688 12L5.43451 17.4343C5.12209 17.7467 5.12209 18.2533 5.43451 18.5657C5.74693 18.8781 6.25346 18.8781 6.56588 18.5657L12.0002 13.1314L17.4345 18.5657C17.7469 18.8781 18.2535 18.8781 18.5659 18.5657C18.8783 18.2533 18.8783 17.7467 18.5659 17.4343L13.1316 12L18.5659 6.5657C18.8783 6.25328 18.8783 5.74675 18.5659 5.43433C18.2535 5.12191 17.7469 5.12191 17.4345 5.43433L12.0002 10.8686L6.56588 5.43433Z",fill:"currentColor"})),at=ue;var nt=require("@vanilla-extract/recipes/createRuntimeFn"),Rt=(0,nt.createRuntimeFn)({defaultClassName:"_1yk3a450 dhthxq4 dhthxq8 dhthxq7 dhthxq0 dhthxqg _1dlf4347",variantClassNames:{border:{true:"_1yk3a451"}},defaultVariants:{},compoundVariants:[]}),st="_1yk3a453 dhthxq8 dhthxq7 dhthxqa dhthxqe dhthxqh",_t="_1yk3a455 dhthxq8 dhthxq7",St=(0,nt.createRuntimeFn)({defaultClassName:"_1yk3a456",variantClassNames:{hasLeft:{true:"_1yk3a457"}},defaultVariants:{},compoundVariants:[]}),Nt="_1yk3a458 dhthxqb dhthxqc dhthxq0",zt="_1yk3a453 dhthxq8 dhthxq7 dhthxqa dhthxqe dhthxqh",Lt="_1yk3a452 dhthxq8 dhthxq7 dhthxq1",It="_1yk3a459 dhthxq8 dhthxq7 dhthxq1 dhthxq5";var U=require("@vanilla-extract/recipes/createRuntimeFn");var Mt=(0,U.createRuntimeFn)({defaultClassName:"dhthxq4 dhthxq0 dhthxq1 dhthxq2 dhthxq3 dhthxqb",variantClassNames:{transitionState:{"enter-active":"_1dlf4349","enter-done":"_1dlf434a","exit-active":"_1dlf434b","exit-done":"_1dlf434c"}},defaultVariants:{},compoundVariants:[]});var wt="_1dlf434i dhthxq4 dhthxq0 dhthxq1 dhthxq2 dhthxq3 _1dlf4346 _1dlf4348",Tt=(0,U.createRuntimeFn)({defaultClassName:"_1dlf434l dhthxq4 dhthxq2 dhthxq3 dhthxq1",variantClassNames:{hasAppBar:{true:"_1dlf434m"}},defaultVariants:{},compoundVariants:[]});var Pt=(0,U.createRuntimeFn)({defaultClassName:"_1dlf434j dhthxq4 dhthxq0 dhthxq1 dhthxq2 dhthxq3 _1dlf4347 _1dlf4348",variantClassNames:{hasAppBar:{true:"_1dlf434k dhthxqf"}},defaultVariants:{},compoundVariants:[]}),R={transitionDuration:"var(--_1dlf4340)",zIndexes:{dim:"var(--_1dlf4341)",paper:"var(--_1dlf4342)",edge:"var(--_1dlf4343)",appBar:"var(--_1dlf4344)"},appBar:{center:{mainWidth:"var(--_1dlf4345)"}}};var xe=v.default.forwardRef(({title:t,appendLeft:e,appendRight:r,backButton:o,closeButton:a,closeButtonLocation:n="left",border:c=!0,iconColor:p,textColor:s,borderColor:l,borderSize:u,height:y},f)=>{let g=(0,Y.useActions)(),m=(0,Y.useActivity)(),{theme:N,appBar:z}=F(),w=(0,v.useRef)(null),{maxWidth:T}=Ct({outerRef:f,innerRef:w,enable:N==="cupertino"}),B=q=>{o&&"onClick"in o&&o.onClick&&o.onClick(q),q.defaultPrevented||g.pop()},L=m.zIndex===0||m.zIndex===1&&m.transitionState==="enter-active"&&m.pushedBy.name==="Replaced",b=()=>{var q;return L?null:o?"render"in o&&o.render?(q=o.render)==null?void 0:q.call(o):v.default.createElement("button",{type:"button",className:st,onClick:B},"renderIcon"in o&&o.renderIcon?o.renderIcon():v.default.createElement(W,null)):v.default.createElement("button",{type:"button",className:st,onClick:B},v.default.createElement(W,null))},d=q=>{var H,it;a&&"onClick"in a&&a.onClick&&a.onClick(q),q.defaultPrevented||(it=(H=z==null?void 0:z.closeButton)==null?void 0:H.onClick)==null||it.call(H,q)},h=()=>!a||!L?null:"render"in a&&a.render?a.render():v.default.createElement("button",{type:"button",className:zt,onClick:d},"renderIcon"in a&&a.renderIcon?a.renderIcon():v.default.createElement(at,null)),x=!!(n==="left"&&a||o||e);return v.default.createElement("div",{ref:f,className:Rt({border:c}),style:(0,Vt.assignInlineVars)(k({[i.appBar.iconColor]:p,[i.appBar.textColor]:s,[i.appBar.borderColor]:l,[i.appBar.borderSize]:u,[i.appBar.height]:y,[R.appBar.center.mainWidth]:`${T}px`}))},v.default.createElement("div",{className:Lt},n==="left"&&h(),b(),e==null?void 0:e()),v.default.createElement("div",{ref:w,className:_t},v.default.createElement("div",{className:St({hasLeft:x})},typeof t=="string"?v.default.createElement("div",{className:Nt},t):t)),v.default.createElement("div",{className:It},r==null?void 0:r(),n==="right"&&h()))}),At=xe;var ve=({backgroundColor:t,dimBackgroundColor:e,appBar:r,children:o})=>{let{theme:a}=F(),n=(0,Z.useActivity)(),{pop:c}=(0,Z.useActions)(),p=(0,E.useRef)(null),s=(0,E.useRef)(null),l=(0,E.useRef)(null),u=(0,E.useRef)(null),y=(0,E.useRef)(null);Et({refs:[p],hasEffect:!0}),kt({theme:a,refs:a==="cupertino"?[l]:[l,y],hasEffect:!0}),qt({theme:a,dimRef:s,edgeRef:u,paperRef:l,hasEffect:!0,onSwiped(){c()}});let f=n.zIndex===0,g=!!r,m=n.zIndex*5,N=m,z=m+(a==="cupertino"&&g?1:3),w=m+4,T=m+7;return E.default.createElement("div",{ref:p,className:Mt({transitionState:P(n.transitionState)}),style:(0,Ht.assignInlineVars)(k({[i.backgroundColor]:t,[i.dimBackgroundColor]:e,[i.appBar.height]:r==null?void 0:r.height,[R.zIndexes.dim]:`${N}`,[R.zIndexes.paper]:`${z}`,[R.zIndexes.edge]:`${w}`,[R.zIndexes.appBar]:`${T}`,[R.transitionDuration]:n.transitionState==="enter-active"||n.transitionState==="exit-active"?"var(--stackflow-transition-duration)":"0ms"}))},E.default.createElement("div",{className:wt,ref:s}),E.default.createElement("div",{key:n.id,className:Pt({hasAppBar:g}),ref:l},o),!f&&a==="cupertino"&&E.default.createElement("div",{className:Tt({hasAppBar:g}),ref:u}),r&&E.default.createElement(At,mt(pt({},r),{ref:y})))},Dt=ve;var K=require("@stackflow/react"),jt=require("@vanilla-extract/dynamic"),_=I(require("react"));var Ot=require("@vanilla-extract/recipes/createRuntimeFn"),Ft=(0,Ot.createRuntimeFn)({defaultClassName:"dhthxq4 dhthxq0 dhthxq1 dhthxq2 dhthxq3 dhthxqb",variantClassNames:{transitionState:{"enter-active":"_1ht38h04","enter-done":"_1ht38h05","exit-active":"_1ht38h06","exit-done":"_1ht38h07"}},defaultVariants:{},compoundVariants:[]}),$t="_1ht38h0d dhthxq4 dhthxq0 dhthxq1 dhthxq2 dhthxq3 dhthxqb dhthxq9 dhthxq7 _1ht38h03";var Gt="_1ht38h0e dhthxqb _1ht38h03",J={transitionDuration:"var(--_1ht38h00)",zIndexes:{dim:"var(--_1ht38h01)",paper:"var(--_1ht38h02)"}};var be=({borderRadius:t="1rem",backgroundColor:e,dimBackgroundColor:r,onOutsideClick:o,children:a})=>{let n=(0,K.useActivity)(),{pop:c}=(0,K.useActions)(),p=(0,_.useRef)(null),s=(0,_.useRef)(null);C({styleName:"hide",refs:[p]}),C({styleName:"offset",refs:[s]}),C({styleName:"swipe-back",refs:[s]});let l=(0,_.useRef)(!1),u=m=>{o==null||o(m),!m.defaultPrevented&&(l.current||(l.current=!0,c()))},y=m=>{m.stopPropagation()},f=n.zIndex*5+3,g=n.zIndex*5+4;return _.default.createElement("div",{className:Ft({transitionState:P(n.transitionState)}),ref:p,style:(0,jt.assignInlineVars)(k({[i.bottomSheet.borderRadius]:t,[i.backgroundColor]:e,[i.dimBackgroundColor]:r,[J.zIndexes.dim]:`${f}`,[J.zIndexes.paper]:`${g}`,[J.transitionDuration]:n.transitionState==="enter-active"||n.transitionState==="exit-active"?"var(--stackflow-transition-duration)":"0ms"}))},_.default.createElement("div",{className:$t,ref:s,onClick:u},_.default.createElement("div",{className:Gt,onClick:y},a)))},Wt=be;var tt=require("@stackflow/react"),Jt=require("@vanilla-extract/dynamic"),S=I(require("react"));var Xt=require("@vanilla-extract/recipes/createRuntimeFn"),Ut=(0,Xt.createRuntimeFn)({defaultClassName:"dhthxq4 dhthxq0 dhthxq1 dhthxq2 dhthxq3 dhthxqb",variantClassNames:{transitionState:{"enter-active":"_5ozg8c4","enter-done":"_5ozg8c5","exit-active":"_5ozg8c6","exit-done":"_5ozg8c7"}},defaultVariants:{},compoundVariants:[]}),Yt="_5ozg8cd dhthxq4 dhthxq0 dhthxq1 dhthxq2 dhthxq3 dhthxqb dhthxq8 dhthxq7 dhthxqa _5ozg8c3";var Zt="_5ozg8ce dhthxqb _5ozg8c3",Q={transitionDuration:"var(--_5ozg8c0)",zIndexes:{dim:"var(--_5ozg8c1)",paper:"var(--_5ozg8c2)"}};var ge=({backgroundColor:t,dimBackgroundColor:e,borderRadius:r="1rem",onOutsideClick:o,children:a})=>{let n=(0,tt.useActivity)(),{pop:c}=(0,tt.useActions)(),p=(0,S.useRef)(null),s=(0,S.useRef)(null);C({styleName:"hide",refs:[p]}),C({styleName:"offset",refs:[s]}),C({styleName:"swipe-back",refs:[s]});let l=(0,S.useRef)(!1),u=m=>{o==null||o(m),!m.defaultPrevented&&(l.current||(l.current=!0,c()))},y=m=>{m.stopPropagation()},f=n.zIndex*5+3,g=n.zIndex*5+4;return S.default.createElement("div",{className:Ut({transitionState:P(n.transitionState)}),ref:p,style:(0,Jt.assignInlineVars)(k({[i.bottomSheet.borderRadius]:r,[i.backgroundColor]:t,[i.dimBackgroundColor]:e,[Q.zIndexes.dim]:`${f}`,[Q.zIndexes.paper]:`${g}`,[Q.transitionDuration]:n.transitionState==="enter-active"||n.transitionState==="exit-active"?"var(--stackflow-transition-duration)":"0ms"}))},S.default.createElement("div",{className:Yt,ref:s,onClick:u},S.default.createElement("div",{className:Zt,onClick:y},a)))},Kt=ge;
2
2
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
- "sources": ["../src/index.ts", "../src/basicUIPlugin.tsx", "../src/hooks/useLazy.tsx", "../src/utils/compactMap.ts", "../src/utils/listenOnce.ts", "../src/utils/listenResize.ts", "../src/utils/noop.ts", "../src/utils/requestNextFrame.tsx", "../src/hooks/useMaxWidth.ts", "../src/hooks/useStyleEffect.ts", "../src/hooks/useStyleEffectHide.ts", "../src/hooks/useStyleEffectOffset.ts", "../src/hooks/useStyleEffectSwipeBack.ts", "../src/hooks/useTheme.ts", "../src/theme.css.ts", "../src/components/AppScreen.tsx", "../src/components/AppBar.tsx", "../src/assets/IconBack.tsx", "../src/assets/IconClose.tsx", "../src/components/AppBar.css.ts", "../src/components/AppScreen.css.ts", "../src/components/BottomSheet.tsx", "../src/components/BottomSheet.css.ts", "../src/components/Modal.tsx", "../src/components/Modal.css.ts"],
4
- "sourcesContent": ["export { basicUIPlugin } from \"./basicUIPlugin\";\nexport { default as AppScreen } from \"./components/AppScreen\";\nexport { default as BottomSheet } from \"./components/BottomSheet\";\nexport { default as Modal } from \"./components/Modal\";\nexport { globalVars as cssVars } from \"./theme.css\";\n", "import type { StackflowReactPlugin } from \"@stackflow/react\";\nimport { assignInlineVars } from \"@vanilla-extract/dynamic\";\nimport React from \"react\";\n\nimport { ThemeProvider } from \"./hooks\";\nimport * as theme from \"./theme.css\";\nimport { compactMap } from \"./utils\";\n\ntype RPartial<K> = {\n [attr in keyof K]?: K[attr] extends object ? RPartial<K[attr]> : K[attr];\n};\n\ntype BasicUIPluginOptions = RPartial<theme.GlobalVars> & {\n theme: \"android\" | \"cupertino\";\n};\n\nexport const basicUIPlugin: (\n options: BasicUIPluginOptions,\n) => StackflowReactPlugin = (options) => () => ({\n key: \"basic-ui\",\n wrapStack({ stack }) {\n return (\n <ThemeProvider value={options.theme}>\n <div\n className={theme[options.theme]}\n style={assignInlineVars(\n compactMap({\n [theme.globalVars.backgroundColor]: options.backgroundColor,\n [theme.globalVars.dimBackgroundColor]: options.dimBackgroundColor,\n [theme.globalVars.appBar.borderColor]:\n options.appBar?.borderColor,\n [theme.globalVars.appBar.borderSize]: options.appBar?.borderSize,\n [theme.globalVars.appBar.height]: options.appBar?.height,\n [theme.globalVars.appBar.iconColor]: options.appBar?.iconColor,\n [theme.globalVars.appBar.textColor]: options.appBar?.textColor,\n [theme.globalVars.bottomSheet.borderRadius]:\n options.bottomSheet?.borderRadius,\n [theme.globalVars.modal.borderRadius]:\n options.modal?.borderRadius,\n }),\n )}\n >\n {stack.render()}\n </div>\n </ThemeProvider>\n );\n },\n});\n", "import { useEffect, useState } from \"react\";\n\nimport { requestNextFrame } from \"../utils\";\n\nexport function useLazy<T>(value: T) {\n const [state, setState] = useState<T | undefined>(undefined);\n\n useEffect(() => {\n requestNextFrame(() => {\n setState(value);\n });\n }, [value]);\n\n return state;\n}\n", "export function compactMap<T extends {}>(\n obj: T,\n): {\n [key in keyof T]: NonNullable<T[key]>;\n} {\n return Object.entries(obj).reduce<any>((acc, [key, value]) => {\n if (value !== null && value !== undefined) {\n acc[key] = value;\n }\n\n return acc;\n }, {});\n}\n", "export function listenOnce<T extends HTMLElement>(\n el: T,\n type: keyof HTMLElementEventMap,\n cb: () => void,\n) {\n const listener = () => {\n el.removeEventListener(type, listener);\n cb();\n };\n\n el.addEventListener(type, listener);\n}\n", "export const listenResize = (cb: () => void) => {\n cb();\n window.addEventListener(\"resize\", cb);\n\n return () => {\n window.removeEventListener(\"resize\", cb);\n };\n};\n", "export const noop = () => {};\n", "// https://github.com/MingruiZhang/react-animate-mount/blob/32300c04a4fdfa97724b70aaaf0c0f403d6da247/src/Animate.js#L171-L179\nexport function requestNextFrame(cb: () => void) {\n requestAnimationFrame(() => {\n requestAnimationFrame(() => {\n cb();\n });\n });\n}\n", "import type React from \"react\";\nimport { useEffect, useState } from \"react\";\n\nimport { listenResize, noop } from \"../utils\";\n\nexport function useMaxWidth({\n outerRef,\n innerRef,\n enable,\n}: {\n outerRef: React.ForwardedRef<any>;\n innerRef: React.MutableRefObject<any>;\n enable: boolean;\n}) {\n const [maxWidth, setMaxWidth] = useState<number | undefined>(undefined);\n\n useEffect(() => {\n const $outer = outerRef && \"current\" in outerRef && outerRef.current;\n const $inner = innerRef.current;\n\n if (!enable || !$outer || !$inner) {\n return noop;\n }\n\n const dispose = listenResize(() => {\n const screenWidth = $outer.clientWidth;\n\n const leftWidth = $inner.offsetLeft;\n const centerWidth = $inner.clientWidth;\n const rightWidth = screenWidth - leftWidth - centerWidth;\n\n const sideMargin = Math.max(leftWidth, rightWidth);\n\n setMaxWidth(screenWidth - 2 * sideMargin);\n });\n\n return dispose;\n }, []);\n\n return {\n maxWidth,\n };\n}\n", "import type { ActivityTransitionState } from \"@stackflow/core\";\nimport { useActivity } from \"@stackflow/react\";\nimport type React from \"react\";\nimport { useEffect } from \"react\";\n\nconst connections: {\n [styleName: string]: Map<\n number,\n {\n refs: Array<React.RefObject<any>>;\n hasEffect: boolean;\n }\n >;\n} = {};\n\nexport function useStyleEffect({\n styleName,\n refs,\n effect,\n}: {\n styleName: string;\n refs: Array<React.RefObject<any>>;\n effect?: (params: {\n activityTransitionState: ActivityTransitionState;\n refs: Array<React.RefObject<any>>;\n }) => (() => void) | void;\n}) {\n const activity = useActivity();\n\n useEffect(() => {\n if (!connections[styleName]) {\n connections[styleName] = new Map();\n }\n\n connections[styleName].set(activity.zIndex, {\n refs,\n hasEffect: !!effect,\n });\n\n return () => {\n connections[styleName].delete(activity.zIndex);\n };\n }, [activity.id, refs, effect]);\n\n useEffect(() => {\n if (!effect) {\n return () => {};\n }\n\n const refs = (() => {\n let arr: Array<React.RefObject<any>> = [];\n\n for (let i = 1; i <= activity.zIndex; i += 1) {\n const connection = connections[styleName].get(activity.zIndex - i);\n\n if (connection?.refs) {\n arr = [...arr, ...connection.refs];\n }\n if (connection?.hasEffect) {\n break;\n }\n }\n\n return arr;\n })();\n\n const cleanup = effect({\n activityTransitionState: activity.transitionState,\n refs,\n });\n\n return () => {\n cleanup?.();\n };\n }, [activity.transitionState]);\n}\n", "/* eslint-disable no-param-reassign */\n\nimport { useStyleEffect } from \"./useStyleEffect\";\n\nexport function useStyleEffectHide({\n refs,\n hasEffect,\n}: {\n refs: Array<React.RefObject<any>>;\n hasEffect?: boolean;\n}) {\n useStyleEffect({\n styleName: \"hide\",\n refs,\n effect: hasEffect\n ? ({ activityTransitionState, refs }) => {\n switch (activityTransitionState) {\n case \"enter-done\": {\n refs.forEach((ref) => {\n ref.current.style.display = \"none\";\n });\n break;\n }\n default: {\n refs.forEach((ref) => {\n ref.current.style.display = \"\";\n });\n break;\n }\n }\n }\n : undefined,\n });\n}\n", "/* eslint-disable no-param-reassign */\n\nimport { listenOnce, requestNextFrame } from \"../utils\";\nimport { useStyleEffect } from \"./useStyleEffect\";\n\nexport const OFFSET_PX_ANDROID = 32;\nexport const OFFSET_PX_CUPERTINO = 80;\n\nexport function useStyleEffectOffset({\n refs,\n theme,\n hasEffect,\n}: {\n refs: Array<React.RefObject<any>>;\n theme: \"android\" | \"cupertino\";\n hasEffect?: boolean;\n}) {\n useStyleEffect({\n styleName: \"offset\",\n refs,\n effect: hasEffect\n ? ({ activityTransitionState, refs }) => {\n const transform =\n theme === \"cupertino\"\n ? `translateX(-${OFFSET_PX_CUPERTINO / 16}rem)`\n : `translateY(-${OFFSET_PX_ANDROID / 16}rem)`;\n\n switch (activityTransitionState) {\n case \"enter-active\":\n case \"enter-done\": {\n refs.forEach((ref) => {\n ref.current.style.transition = `var(--stackflow-transition-duration)`;\n ref.current.style.transform = transform;\n });\n break;\n }\n case \"exit-active\":\n case \"exit-done\": {\n requestNextFrame(() => {\n refs.forEach((ref) => {\n ref.current.style.transform = \"\";\n\n listenOnce(ref.current, \"transitionend\", () => {\n ref.current.style.transition = \"\";\n });\n });\n });\n break;\n }\n default: {\n break;\n }\n }\n }\n : undefined,\n });\n}\n", "/* eslint-disable no-param-reassign */\n\nimport { listenOnce } from \"../utils\";\nimport { useStyleEffect } from \"./useStyleEffect\";\nimport { OFFSET_PX_CUPERTINO } from \"./useStyleEffectOffset\";\n\nexport function useStyleEffectSwipeBack({\n theme,\n dimRef,\n edgeRef,\n paperRef,\n hasEffect,\n onSwiped,\n}: {\n theme: \"android\" | \"cupertino\";\n dimRef: React.RefObject<HTMLDivElement>;\n edgeRef: React.RefObject<HTMLDivElement>;\n paperRef: React.RefObject<HTMLDivElement>;\n hasEffect?: boolean;\n onSwiped?: () => void;\n}) {\n useStyleEffect({\n styleName: \"swipe-back\",\n refs: [paperRef],\n effect: hasEffect\n ? ({ refs }) => {\n if (theme !== \"cupertino\") {\n return () => {};\n }\n\n if (!dimRef.current || !edgeRef.current || !paperRef.current) {\n return () => {};\n }\n\n const $dim = dimRef.current;\n const $edge = edgeRef.current;\n const $paper = paperRef.current;\n\n let x0: number | null = null;\n let t0: number | null = null;\n let x: number | null = null;\n\n let cachedRefs: Array<{\n style: {\n transform: string;\n transition: string;\n };\n parentElement?: {\n style: {\n display: string;\n };\n };\n }> = [];\n\n const resetState = () => {\n x0 = null;\n t0 = null;\n x = null;\n cachedRefs = [];\n };\n\n let _rAFLock = false;\n\n function movePaper(dx: number) {\n if (!_rAFLock) {\n _rAFLock = true;\n\n requestAnimationFrame(() => {\n const p = dx / $paper.clientWidth;\n\n $dim.style.opacity = `${1 - p}`;\n $dim.style.transition = \"0s\";\n\n $paper.style.overflowY = \"hidden\";\n $paper.style.transform = `translateX(${dx}px)`;\n $paper.style.transition = \"0s\";\n\n refs.forEach((ref: React.RefObject<HTMLElement>) => {\n if (!ref.current) {\n return;\n }\n\n ref.current.style.transform = `translateX(${\n -1 * (1 - p) * OFFSET_PX_CUPERTINO\n }px)`;\n ref.current.style.transition = \"0s\";\n\n if (ref.current.parentElement?.style.display === \"none\") {\n ref.current.parentElement.style.display = \"block\";\n }\n });\n\n _rAFLock = false;\n });\n }\n }\n\n function resetPaper({ swiped }: { swiped: boolean }) {\n requestAnimationFrame(() => {\n $dim.style.opacity = `${swiped ? 0 : 1}`;\n $dim.style.transition = \"var(--stackflow-transition-duration)\";\n\n $paper.style.overflowY = \"hidden\";\n $paper.style.transform = `translateX(${swiped ? \"100%\" : \"0\"})`;\n $paper.style.transition = \"var(--stackflow-transition-duration)\";\n\n refs.forEach((ref: React.RefObject<HTMLElement>) => {\n if (!ref.current) {\n return;\n }\n\n ref.current.style.transition = `var(--stackflow-transition-duration)`;\n ref.current.style.transform = `translateX(${\n swiped ? \"0\" : `-${OFFSET_PX_CUPERTINO / 16}rem`\n })`;\n });\n\n listenOnce($paper, \"transitionend\", () => {\n $dim.style.opacity = \"\";\n $paper.style.overflowY = \"\";\n $paper.style.transform = \"\";\n\n refs.forEach((ref: React.RefObject<HTMLElement>, i) => {\n if (!ref.current) {\n return;\n }\n\n const cachedRef = cachedRefs[i];\n\n if (swiped) {\n ref.current.style.transition = \"\";\n ref.current.style.transform = \"\";\n\n if (ref.current.parentElement) {\n ref.current.parentElement.style.display = \"\";\n }\n } else if (cachedRef) {\n ref.current.style.transition = cachedRef.style.transition;\n ref.current.style.transform = cachedRef.style.transform;\n\n if (ref.current.parentElement && cachedRef.parentElement) {\n ref.current.parentElement.style.display =\n cachedRef.parentElement.style.display;\n }\n }\n });\n });\n });\n }\n\n const onTouchStart = (e: TouchEvent) => {\n const { activeElement } = document as any;\n\n activeElement?.blur?.();\n // eslint-disable-next-line no-multi-assign\n x0 = x = e.touches[0].clientX;\n t0 = Date.now();\n\n cachedRefs = refs.map((ref) => {\n if (!ref.current) {\n return {\n style: {\n transform: \"\",\n transition: \"\",\n },\n };\n }\n\n return {\n style: {\n transform: ref.current.style.transform,\n transition: ref.current.style.transition,\n },\n parentElement: ref.current.parentElement\n ? {\n style: {\n display: ref.current.parentElement.style.display,\n },\n }\n : undefined,\n };\n });\n };\n\n const onTouchMove = (e: TouchEvent) => {\n if (!x0) {\n resetState();\n return;\n }\n\n x = e.touches[0].clientX;\n\n movePaper(x - x0);\n };\n\n const onTouchEnd = () => {\n if (!x0 || !t0 || !x) {\n resetState();\n return;\n }\n\n const t = Date.now();\n const v = (x - x0) / (t - t0);\n const swiped = v > 1 || x / $paper.clientWidth > 0.4;\n\n if (swiped) {\n onSwiped?.();\n }\n\n resetState();\n resetPaper({ swiped });\n };\n\n $edge.addEventListener(\"touchstart\", onTouchStart, { passive: true });\n $edge.addEventListener(\"touchmove\", onTouchMove, { passive: true });\n $edge.addEventListener(\"touchend\", onTouchEnd, { passive: true });\n $edge.addEventListener(\"touchcancel\", onTouchEnd, { passive: true });\n\n return () => {\n $edge.removeEventListener(\"touchstart\", onTouchStart);\n $edge.removeEventListener(\"touchmove\", onTouchMove);\n $edge.removeEventListener(\"touchend\", onTouchEnd);\n $edge.removeEventListener(\"touchcancel\", onTouchEnd);\n };\n }\n : undefined,\n });\n}\n", "import { createContext, useContext } from \"react\";\n\nconst ThemeContext = createContext<\"android\" | \"cupertino\">(\"android\");\n\nexport const ThemeProvider = ThemeContext.Provider;\n\nexport function useTheme() {\n return useContext(ThemeContext);\n}\n", "import 'src/theme.css.ts.vanilla.css?source=#H4sIAAAAAAAAE+WT3UrEMBCF7/cpAt4obEKzWhYiPomI5GfaBjedMJnisuK7W0X3akvrpZUEQsI5h5l8jCFE3grzeTwGy1YWtv6lOeCrdLZEL4couYMED7YPhDE8ibeNEPKSzo0vLeHQB+nxgGTEVdM091PyENMFC7XOXldb8b2Vrm8mE2zO44WkQwpAUwnVfnFCiScwQufjrKGD2HZsxK2qCdKsPHrsz5+y0+O6m/UwHHmpxyEzJlk6AP5phmyIQxnb+SrwfbMEsh8yEMce/wHmStW/AL1T+z9DWj1rjzmnU7V+iisd1jNCvX6Eqx3ED1vu8AteBwAA';\nexport var android = '_1coppmz0';\nexport var cupertino = '_1coppmz1';\nexport var globalVars = {backgroundColor:'var(--stackflow-basic-ui-background-color)',dimBackgroundColor:'var(--stackflow-basic-ui-dim-background-color)',appBar:{borderColor:'var(--stackflow-basic-ui-app-bar-border-color)',borderSize:'var(--stackflow-basic-ui-app-bar-border-size)',height:'var(--stackflow-basic-ui-app-bar-height)',iconColor:'var(--stackflow-basic-ui-app-bar-icon-color)',textColor:'var(--stackflow-basic-ui-app-bar-text-color)'},bottomSheet:{borderRadius:'var(--stackflow-basic-ui-bottom-sheet-border-radius)'},modal:{borderRadius:'var(--stackflow-basic-ui-bottom-sheet-border-radius)'}};\nexport var rootAndroid = ':root[data-stackflow-basic-ui-theme=android]';\nexport var rootCupertino = ':root[data-stackflow-basic-ui-theme=cupertino]';", "/* eslint-disable no-param-reassign */\n\nimport { useActions, useActivity } from \"@stackflow/react\";\nimport { assignInlineVars } from \"@vanilla-extract/dynamic\";\nimport React, { useRef } from \"react\";\n\nimport {\n useLazy,\n useStyleEffectHide,\n useStyleEffectOffset,\n useStyleEffectSwipeBack,\n useTheme,\n} from \"../hooks\";\nimport type { GlobalVars } from \"../theme.css\";\nimport { globalVars } from \"../theme.css\";\nimport type { PropOf } from \"../utils\";\nimport { compactMap } from \"../utils\";\nimport AppBar from \"./AppBar\";\nimport * as css from \"./AppScreen.css\";\n\ntype AppScreenProps = Partial<\n Pick<GlobalVars, \"backgroundColor\" | \"dimBackgroundColor\">\n> & {\n appBar?: Omit<PropOf<typeof AppBar>, \"theme\" | \"ref\" | \"key\">;\n children: React.ReactNode;\n};\nconst AppScreen: React.FC<AppScreenProps> = ({ appBar, children }) => {\n const theme = useTheme();\n const activity = useActivity();\n const { pop } = useActions();\n\n const appScreenRef = useRef<HTMLDivElement>(null);\n const dimRef = useRef<HTMLDivElement>(null);\n const paperRef = useRef<HTMLDivElement>(null);\n const edgeRef = useRef<HTMLDivElement>(null);\n const appBarRef = useRef<HTMLDivElement>(null);\n\n useStyleEffectHide({\n refs: [appScreenRef],\n hasEffect: true,\n });\n useStyleEffectOffset({\n theme,\n refs: theme === \"cupertino\" ? [paperRef] : [paperRef, appBarRef],\n hasEffect: true,\n });\n useStyleEffectSwipeBack({\n theme,\n dimRef,\n edgeRef,\n paperRef,\n hasEffect: true,\n onSwiped() {\n pop();\n },\n });\n\n const isRoot = activity.zIndex === 0;\n const hasAppBar = !!appBar;\n\n const zIndexBase = activity.zIndex * 5;\n const zIndexDim = zIndexBase;\n const zIndexPaper = zIndexBase + (theme === \"cupertino\" && hasAppBar ? 1 : 3);\n const zIndexEdge = zIndexBase + 4;\n const zIndexAppBar = zIndexBase + 7;\n\n return (\n <div\n ref={appScreenRef}\n className={css.appScreen({\n transitionState: useLazy(activity.transitionState),\n })}\n style={assignInlineVars(\n compactMap({\n [globalVars.appBar.height]: appBar?.height,\n [css.vars.zIndexes.dim]: `${zIndexDim}`,\n [css.vars.zIndexes.paper]: `${zIndexPaper}`,\n [css.vars.zIndexes.edge]: `${zIndexEdge}`,\n [css.vars.zIndexes.appBar]: `${zIndexAppBar}`,\n [css.vars.transitionDuration]:\n activity.transitionState === \"enter-active\" ||\n activity.transitionState === \"exit-active\"\n ? `var(--stackflow-transition-duration)`\n : \"0ms\",\n }),\n )}\n >\n <div className={css.dim} ref={dimRef} />\n <div\n key={activity.id}\n className={css.paper({\n hasAppBar,\n })}\n ref={paperRef}\n >\n {children}\n </div>\n {!isRoot && theme === \"cupertino\" && (\n <div className={css.edge({ hasAppBar })} ref={edgeRef} />\n )}\n {appBar && <AppBar {...appBar} ref={appBarRef} />}\n </div>\n );\n};\n\nexport default AppScreen;\n", "import { useActions, useActivity } from \"@stackflow/react\";\nimport { assignInlineVars } from \"@vanilla-extract/dynamic\";\nimport React, { useRef } from \"react\";\n\nimport { IconBack, IconClose } from \"../assets\";\nimport { useMaxWidth, useTheme } from \"../hooks\";\nimport type { GlobalVars } from \"../theme.css\";\nimport { globalVars } from \"../theme.css\";\nimport { compactMap, noop } from \"../utils\";\nimport * as css from \"./AppBar.css\";\nimport * as appScreenCss from \"./AppScreen.css\";\n\ntype AppBarProps = Partial<\n Pick<\n GlobalVars[\"appBar\"],\n \"borderColor\" | \"borderSize\" | \"height\" | \"iconColor\" | \"textColor\"\n >\n> & {\n title?: React.ReactNode;\n appendLeft?: () => React.ReactNode;\n appendRight?: () => React.ReactNode;\n backButton?:\n | {\n renderIcon?: () => React.ReactNode;\n onClick?: (e: React.MouseEvent<HTMLButtonElement>) => void;\n }\n | {\n render?: () => React.ReactNode;\n };\n closeButton?:\n | {\n renderIcon?: () => React.ReactNode;\n onClick: (e: React.MouseEvent<HTMLButtonElement>) => void;\n }\n | {\n render?: () => React.ReactNode;\n };\n closeButtonLocation?: \"left\" | \"right\";\n border?: boolean;\n};\nconst AppBar = React.forwardRef<HTMLDivElement, AppBarProps>(\n (\n {\n title,\n appendLeft,\n appendRight,\n backButton,\n closeButton,\n closeButtonLocation = \"left\",\n border = true,\n iconColor,\n textColor,\n borderColor,\n borderSize,\n height,\n },\n ref,\n ) => {\n const actions = useActions();\n const activity = useActivity();\n\n const theme = useTheme();\n\n const centerRef = useRef<any>(null);\n\n const { maxWidth } = useMaxWidth({\n outerRef: ref,\n innerRef: centerRef,\n enable: theme === \"cupertino\",\n });\n\n const onBackClick = (e: React.MouseEvent<HTMLButtonElement>) => {\n if (backButton && \"onClick\" in backButton && backButton.onClick) {\n backButton.onClick(e);\n }\n\n if (!e.defaultPrevented) {\n actions.pop();\n }\n };\n\n const isCloseButtonVisible =\n activity.zIndex === 0 ||\n (activity.zIndex === 1 &&\n activity.transitionState === \"enter-active\" &&\n activity.pushedBy.name === \"Replaced\");\n\n const renderBackButton = () => {\n if (isCloseButtonVisible) {\n return null;\n }\n\n if (!backButton) {\n return (\n <button\n type=\"button\"\n className={css.backButton}\n onClick={onBackClick}\n >\n <IconBack />\n </button>\n );\n }\n\n if (\"render\" in backButton && backButton.render) {\n return backButton.render?.();\n }\n\n return (\n <button type=\"button\" className={css.backButton} onClick={onBackClick}>\n {\"renderIcon\" in backButton && backButton.renderIcon ? (\n backButton.renderIcon()\n ) : (\n <IconBack />\n )}\n </button>\n );\n };\n\n const renderCloseButton = () => {\n if (!closeButton || !isCloseButtonVisible) {\n return null;\n }\n if (\"render\" in closeButton && closeButton.render) {\n return closeButton.render();\n }\n\n return (\n <button\n type=\"button\"\n className={css.closeButton}\n onClick={\"onClick\" in closeButton ? closeButton.onClick : noop}\n >\n {\"renderIcon\" in closeButton && closeButton.renderIcon ? (\n closeButton.renderIcon()\n ) : (\n <IconClose />\n )}\n </button>\n );\n };\n\n const hasLeft = !!(\n (closeButtonLocation === \"left\" && closeButton) ||\n backButton ||\n appendLeft\n );\n\n return (\n <div\n ref={ref}\n className={css.appBar({\n border,\n })}\n style={assignInlineVars(\n compactMap({\n [globalVars.appBar.iconColor]: iconColor,\n [globalVars.appBar.textColor]: textColor,\n [globalVars.appBar.borderColor]: borderColor,\n [globalVars.appBar.borderSize]: borderSize,\n [globalVars.appBar.height]: height,\n [appScreenCss.vars.appBar.center.mainWidth]: `${maxWidth}px`,\n }),\n )}\n >\n <div className={css.left}>\n {closeButtonLocation === \"left\" && renderCloseButton()}\n {renderBackButton()}\n {appendLeft?.()}\n </div>\n <div ref={centerRef} className={css.center}>\n <div\n className={css.centerMain({\n hasLeft,\n })}\n >\n {typeof title === \"string\" ? (\n <div className={css.centerText}>{title}</div>\n ) : (\n title\n )}\n </div>\n </div>\n <div className={css.right}>\n {appendRight?.()}\n {closeButtonLocation === \"right\" && renderCloseButton()}\n </div>\n </div>\n );\n },\n);\n\nexport default AppBar;\n", "import React from \"react\";\n\nconst IconBack: React.FC<{\n className?: string;\n}> = (props) => (\n <svg\n className={props.className}\n width=\"24\"\n height=\"24\"\n viewBox=\"0 0 24 24\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <path\n d=\"M11.5659 5.56564C11.8783 5.25322 11.8783 4.74669 11.5659 4.43427C11.2535 4.12185 10.7469 4.12185 10.4345 4.43427L3.43451 11.4343C3.12209 11.7467 3.12209 12.2532 3.43451 12.5656L10.4345 19.5656C10.7469 19.8781 11.2535 19.8781 11.5659 19.5656C11.8783 19.2532 11.8783 18.7467 11.5659 18.4343L5.93157 12.8H20.0002C20.442 12.8 20.8002 12.4418 20.8002 12C20.8002 11.5581 20.442 11.2 20.0002 11.2H5.93157L11.5659 5.56564Z\"\n fill=\"currentColor\"\n />\n </svg>\n);\n\nexport default IconBack;\n", "import React from \"react\";\n\nconst IconClose: React.FC<{\n className?: string;\n}> = (props) => (\n <svg\n className={props.className}\n width=\"24\"\n height=\"24\"\n viewBox=\"0 0 24 24\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <path\n d=\"M6.56588 5.43433C6.25346 5.12191 5.74693 5.12191 5.43451 5.43433C5.12209 5.74675 5.12209 6.25328 5.43451 6.5657L10.8688 12L5.43451 17.4343C5.12209 17.7467 5.12209 18.2533 5.43451 18.5657C5.74693 18.8781 6.25346 18.8781 6.56588 18.5657L12.0002 13.1314L17.4345 18.5657C17.7469 18.8781 18.2535 18.8781 18.5659 18.5657C18.8783 18.2533 18.8783 17.7467 18.5659 17.4343L13.1316 12L18.5659 6.5657C18.8783 6.25328 18.8783 5.74675 18.5659 5.43433C18.2535 5.12191 17.7469 5.12191 17.4345 5.43433L12.0002 10.8686L6.56588 5.43433Z\"\n fill=\"currentColor\"\n />\n <path\n d=\"M6.56588 5.43433C6.25346 5.12191 5.74693 5.12191 5.43451 5.43433C5.12209 5.74675 5.12209 6.25328 5.43451 6.5657L10.8688 12L5.43451 17.4343C5.12209 17.7467 5.12209 18.2533 5.43451 18.5657C5.74693 18.8781 6.25346 18.8781 6.56588 18.5657L12.0002 13.1314L17.4345 18.5657C17.7469 18.8781 18.2535 18.8781 18.5659 18.5657C18.8783 18.2533 18.8783 17.7467 18.5659 17.4343L13.1316 12L18.5659 6.5657C18.8783 6.25328 18.8783 5.74675 18.5659 5.43433C18.2535 5.12191 17.7469 5.12191 17.4345 5.43433L12.0002 10.8686L6.56588 5.43433Z\"\n fill=\"currentColor\"\n />\n </svg>\n);\n\nexport default IconClose;\n", "import 'src/styles/f.css.ts.vanilla.css?source=LmRodGh4cTAgewogIHdpZHRoOiAxMDAlOwp9Ci5kaHRoeHExIHsKICBoZWlnaHQ6IDEwMCU7Cn0KLmRodGh4cTIgewogIHRvcDogMDsKfQouZGh0aHhxMyB7CiAgbGVmdDogMDsKfQouZGh0aHhxNCB7CiAgcG9zaXRpb246IGFic29sdXRlOwp9Ci5kaHRoeHE1IHsKICBwb3NpdGlvbjogcmVsYXRpdmU7Cn0KLmRodGh4cTcgewogIGRpc3BsYXk6IGZsZXg7Cn0KLmRodGh4cTggewogIGFsaWduLWl0ZW1zOiBjZW50ZXI7Cn0KLmRodGh4cTkgewogIGFsaWduLWl0ZW1zOiBmbGV4LWVuZDsKfQouZGh0aHhxYSB7CiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7Cn0KLmRodGh4cWIgewogIG92ZXJmbG93OiBoaWRkZW47Cn0KLmRodGh4cWMgewogIHdoaXRlLXNwYWNlOiBub3dyYXA7Cn0KLmRodGh4cWQgewogIHRleHQtYWxpZ246IGNlbnRlcjsKfQouZGh0aHhxZSB7CiAgY3Vyc29yOiBwb2ludGVyOwogIC13ZWJraXQtdGFwLWhpZ2hsaWdodC1jb2xvcjogdHJhbnNwYXJlbnQ7Cn0KLmRodGh4cWYgewogIGJveC1zaXppbmc6IGJvcmRlci1ib3g7Cn0KLmRodGh4cWcgewogIGJveC1zaXppbmc6IGNvbnRlbnQtYm94Owp9Ci5kaHRoeHFoIHsKICBhcHBlYXJhbmNlOiBub25lOwogIGJvcmRlcjogMDsKICBwYWRkaW5nOiAwOwogIGJhY2tncm91bmQ6IG5vbmU7Cn0=';\nimport 'src/theme.css.ts.vanilla.css?source=#H4sIAAAAAAAAE+WT3UrEMBCF7/cpAt4obEKzWhYiPomI5GfaBjedMJnisuK7W0X3akvrpZUEQsI5h5l8jCFE3grzeTwGy1YWtv6lOeCrdLZEL4couYMED7YPhDE8ibeNEPKSzo0vLeHQB+nxgGTEVdM091PyENMFC7XOXldb8b2Vrm8mE2zO44WkQwpAUwnVfnFCiScwQufjrKGD2HZsxK2qCdKsPHrsz5+y0+O6m/UwHHmpxyEzJlk6AP5phmyIQxnb+SrwfbMEsh8yEMce/wHmStW/AL1T+z9DWj1rjzmnU7V+iisd1jNCvX6Eqx3ED1vu8AteBwAA';\nimport 'src/components/AppScreen.css.ts.vanilla.css?source=#H4sIAAAAAAAAE61VYW+bMBD9nl/hL5OIFkem7brF0f7HpqmaDtsBE2Nbxkm2Vv3vNVCaAKGCrRIfQPf87t0937H+HXO1u7u9u0dPC4QSYPvUmYPmmBllHEVHcBHGpQ+BnTInnEApGT5IzGWB+/DldvG8WLeUX+dSvk/3rabzDnQpvTS6JWrjpAtnZ/jOuII2rwq8+BHFhHzqomWNNhaY9H8pItvw9Yil5uJPP0/cnmTG2uKRoDPJClFnjP/FwcO1An0mCvEdNHdG8gfUy54JmWaeopg4UWw7raNISS3A4dQBl0L7aJ4vK+TSBCKyQq/Pslv+pq/lrRNxBwcTcckojvRMmobLm+BRuLrYEC+ZM0pVXcInkeylx2/RJiR1Gjw3B5a94+VNtw05pS1bQ5KAqzNzWVoFIa02WnTsj88V5NPsZwcrnJfaXFyAfOJlHeTcfEj6zTQlZFQGfIgM+CcZZHbu4QDmV8b/WvKfUT2cowLm2zHUMjDjcsbGZI33ZL41Q0kDY2ZJag7u64MWOA+Tib2xFDFQbHyRgbXhw+FmLS7RZ8SMDriw/ErYCQxOQJjqUviKrVpo/0kv9HGM+aIOVddxktxnofz1zZfXZT2yYW67p4vmXlfypirbXvwa6pKqhYDw5POVgBfwQmEH5wcAAA==';\nimport 'src/components/AppBar.css.ts.vanilla.css?source=#H4sIAAAAAAAAE61Vy47aMBTdz1d4UwmqOnKAwExG3XTRXVfdtKqq0SVxwB3HtmzzrPrvtZ3A4AkRlOku8X2de+4reUp3z2OYZAT9vkNoSdliaXO0Bj3A2FgonisuN3gOhhV4xTAo5X40bhSHj85GQVkyscBWqhwVUjgrYQcGKopBU8BMGGq9tKtNxbpXce/+S7o9YHlKS15NxpOJE/65S57SQipV71OUHDP4gHItpf1RgoVz2O2S1vRjsVJUWybkzxPTkLyShlkmRY5gbiRfWdoN1YCYvzFq10sAYDUIU0ld580nB0u/DVJC3sVJk38OD6LUkpWdlKWCgtldjshjT/zvLr6m9fAobymKq0LOAGwkD2/C2vURw077YfdDgv8ACd4EqTFMg+FcbrFZQik3OQoTgIjaogJ4Mbg4hXOpS6qxYXs6RO8RToeIXJ7d1qqQXOoY0aiZg2ZEXVMgkmSu+LFOTmtld0GzZEZxcEkLKWikNQ7yEOKKbcLc2jjiifus5RWNCamNF25YaZc5GiWjBtrL0holsw7acQ6FZWv6qtuTUV8cYiL7LBhW3C+iNJJMg6RFE09DFrK4NnlLtzYuRmfKp7dOeQTSLxIP7NfKWFbtXExhqXDE+fS8V21PNzSnlZOlLcmVUw6N5p6S9H52IJ8zQfGhAmmSHXU37dtc8vLx0OdsHxqr7UD31LfMr8z43DKf9i7zk4b1KfsH4GwhMLO0Nu54OTaoPkvRiyiUK5idvoaUK6gZd859aTnFZmec3w/ok+Po+QsUX8P/Z6fZIWlKyGuSD/yGKmRN5c6tlQHOwn247Xhfd7QvHOvzTTu7tWlnp1uobUOSjLvDfd9cTV8Quabae3cwOWfKMPOKTyaWVLMu88f3E78PfWsQoRr0gokWFKysjA0v7MYORw+3ctQD0X+4WH8BFY3tFtYJAAA=';\nimport { createRuntimeFn as _7a468 } from '@vanilla-extract/recipes/createRuntimeFn';\nexport var appBar = _7a468({defaultClassName:'_1yk3a450 dhthxq4 dhthxq8 dhthxq7 dhthxq0 dhthxqg _1dlf4347',variantClassNames:{border:{true:'_1yk3a451'}},defaultVariants:{},compoundVariants:[]});\nexport var backButton = '_1yk3a453 dhthxq8 dhthxq7 dhthxqa dhthxqe dhthxqh';\nexport var center = '_1yk3a455 dhthxq8 dhthxq7';\nexport var centerMain = _7a468({defaultClassName:'_1yk3a456',variantClassNames:{hasLeft:{true:'_1yk3a457'}},defaultVariants:{},compoundVariants:[]});\nexport var centerText = '_1yk3a458 dhthxqb dhthxqc dhthxq0';\nexport var closeButton = '_1yk3a453 dhthxq8 dhthxq7 dhthxqa dhthxqe dhthxqh';\nexport var left = '_1yk3a452 dhthxq8 dhthxq7 dhthxq1';\nexport var right = '_1yk3a459 dhthxq8 dhthxq7 dhthxq1 dhthxq5';", "import 'src/styles/f.css.ts.vanilla.css?source=LmRodGh4cTAgewogIHdpZHRoOiAxMDAlOwp9Ci5kaHRoeHExIHsKICBoZWlnaHQ6IDEwMCU7Cn0KLmRodGh4cTIgewogIHRvcDogMDsKfQouZGh0aHhxMyB7CiAgbGVmdDogMDsKfQouZGh0aHhxNCB7CiAgcG9zaXRpb246IGFic29sdXRlOwp9Ci5kaHRoeHE1IHsKICBwb3NpdGlvbjogcmVsYXRpdmU7Cn0KLmRodGh4cTcgewogIGRpc3BsYXk6IGZsZXg7Cn0KLmRodGh4cTggewogIGFsaWduLWl0ZW1zOiBjZW50ZXI7Cn0KLmRodGh4cTkgewogIGFsaWduLWl0ZW1zOiBmbGV4LWVuZDsKfQouZGh0aHhxYSB7CiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7Cn0KLmRodGh4cWIgewogIG92ZXJmbG93OiBoaWRkZW47Cn0KLmRodGh4cWMgewogIHdoaXRlLXNwYWNlOiBub3dyYXA7Cn0KLmRodGh4cWQgewogIHRleHQtYWxpZ246IGNlbnRlcjsKfQouZGh0aHhxZSB7CiAgY3Vyc29yOiBwb2ludGVyOwogIC13ZWJraXQtdGFwLWhpZ2hsaWdodC1jb2xvcjogdHJhbnNwYXJlbnQ7Cn0KLmRodGh4cWYgewogIGJveC1zaXppbmc6IGJvcmRlci1ib3g7Cn0KLmRodGh4cWcgewogIGJveC1zaXppbmc6IGNvbnRlbnQtYm94Owp9Ci5kaHRoeHFoIHsKICBhcHBlYXJhbmNlOiBub25lOwogIGJvcmRlcjogMDsKICBwYWRkaW5nOiAwOwogIGJhY2tncm91bmQ6IG5vbmU7Cn0=';\nimport 'src/theme.css.ts.vanilla.css?source=#H4sIAAAAAAAAE+WT3UrEMBCF7/cpAt4obEKzWhYiPomI5GfaBjedMJnisuK7W0X3akvrpZUEQsI5h5l8jCFE3grzeTwGy1YWtv6lOeCrdLZEL4couYMED7YPhDE8ibeNEPKSzo0vLeHQB+nxgGTEVdM091PyENMFC7XOXldb8b2Vrm8mE2zO44WkQwpAUwnVfnFCiScwQufjrKGD2HZsxK2qCdKsPHrsz5+y0+O6m/UwHHmpxyEzJlk6AP5phmyIQxnb+SrwfbMEsh8yEMce/wHmStW/AL1T+z9DWj1rjzmnU7V+iisd1jNCvX6Eqx3ED1vu8AteBwAA';\nimport 'src/components/AppScreen.css.ts.vanilla.css?source=#H4sIAAAAAAAAE61VYW+bMBD9nl/hL5OIFkem7brF0f7HpqmaDtsBE2Nbxkm2Vv3vNVCaAKGCrRIfQPf87t0937H+HXO1u7u9u0dPC4QSYPvUmYPmmBllHEVHcBHGpQ+BnTInnEApGT5IzGWB+/DldvG8WLeUX+dSvk/3rabzDnQpvTS6JWrjpAtnZ/jOuII2rwq8+BHFhHzqomWNNhaY9H8pItvw9Yil5uJPP0/cnmTG2uKRoDPJClFnjP/FwcO1An0mCvEdNHdG8gfUy54JmWaeopg4UWw7raNISS3A4dQBl0L7aJ4vK+TSBCKyQq/Pslv+pq/lrRNxBwcTcckojvRMmobLm+BRuLrYEC+ZM0pVXcInkeylx2/RJiR1Gjw3B5a94+VNtw05pS1bQ5KAqzNzWVoFIa02WnTsj88V5NPsZwcrnJfaXFyAfOJlHeTcfEj6zTQlZFQGfIgM+CcZZHbu4QDmV8b/WvKfUT2cowLm2zHUMjDjcsbGZI33ZL41Q0kDY2ZJag7u64MWOA+Tib2xFDFQbHyRgbXhw+FmLS7RZ8SMDriw/ErYCQxOQJjqUviKrVpo/0kv9HGM+aIOVddxktxnofz1zZfXZT2yYW67p4vmXlfypirbXvwa6pKqhYDw5POVgBfwQmEH5wcAAA==';\nimport { createRuntimeFn as _7a468 } from '@vanilla-extract/recipes/createRuntimeFn';\nexport var allTransitions = '_1dlf4348';\nexport var appScreen = _7a468({defaultClassName:'dhthxq4 dhthxq0 dhthxq1 dhthxq2 dhthxq3 dhthxqb',variantClassNames:{transitionState:{'enter-active':'_1dlf4349','enter-done':'_1dlf434a','exit-active':'_1dlf434b','exit-done':'_1dlf434c'}},defaultVariants:{},compoundVariants:[]});\nexport var background = '_1dlf4347';\nexport var dim = '_1dlf434i dhthxq4 dhthxq0 dhthxq1 dhthxq2 dhthxq3 _1dlf4346 _1dlf4348';\nexport var edge = _7a468({defaultClassName:'_1dlf434l dhthxq4 dhthxq2 dhthxq3 dhthxq1',variantClassNames:{hasAppBar:{true:'_1dlf434m'}},defaultVariants:{},compoundVariants:[]});\nexport var enterActive = '_1dlf4349';\nexport var enterDone = '_1dlf434a';\nexport var exitActive = '_1dlf434b';\nexport var exitDone = '_1dlf434c';\nexport var paper = _7a468({defaultClassName:'_1dlf434j dhthxq4 dhthxq0 dhthxq1 dhthxq2 dhthxq3 _1dlf4347 _1dlf4348',variantClassNames:{hasAppBar:{true:'_1dlf434k dhthxqf'}},defaultVariants:{},compoundVariants:[]});\nexport var vars = {transitionDuration:'var(--_1dlf4340)',zIndexes:{dim:'var(--_1dlf4341)',paper:'var(--_1dlf4342)',edge:'var(--_1dlf4343)',appBar:'var(--_1dlf4344)'},appBar:{center:{mainWidth:'var(--_1dlf4345)'}}};", "/* eslint-disable jsx-a11y/no-static-element-interactions, jsx-a11y/click-events-have-key-events */\n\nimport { useActions, useActivity } from \"@stackflow/react\";\nimport { assignInlineVars } from \"@vanilla-extract/dynamic\";\nimport React, { useRef } from \"react\";\n\nimport { useLazy, useStyleEffect } from \"../hooks\";\nimport type { GlobalVars } from \"../theme.css\";\nimport { globalVars } from \"../theme.css\";\nimport { compactMap } from \"../utils\";\nimport * as css from \"./BottomSheet.css\";\n\ntype BottomSheetProps = Partial<\n Pick<GlobalVars, \"backgroundColor\" | \"dimBackgroundColor\">\n> &\n Partial<GlobalVars[\"bottomSheet\"]> & {\n children: React.ReactNode;\n };\nconst BottomSheet: React.FC<BottomSheetProps> = ({\n borderRadius = \"1rem\",\n backgroundColor,\n dimBackgroundColor,\n children,\n}) => {\n const activity = useActivity();\n const { pop } = useActions();\n\n const containerRef = useRef<HTMLDivElement>(null);\n const paperRef = useRef<HTMLDivElement>(null);\n\n useStyleEffect({\n styleName: \"hide\",\n refs: [containerRef],\n });\n useStyleEffect({\n styleName: \"offset\",\n refs: [paperRef],\n });\n useStyleEffect({\n styleName: \"swipe-back\",\n refs: [paperRef],\n });\n\n const popLock = useRef(false);\n\n const onDimClick = () => {\n if (popLock.current) {\n return;\n }\n\n pop();\n popLock.current = true;\n };\n const onPaperClick: React.MouseEventHandler = (e) => {\n e.stopPropagation();\n };\n\n const zIndexBase = activity.zIndex * 5 + 3;\n const zIndexPaper = activity.zIndex * 5 + 4;\n\n return (\n <div\n className={css.container({\n transitionState: useLazy(activity.transitionState),\n })}\n ref={containerRef}\n style={assignInlineVars(\n compactMap({\n [globalVars.bottomSheet.borderRadius]: borderRadius,\n [globalVars.backgroundColor]: backgroundColor,\n [globalVars.dimBackgroundColor]: dimBackgroundColor,\n [css.vars.zIndexes.dim]: `${zIndexBase}`,\n [css.vars.zIndexes.paper]: `${zIndexPaper}`,\n [css.vars.transitionDuration]:\n activity.transitionState === \"enter-active\" ||\n activity.transitionState === \"exit-active\"\n ? `var(--stackflow-transition-duration)`\n : \"0ms\",\n }),\n )}\n >\n <div className={css.dim} ref={paperRef} onClick={onDimClick}>\n <div className={css.paper} onClick={onPaperClick}>\n {children}\n </div>\n </div>\n </div>\n );\n};\n\nexport default BottomSheet;\n", "import 'src/styles/f.css.ts.vanilla.css?source=LmRodGh4cTAgewogIHdpZHRoOiAxMDAlOwp9Ci5kaHRoeHExIHsKICBoZWlnaHQ6IDEwMCU7Cn0KLmRodGh4cTIgewogIHRvcDogMDsKfQouZGh0aHhxMyB7CiAgbGVmdDogMDsKfQouZGh0aHhxNCB7CiAgcG9zaXRpb246IGFic29sdXRlOwp9Ci5kaHRoeHE1IHsKICBwb3NpdGlvbjogcmVsYXRpdmU7Cn0KLmRodGh4cTcgewogIGRpc3BsYXk6IGZsZXg7Cn0KLmRodGh4cTggewogIGFsaWduLWl0ZW1zOiBjZW50ZXI7Cn0KLmRodGh4cTkgewogIGFsaWduLWl0ZW1zOiBmbGV4LWVuZDsKfQouZGh0aHhxYSB7CiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7Cn0KLmRodGh4cWIgewogIG92ZXJmbG93OiBoaWRkZW47Cn0KLmRodGh4cWMgewogIHdoaXRlLXNwYWNlOiBub3dyYXA7Cn0KLmRodGh4cWQgewogIHRleHQtYWxpZ246IGNlbnRlcjsKfQouZGh0aHhxZSB7CiAgY3Vyc29yOiBwb2ludGVyOwogIC13ZWJraXQtdGFwLWhpZ2hsaWdodC1jb2xvcjogdHJhbnNwYXJlbnQ7Cn0KLmRodGh4cWYgewogIGJveC1zaXppbmc6IGJvcmRlci1ib3g7Cn0KLmRodGh4cWcgewogIGJveC1zaXppbmc6IGNvbnRlbnQtYm94Owp9Ci5kaHRoeHFoIHsKICBhcHBlYXJhbmNlOiBub25lOwogIGJvcmRlcjogMDsKICBwYWRkaW5nOiAwOwogIGJhY2tncm91bmQ6IG5vbmU7Cn0=';\nimport 'src/theme.css.ts.vanilla.css?source=#H4sIAAAAAAAAE+WT3UrEMBCF7/cpAt4obEKzWhYiPomI5GfaBjedMJnisuK7W0X3akvrpZUEQsI5h5l8jCFE3grzeTwGy1YWtv6lOeCrdLZEL4couYMED7YPhDE8ibeNEPKSzo0vLeHQB+nxgGTEVdM091PyENMFC7XOXldb8b2Vrm8mE2zO44WkQwpAUwnVfnFCiScwQufjrKGD2HZsxK2qCdKsPHrsz5+y0+O6m/UwHHmpxyEzJlk6AP5phmyIQxnb+SrwfbMEsh8yEMce/wHmStW/AL1T+z9DWj1rjzmnU7V+iisd1jNCvX6Eqx3ED1vu8AteBwAA';\nimport 'src/components/BottomSheet.css.ts.vanilla.css?source=Ll8xaHQzOGgwMyB7CiAgdHJhbnNpdGlvbjogdmFyKC0tXzFodDM4aDAwKTsKfQouXzFodDM4aDA3IHsKICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMTAwJSk7Cn0KLl8xaHQzOGgwZCB7CiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tc3RhY2tmbG93LWJhc2ljLXVpLWRpbS1iYWNrZ3JvdW5kLWNvbG9yKTsKICB6LWluZGV4OiB2YXIoLS1fMWh0MzhoMDEpOwogIG9wYWNpdHk6IDA7Cn0KLl8xaHQzOGgwNCAuXzFodDM4aDBkLCAuXzFodDM4aDA1IC5fMWh0MzhoMGQgewogIG9wYWNpdHk6IDE7Cn0KLl8xaHQzOGgwNiAuXzFodDM4aDBkLCAuXzFodDM4aDA3IC5fMWh0MzhoMGQgewogIG9wYWNpdHk6IDA7Cn0KLl8xaHQzOGgwZSB7CiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tc3RhY2tmbG93LWJhc2ljLXVpLWJhY2tncm91bmQtY29sb3IpOwogIHdpZHRoOiAxMDAlOwogIGJvcmRlci1yYWRpdXM6IHZhcigtLXN0YWNrZmxvdy1iYXNpYy11aS1ib3R0b20tc2hlZXQtYm9yZGVyLXJhZGl1cykgdmFyKC0tc3RhY2tmbG93LWJhc2ljLXVpLWJvdHRvbS1zaGVldC1ib3JkZXItcmFkaXVzKSAwIDA7CiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDEwMCUpOwogIG9wYWNpdHk6IDA7Cn0KLl8xaHQzOGgwNCAuXzFodDM4aDBlLCAuXzFodDM4aDA1IC5fMWh0MzhoMGUgewogIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTsKICBvcGFjaXR5OiAxOwp9Ci5fMWh0MzhoMDYgLl8xaHQzOGgwZSwgLl8xaHQzOGgwNyAuXzFodDM4aDBlIHsKICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMTAwJSk7CiAgb3BhY2l0eTogMDsKfQ==';\nimport { createRuntimeFn as _7a468 } from '@vanilla-extract/recipes/createRuntimeFn';\nexport var container = _7a468({defaultClassName:'dhthxq4 dhthxq0 dhthxq1 dhthxq2 dhthxq3 dhthxqb',variantClassNames:{transitionState:{'enter-active':'_1ht38h04','enter-done':'_1ht38h05','exit-active':'_1ht38h06','exit-done':'_1ht38h07'}},defaultVariants:{},compoundVariants:[]});\nexport var dim = '_1ht38h0d dhthxq4 dhthxq0 dhthxq1 dhthxq2 dhthxq3 dhthxqb dhthxq9 dhthxq7 _1ht38h03';\nexport var enterActive = '_1ht38h04';\nexport var enterDone = '_1ht38h05';\nexport var exitActive = '_1ht38h06';\nexport var exitDone = '_1ht38h07';\nexport var paper = '_1ht38h0e dhthxqb _1ht38h03';\nexport var vars = {transitionDuration:'var(--_1ht38h00)',zIndexes:{dim:'var(--_1ht38h01)',paper:'var(--_1ht38h02)'}};", "/* eslint-disable jsx-a11y/no-static-element-interactions, jsx-a11y/click-events-have-key-events */\n\nimport { useActions, useActivity } from \"@stackflow/react\";\nimport { assignInlineVars } from \"@vanilla-extract/dynamic\";\nimport React, { useRef } from \"react\";\n\nimport { useLazy, useStyleEffect } from \"../hooks\";\nimport type { GlobalVars } from \"../theme.css\";\nimport { globalVars } from \"../theme.css\";\nimport { compactMap } from \"../utils\";\nimport * as css from \"./Modal.css\";\n\ntype ModalProps = Partial<\n Pick<GlobalVars, \"backgroundColor\" | \"dimBackgroundColor\">\n> &\n Partial<GlobalVars[\"modal\"]> & {\n children: React.ReactNode;\n };\nconst Modal: React.FC<ModalProps> = ({\n backgroundColor,\n dimBackgroundColor,\n borderRadius = \"1rem\",\n children,\n}) => {\n const activity = useActivity();\n const { pop } = useActions();\n\n const containerRef = useRef<HTMLDivElement>(null);\n const paperRef = useRef<HTMLDivElement>(null);\n\n useStyleEffect({\n styleName: \"hide\",\n refs: [containerRef],\n });\n useStyleEffect({\n styleName: \"offset\",\n refs: [paperRef],\n });\n useStyleEffect({\n styleName: \"swipe-back\",\n refs: [paperRef],\n });\n\n const popLock = useRef(false);\n\n const onDimClick = () => {\n if (popLock.current) {\n return;\n }\n\n pop();\n popLock.current = true;\n };\n const onPaperClick: React.MouseEventHandler = (e) => {\n e.stopPropagation();\n };\n\n const zIndexBase = activity.zIndex * 5 + 3;\n const zIndexPaper = activity.zIndex * 5 + 4;\n\n return (\n <div\n className={css.container({\n transitionState: useLazy(activity.transitionState),\n })}\n ref={containerRef}\n style={assignInlineVars(\n compactMap({\n [globalVars.bottomSheet.borderRadius]: borderRadius,\n [globalVars.backgroundColor]: backgroundColor,\n [globalVars.dimBackgroundColor]: dimBackgroundColor,\n [css.vars.zIndexes.dim]: `${zIndexBase}`,\n [css.vars.zIndexes.paper]: `${zIndexPaper}`,\n [css.vars.transitionDuration]:\n activity.transitionState === \"enter-active\" ||\n activity.transitionState === \"exit-active\"\n ? `var(--stackflow-transition-duration)`\n : \"0ms\",\n }),\n )}\n >\n <div className={css.dim} ref={paperRef} onClick={onDimClick}>\n <div className={css.paper} onClick={onPaperClick}>\n {children}\n </div>\n </div>\n </div>\n );\n};\n\nexport default Modal;\n", "import 'src/styles/f.css.ts.vanilla.css?source=LmRodGh4cTAgewogIHdpZHRoOiAxMDAlOwp9Ci5kaHRoeHExIHsKICBoZWlnaHQ6IDEwMCU7Cn0KLmRodGh4cTIgewogIHRvcDogMDsKfQouZGh0aHhxMyB7CiAgbGVmdDogMDsKfQouZGh0aHhxNCB7CiAgcG9zaXRpb246IGFic29sdXRlOwp9Ci5kaHRoeHE1IHsKICBwb3NpdGlvbjogcmVsYXRpdmU7Cn0KLmRodGh4cTcgewogIGRpc3BsYXk6IGZsZXg7Cn0KLmRodGh4cTggewogIGFsaWduLWl0ZW1zOiBjZW50ZXI7Cn0KLmRodGh4cTkgewogIGFsaWduLWl0ZW1zOiBmbGV4LWVuZDsKfQouZGh0aHhxYSB7CiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7Cn0KLmRodGh4cWIgewogIG92ZXJmbG93OiBoaWRkZW47Cn0KLmRodGh4cWMgewogIHdoaXRlLXNwYWNlOiBub3dyYXA7Cn0KLmRodGh4cWQgewogIHRleHQtYWxpZ246IGNlbnRlcjsKfQouZGh0aHhxZSB7CiAgY3Vyc29yOiBwb2ludGVyOwogIC13ZWJraXQtdGFwLWhpZ2hsaWdodC1jb2xvcjogdHJhbnNwYXJlbnQ7Cn0KLmRodGh4cWYgewogIGJveC1zaXppbmc6IGJvcmRlci1ib3g7Cn0KLmRodGh4cWcgewogIGJveC1zaXppbmc6IGNvbnRlbnQtYm94Owp9Ci5kaHRoeHFoIHsKICBhcHBlYXJhbmNlOiBub25lOwogIGJvcmRlcjogMDsKICBwYWRkaW5nOiAwOwogIGJhY2tncm91bmQ6IG5vbmU7Cn0=';\nimport 'src/theme.css.ts.vanilla.css?source=#H4sIAAAAAAAAE+WT3UrEMBCF7/cpAt4obEKzWhYiPomI5GfaBjedMJnisuK7W0X3akvrpZUEQsI5h5l8jCFE3grzeTwGy1YWtv6lOeCrdLZEL4couYMED7YPhDE8ibeNEPKSzo0vLeHQB+nxgGTEVdM091PyENMFC7XOXldb8b2Vrm8mE2zO44WkQwpAUwnVfnFCiScwQufjrKGD2HZsxK2qCdKsPHrsz5+y0+O6m/UwHHmpxyEzJlk6AP5phmyIQxnb+SrwfbMEsh8yEMce/wHmStW/AL1T+z9DWj1rjzmnU7V+iisd1jNCvX6Eqx3ED1vu8AteBwAA';\nimport 'src/components/Modal.css.ts.vanilla.css?source=Ll81b3pnOGMzIHsKICB0cmFuc2l0aW9uOiB2YXIoLS1fNW96ZzhjMCk7Cn0KLl81b3pnOGM3IHsKICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMTAwJSk7Cn0KLl81b3pnOGNkIHsKICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1zdGFja2Zsb3ctYmFzaWMtdWktZGltLWJhY2tncm91bmQtY29sb3IpOwogIHotaW5kZXg6IHZhcigtLV81b3pnOGMxKTsKICBvcGFjaXR5OiAwOwp9Ci5fNW96ZzhjNCAuXzVvemc4Y2QsIC5fNW96ZzhjNSAuXzVvemc4Y2QgewogIG9wYWNpdHk6IDE7Cn0KLl81b3pnOGM2IC5fNW96ZzhjZCwgLl81b3pnOGM3IC5fNW96ZzhjZCB7CiAgb3BhY2l0eTogMDsKfQouXzVvemc4Y2UgewogIGJhY2tncm91bmQtY29sb3I6IHZhcigtLXN0YWNrZmxvdy1iYXNpYy11aS1iYWNrZ3JvdW5kLWNvbG9yKTsKICB3aWR0aDogMTAwJTsKICBtYXJnaW46IDAgMi41cmVtOwogIGJveC1zaGFkb3c6IDBweCAwLjYyNXJlbSAyLjM3NXJlbSByZ2JhKDAsIDAsIDAsIDAuMTUpLCAwcHggLjU2MjVyZW0gMi44NzVyZW0gcmdiYSgwLCAwLCAwLCAwLjEyKSwgMHB4IC4zMTI1cmVtIC45Mzc1cmVtIHJnYmEoMCwgMCwgMCwgMC4xKTsKICBib3JkZXItcmFkaXVzOiB2YXIoLS1zdGFja2Zsb3ctYmFzaWMtdWktYm90dG9tLXNoZWV0LWJvcmRlci1yYWRpdXMpOwogIHRyYW5zZm9ybTogc2NhbGUoMS4xKTsKICBvcGFjaXR5OiAwOwp9Ci5fNW96ZzhjNCAuXzVvemc4Y2UsIC5fNW96ZzhjNSAuXzVvemc4Y2UgewogIHRyYW5zZm9ybTogc2NhbGUoMSk7CiAgb3BhY2l0eTogMTsKfQouXzVvemc4YzYgLl81b3pnOGNlLCAuXzVvemc4YzcgLl81b3pnOGNlIHsKICB0cmFuc2Zvcm06IHNjYWxlKDEuMSk7CiAgb3BhY2l0eTogMDsKfQ==';\nimport { createRuntimeFn as _7a468 } from '@vanilla-extract/recipes/createRuntimeFn';\nexport var container = _7a468({defaultClassName:'dhthxq4 dhthxq0 dhthxq1 dhthxq2 dhthxq3 dhthxqb',variantClassNames:{transitionState:{'enter-active':'_5ozg8c4','enter-done':'_5ozg8c5','exit-active':'_5ozg8c6','exit-done':'_5ozg8c7'}},defaultVariants:{},compoundVariants:[]});\nexport var dim = '_5ozg8cd dhthxq4 dhthxq0 dhthxq1 dhthxq2 dhthxq3 dhthxqb dhthxq8 dhthxq7 dhthxqa _5ozg8c3';\nexport var enterActive = '_5ozg8c4';\nexport var enterDone = '_5ozg8c5';\nexport var exitActive = '_5ozg8c6';\nexport var exitDone = '_5ozg8c7';\nexport var paper = '_5ozg8ce dhthxqb _5ozg8c3';\nexport var vars = {transitionDuration:'var(--_5ozg8c0)',zIndexes:{dim:'var(--_5ozg8c1)',paper:'var(--_5ozg8c2)'}};"],
5
- "mappings": "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",
6
- "names": ["src_exports", "__export", "AppScreen_default", "BottomSheet_default", "Modal_default", "basicUIPlugin", "globalVars", "__toCommonJS", "import_dynamic", "import_react", "import_react", "compactMap", "obj", "acc", "key", "value", "listenOnce", "el", "type", "cb", "listener", "listenResize", "cb", "noop", "requestNextFrame", "cb", "useLazy", "value", "state", "setState", "requestNextFrame", "import_react", "useMaxWidth", "outerRef", "innerRef", "enable", "maxWidth", "setMaxWidth", "$outer", "$inner", "noop", "listenResize", "screenWidth", "leftWidth", "centerWidth", "rightWidth", "sideMargin", "import_react", "connections", "useStyleEffect", "styleName", "refs", "effect", "activity", "arr", "i", "connection", "cleanup", "useStyleEffectHide", "refs", "hasEffect", "useStyleEffect", "activityTransitionState", "ref", "OFFSET_PX_ANDROID", "OFFSET_PX_CUPERTINO", "useStyleEffectOffset", "refs", "theme", "hasEffect", "useStyleEffect", "activityTransitionState", "transform", "ref", "requestNextFrame", "listenOnce", "useStyleEffectSwipeBack", "theme", "dimRef", "edgeRef", "paperRef", "hasEffect", "onSwiped", "useStyleEffect", "refs", "$dim", "$edge", "$paper", "x0", "t0", "x", "cachedRefs", "resetState", "_rAFLock", "movePaper", "dx", "p", "ref", "_a", "OFFSET_PX_CUPERTINO", "resetPaper", "swiped", "listenOnce", "i", "cachedRef", "onTouchStart", "e", "activeElement", "onTouchMove", "onTouchEnd", "t", "import_react", "ThemeContext", "ThemeProvider", "useTheme", "theme_css_exports", "__export", "android", "cupertino", "globalVars", "rootAndroid", "rootCupertino", "android", "cupertino", "globalVars", "rootAndroid", "rootCupertino", "basicUIPlugin", "options", "stack", "_a", "_b", "_c", "_d", "_e", "_f", "_g", "React", "ThemeProvider", "theme_css_exports", "compactMap", "globalVars", "import_react", "import_dynamic", "import_react", "import_dynamic", "import_react", "IconBack", "props", "React", "IconBack_default", "import_react", "IconClose", "props", "React", "IconClose_default", "import_createRuntimeFn", "appBar", "_7a468", "backButton", "center", "centerMain", "centerText", "closeButton", "left", "right", "import_createRuntimeFn", "appScreen", "_7a468", "dim", "edge", "_7a468", "paper", "_7a468", "vars", "AppBar", "React", "title", "appendLeft", "appendRight", "backButton", "closeButton", "closeButtonLocation", "border", "iconColor", "textColor", "borderColor", "borderSize", "height", "ref", "actions", "activity", "theme", "useTheme", "centerRef", "maxWidth", "useMaxWidth", "onBackClick", "e", "isCloseButtonVisible", "renderBackButton", "_a", "IconBack_default", "renderCloseButton", "noop", "IconClose_default", "hasLeft", "appBar", "compactMap", "globalVars", "vars", "left", "center", "centerMain", "centerText", "right", "AppBar_default", "AppScreen", "appBar", "children", "theme", "useTheme", "activity", "pop", "appScreenRef", "dimRef", "paperRef", "edgeRef", "appBarRef", "useStyleEffectHide", "useStyleEffectOffset", "useStyleEffectSwipeBack", "isRoot", "hasAppBar", "zIndexBase", "zIndexDim", "zIndexPaper", "zIndexEdge", "zIndexAppBar", "React", "appScreen", "useLazy", "compactMap", "globalVars", "vars", "dim", "paper", "edge", "AppBar_default", "__spreadProps", "__spreadValues", "AppScreen_default", "import_react", "import_dynamic", "import_createRuntimeFn", "container", "_7a468", "dim", "paper", "vars", "BottomSheet", "borderRadius", "backgroundColor", "dimBackgroundColor", "children", "activity", "pop", "containerRef", "paperRef", "useStyleEffect", "popLock", "onDimClick", "onPaperClick", "e", "zIndexBase", "zIndexPaper", "React", "container", "useLazy", "compactMap", "globalVars", "vars", "dim", "paper", "BottomSheet_default", "import_react", "import_dynamic", "import_createRuntimeFn", "container", "_7a468", "dim", "paper", "vars", "Modal", "backgroundColor", "dimBackgroundColor", "borderRadius", "children", "activity", "pop", "containerRef", "paperRef", "useStyleEffect", "popLock", "onDimClick", "onPaperClick", "e", "zIndexBase", "zIndexPaper", "React", "container", "useLazy", "compactMap", "globalVars", "vars", "dim", "paper", "Modal_default"]
3
+ "sources": ["../src/index.ts", "../src/basicUIPlugin.tsx", "../src/theme.css.ts", "../src/utils/compactMap.ts", "../src/utils/listenOnce.ts", "../src/utils/listenResize.ts", "../src/utils/noop.ts", "../src/utils/requestNextFrame.tsx", "../src/components/AppScreen.tsx", "../src/hooks/useLazy.tsx", "../src/hooks/useMaxWidth.ts", "../src/hooks/useStyleEffect.ts", "../src/hooks/useStyleEffectHide.ts", "../src/hooks/useStyleEffectOffset.ts", "../src/hooks/useStyleEffectSwipeBack.ts", "../src/components/AppBar.tsx", "../src/assets/IconBack.tsx", "../src/assets/IconClose.tsx", "../src/components/AppBar.css.ts", "../src/components/AppScreen.css.ts", "../src/components/BottomSheet.tsx", "../src/components/BottomSheet.css.ts", "../src/components/Modal.tsx", "../src/components/Modal.css.ts"],
4
+ "sourcesContent": ["export { basicUIPlugin } from \"./basicUIPlugin\";\nexport { default as AppScreen } from \"./components/AppScreen\";\nexport { default as BottomSheet } from \"./components/BottomSheet\";\nexport { default as Modal } from \"./components/Modal\";\nexport { globalVars as cssVars } from \"./theme.css\";\n", "import type { StackflowReactPlugin } from \"@stackflow/react\";\nimport { assignInlineVars } from \"@vanilla-extract/dynamic\";\nimport React, { createContext, useContext } from \"react\";\n\nimport * as theme from \"./theme.css\";\nimport type { RecursivePartial } from \"./utils\";\nimport { compactMap } from \"./utils\";\n\ntype BasicUIPluginOptions = RecursivePartial<theme.GlobalVars> & {\n theme: \"android\" | \"cupertino\";\n appBar?: {\n closeButton?: {\n onClick?: (e: React.MouseEvent<HTMLButtonElement>) => void;\n };\n };\n};\n\nconst GlobalOptionsContext = createContext<BasicUIPluginOptions>({\n theme: \"android\",\n});\n\nexport const GlobalOptionsProvider = GlobalOptionsContext.Provider;\n\nexport function useGlobalOptions() {\n return useContext(GlobalOptionsContext);\n}\n\nexport const basicUIPlugin: (\n options: BasicUIPluginOptions,\n) => StackflowReactPlugin = (options) => () => ({\n key: \"basic-ui\",\n wrapStack({ stack }) {\n return (\n <GlobalOptionsProvider value={options}>\n <div\n className={theme[options.theme]}\n style={assignInlineVars(\n compactMap({\n [theme.globalVars.backgroundColor]: options.backgroundColor,\n [theme.globalVars.dimBackgroundColor]: options.dimBackgroundColor,\n [theme.globalVars.appBar.borderColor]:\n options.appBar?.borderColor,\n [theme.globalVars.appBar.borderSize]: options.appBar?.borderSize,\n [theme.globalVars.appBar.height]: options.appBar?.height,\n [theme.globalVars.appBar.iconColor]: options.appBar?.iconColor,\n [theme.globalVars.appBar.textColor]: options.appBar?.textColor,\n [theme.globalVars.bottomSheet.borderRadius]:\n options.bottomSheet?.borderRadius,\n [theme.globalVars.modal.borderRadius]:\n options.modal?.borderRadius,\n }),\n )}\n >\n {stack.render()}\n </div>\n </GlobalOptionsProvider>\n );\n },\n});\n", "import 'src/theme.css.ts.vanilla.css?source=#H4sIAAAAAAAAE+WT3UrEMBCF7/cpAt4obEKzWhYiPomI5GfaBjedMJnisuK7W0X3akvrpZUEQsI5h5l8jCFE3grzeTwGy1YWtv6lOeCrdLZEL4couYMED7YPhDE8ibeNEPKSzo0vLeHQB+nxgGTEVdM091PyENMFC7XOXldb8b2Vrm8mE2zO44WkQwpAUwnVfnFCiScwQufjrKGD2HZsxK2qCdKsPHrsz5+y0+O6m/UwHHmpxyEzJlk6AP5phmyIQxnb+SrwfbMEsh8yEMce/wHmStW/AL1T+z9DWj1rjzmnU7V+iisd1jNCvX6Eqx3ED1vu8AteBwAA';\nexport var android = '_1coppmz0';\nexport var cupertino = '_1coppmz1';\nexport var globalVars = {backgroundColor:'var(--stackflow-basic-ui-background-color)',dimBackgroundColor:'var(--stackflow-basic-ui-dim-background-color)',appBar:{borderColor:'var(--stackflow-basic-ui-app-bar-border-color)',borderSize:'var(--stackflow-basic-ui-app-bar-border-size)',height:'var(--stackflow-basic-ui-app-bar-height)',iconColor:'var(--stackflow-basic-ui-app-bar-icon-color)',textColor:'var(--stackflow-basic-ui-app-bar-text-color)'},bottomSheet:{borderRadius:'var(--stackflow-basic-ui-bottom-sheet-border-radius)'},modal:{borderRadius:'var(--stackflow-basic-ui-bottom-sheet-border-radius)'}};\nexport var rootAndroid = ':root[data-stackflow-basic-ui-theme=android]';\nexport var rootCupertino = ':root[data-stackflow-basic-ui-theme=cupertino]';", "export function compactMap<T extends {}>(\n obj: T,\n): {\n [key in keyof T]: NonNullable<T[key]>;\n} {\n return Object.entries(obj).reduce<any>((acc, [key, value]) => {\n if (value !== null && value !== undefined) {\n acc[key] = value;\n }\n\n return acc;\n }, {});\n}\n", "export function listenOnce<T extends HTMLElement>(\n el: T,\n type: keyof HTMLElementEventMap,\n cb: () => void,\n) {\n const listener = () => {\n el.removeEventListener(type, listener);\n cb();\n };\n\n el.addEventListener(type, listener);\n}\n", "export const listenResize = (cb: () => void) => {\n cb();\n window.addEventListener(\"resize\", cb);\n\n return () => {\n window.removeEventListener(\"resize\", cb);\n };\n};\n", "export const noop = () => {};\n", "// https://github.com/MingruiZhang/react-animate-mount/blob/32300c04a4fdfa97724b70aaaf0c0f403d6da247/src/Animate.js#L171-L179\nexport function requestNextFrame(cb: () => void) {\n requestAnimationFrame(() => {\n requestAnimationFrame(() => {\n cb();\n });\n });\n}\n", "/* eslint-disable no-param-reassign */\n\nimport { useActions, useActivity } from \"@stackflow/react\";\nimport { assignInlineVars } from \"@vanilla-extract/dynamic\";\nimport React, { useRef } from \"react\";\n\nimport { useGlobalOptions } from \"../basicUIPlugin\";\nimport {\n useLazy,\n useStyleEffectHide,\n useStyleEffectOffset,\n useStyleEffectSwipeBack,\n} from \"../hooks\";\nimport type { GlobalVars } from \"../theme.css\";\nimport { globalVars } from \"../theme.css\";\nimport type { PropOf } from \"../utils\";\nimport { compactMap } from \"../utils\";\nimport AppBar from \"./AppBar\";\nimport * as css from \"./AppScreen.css\";\n\ntype AppScreenProps = Partial<\n Pick<GlobalVars, \"backgroundColor\" | \"dimBackgroundColor\">\n> & {\n appBar?: Omit<PropOf<typeof AppBar>, \"theme\" | \"ref\" | \"key\">;\n children: React.ReactNode;\n};\nconst AppScreen: React.FC<AppScreenProps> = ({\n backgroundColor,\n dimBackgroundColor,\n appBar,\n children,\n}) => {\n const { theme } = useGlobalOptions();\n const activity = useActivity();\n const { pop } = useActions();\n\n const appScreenRef = useRef<HTMLDivElement>(null);\n const dimRef = useRef<HTMLDivElement>(null);\n const paperRef = useRef<HTMLDivElement>(null);\n const edgeRef = useRef<HTMLDivElement>(null);\n const appBarRef = useRef<HTMLDivElement>(null);\n\n useStyleEffectHide({\n refs: [appScreenRef],\n hasEffect: true,\n });\n useStyleEffectOffset({\n theme,\n refs: theme === \"cupertino\" ? [paperRef] : [paperRef, appBarRef],\n hasEffect: true,\n });\n useStyleEffectSwipeBack({\n theme,\n dimRef,\n edgeRef,\n paperRef,\n hasEffect: true,\n onSwiped() {\n pop();\n },\n });\n\n const isRoot = activity.zIndex === 0;\n const hasAppBar = !!appBar;\n\n const zIndexBase = activity.zIndex * 5;\n const zIndexDim = zIndexBase;\n const zIndexPaper = zIndexBase + (theme === \"cupertino\" && hasAppBar ? 1 : 3);\n const zIndexEdge = zIndexBase + 4;\n const zIndexAppBar = zIndexBase + 7;\n\n return (\n <div\n ref={appScreenRef}\n className={css.appScreen({\n transitionState: useLazy(activity.transitionState),\n })}\n style={assignInlineVars(\n compactMap({\n [globalVars.backgroundColor]: backgroundColor,\n [globalVars.dimBackgroundColor]: dimBackgroundColor,\n [globalVars.appBar.height]: appBar?.height,\n [css.vars.zIndexes.dim]: `${zIndexDim}`,\n [css.vars.zIndexes.paper]: `${zIndexPaper}`,\n [css.vars.zIndexes.edge]: `${zIndexEdge}`,\n [css.vars.zIndexes.appBar]: `${zIndexAppBar}`,\n [css.vars.transitionDuration]:\n activity.transitionState === \"enter-active\" ||\n activity.transitionState === \"exit-active\"\n ? `var(--stackflow-transition-duration)`\n : \"0ms\",\n }),\n )}\n >\n <div className={css.dim} ref={dimRef} />\n <div\n key={activity.id}\n className={css.paper({\n hasAppBar,\n })}\n ref={paperRef}\n >\n {children}\n </div>\n {!isRoot && theme === \"cupertino\" && (\n <div className={css.edge({ hasAppBar })} ref={edgeRef} />\n )}\n {appBar && <AppBar {...appBar} ref={appBarRef} />}\n </div>\n );\n};\n\nexport default AppScreen;\n", "import { useEffect, useState } from \"react\";\n\nimport { requestNextFrame } from \"../utils\";\n\nexport function useLazy<T>(value: T) {\n const [state, setState] = useState<T | undefined>(undefined);\n\n useEffect(() => {\n requestNextFrame(() => {\n setState(value);\n });\n }, [value]);\n\n return state;\n}\n", "import type React from \"react\";\nimport { useEffect, useState } from \"react\";\n\nimport { listenResize, noop } from \"../utils\";\n\nexport function useMaxWidth({\n outerRef,\n innerRef,\n enable,\n}: {\n outerRef: React.ForwardedRef<any>;\n innerRef: React.MutableRefObject<any>;\n enable: boolean;\n}) {\n const [maxWidth, setMaxWidth] = useState<number | undefined>(undefined);\n\n useEffect(() => {\n const $outer = outerRef && \"current\" in outerRef && outerRef.current;\n const $inner = innerRef.current;\n\n if (!enable || !$outer || !$inner) {\n return noop;\n }\n\n const dispose = listenResize(() => {\n const screenWidth = $outer.clientWidth;\n\n const leftWidth = $inner.offsetLeft;\n const centerWidth = $inner.clientWidth;\n const rightWidth = screenWidth - leftWidth - centerWidth;\n\n const sideMargin = Math.max(leftWidth, rightWidth);\n\n setMaxWidth(screenWidth - 2 * sideMargin);\n });\n\n return dispose;\n }, []);\n\n return {\n maxWidth,\n };\n}\n", "import type { ActivityTransitionState } from \"@stackflow/core\";\nimport { useActivity } from \"@stackflow/react\";\nimport type React from \"react\";\nimport { useEffect } from \"react\";\n\nconst connections: {\n [styleName: string]: Map<\n number,\n {\n refs: Array<React.RefObject<any>>;\n hasEffect: boolean;\n }\n >;\n} = {};\n\nexport function useStyleEffect({\n styleName,\n refs,\n effect,\n}: {\n styleName: string;\n refs: Array<React.RefObject<any>>;\n effect?: (params: {\n activityTransitionState: ActivityTransitionState;\n refs: Array<React.RefObject<any>>;\n }) => (() => void) | void;\n}) {\n const activity = useActivity();\n\n useEffect(() => {\n if (!connections[styleName]) {\n connections[styleName] = new Map();\n }\n\n connections[styleName].set(activity.zIndex, {\n refs,\n hasEffect: !!effect,\n });\n\n return () => {\n connections[styleName].delete(activity.zIndex);\n };\n }, [activity.id, refs, effect]);\n\n useEffect(() => {\n if (!effect) {\n return () => {};\n }\n\n const refs = (() => {\n let arr: Array<React.RefObject<any>> = [];\n\n for (let i = 1; i <= activity.zIndex; i += 1) {\n const connection = connections[styleName].get(activity.zIndex - i);\n\n if (connection?.refs) {\n arr = [...arr, ...connection.refs];\n }\n if (connection?.hasEffect) {\n break;\n }\n }\n\n return arr;\n })();\n\n const cleanup = effect({\n activityTransitionState: activity.transitionState,\n refs,\n });\n\n return () => {\n cleanup?.();\n };\n }, [activity.transitionState]);\n}\n", "/* eslint-disable no-param-reassign */\n\nimport { useStyleEffect } from \"./useStyleEffect\";\n\nexport function useStyleEffectHide({\n refs,\n hasEffect,\n}: {\n refs: Array<React.RefObject<any>>;\n hasEffect?: boolean;\n}) {\n useStyleEffect({\n styleName: \"hide\",\n refs,\n effect: hasEffect\n ? ({ activityTransitionState, refs }) => {\n switch (activityTransitionState) {\n case \"enter-done\": {\n refs.forEach((ref) => {\n ref.current.style.display = \"none\";\n });\n break;\n }\n default: {\n refs.forEach((ref) => {\n ref.current.style.display = \"\";\n });\n break;\n }\n }\n }\n : undefined,\n });\n}\n", "/* eslint-disable no-param-reassign */\n\nimport { listenOnce, requestNextFrame } from \"../utils\";\nimport { useStyleEffect } from \"./useStyleEffect\";\n\nexport const OFFSET_PX_ANDROID = 32;\nexport const OFFSET_PX_CUPERTINO = 80;\n\nexport function useStyleEffectOffset({\n refs,\n theme,\n hasEffect,\n}: {\n refs: Array<React.RefObject<any>>;\n theme: \"android\" | \"cupertino\";\n hasEffect?: boolean;\n}) {\n useStyleEffect({\n styleName: \"offset\",\n refs,\n effect: hasEffect\n ? ({ activityTransitionState, refs }) => {\n const transform =\n theme === \"cupertino\"\n ? `translateX(-${OFFSET_PX_CUPERTINO / 16}rem)`\n : `translateY(-${OFFSET_PX_ANDROID / 16}rem)`;\n\n switch (activityTransitionState) {\n case \"enter-active\":\n case \"enter-done\": {\n refs.forEach((ref) => {\n ref.current.style.transition = `var(--stackflow-transition-duration)`;\n ref.current.style.transform = transform;\n });\n break;\n }\n case \"exit-active\":\n case \"exit-done\": {\n requestNextFrame(() => {\n refs.forEach((ref) => {\n ref.current.style.transform = \"\";\n\n listenOnce(ref.current, \"transitionend\", () => {\n ref.current.style.transition = \"\";\n });\n });\n });\n break;\n }\n default: {\n break;\n }\n }\n }\n : undefined,\n });\n}\n", "/* eslint-disable no-param-reassign */\n\nimport { listenOnce } from \"../utils\";\nimport { useStyleEffect } from \"./useStyleEffect\";\nimport { OFFSET_PX_CUPERTINO } from \"./useStyleEffectOffset\";\n\nexport function useStyleEffectSwipeBack({\n theme,\n dimRef,\n edgeRef,\n paperRef,\n hasEffect,\n onSwiped,\n}: {\n theme: \"android\" | \"cupertino\";\n dimRef: React.RefObject<HTMLDivElement>;\n edgeRef: React.RefObject<HTMLDivElement>;\n paperRef: React.RefObject<HTMLDivElement>;\n hasEffect?: boolean;\n onSwiped?: () => void;\n}) {\n useStyleEffect({\n styleName: \"swipe-back\",\n refs: [paperRef],\n effect: hasEffect\n ? ({ refs }) => {\n if (theme !== \"cupertino\") {\n return () => {};\n }\n\n if (!dimRef.current || !edgeRef.current || !paperRef.current) {\n return () => {};\n }\n\n const $dim = dimRef.current;\n const $edge = edgeRef.current;\n const $paper = paperRef.current;\n\n let x0: number | null = null;\n let t0: number | null = null;\n let x: number | null = null;\n\n let cachedRefs: Array<{\n style: {\n transform: string;\n transition: string;\n };\n parentElement?: {\n style: {\n display: string;\n };\n };\n }> = [];\n\n const resetState = () => {\n x0 = null;\n t0 = null;\n x = null;\n cachedRefs = [];\n };\n\n let _rAFLock = false;\n\n function movePaper(dx: number) {\n if (!_rAFLock) {\n _rAFLock = true;\n\n requestAnimationFrame(() => {\n const p = dx / $paper.clientWidth;\n\n $dim.style.opacity = `${1 - p}`;\n $dim.style.transition = \"0s\";\n\n $paper.style.overflowY = \"hidden\";\n $paper.style.transform = `translateX(${dx}px)`;\n $paper.style.transition = \"0s\";\n\n refs.forEach((ref: React.RefObject<HTMLElement>) => {\n if (!ref.current) {\n return;\n }\n\n ref.current.style.transform = `translateX(${\n -1 * (1 - p) * OFFSET_PX_CUPERTINO\n }px)`;\n ref.current.style.transition = \"0s\";\n\n if (ref.current.parentElement?.style.display === \"none\") {\n ref.current.parentElement.style.display = \"block\";\n }\n });\n\n _rAFLock = false;\n });\n }\n }\n\n function resetPaper({ swiped }: { swiped: boolean }) {\n requestAnimationFrame(() => {\n $dim.style.opacity = `${swiped ? 0 : 1}`;\n $dim.style.transition = \"var(--stackflow-transition-duration)\";\n\n $paper.style.overflowY = \"hidden\";\n $paper.style.transform = `translateX(${swiped ? \"100%\" : \"0\"})`;\n $paper.style.transition = \"var(--stackflow-transition-duration)\";\n\n refs.forEach((ref: React.RefObject<HTMLElement>) => {\n if (!ref.current) {\n return;\n }\n\n ref.current.style.transition = `var(--stackflow-transition-duration)`;\n ref.current.style.transform = `translateX(${\n swiped ? \"0\" : `-${OFFSET_PX_CUPERTINO / 16}rem`\n })`;\n });\n\n listenOnce($paper, \"transitionend\", () => {\n $dim.style.opacity = \"\";\n $paper.style.overflowY = \"\";\n $paper.style.transform = \"\";\n\n refs.forEach((ref: React.RefObject<HTMLElement>, i) => {\n if (!ref.current) {\n return;\n }\n\n const cachedRef = cachedRefs[i];\n\n if (swiped) {\n ref.current.style.transition = \"\";\n ref.current.style.transform = \"\";\n\n if (ref.current.parentElement) {\n ref.current.parentElement.style.display = \"\";\n }\n } else if (cachedRef) {\n ref.current.style.transition = cachedRef.style.transition;\n ref.current.style.transform = cachedRef.style.transform;\n\n if (ref.current.parentElement && cachedRef.parentElement) {\n ref.current.parentElement.style.display =\n cachedRef.parentElement.style.display;\n }\n }\n });\n });\n });\n }\n\n const onTouchStart = (e: TouchEvent) => {\n const { activeElement } = document as any;\n\n activeElement?.blur?.();\n // eslint-disable-next-line no-multi-assign\n x0 = x = e.touches[0].clientX;\n t0 = Date.now();\n\n cachedRefs = refs.map((ref) => {\n if (!ref.current) {\n return {\n style: {\n transform: \"\",\n transition: \"\",\n },\n };\n }\n\n return {\n style: {\n transform: ref.current.style.transform,\n transition: ref.current.style.transition,\n },\n parentElement: ref.current.parentElement\n ? {\n style: {\n display: ref.current.parentElement.style.display,\n },\n }\n : undefined,\n };\n });\n };\n\n const onTouchMove = (e: TouchEvent) => {\n if (!x0) {\n resetState();\n return;\n }\n\n x = e.touches[0].clientX;\n\n movePaper(x - x0);\n };\n\n const onTouchEnd = () => {\n if (!x0 || !t0 || !x) {\n resetState();\n return;\n }\n\n const t = Date.now();\n const v = (x - x0) / (t - t0);\n const swiped = v > 1 || x / $paper.clientWidth > 0.4;\n\n if (swiped) {\n onSwiped?.();\n }\n\n resetState();\n resetPaper({ swiped });\n };\n\n $edge.addEventListener(\"touchstart\", onTouchStart, { passive: true });\n $edge.addEventListener(\"touchmove\", onTouchMove, { passive: true });\n $edge.addEventListener(\"touchend\", onTouchEnd, { passive: true });\n $edge.addEventListener(\"touchcancel\", onTouchEnd, { passive: true });\n\n return () => {\n $edge.removeEventListener(\"touchstart\", onTouchStart);\n $edge.removeEventListener(\"touchmove\", onTouchMove);\n $edge.removeEventListener(\"touchend\", onTouchEnd);\n $edge.removeEventListener(\"touchcancel\", onTouchEnd);\n };\n }\n : undefined,\n });\n}\n", "import { useActions, useActivity } from \"@stackflow/react\";\nimport { assignInlineVars } from \"@vanilla-extract/dynamic\";\nimport React, { useRef } from \"react\";\n\nimport { IconBack, IconClose } from \"../assets\";\nimport { useGlobalOptions } from \"../basicUIPlugin\";\nimport { useMaxWidth } from \"../hooks\";\nimport type { GlobalVars } from \"../theme.css\";\nimport { globalVars } from \"../theme.css\";\nimport { compactMap, noop } from \"../utils\";\nimport * as css from \"./AppBar.css\";\nimport * as appScreenCss from \"./AppScreen.css\";\n\ntype AppBarProps = Partial<\n Pick<\n GlobalVars[\"appBar\"],\n \"borderColor\" | \"borderSize\" | \"height\" | \"iconColor\" | \"textColor\"\n >\n> & {\n title?: React.ReactNode;\n appendLeft?: () => React.ReactNode;\n appendRight?: () => React.ReactNode;\n backButton?:\n | {\n renderIcon?: () => React.ReactNode;\n onClick?: (e: React.MouseEvent<HTMLButtonElement>) => void;\n }\n | {\n render?: () => React.ReactNode;\n };\n closeButton?:\n | {\n renderIcon?: () => React.ReactNode;\n onClick?: (e: React.MouseEvent<HTMLButtonElement>) => void;\n }\n | {\n render?: () => React.ReactNode;\n };\n closeButtonLocation?: \"left\" | \"right\";\n border?: boolean;\n};\nconst AppBar = React.forwardRef<HTMLDivElement, AppBarProps>(\n (\n {\n title,\n appendLeft,\n appendRight,\n backButton,\n closeButton,\n closeButtonLocation = \"left\",\n border = true,\n iconColor,\n textColor,\n borderColor,\n borderSize,\n height,\n },\n ref,\n ) => {\n const actions = useActions();\n const activity = useActivity();\n\n const { theme, appBar } = useGlobalOptions();\n\n const centerRef = useRef<any>(null);\n\n const { maxWidth } = useMaxWidth({\n outerRef: ref,\n innerRef: centerRef,\n enable: theme === \"cupertino\",\n });\n\n const onBackClick = (e: React.MouseEvent<HTMLButtonElement>) => {\n if (backButton && \"onClick\" in backButton && backButton.onClick) {\n backButton.onClick(e);\n }\n\n if (!e.defaultPrevented) {\n actions.pop();\n }\n };\n\n const isCloseButtonVisible =\n activity.zIndex === 0 ||\n (activity.zIndex === 1 &&\n activity.transitionState === \"enter-active\" &&\n activity.pushedBy.name === \"Replaced\");\n\n const renderBackButton = () => {\n if (isCloseButtonVisible) {\n return null;\n }\n\n if (!backButton) {\n return (\n <button\n type=\"button\"\n className={css.backButton}\n onClick={onBackClick}\n >\n <IconBack />\n </button>\n );\n }\n\n if (\"render\" in backButton && backButton.render) {\n return backButton.render?.();\n }\n\n return (\n <button type=\"button\" className={css.backButton} onClick={onBackClick}>\n {\"renderIcon\" in backButton && backButton.renderIcon ? (\n backButton.renderIcon()\n ) : (\n <IconBack />\n )}\n </button>\n );\n };\n\n const onCloseClick = (e: React.MouseEvent<HTMLButtonElement>) => {\n if (closeButton && \"onClick\" in closeButton && closeButton.onClick) {\n closeButton.onClick(e);\n }\n\n if (!e.defaultPrevented) {\n appBar?.closeButton?.onClick?.(e);\n }\n };\n\n const renderCloseButton = () => {\n if (!closeButton || !isCloseButtonVisible) {\n return null;\n }\n if (\"render\" in closeButton && closeButton.render) {\n return closeButton.render();\n }\n\n return (\n <button\n type=\"button\"\n className={css.closeButton}\n onClick={onCloseClick}\n >\n {\"renderIcon\" in closeButton && closeButton.renderIcon ? (\n closeButton.renderIcon()\n ) : (\n <IconClose />\n )}\n </button>\n );\n };\n\n const hasLeft = !!(\n (closeButtonLocation === \"left\" && closeButton) ||\n backButton ||\n appendLeft\n );\n\n return (\n <div\n ref={ref}\n className={css.appBar({\n border,\n })}\n style={assignInlineVars(\n compactMap({\n [globalVars.appBar.iconColor]: iconColor,\n [globalVars.appBar.textColor]: textColor,\n [globalVars.appBar.borderColor]: borderColor,\n [globalVars.appBar.borderSize]: borderSize,\n [globalVars.appBar.height]: height,\n [appScreenCss.vars.appBar.center.mainWidth]: `${maxWidth}px`,\n }),\n )}\n >\n <div className={css.left}>\n {closeButtonLocation === \"left\" && renderCloseButton()}\n {renderBackButton()}\n {appendLeft?.()}\n </div>\n <div ref={centerRef} className={css.center}>\n <div\n className={css.centerMain({\n hasLeft,\n })}\n >\n {typeof title === \"string\" ? (\n <div className={css.centerText}>{title}</div>\n ) : (\n title\n )}\n </div>\n </div>\n <div className={css.right}>\n {appendRight?.()}\n {closeButtonLocation === \"right\" && renderCloseButton()}\n </div>\n </div>\n );\n },\n);\n\nexport default AppBar;\n", "import React from \"react\";\n\nconst IconBack: React.FC<{\n className?: string;\n}> = (props) => (\n <svg\n className={props.className}\n width=\"24\"\n height=\"24\"\n viewBox=\"0 0 24 24\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <path\n d=\"M11.5659 5.56564C11.8783 5.25322 11.8783 4.74669 11.5659 4.43427C11.2535 4.12185 10.7469 4.12185 10.4345 4.43427L3.43451 11.4343C3.12209 11.7467 3.12209 12.2532 3.43451 12.5656L10.4345 19.5656C10.7469 19.8781 11.2535 19.8781 11.5659 19.5656C11.8783 19.2532 11.8783 18.7467 11.5659 18.4343L5.93157 12.8H20.0002C20.442 12.8 20.8002 12.4418 20.8002 12C20.8002 11.5581 20.442 11.2 20.0002 11.2H5.93157L11.5659 5.56564Z\"\n fill=\"currentColor\"\n />\n </svg>\n);\n\nexport default IconBack;\n", "import React from \"react\";\n\nconst IconClose: React.FC<{\n className?: string;\n}> = (props) => (\n <svg\n className={props.className}\n width=\"24\"\n height=\"24\"\n viewBox=\"0 0 24 24\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <path\n d=\"M6.56588 5.43433C6.25346 5.12191 5.74693 5.12191 5.43451 5.43433C5.12209 5.74675 5.12209 6.25328 5.43451 6.5657L10.8688 12L5.43451 17.4343C5.12209 17.7467 5.12209 18.2533 5.43451 18.5657C5.74693 18.8781 6.25346 18.8781 6.56588 18.5657L12.0002 13.1314L17.4345 18.5657C17.7469 18.8781 18.2535 18.8781 18.5659 18.5657C18.8783 18.2533 18.8783 17.7467 18.5659 17.4343L13.1316 12L18.5659 6.5657C18.8783 6.25328 18.8783 5.74675 18.5659 5.43433C18.2535 5.12191 17.7469 5.12191 17.4345 5.43433L12.0002 10.8686L6.56588 5.43433Z\"\n fill=\"currentColor\"\n />\n <path\n d=\"M6.56588 5.43433C6.25346 5.12191 5.74693 5.12191 5.43451 5.43433C5.12209 5.74675 5.12209 6.25328 5.43451 6.5657L10.8688 12L5.43451 17.4343C5.12209 17.7467 5.12209 18.2533 5.43451 18.5657C5.74693 18.8781 6.25346 18.8781 6.56588 18.5657L12.0002 13.1314L17.4345 18.5657C17.7469 18.8781 18.2535 18.8781 18.5659 18.5657C18.8783 18.2533 18.8783 17.7467 18.5659 17.4343L13.1316 12L18.5659 6.5657C18.8783 6.25328 18.8783 5.74675 18.5659 5.43433C18.2535 5.12191 17.7469 5.12191 17.4345 5.43433L12.0002 10.8686L6.56588 5.43433Z\"\n fill=\"currentColor\"\n />\n </svg>\n);\n\nexport default IconClose;\n", "import 'src/styles/f.css.ts.vanilla.css?source=LmRodGh4cTAgewogIHdpZHRoOiAxMDAlOwp9Ci5kaHRoeHExIHsKICBoZWlnaHQ6IDEwMCU7Cn0KLmRodGh4cTIgewogIHRvcDogMDsKfQouZGh0aHhxMyB7CiAgbGVmdDogMDsKfQouZGh0aHhxNCB7CiAgcG9zaXRpb246IGFic29sdXRlOwp9Ci5kaHRoeHE1IHsKICBwb3NpdGlvbjogcmVsYXRpdmU7Cn0KLmRodGh4cTcgewogIGRpc3BsYXk6IGZsZXg7Cn0KLmRodGh4cTggewogIGFsaWduLWl0ZW1zOiBjZW50ZXI7Cn0KLmRodGh4cTkgewogIGFsaWduLWl0ZW1zOiBmbGV4LWVuZDsKfQouZGh0aHhxYSB7CiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7Cn0KLmRodGh4cWIgewogIG92ZXJmbG93OiBoaWRkZW47Cn0KLmRodGh4cWMgewogIHdoaXRlLXNwYWNlOiBub3dyYXA7Cn0KLmRodGh4cWQgewogIHRleHQtYWxpZ246IGNlbnRlcjsKfQouZGh0aHhxZSB7CiAgY3Vyc29yOiBwb2ludGVyOwogIC13ZWJraXQtdGFwLWhpZ2hsaWdodC1jb2xvcjogdHJhbnNwYXJlbnQ7Cn0KLmRodGh4cWYgewogIGJveC1zaXppbmc6IGJvcmRlci1ib3g7Cn0KLmRodGh4cWcgewogIGJveC1zaXppbmc6IGNvbnRlbnQtYm94Owp9Ci5kaHRoeHFoIHsKICBhcHBlYXJhbmNlOiBub25lOwogIGJvcmRlcjogMDsKICBwYWRkaW5nOiAwOwogIGJhY2tncm91bmQ6IG5vbmU7Cn0=';\nimport 'src/theme.css.ts.vanilla.css?source=#H4sIAAAAAAAAE+WT3UrEMBCF7/cpAt4obEKzWhYiPomI5GfaBjedMJnisuK7W0X3akvrpZUEQsI5h5l8jCFE3grzeTwGy1YWtv6lOeCrdLZEL4couYMED7YPhDE8ibeNEPKSzo0vLeHQB+nxgGTEVdM091PyENMFC7XOXldb8b2Vrm8mE2zO44WkQwpAUwnVfnFCiScwQufjrKGD2HZsxK2qCdKsPHrsz5+y0+O6m/UwHHmpxyEzJlk6AP5phmyIQxnb+SrwfbMEsh8yEMce/wHmStW/AL1T+z9DWj1rjzmnU7V+iisd1jNCvX6Eqx3ED1vu8AteBwAA';\nimport 'src/components/AppScreen.css.ts.vanilla.css?source=#H4sIAAAAAAAAE61VYW+bMBD9nl/hL5OIFkem7brF0f7HpqmaDtsBE2Nbxkm2Vv3vNVCaAKGCrRIfQPf87t0937H+HXO1u7u9u0dPC4QSYPvUmYPmmBllHEVHcBHGpQ+BnTInnEApGT5IzGWB+/DldvG8WLeUX+dSvk/3rabzDnQpvTS6JWrjpAtnZ/jOuII2rwq8+BHFhHzqomWNNhaY9H8pItvw9Yil5uJPP0/cnmTG2uKRoDPJClFnjP/FwcO1An0mCvEdNHdG8gfUy54JmWaeopg4UWw7raNISS3A4dQBl0L7aJ4vK+TSBCKyQq/Pslv+pq/lrRNxBwcTcckojvRMmobLm+BRuLrYEC+ZM0pVXcInkeylx2/RJiR1Gjw3B5a94+VNtw05pS1bQ5KAqzNzWVoFIa02WnTsj88V5NPsZwcrnJfaXFyAfOJlHeTcfEj6zTQlZFQGfIgM+CcZZHbu4QDmV8b/WvKfUT2cowLm2zHUMjDjcsbGZI33ZL41Q0kDY2ZJag7u64MWOA+Tib2xFDFQbHyRgbXhw+FmLS7RZ8SMDriw/ErYCQxOQJjqUviKrVpo/0kv9HGM+aIOVddxktxnofz1zZfXZT2yYW67p4vmXlfypirbXvwa6pKqhYDw5POVgBfwQmEH5wcAAA==';\nimport 'src/components/AppBar.css.ts.vanilla.css?source=#H4sIAAAAAAAAE61Vy47aMBTdz1d4UwmqOnKAwExG3XTRXVfdtKqq0SVxwB3HtmzzrPrvtZ3A4AkRlOku8X2de+4reUp3z2OYZAT9vkNoSdliaXO0Bj3A2FgonisuN3gOhhV4xTAo5X40bhSHj85GQVkyscBWqhwVUjgrYQcGKopBU8BMGGq9tKtNxbpXce/+S7o9YHlKS15NxpOJE/65S57SQipV71OUHDP4gHItpf1RgoVz2O2S1vRjsVJUWybkzxPTkLyShlkmRY5gbiRfWdoN1YCYvzFq10sAYDUIU0ld580nB0u/DVJC3sVJk38OD6LUkpWdlKWCgtldjshjT/zvLr6m9fAobymKq0LOAGwkD2/C2vURw077YfdDgv8ACd4EqTFMg+FcbrFZQik3OQoTgIjaogJ4Mbg4hXOpS6qxYXs6RO8RToeIXJ7d1qqQXOoY0aiZg2ZEXVMgkmSu+LFOTmtld0GzZEZxcEkLKWikNQ7yEOKKbcLc2jjiifus5RWNCamNF25YaZc5GiWjBtrL0holsw7acQ6FZWv6qtuTUV8cYiL7LBhW3C+iNJJMg6RFE09DFrK4NnlLtzYuRmfKp7dOeQTSLxIP7NfKWFbtXExhqXDE+fS8V21PNzSnlZOlLcmVUw6N5p6S9H52IJ8zQfGhAmmSHXU37dtc8vLx0OdsHxqr7UD31LfMr8z43DKf9i7zk4b1KfsH4GwhMLO0Nu54OTaoPkvRiyiUK5idvoaUK6gZd859aTnFZmec3w/ok+Po+QsUX8P/Z6fZIWlKyGuSD/yGKmRN5c6tlQHOwn247Xhfd7QvHOvzTTu7tWlnp1uobUOSjLvDfd9cTV8Quabae3cwOWfKMPOKTyaWVLMu88f3E78PfWsQoRr0gokWFKysjA0v7MYORw+3ctQD0X+4WH8BFY3tFtYJAAA=';\nimport { createRuntimeFn as _7a468 } from '@vanilla-extract/recipes/createRuntimeFn';\nexport var appBar = _7a468({defaultClassName:'_1yk3a450 dhthxq4 dhthxq8 dhthxq7 dhthxq0 dhthxqg _1dlf4347',variantClassNames:{border:{true:'_1yk3a451'}},defaultVariants:{},compoundVariants:[]});\nexport var backButton = '_1yk3a453 dhthxq8 dhthxq7 dhthxqa dhthxqe dhthxqh';\nexport var center = '_1yk3a455 dhthxq8 dhthxq7';\nexport var centerMain = _7a468({defaultClassName:'_1yk3a456',variantClassNames:{hasLeft:{true:'_1yk3a457'}},defaultVariants:{},compoundVariants:[]});\nexport var centerText = '_1yk3a458 dhthxqb dhthxqc dhthxq0';\nexport var closeButton = '_1yk3a453 dhthxq8 dhthxq7 dhthxqa dhthxqe dhthxqh';\nexport var left = '_1yk3a452 dhthxq8 dhthxq7 dhthxq1';\nexport var right = '_1yk3a459 dhthxq8 dhthxq7 dhthxq1 dhthxq5';", "import 'src/styles/f.css.ts.vanilla.css?source=LmRodGh4cTAgewogIHdpZHRoOiAxMDAlOwp9Ci5kaHRoeHExIHsKICBoZWlnaHQ6IDEwMCU7Cn0KLmRodGh4cTIgewogIHRvcDogMDsKfQouZGh0aHhxMyB7CiAgbGVmdDogMDsKfQouZGh0aHhxNCB7CiAgcG9zaXRpb246IGFic29sdXRlOwp9Ci5kaHRoeHE1IHsKICBwb3NpdGlvbjogcmVsYXRpdmU7Cn0KLmRodGh4cTcgewogIGRpc3BsYXk6IGZsZXg7Cn0KLmRodGh4cTggewogIGFsaWduLWl0ZW1zOiBjZW50ZXI7Cn0KLmRodGh4cTkgewogIGFsaWduLWl0ZW1zOiBmbGV4LWVuZDsKfQouZGh0aHhxYSB7CiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7Cn0KLmRodGh4cWIgewogIG92ZXJmbG93OiBoaWRkZW47Cn0KLmRodGh4cWMgewogIHdoaXRlLXNwYWNlOiBub3dyYXA7Cn0KLmRodGh4cWQgewogIHRleHQtYWxpZ246IGNlbnRlcjsKfQouZGh0aHhxZSB7CiAgY3Vyc29yOiBwb2ludGVyOwogIC13ZWJraXQtdGFwLWhpZ2hsaWdodC1jb2xvcjogdHJhbnNwYXJlbnQ7Cn0KLmRodGh4cWYgewogIGJveC1zaXppbmc6IGJvcmRlci1ib3g7Cn0KLmRodGh4cWcgewogIGJveC1zaXppbmc6IGNvbnRlbnQtYm94Owp9Ci5kaHRoeHFoIHsKICBhcHBlYXJhbmNlOiBub25lOwogIGJvcmRlcjogMDsKICBwYWRkaW5nOiAwOwogIGJhY2tncm91bmQ6IG5vbmU7Cn0=';\nimport 'src/theme.css.ts.vanilla.css?source=#H4sIAAAAAAAAE+WT3UrEMBCF7/cpAt4obEKzWhYiPomI5GfaBjedMJnisuK7W0X3akvrpZUEQsI5h5l8jCFE3grzeTwGy1YWtv6lOeCrdLZEL4couYMED7YPhDE8ibeNEPKSzo0vLeHQB+nxgGTEVdM091PyENMFC7XOXldb8b2Vrm8mE2zO44WkQwpAUwnVfnFCiScwQufjrKGD2HZsxK2qCdKsPHrsz5+y0+O6m/UwHHmpxyEzJlk6AP5phmyIQxnb+SrwfbMEsh8yEMce/wHmStW/AL1T+z9DWj1rjzmnU7V+iisd1jNCvX6Eqx3ED1vu8AteBwAA';\nimport 'src/components/AppScreen.css.ts.vanilla.css?source=#H4sIAAAAAAAAE61VYW+bMBD9nl/hL5OIFkem7brF0f7HpqmaDtsBE2Nbxkm2Vv3vNVCaAKGCrRIfQPf87t0937H+HXO1u7u9u0dPC4QSYPvUmYPmmBllHEVHcBHGpQ+BnTInnEApGT5IzGWB+/DldvG8WLeUX+dSvk/3rabzDnQpvTS6JWrjpAtnZ/jOuII2rwq8+BHFhHzqomWNNhaY9H8pItvw9Yil5uJPP0/cnmTG2uKRoDPJClFnjP/FwcO1An0mCvEdNHdG8gfUy54JmWaeopg4UWw7raNISS3A4dQBl0L7aJ4vK+TSBCKyQq/Pslv+pq/lrRNxBwcTcckojvRMmobLm+BRuLrYEC+ZM0pVXcInkeylx2/RJiR1Gjw3B5a94+VNtw05pS1bQ5KAqzNzWVoFIa02WnTsj88V5NPsZwcrnJfaXFyAfOJlHeTcfEj6zTQlZFQGfIgM+CcZZHbu4QDmV8b/WvKfUT2cowLm2zHUMjDjcsbGZI33ZL41Q0kDY2ZJag7u64MWOA+Tib2xFDFQbHyRgbXhw+FmLS7RZ8SMDriw/ErYCQxOQJjqUviKrVpo/0kv9HGM+aIOVddxktxnofz1zZfXZT2yYW67p4vmXlfypirbXvwa6pKqhYDw5POVgBfwQmEH5wcAAA==';\nimport { createRuntimeFn as _7a468 } from '@vanilla-extract/recipes/createRuntimeFn';\nexport var allTransitions = '_1dlf4348';\nexport var appScreen = _7a468({defaultClassName:'dhthxq4 dhthxq0 dhthxq1 dhthxq2 dhthxq3 dhthxqb',variantClassNames:{transitionState:{'enter-active':'_1dlf4349','enter-done':'_1dlf434a','exit-active':'_1dlf434b','exit-done':'_1dlf434c'}},defaultVariants:{},compoundVariants:[]});\nexport var background = '_1dlf4347';\nexport var dim = '_1dlf434i dhthxq4 dhthxq0 dhthxq1 dhthxq2 dhthxq3 _1dlf4346 _1dlf4348';\nexport var edge = _7a468({defaultClassName:'_1dlf434l dhthxq4 dhthxq2 dhthxq3 dhthxq1',variantClassNames:{hasAppBar:{true:'_1dlf434m'}},defaultVariants:{},compoundVariants:[]});\nexport var enterActive = '_1dlf4349';\nexport var enterDone = '_1dlf434a';\nexport var exitActive = '_1dlf434b';\nexport var exitDone = '_1dlf434c';\nexport var paper = _7a468({defaultClassName:'_1dlf434j dhthxq4 dhthxq0 dhthxq1 dhthxq2 dhthxq3 _1dlf4347 _1dlf4348',variantClassNames:{hasAppBar:{true:'_1dlf434k dhthxqf'}},defaultVariants:{},compoundVariants:[]});\nexport var vars = {transitionDuration:'var(--_1dlf4340)',zIndexes:{dim:'var(--_1dlf4341)',paper:'var(--_1dlf4342)',edge:'var(--_1dlf4343)',appBar:'var(--_1dlf4344)'},appBar:{center:{mainWidth:'var(--_1dlf4345)'}}};", "/* eslint-disable jsx-a11y/no-static-element-interactions, jsx-a11y/click-events-have-key-events */\n\nimport { useActions, useActivity } from \"@stackflow/react\";\nimport { assignInlineVars } from \"@vanilla-extract/dynamic\";\nimport React, { useRef } from \"react\";\n\nimport { useLazy, useStyleEffect } from \"../hooks\";\nimport type { GlobalVars } from \"../theme.css\";\nimport { globalVars } from \"../theme.css\";\nimport { compactMap } from \"../utils\";\nimport * as css from \"./BottomSheet.css\";\n\ntype BottomSheetProps = Partial<\n Pick<GlobalVars, \"backgroundColor\" | \"dimBackgroundColor\">\n> &\n Partial<GlobalVars[\"bottomSheet\"]> & {\n onOutsideClick?: React.MouseEventHandler;\n children: React.ReactNode;\n };\nconst BottomSheet: React.FC<BottomSheetProps> = ({\n borderRadius = \"1rem\",\n backgroundColor,\n dimBackgroundColor,\n onOutsideClick,\n children,\n}) => {\n const activity = useActivity();\n const { pop } = useActions();\n\n const containerRef = useRef<HTMLDivElement>(null);\n const paperRef = useRef<HTMLDivElement>(null);\n\n useStyleEffect({\n styleName: \"hide\",\n refs: [containerRef],\n });\n useStyleEffect({\n styleName: \"offset\",\n refs: [paperRef],\n });\n useStyleEffect({\n styleName: \"swipe-back\",\n refs: [paperRef],\n });\n\n const popLock = useRef(false);\n\n const onDimClick: React.MouseEventHandler = (e) => {\n onOutsideClick?.(e);\n\n if (e.defaultPrevented) {\n return;\n }\n\n if (popLock.current) {\n return;\n }\n popLock.current = true;\n\n pop();\n };\n const onPaperClick: React.MouseEventHandler = (e) => {\n e.stopPropagation();\n };\n\n const zIndexBase = activity.zIndex * 5 + 3;\n const zIndexPaper = activity.zIndex * 5 + 4;\n\n return (\n <div\n className={css.container({\n transitionState: useLazy(activity.transitionState),\n })}\n ref={containerRef}\n style={assignInlineVars(\n compactMap({\n [globalVars.bottomSheet.borderRadius]: borderRadius,\n [globalVars.backgroundColor]: backgroundColor,\n [globalVars.dimBackgroundColor]: dimBackgroundColor,\n [css.vars.zIndexes.dim]: `${zIndexBase}`,\n [css.vars.zIndexes.paper]: `${zIndexPaper}`,\n [css.vars.transitionDuration]:\n activity.transitionState === \"enter-active\" ||\n activity.transitionState === \"exit-active\"\n ? `var(--stackflow-transition-duration)`\n : \"0ms\",\n }),\n )}\n >\n <div className={css.dim} ref={paperRef} onClick={onDimClick}>\n <div className={css.paper} onClick={onPaperClick}>\n {children}\n </div>\n </div>\n </div>\n );\n};\n\nexport default BottomSheet;\n", "import 'src/styles/f.css.ts.vanilla.css?source=LmRodGh4cTAgewogIHdpZHRoOiAxMDAlOwp9Ci5kaHRoeHExIHsKICBoZWlnaHQ6IDEwMCU7Cn0KLmRodGh4cTIgewogIHRvcDogMDsKfQouZGh0aHhxMyB7CiAgbGVmdDogMDsKfQouZGh0aHhxNCB7CiAgcG9zaXRpb246IGFic29sdXRlOwp9Ci5kaHRoeHE1IHsKICBwb3NpdGlvbjogcmVsYXRpdmU7Cn0KLmRodGh4cTcgewogIGRpc3BsYXk6IGZsZXg7Cn0KLmRodGh4cTggewogIGFsaWduLWl0ZW1zOiBjZW50ZXI7Cn0KLmRodGh4cTkgewogIGFsaWduLWl0ZW1zOiBmbGV4LWVuZDsKfQouZGh0aHhxYSB7CiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7Cn0KLmRodGh4cWIgewogIG92ZXJmbG93OiBoaWRkZW47Cn0KLmRodGh4cWMgewogIHdoaXRlLXNwYWNlOiBub3dyYXA7Cn0KLmRodGh4cWQgewogIHRleHQtYWxpZ246IGNlbnRlcjsKfQouZGh0aHhxZSB7CiAgY3Vyc29yOiBwb2ludGVyOwogIC13ZWJraXQtdGFwLWhpZ2hsaWdodC1jb2xvcjogdHJhbnNwYXJlbnQ7Cn0KLmRodGh4cWYgewogIGJveC1zaXppbmc6IGJvcmRlci1ib3g7Cn0KLmRodGh4cWcgewogIGJveC1zaXppbmc6IGNvbnRlbnQtYm94Owp9Ci5kaHRoeHFoIHsKICBhcHBlYXJhbmNlOiBub25lOwogIGJvcmRlcjogMDsKICBwYWRkaW5nOiAwOwogIGJhY2tncm91bmQ6IG5vbmU7Cn0=';\nimport 'src/theme.css.ts.vanilla.css?source=#H4sIAAAAAAAAE+WT3UrEMBCF7/cpAt4obEKzWhYiPomI5GfaBjedMJnisuK7W0X3akvrpZUEQsI5h5l8jCFE3grzeTwGy1YWtv6lOeCrdLZEL4couYMED7YPhDE8ibeNEPKSzo0vLeHQB+nxgGTEVdM091PyENMFC7XOXldb8b2Vrm8mE2zO44WkQwpAUwnVfnFCiScwQufjrKGD2HZsxK2qCdKsPHrsz5+y0+O6m/UwHHmpxyEzJlk6AP5phmyIQxnb+SrwfbMEsh8yEMce/wHmStW/AL1T+z9DWj1rjzmnU7V+iisd1jNCvX6Eqx3ED1vu8AteBwAA';\nimport 'src/components/BottomSheet.css.ts.vanilla.css?source=Ll8xaHQzOGgwMyB7CiAgdHJhbnNpdGlvbjogdmFyKC0tXzFodDM4aDAwKTsKfQouXzFodDM4aDA3IHsKICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMTAwJSk7Cn0KLl8xaHQzOGgwZCB7CiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tc3RhY2tmbG93LWJhc2ljLXVpLWRpbS1iYWNrZ3JvdW5kLWNvbG9yKTsKICB6LWluZGV4OiB2YXIoLS1fMWh0MzhoMDEpOwogIG9wYWNpdHk6IDA7Cn0KLl8xaHQzOGgwNCAuXzFodDM4aDBkLCAuXzFodDM4aDA1IC5fMWh0MzhoMGQgewogIG9wYWNpdHk6IDE7Cn0KLl8xaHQzOGgwNiAuXzFodDM4aDBkLCAuXzFodDM4aDA3IC5fMWh0MzhoMGQgewogIG9wYWNpdHk6IDA7Cn0KLl8xaHQzOGgwZSB7CiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tc3RhY2tmbG93LWJhc2ljLXVpLWJhY2tncm91bmQtY29sb3IpOwogIHdpZHRoOiAxMDAlOwogIGJvcmRlci1yYWRpdXM6IHZhcigtLXN0YWNrZmxvdy1iYXNpYy11aS1ib3R0b20tc2hlZXQtYm9yZGVyLXJhZGl1cykgdmFyKC0tc3RhY2tmbG93LWJhc2ljLXVpLWJvdHRvbS1zaGVldC1ib3JkZXItcmFkaXVzKSAwIDA7CiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDEwMCUpOwogIG9wYWNpdHk6IDA7Cn0KLl8xaHQzOGgwNCAuXzFodDM4aDBlLCAuXzFodDM4aDA1IC5fMWh0MzhoMGUgewogIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTsKICBvcGFjaXR5OiAxOwp9Ci5fMWh0MzhoMDYgLl8xaHQzOGgwZSwgLl8xaHQzOGgwNyAuXzFodDM4aDBlIHsKICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMTAwJSk7CiAgb3BhY2l0eTogMDsKfQ==';\nimport { createRuntimeFn as _7a468 } from '@vanilla-extract/recipes/createRuntimeFn';\nexport var container = _7a468({defaultClassName:'dhthxq4 dhthxq0 dhthxq1 dhthxq2 dhthxq3 dhthxqb',variantClassNames:{transitionState:{'enter-active':'_1ht38h04','enter-done':'_1ht38h05','exit-active':'_1ht38h06','exit-done':'_1ht38h07'}},defaultVariants:{},compoundVariants:[]});\nexport var dim = '_1ht38h0d dhthxq4 dhthxq0 dhthxq1 dhthxq2 dhthxq3 dhthxqb dhthxq9 dhthxq7 _1ht38h03';\nexport var enterActive = '_1ht38h04';\nexport var enterDone = '_1ht38h05';\nexport var exitActive = '_1ht38h06';\nexport var exitDone = '_1ht38h07';\nexport var paper = '_1ht38h0e dhthxqb _1ht38h03';\nexport var vars = {transitionDuration:'var(--_1ht38h00)',zIndexes:{dim:'var(--_1ht38h01)',paper:'var(--_1ht38h02)'}};", "/* eslint-disable jsx-a11y/no-static-element-interactions, jsx-a11y/click-events-have-key-events */\n\nimport { useActions, useActivity } from \"@stackflow/react\";\nimport { assignInlineVars } from \"@vanilla-extract/dynamic\";\nimport React, { useRef } from \"react\";\n\nimport { useLazy, useStyleEffect } from \"../hooks\";\nimport type { GlobalVars } from \"../theme.css\";\nimport { globalVars } from \"../theme.css\";\nimport { compactMap } from \"../utils\";\nimport * as css from \"./Modal.css\";\n\ntype ModalProps = Partial<\n Pick<GlobalVars, \"backgroundColor\" | \"dimBackgroundColor\">\n> &\n Partial<GlobalVars[\"modal\"]> & {\n onOutsideClick?: React.MouseEventHandler;\n children: React.ReactNode;\n };\nconst Modal: React.FC<ModalProps> = ({\n backgroundColor,\n dimBackgroundColor,\n borderRadius = \"1rem\",\n onOutsideClick,\n children,\n}) => {\n const activity = useActivity();\n const { pop } = useActions();\n\n const containerRef = useRef<HTMLDivElement>(null);\n const paperRef = useRef<HTMLDivElement>(null);\n\n useStyleEffect({\n styleName: \"hide\",\n refs: [containerRef],\n });\n useStyleEffect({\n styleName: \"offset\",\n refs: [paperRef],\n });\n useStyleEffect({\n styleName: \"swipe-back\",\n refs: [paperRef],\n });\n\n const popLock = useRef(false);\n\n const onDimClick: React.MouseEventHandler = (e) => {\n onOutsideClick?.(e);\n\n if (e.defaultPrevented) {\n return;\n }\n\n if (popLock.current) {\n return;\n }\n popLock.current = true;\n\n pop();\n };\n const onPaperClick: React.MouseEventHandler = (e) => {\n e.stopPropagation();\n };\n\n const zIndexBase = activity.zIndex * 5 + 3;\n const zIndexPaper = activity.zIndex * 5 + 4;\n\n return (\n <div\n className={css.container({\n transitionState: useLazy(activity.transitionState),\n })}\n ref={containerRef}\n style={assignInlineVars(\n compactMap({\n [globalVars.bottomSheet.borderRadius]: borderRadius,\n [globalVars.backgroundColor]: backgroundColor,\n [globalVars.dimBackgroundColor]: dimBackgroundColor,\n [css.vars.zIndexes.dim]: `${zIndexBase}`,\n [css.vars.zIndexes.paper]: `${zIndexPaper}`,\n [css.vars.transitionDuration]:\n activity.transitionState === \"enter-active\" ||\n activity.transitionState === \"exit-active\"\n ? `var(--stackflow-transition-duration)`\n : \"0ms\",\n }),\n )}\n >\n <div className={css.dim} ref={paperRef} onClick={onDimClick}>\n <div className={css.paper} onClick={onPaperClick}>\n {children}\n </div>\n </div>\n </div>\n );\n};\n\nexport default Modal;\n", "import 'src/styles/f.css.ts.vanilla.css?source=LmRodGh4cTAgewogIHdpZHRoOiAxMDAlOwp9Ci5kaHRoeHExIHsKICBoZWlnaHQ6IDEwMCU7Cn0KLmRodGh4cTIgewogIHRvcDogMDsKfQouZGh0aHhxMyB7CiAgbGVmdDogMDsKfQouZGh0aHhxNCB7CiAgcG9zaXRpb246IGFic29sdXRlOwp9Ci5kaHRoeHE1IHsKICBwb3NpdGlvbjogcmVsYXRpdmU7Cn0KLmRodGh4cTcgewogIGRpc3BsYXk6IGZsZXg7Cn0KLmRodGh4cTggewogIGFsaWduLWl0ZW1zOiBjZW50ZXI7Cn0KLmRodGh4cTkgewogIGFsaWduLWl0ZW1zOiBmbGV4LWVuZDsKfQouZGh0aHhxYSB7CiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7Cn0KLmRodGh4cWIgewogIG92ZXJmbG93OiBoaWRkZW47Cn0KLmRodGh4cWMgewogIHdoaXRlLXNwYWNlOiBub3dyYXA7Cn0KLmRodGh4cWQgewogIHRleHQtYWxpZ246IGNlbnRlcjsKfQouZGh0aHhxZSB7CiAgY3Vyc29yOiBwb2ludGVyOwogIC13ZWJraXQtdGFwLWhpZ2hsaWdodC1jb2xvcjogdHJhbnNwYXJlbnQ7Cn0KLmRodGh4cWYgewogIGJveC1zaXppbmc6IGJvcmRlci1ib3g7Cn0KLmRodGh4cWcgewogIGJveC1zaXppbmc6IGNvbnRlbnQtYm94Owp9Ci5kaHRoeHFoIHsKICBhcHBlYXJhbmNlOiBub25lOwogIGJvcmRlcjogMDsKICBwYWRkaW5nOiAwOwogIGJhY2tncm91bmQ6IG5vbmU7Cn0=';\nimport 'src/theme.css.ts.vanilla.css?source=#H4sIAAAAAAAAE+WT3UrEMBCF7/cpAt4obEKzWhYiPomI5GfaBjedMJnisuK7W0X3akvrpZUEQsI5h5l8jCFE3grzeTwGy1YWtv6lOeCrdLZEL4couYMED7YPhDE8ibeNEPKSzo0vLeHQB+nxgGTEVdM091PyENMFC7XOXldb8b2Vrm8mE2zO44WkQwpAUwnVfnFCiScwQufjrKGD2HZsxK2qCdKsPHrsz5+y0+O6m/UwHHmpxyEzJlk6AP5phmyIQxnb+SrwfbMEsh8yEMce/wHmStW/AL1T+z9DWj1rjzmnU7V+iisd1jNCvX6Eqx3ED1vu8AteBwAA';\nimport 'src/components/Modal.css.ts.vanilla.css?source=Ll81b3pnOGMzIHsKICB0cmFuc2l0aW9uOiB2YXIoLS1fNW96ZzhjMCk7Cn0KLl81b3pnOGM3IHsKICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMTAwJSk7Cn0KLl81b3pnOGNkIHsKICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1zdGFja2Zsb3ctYmFzaWMtdWktZGltLWJhY2tncm91bmQtY29sb3IpOwogIHotaW5kZXg6IHZhcigtLV81b3pnOGMxKTsKICBvcGFjaXR5OiAwOwp9Ci5fNW96ZzhjNCAuXzVvemc4Y2QsIC5fNW96ZzhjNSAuXzVvemc4Y2QgewogIG9wYWNpdHk6IDE7Cn0KLl81b3pnOGM2IC5fNW96ZzhjZCwgLl81b3pnOGM3IC5fNW96ZzhjZCB7CiAgb3BhY2l0eTogMDsKfQouXzVvemc4Y2UgewogIGJhY2tncm91bmQtY29sb3I6IHZhcigtLXN0YWNrZmxvdy1iYXNpYy11aS1iYWNrZ3JvdW5kLWNvbG9yKTsKICB3aWR0aDogMTAwJTsKICBtYXJnaW46IDAgMi41cmVtOwogIGJveC1zaGFkb3c6IDBweCAwLjYyNXJlbSAyLjM3NXJlbSByZ2JhKDAsIDAsIDAsIDAuMTUpLCAwcHggLjU2MjVyZW0gMi44NzVyZW0gcmdiYSgwLCAwLCAwLCAwLjEyKSwgMHB4IC4zMTI1cmVtIC45Mzc1cmVtIHJnYmEoMCwgMCwgMCwgMC4xKTsKICBib3JkZXItcmFkaXVzOiB2YXIoLS1zdGFja2Zsb3ctYmFzaWMtdWktYm90dG9tLXNoZWV0LWJvcmRlci1yYWRpdXMpOwogIHRyYW5zZm9ybTogc2NhbGUoMS4xKTsKICBvcGFjaXR5OiAwOwp9Ci5fNW96ZzhjNCAuXzVvemc4Y2UsIC5fNW96ZzhjNSAuXzVvemc4Y2UgewogIHRyYW5zZm9ybTogc2NhbGUoMSk7CiAgb3BhY2l0eTogMTsKfQouXzVvemc4YzYgLl81b3pnOGNlLCAuXzVvemc4YzcgLl81b3pnOGNlIHsKICB0cmFuc2Zvcm06IHNjYWxlKDEuMSk7CiAgb3BhY2l0eTogMDsKfQ==';\nimport { createRuntimeFn as _7a468 } from '@vanilla-extract/recipes/createRuntimeFn';\nexport var container = _7a468({defaultClassName:'dhthxq4 dhthxq0 dhthxq1 dhthxq2 dhthxq3 dhthxqb',variantClassNames:{transitionState:{'enter-active':'_5ozg8c4','enter-done':'_5ozg8c5','exit-active':'_5ozg8c6','exit-done':'_5ozg8c7'}},defaultVariants:{},compoundVariants:[]});\nexport var dim = '_5ozg8cd dhthxq4 dhthxq0 dhthxq1 dhthxq2 dhthxq3 dhthxqb dhthxq8 dhthxq7 dhthxqa _5ozg8c3';\nexport var enterActive = '_5ozg8c4';\nexport var enterDone = '_5ozg8c5';\nexport var exitActive = '_5ozg8c6';\nexport var exitDone = '_5ozg8c7';\nexport var paper = '_5ozg8ce dhthxqb _5ozg8c3';\nexport var vars = {transitionDuration:'var(--_5ozg8c0)',zIndexes:{dim:'var(--_5ozg8c1)',paper:'var(--_5ozg8c2)'}};"],
5
+ "mappings": "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",
6
+ "names": ["src_exports", "__export", "AppScreen_default", "BottomSheet_default", "Modal_default", "basicUIPlugin", "globalVars", "__toCommonJS", "import_dynamic", "import_react", "theme_css_exports", "__export", "android", "cupertino", "globalVars", "rootAndroid", "rootCupertino", "android", "cupertino", "globalVars", "rootAndroid", "rootCupertino", "compactMap", "obj", "acc", "key", "value", "listenOnce", "el", "type", "cb", "listener", "listenResize", "cb", "noop", "requestNextFrame", "cb", "GlobalOptionsContext", "GlobalOptionsProvider", "useGlobalOptions", "basicUIPlugin", "options", "stack", "_a", "_b", "_c", "_d", "_e", "_f", "_g", "React", "theme_css_exports", "compactMap", "globalVars", "import_react", "import_dynamic", "import_react", "useLazy", "value", "state", "setState", "requestNextFrame", "import_react", "useMaxWidth", "outerRef", "innerRef", "enable", "maxWidth", "setMaxWidth", "$outer", "$inner", "noop", "listenResize", "screenWidth", "leftWidth", "centerWidth", "rightWidth", "sideMargin", "import_react", "connections", "useStyleEffect", "styleName", "refs", "effect", "activity", "arr", "i", "connection", "cleanup", "useStyleEffectHide", "refs", "hasEffect", "useStyleEffect", "activityTransitionState", "ref", "OFFSET_PX_ANDROID", "OFFSET_PX_CUPERTINO", "useStyleEffectOffset", "refs", "theme", "hasEffect", "useStyleEffect", "activityTransitionState", "transform", "ref", "requestNextFrame", "listenOnce", "useStyleEffectSwipeBack", "theme", "dimRef", "edgeRef", "paperRef", "hasEffect", "onSwiped", "useStyleEffect", "refs", "$dim", "$edge", "$paper", "x0", "t0", "x", "cachedRefs", "resetState", "_rAFLock", "movePaper", "dx", "p", "ref", "_a", "OFFSET_PX_CUPERTINO", "resetPaper", "swiped", "listenOnce", "i", "cachedRef", "onTouchStart", "e", "activeElement", "onTouchMove", "onTouchEnd", "t", "import_react", "import_dynamic", "import_react", "IconBack", "props", "React", "IconBack_default", "import_react", "IconClose", "props", "React", "IconClose_default", "import_createRuntimeFn", "appBar", "_7a468", "backButton", "center", "centerMain", "centerText", "closeButton", "left", "right", "import_createRuntimeFn", "appScreen", "_7a468", "dim", "edge", "_7a468", "paper", "_7a468", "vars", "AppBar", "React", "title", "appendLeft", "appendRight", "backButton", "closeButton", "closeButtonLocation", "border", "iconColor", "textColor", "borderColor", "borderSize", "height", "ref", "actions", "activity", "theme", "appBar", "useGlobalOptions", "centerRef", "maxWidth", "useMaxWidth", "onBackClick", "e", "isCloseButtonVisible", "renderBackButton", "_a", "IconBack_default", "onCloseClick", "_b", "renderCloseButton", "IconClose_default", "hasLeft", "compactMap", "globalVars", "vars", "left", "center", "centerMain", "centerText", "right", "AppBar_default", "AppScreen", "backgroundColor", "dimBackgroundColor", "appBar", "children", "theme", "useGlobalOptions", "activity", "pop", "appScreenRef", "dimRef", "paperRef", "edgeRef", "appBarRef", "useStyleEffectHide", "useStyleEffectOffset", "useStyleEffectSwipeBack", "isRoot", "hasAppBar", "zIndexBase", "zIndexDim", "zIndexPaper", "zIndexEdge", "zIndexAppBar", "React", "appScreen", "useLazy", "compactMap", "globalVars", "vars", "dim", "paper", "edge", "AppBar_default", "__spreadProps", "__spreadValues", "AppScreen_default", "import_react", "import_dynamic", "import_createRuntimeFn", "container", "_7a468", "dim", "paper", "vars", "BottomSheet", "borderRadius", "backgroundColor", "dimBackgroundColor", "onOutsideClick", "children", "activity", "pop", "containerRef", "paperRef", "useStyleEffect", "popLock", "onDimClick", "e", "onPaperClick", "zIndexBase", "zIndexPaper", "React", "container", "useLazy", "compactMap", "globalVars", "vars", "dim", "paper", "BottomSheet_default", "import_react", "import_dynamic", "import_createRuntimeFn", "container", "_7a468", "dim", "paper", "vars", "Modal", "backgroundColor", "dimBackgroundColor", "borderRadius", "onOutsideClick", "children", "activity", "pop", "containerRef", "paperRef", "useStyleEffect", "popLock", "onDimClick", "e", "onPaperClick", "zIndexBase", "zIndexPaper", "React", "container", "useLazy", "compactMap", "globalVars", "vars", "dim", "paper", "Modal_default"]
7
7
  }