@stackflow/plugin-basic-ui 0.16.1-alpha.22 → 0.16.1-alpha.24
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.js +1 -1
- package/dist/index.js.map +3 -3
- package/dist/index.mjs +1 -1
- package/dist/index.mjs.map +3 -3
- package/package.json +3 -3
- package/src/basicUIPlugin.tsx +35 -26
package/dist/index.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";var et=Object.create;var V=Object.defineProperty,tt=Object.defineProperties,rt=Object.getOwnPropertyDescriptor,ot=Object.getOwnPropertyDescriptors,at=Object.getOwnPropertyNames,ce=Object.getOwnPropertySymbols,nt=Object.getPrototypeOf,de=Object.prototype.hasOwnProperty,st=Object.prototype.propertyIsEnumerable;var le=(e,t,r)=>t in e?V(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r,pe=(e,t)=>{for(var r in t||(t={}))de.call(t,r)&&le(e,r,t[r]);if(ce)for(var r of ce(t))st.call(t,r)&&le(e,r,t[r]);return e},me=(e,t)=>tt(e,ot(t));var fe=(e,t)=>{for(var r in t)V(e,r,{get:t[r],enumerable:!0})},ue=(e,t,r,o)=>{if(t&&typeof t=="object"||typeof t=="function")for(let a of at(t))!de.call(e,a)&&a!==r&&V(e,a,{get:()=>t[a],enumerable:!(o=rt(t,a))||o.enumerable});return e};var P=(e,t,r)=>(r=e!=null?et(nt(e)):{},ue(t||!e||!e.__esModule?V(r,"default",{value:e,enumerable:!0}):r,e)),it=e=>ue(V({},"__esModule",{value:!0}),e);var Et={};fe(Et,{AppScreen:()=>He,BottomSheet:()=>je,Modal:()=>Ke,basicUIPlugin:()=>be,cssVars:()=>i});module.exports=it(Et);var ve=require("@vanilla-extract/dynamic"),T=P(require("react"));var ee={};fe(ee,{android:()=>ct,cupertino:()=>lt,globalVars:()=>i,rootAndroid:()=>dt,rootCupertino:()=>pt});var ct="_1coppmz0",lt="_1coppmz1",i={backgroundColor:"var(--stackflow-plugin-basic-ui-background-color)",dimBackgroundColor:"var(--stackflow-plugin-basic-ui-dim-background-color)",appBar:{borderColor:"var(--stackflow-plugin-basic-ui-app-bar-border-color)",borderSize:"var(--stackflow-plugin-basic-ui-app-bar-border-size)",height:"var(--stackflow-plugin-basic-ui-app-bar-height)",iconColor:"var(--stackflow-plugin-basic-ui-app-bar-icon-color)",textColor:"var(--stackflow-plugin-basic-ui-app-bar-text-color)",backgroundColor:"var(--stackflow-plugin-basic-ui-app-bar-background-color)"},bottomSheet:{borderRadius:"var(--stackflow-plugin-basic-ui-bottom-sheet-border-radius)"},modal:{borderRadius:"var(--stackflow-plugin-basic-ui-bottom-sheet-border-radius)"}},dt=":root[data-stackflow-plugin-basic-ui-theme=android]",pt=":root[data-stackflow-plugin-basic-ui-theme=cupertino]";function _(e){return Object.entries(e).reduce((t,[r,o])=>(o!=null&&(t[r]=o),t),{})}function D(e,t,r){let o=()=>{e.removeEventListener(t,o),r()};e.addEventListener(t,o)}var he=e=>(e(),window.addEventListener("resize",e),()=>{window.removeEventListener("resize",e)});var xe=()=>{};function H(e){requestAnimationFrame(()=>{requestAnimationFrame(()=>{e()})})}var ye=(0,T.createContext)({theme:"android"}),mt=ye.Provider;function O(){return(0,T.useContext)(ye)}var be=e=>()=>({key:"basic-ui",wrapStack({stack:t}){var r,o,a,n,c,l,s;return T.default.createElement(mt,{value:e},T.default.createElement("div",{className:typeof window!="undefined"?ee[e.theme]:void 0,style:(0,ve.assignInlineVars)(_({[i.backgroundColor]:e.backgroundColor,[i.dimBackgroundColor]:e.dimBackgroundColor,[i.appBar.borderColor]:(r=e.appBar)==null?void 0:r.borderColor,[i.appBar.borderSize]:(o=e.appBar)==null?void 0:o.borderSize,[i.appBar.height]:(a=e.appBar)==null?void 0:a.height,[i.appBar.iconColor]:(n=e.appBar)==null?void 0:n.iconColor,[i.appBar.textColor]:(c=e.appBar)==null?void 0:c.textColor,[i.bottomSheet.borderRadius]:(l=e.bottomSheet)==null?void 0:l.borderRadius,[i.modal.borderRadius]:(s=e.modal)==null?void 0:s.borderRadius}))},t.render()))}});var Y=require("@stackflow/react"),De=require("@vanilla-extract/dynamic"),q=P(require("react"));var F=require("react");function B(e){let[t,r]=(0,F.useState)(void 0);return(0,F.useEffect)(()=>{H(()=>{r(e)})},[e]),t}var $=require("react");function ge({outerRef:e,innerRef:t,enable:r}){let[o,a]=(0,$.useState)(void 0);return(0,$.useEffect)(()=>{let n=e&&"current"in e&&e.current,c=t.current;return!r||!n||!c?xe:he(()=>{let s=n.clientWidth,d=c.offsetLeft,f=c.clientWidth,b=s-d-f,u=Math.max(d,b);a(s-2*u)})},[]),{maxWidth:o}}var Ce=require("@stackflow/react"),te=require("react"),A={};function k({styleName:e,refs:t,effect:r}){let o=(0,Ce.useActivity)();(0,te.useEffect)(()=>(A[e]||(A[e]=new Map),A[e].set(o.zIndex,{refs:t,hasEffect:!!r}),()=>{A[e].delete(o.zIndex)}),[o.id,t,r]),(0,te.useEffect)(()=>{if(!r)return()=>{};let a=(()=>{let c=[];for(let l=1;l<=o.zIndex;l+=1){let s=A[e].get(o.zIndex-l);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 ke({refs:e,hasEffect:t}){k({styleName:"hide",refs:e,effect:t?({activityTransitionState:r,refs:o})=>{switch(r){case"enter-done":{o.forEach(a=>{!a.current||(a.current.style.display="none")});break}default:{o.forEach(a=>{!a.current||(a.current.style.display="")});break}}}:void 0})}var ft=32,G=80;function Ee({refs:e,theme:t,hasEffect:r}){k({styleName:"offset",refs:e,effect:r?({activityTransitionState:o,refs:a})=>{let n=t==="cupertino"?`translateX(-${G/16}rem)`:`translateY(-${ft/16}rem)`;switch(o){case"enter-active":case"enter-done":{a.forEach(c=>{!c.current||(c.current.style.transition="var(--stackflow-transition-duration)",c.current.style.transform=n)});break}case"exit-active":case"exit-done":{H(()=>{a.forEach(c=>{if(!c.current)return;let l=c.current;l.style.transform="",D(l,"transitionend",()=>{l.style.transition=""})})});break}default:break}}:void 0})}function qe({theme:e,dimRef:t,edgeRef:r,paperRef:o,hasEffect:a,onSwiped:n}){k({styleName:"swipe-back",refs:[o],effect:a?({refs:c})=>{if(e!=="cupertino")return()=>{};if(!t.current||!r.current||!o.current)return()=>{};let l=t.current,s=r.current,d=o.current,f=null,b=null,u=null,C=[],m=()=>{f=null,b=null,u=null,C=[]},R=!1;function M(v){R||(R=!0,requestAnimationFrame(()=>{let p=v/d.clientWidth;l.style.opacity=`${1-p}`,l.style.transition="0s",d.style.overflowY="hidden",d.style.transform=`translateX(${v}px)`,d.style.transition="0s",c.forEach(g=>{var x;!g.current||(g.current.style.transform=`translateX(${-1*(1-p)*G}px)`,g.current.style.transition="0s",((x=g.current.parentElement)==null?void 0:x.style.display)==="none"&&(g.current.parentElement.style.display="block"))}),R=!1}))}function h({swiped:v}){requestAnimationFrame(()=>{l.style.opacity=`${v?0:1}`,l.style.transition="var(--stackflow-transition-duration)",d.style.overflowY="hidden",d.style.transform=`translateX(${v?"100%":"0"})`,d.style.transition="var(--stackflow-transition-duration)",c.forEach(p=>{!p.current||(p.current.style.transition="var(--stackflow-transition-duration)",p.current.style.transform=`translateX(${v?"0":`-${G/16}rem`})`)}),D(d,"transitionend",()=>{l.style.opacity="",d.style.overflowY="",d.style.transform="",c.forEach((p,g)=>{if(!p.current)return;let x=C[g];v?(p.current.style.transition="",p.current.style.transform="",p.current.parentElement&&(p.current.parentElement.style.display="")):x&&(p.current.style.transition=x.style.transition,p.current.style.transform=x.style.transform,p.current.parentElement&&x.parentElement&&(p.current.parentElement.style.display=x.parentElement.style.display))})})})}let w=v=>{var g;let{activeElement:p}=document;(g=p==null?void 0:p.blur)==null||g.call(p),f=u=v.touches[0].clientX,b=Date.now(),C=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:""}})},S=v=>{if(!f){m();return}u=v.touches[0].clientX,M(u-f)},N=()=>{if(!f||!b||!u){m();return}let v=Date.now(),g=(u-f)/(v-b)>1||u/d.clientWidth>.4;g&&(n==null||n()),m(),h({swiped:g})};return s.addEventListener("touchstart",w,{passive:!0}),s.addEventListener("touchmove",S,{passive:!0}),s.addEventListener("touchend",N,{passive:!0}),s.addEventListener("touchcancel",N,{passive:!0}),()=>{s.removeEventListener("touchstart",w),s.removeEventListener("touchmove",S),s.removeEventListener("touchend",N),s.removeEventListener("touchcancel",N)}}:void 0})}var U=require("@stackflow/react"),Ve=require("@vanilla-extract/dynamic"),y=P(require("react"));var re=P(require("react")),ut=e=>re.default.createElement("svg",{className:e.className,width:"24",height:"24",viewBox:"0 0 24 24",fill:"none",xmlns:"http://www.w3.org/2000/svg"},re.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=ut;var j=P(require("react")),ht=e=>j.default.createElement("svg",{className:e.className,width:"24",height:"24",viewBox:"0 0 24 24",fill:"none",xmlns:"http://www.w3.org/2000/svg"},j.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"}),j.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"})),oe=ht;var ae=require("@vanilla-extract/recipes/createRuntimeFn"),Re=(0,ae.createRuntimeFn)({defaultClassName:"_1yk3a450 dhthxq4 dhthxq8 dhthxq7 dhthxq0 dhthxqg _1dlf4347",variantClassNames:{border:{true:"_1yk3a451"}},defaultVariants:{},compoundVariants:[]}),ne="_1yk3a453 dhthxq8 dhthxq7 dhthxqa dhthxqe dhthxqh",_e="_1yk3a455 dhthxq8 dhthxq7",Se=(0,ae.createRuntimeFn)({defaultClassName:"_1yk3a456",variantClassNames:{hasLeft:{true:"_1yk3a457"}},defaultVariants:{},compoundVariants:[]}),Ne="_1yk3a458 dhthxqb dhthxqc dhthxq0",ze="_1yk3a453 dhthxq8 dhthxq7 dhthxqa dhthxqe dhthxqh",Ie="_1yk3a452 dhthxq8 dhthxq7 dhthxq1",Le="_1yk3a459 dhthxq8 dhthxq7 dhthxq1 dhthxq5";var X=require("@vanilla-extract/recipes/createRuntimeFn");var Me=(0,X.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 we="_1dlf434i dhthxq4 dhthxq0 dhthxq1 dhthxq2 dhthxq3 _1dlf4346 _1dlf4348",Pe=(0,X.createRuntimeFn)({defaultClassName:"_1dlf434l dhthxq4 dhthxq2 dhthxq3 dhthxq1",variantClassNames:{hasAppBar:{true:"_1dlf434m"}},defaultVariants:{},compoundVariants:[]});var Te=(0,X.createRuntimeFn)({defaultClassName:"_1dlf434j dhthxq4 dhthxq0 dhthxq1 dhthxq2 dhthxq3 _1dlf4347 _1dlf4348",variantClassNames:{hasAppBar:{true:"_1dlf434k dhthxqf"}},defaultVariants:{},compoundVariants:[]}),z={transitionDuration:"var(--_1dlf4340)",zIndexes:{dim:"var(--_1dlf4341)",paper:"var(--_1dlf4342)",edge:"var(--_1dlf4343)",appBar:"var(--_1dlf4344)"},appBar:{center:{mainWidth:"var(--_1dlf4345)"}}};var vt=y.default.forwardRef(({title:e,appendLeft:t,appendRight:r,backButton:o,closeButton:a,closeButtonLocation:n="left",border:c=!0,iconColor:l,textColor:s,borderColor:d,borderSize:f,height:b,backgroundColor:u},C)=>{var se;let m=(0,U.useActions)(),R=(0,U.useActivity)(),M=O(),h=(se=M.appBar)==null?void 0:se.closeButton,w=(0,y.useRef)(null),{maxWidth:S}=ge({outerRef:C,innerRef:w,enable:M.theme==="cupertino"}),N=E=>{o&&"onClick"in o&&o.onClick&&o.onClick(E),E.defaultPrevented||m.pop()},v=R.zIndex===0||R.zIndex===1&&R.transitionState==="enter-active"&&R.pushedBy.name==="Replaced",p=()=>{var E;return v?null:o?"render"in o&&o.render?(E=o.render)==null?void 0:E.call(o):y.default.createElement("button",{type:"button",className:ne,onClick:N},"renderIcon"in o&&o.renderIcon?o.renderIcon():y.default.createElement(W,null)):y.default.createElement("button",{type:"button",className:ne,onClick:N},y.default.createElement(W,null))},g=E=>{var ie;a&&"onClick"in a&&a.onClick&&a.onClick(E),!E.defaultPrevented&&h&&"onClick"in h&&((ie=h.onClick)==null||ie.call(h,E))},x=()=>{var E;return!a&&!((E=M.appBar)!=null&&E.closeButton)||!v?null:a&&"render"in a&&a.render?a.render():h&&"render"in h&&h.render?h.render():y.default.createElement("button",{type:"button",className:ze,onClick:g},(()=>a&&"renderIcon"in a&&a.renderIcon?a.renderIcon():h&&"renderIcon"in h&&h.renderIcon?h.renderIcon():y.default.createElement(oe,null))())},Qe=!!(n==="left"&&a||o||t);return y.default.createElement("div",{ref:C,className:Re({border:c}),style:(0,Ve.assignInlineVars)(_({[i.appBar.iconColor]:l,[i.appBar.textColor]:s,[i.appBar.borderColor]:d,[i.appBar.borderSize]:f,[i.appBar.height]:b,[i.appBar.backgroundColor]:u||i.backgroundColor,[z.appBar.center.mainWidth]:`${S}px`}))},y.default.createElement("div",{className:Ie},n==="left"&&x(),p(),t==null?void 0:t()),y.default.createElement("div",{ref:w,className:_e},y.default.createElement("div",{className:Se({hasLeft:Qe})},typeof e=="string"?y.default.createElement("div",{className:Ne},e):e)),y.default.createElement("div",{className:Le},r==null?void 0:r(),n==="right"&&x()))}),Ae=vt;var yt=({backgroundColor:e,dimBackgroundColor:t,appBar:r,children:o})=>{let a=O(),n=(0,Y.useActivity)(),{pop:c}=(0,Y.useActions)(),l=(0,q.useRef)(null),s=(0,q.useRef)(null),d=(0,q.useRef)(null),f=(0,q.useRef)(null),b=(0,q.useRef)(null);ke({refs:[l],hasEffect:!0}),Ee({theme:a.theme,refs:a.theme==="cupertino"?[d]:[d,b],hasEffect:!0}),qe({theme:a.theme,dimRef:s,edgeRef:f,paperRef:d,hasEffect:!0,onSwiped(){c()}});let u=n.zIndex===0,C=!!r,m=n.zIndex*5,R=m,M=m+(a.theme==="cupertino"&&C?1:3),h=m+4,w=m+7,{transitionState:S}=n,N=B(S);return q.default.createElement("div",{ref:l,className:Me({transitionState:S==="enter-done"||S==="exit-done"?S:N}),style:(0,De.assignInlineVars)(_({[i.backgroundColor]:e,[i.dimBackgroundColor]:t,[i.appBar.height]:r==null?void 0:r.height,[z.zIndexes.dim]:`${R}`,[z.zIndexes.paper]:`${M}`,[z.zIndexes.edge]:`${h}`,[z.zIndexes.appBar]:`${w}`,[z.transitionDuration]:n.transitionState==="enter-active"||n.transitionState==="exit-active"?"var(--stackflow-transition-duration)":"0ms"}))},q.default.createElement("div",{className:we,ref:s}),q.default.createElement("div",{key:n.id,className:Te({hasAppBar:C}),ref:d},o),!u&&a.theme==="cupertino"&&q.default.createElement("div",{className:Pe({hasAppBar:C}),ref:f}),r&&q.default.createElement(Ae,me(pe({},r),{ref:b})))},He=yt;var J=require("@stackflow/react"),We=require("@vanilla-extract/dynamic"),I=P(require("react"));var Oe=require("@vanilla-extract/recipes/createRuntimeFn"),Fe=(0,Oe.createRuntimeFn)({defaultClassName:"dhthxq4 dhthxq0 dhthxq1 dhthxq2 dhthxq3 dhthxqb",variantClassNames:{transitionState:{"enter-active":"_1ht38h04","enter-done":"_1ht38h05","exit-active":"_1ht38h06","exit-done":"_1ht38h07"}},defaultVariants:{},compoundVariants:[]}),$e="_1ht38h0d dhthxq4 dhthxq0 dhthxq1 dhthxq2 dhthxq3 dhthxqb dhthxq9 dhthxq7 _1ht38h03";var Ge="_1ht38h0e dhthxqb _1ht38h03",Z={transitionDuration:"var(--_1ht38h00)",zIndexes:{dim:"var(--_1ht38h01)",paper:"var(--_1ht38h02)"}};var gt=({borderRadius:e="1rem",backgroundColor:t,dimBackgroundColor:r,onOutsideClick:o,children:a})=>{let n=(0,J.useActivity)(),{pop:c}=(0,J.useActions)(),l=(0,I.useRef)(null),s=(0,I.useRef)(null);k({styleName:"hide",refs:[l]}),k({styleName:"offset",refs:[s]}),k({styleName:"swipe-back",refs:[s]});let d=(0,I.useRef)(!1),f=m=>{o==null||o(m),!m.defaultPrevented&&(d.current||(d.current=!0,c()))},b=m=>{m.stopPropagation()},u=n.zIndex*5+3,C=n.zIndex*5+4;return I.default.createElement("div",{className:Fe({transitionState:B(n.transitionState)}),ref:l,style:(0,We.assignInlineVars)(_({[i.bottomSheet.borderRadius]:e,[i.backgroundColor]:t,[i.dimBackgroundColor]:r,[Z.zIndexes.dim]:`${u}`,[Z.zIndexes.paper]:`${C}`,[Z.transitionDuration]:n.transitionState==="enter-active"||n.transitionState==="exit-active"?"var(--stackflow-transition-duration)":"0ms"}))},I.default.createElement("div",{className:$e,ref:s,onClick:f},I.default.createElement("div",{className:Ge,onClick:b},a)))},je=gt;var Q=require("@stackflow/react"),Je=require("@vanilla-extract/dynamic"),L=P(require("react"));var Xe=require("@vanilla-extract/recipes/createRuntimeFn"),Ue=(0,Xe.createRuntimeFn)({defaultClassName:"dhthxq4 dhthxq0 dhthxq1 dhthxq2 dhthxq3 dhthxqb",variantClassNames:{transitionState:{"enter-active":"_5ozg8c4","enter-done":"_5ozg8c5","exit-active":"_5ozg8c6","exit-done":"_5ozg8c7"}},defaultVariants:{},compoundVariants:[]}),Ye="_5ozg8cd dhthxq4 dhthxq0 dhthxq1 dhthxq2 dhthxq3 dhthxqb dhthxq8 dhthxq7 dhthxqa _5ozg8c3";var Ze="_5ozg8ce dhthxqb _5ozg8c3",K={transitionDuration:"var(--_5ozg8c0)",zIndexes:{dim:"var(--_5ozg8c1)",paper:"var(--_5ozg8c2)"}};var kt=({backgroundColor:e,dimBackgroundColor:t,borderRadius:r="1rem",onOutsideClick:o,children:a})=>{let n=(0,Q.useActivity)(),{pop:c}=(0,Q.useActions)(),l=(0,L.useRef)(null),s=(0,L.useRef)(null);k({styleName:"hide",refs:[l]}),k({styleName:"offset",refs:[s]}),k({styleName:"swipe-back",refs:[s]});let d=(0,L.useRef)(!1),f=m=>{o==null||o(m),!m.defaultPrevented&&(d.current||(d.current=!0,c()))},b=m=>{m.stopPropagation()},u=n.zIndex*5+3,C=n.zIndex*5+4;return L.default.createElement("div",{className:Ue({transitionState:B(n.transitionState)}),ref:l,style:(0,Je.assignInlineVars)(_({[i.bottomSheet.borderRadius]:r,[i.backgroundColor]:e,[i.dimBackgroundColor]:t,[K.zIndexes.dim]:`${u}`,[K.zIndexes.paper]:`${C}`,[K.transitionDuration]:n.transitionState==="enter-active"||n.transitionState==="exit-active"?"var(--stackflow-transition-duration)":"0ms"}))},L.default.createElement("div",{className:Ye,ref:s,onClick:f},L.default.createElement("div",{className:Ze,onClick:b},a)))},Ke=kt;
|
|
1
|
+
"use strict";var Kt=Object.create;var V=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,r)=>e in t?V(t,e,{enumerable:!0,configurable:!0,writable:!0,value:r}):t[e]=r,dt=(t,e)=>{for(var r in e||(e={}))lt.call(e,r)&&ct(t,r,e[r]);if(it)for(var r of it(e))ae.call(e,r)&&ct(t,r,e[r]);return t},pt=(t,e)=>Qt(t,ee(e));var ne=(t,e)=>{for(var r in e)V(t,r,{get:e[r],enumerable:!0})},mt=(t,e,r,o)=>{if(e&&typeof e=="object"||typeof e=="function")for(let a of re(e))!lt.call(t,a)&&a!==r&&V(t,a,{get:()=>e[a],enumerable:!(o=te(e,a))||o.enumerable});return t};var B=(t,e,r)=>(r=t!=null?Kt(oe(t)):{},mt(e||!t||!t.__esModule?V(r,"default",{value:t,enumerable:!0}):r,t)),se=t=>mt(V({},"__esModule",{value:!0}),t);var ge={};ne(ge,{AppScreen:()=>At,BottomSheet:()=>Wt,Modal:()=>Zt,basicUIPlugin:()=>vt,cssVars:()=>i});module.exports=se(ge);var ht=require("@vanilla-extract/dynamic"),S=B(require("react"));var i={backgroundColor:"var(--stackflow-plugin-basic-ui-background-color)",dimBackgroundColor:"var(--stackflow-plugin-basic-ui-dim-background-color)",appBar:{borderColor:"var(--stackflow-plugin-basic-ui-app-bar-border-color)",borderSize:"var(--stackflow-plugin-basic-ui-app-bar-border-size)",height:"var(--stackflow-plugin-basic-ui-app-bar-height)",iconColor:"var(--stackflow-plugin-basic-ui-app-bar-icon-color)",textColor:"var(--stackflow-plugin-basic-ui-app-bar-text-color)",backgroundColor:"var(--stackflow-plugin-basic-ui-app-bar-background-color)"},bottomSheet:{borderRadius:"var(--stackflow-plugin-basic-ui-bottom-sheet-border-radius)"},modal:{borderRadius:"var(--stackflow-plugin-basic-ui-bottom-sheet-border-radius)"}};function _(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 ut=t=>(t(),window.addEventListener("resize",t),()=>{window.removeEventListener("resize",t)});var ft=()=>{};function H(t){requestAnimationFrame(()=>{requestAnimationFrame(()=>{t()})})}var xt=(0,S.createContext)({theme:"android"}),ce=xt.Provider;function O(){return(0,S.useContext)(xt)}var le=t=>{var r,o,a,n,c,l,s;let e=(0,S.useMemo)(()=>t.options,[]);return S.default.createElement(ce,{value:e},S.default.createElement("div",{style:(0,ht.assignInlineVars)(_({[i.backgroundColor]:e.backgroundColor,[i.dimBackgroundColor]:e.dimBackgroundColor,[i.appBar.borderColor]:(r=e.appBar)==null?void 0:r.borderColor,[i.appBar.borderSize]:(o=e.appBar)==null?void 0:o.borderSize,[i.appBar.height]:(a=e.appBar)==null?void 0:a.height,[i.appBar.iconColor]:(n=e.appBar)==null?void 0:n.iconColor,[i.appBar.textColor]:(c=e.appBar)==null?void 0:c.textColor,[i.bottomSheet.borderRadius]:(l=e.bottomSheet)==null?void 0:l.borderRadius,[i.modal.borderRadius]:(s=e.modal)==null?void 0:s.borderRadius}))},t.children))},vt=t=>()=>({key:"basic-ui",wrapStack({stack:e}){return S.default.createElement(le,{options:t},e.render())}});var Y=require("@stackflow/react"),Vt=require("@vanilla-extract/dynamic"),q=B(require("react"));var F=require("react");function T(t){let[e,r]=(0,F.useState)(void 0);return(0,F.useEffect)(()=>{H(()=>{r(t)})},[t]),e}var $=require("react");function yt({outerRef:t,innerRef:e,enable:r}){let[o,a]=(0,$.useState)(void 0);return(0,$.useEffect)(()=>{let n=t&&"current"in t&&t.current,c=e.current;return!r||!n||!c?ft:ut(()=>{let s=n.clientWidth,d=c.offsetLeft,u=c.clientWidth,b=s-d-u,f=Math.max(d,b);a(s-2*f)})},[]),{maxWidth:o}}var bt=require("@stackflow/react"),tt=require("react"),A={};function k({styleName:t,refs:e,effect:r}){let o=(0,bt.useActivity)();(0,tt.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,tt.useEffect)(()=>{if(!r)return()=>{};let a=(()=>{let c=[];for(let l=1;l<=o.zIndex;l+=1){let s=A[t].get(o.zIndex-l);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 gt({refs:t,hasEffect:e}){k({styleName:"hide",refs:t,effect:e?({activityTransitionState:r,refs:o})=>{switch(r){case"enter-done":{o.forEach(a=>{!a.current||(a.current.style.display="none")});break}default:{o.forEach(a=>{!a.current||(a.current.style.display="")});break}}}:void 0})}var de=32,W=80;function Ct({refs:t,theme:e,hasEffect:r}){k({styleName:"offset",refs:t,effect:r?({activityTransitionState:o,refs:a})=>{let n=e==="cupertino"?`translateX(-${W/16}rem)`:`translateY(-${de/16}rem)`;switch(o){case"enter-active":case"enter-done":{a.forEach(c=>{!c.current||(c.current.style.transition="var(--stackflow-transition-duration)",c.current.style.transform=n)});break}case"exit-active":case"exit-done":{H(()=>{a.forEach(c=>{if(!c.current)return;let l=c.current;l.style.transform="",D(l,"transitionend",()=>{l.style.transition=""})})});break}default:break}}:void 0})}function kt({theme:t,dimRef:e,edgeRef:r,paperRef:o,hasEffect:a,onSwiped:n}){k({styleName:"swipe-back",refs:[o],effect:a?({refs:c})=>{if(t!=="cupertino")return()=>{};if(!e.current||!r.current||!o.current)return()=>{};let l=e.current,s=r.current,d=o.current,u=null,b=null,f=null,C=[],m=()=>{u=null,b=null,f=null,C=[]},R=!1;function P(v){R||(R=!0,requestAnimationFrame(()=>{let p=v/d.clientWidth;l.style.opacity=`${1-p}`,l.style.transition="0s",d.style.overflowY="hidden",d.style.transform=`translateX(${v}px)`,d.style.transition="0s",c.forEach(g=>{var x;!g.current||(g.current.style.transform=`translateX(${-1*(1-p)*W}px)`,g.current.style.transition="0s",((x=g.current.parentElement)==null?void 0:x.style.display)==="none"&&(g.current.parentElement.style.display="block"))}),R=!1}))}function h({swiped:v}){requestAnimationFrame(()=>{l.style.opacity=`${v?0:1}`,l.style.transition="var(--stackflow-transition-duration)",d.style.overflowY="hidden",d.style.transform=`translateX(${v?"100%":"0"})`,d.style.transition="var(--stackflow-transition-duration)",c.forEach(p=>{!p.current||(p.current.style.transition="var(--stackflow-transition-duration)",p.current.style.transform=`translateX(${v?"0":`-${W/16}rem`})`)}),D(d,"transitionend",()=>{l.style.opacity="",d.style.overflowY="",d.style.transform="",c.forEach((p,g)=>{if(!p.current)return;let x=C[g];v?(p.current.style.transition="",p.current.style.transform="",p.current.parentElement&&(p.current.parentElement.style.display="")):x&&(p.current.style.transition=x.style.transition,p.current.style.transform=x.style.transform,p.current.parentElement&&x.parentElement&&(p.current.parentElement.style.display=x.parentElement.style.display))})})})}let w=v=>{var g;let{activeElement:p}=document;(g=p==null?void 0:p.blur)==null||g.call(p),u=f=v.touches[0].clientX,b=Date.now(),C=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:""}})},I=v=>{if(!u){m();return}f=v.touches[0].clientX,P(f-u)},N=()=>{if(!u||!b||!f){m();return}let v=Date.now(),g=(f-u)/(v-b)>1||f/d.clientWidth>.4;g&&(n==null||n()),m(),h({swiped:g})};return s.addEventListener("touchstart",w,{passive:!0}),s.addEventListener("touchmove",I,{passive:!0}),s.addEventListener("touchend",N,{passive:!0}),s.addEventListener("touchcancel",N,{passive:!0}),()=>{s.removeEventListener("touchstart",w),s.removeEventListener("touchmove",I),s.removeEventListener("touchend",N),s.removeEventListener("touchcancel",N)}}:void 0})}var X=require("@stackflow/react"),Bt=require("@vanilla-extract/dynamic"),y=B(require("react"));var et=B(require("react")),pe=t=>et.default.createElement("svg",{className:t.className,width:"24",height:"24",viewBox:"0 0 24 24",fill:"none",xmlns:"http://www.w3.org/2000/svg"},et.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"})),G=pe;var j=B(require("react")),me=t=>j.default.createElement("svg",{className:t.className,width:"24",height:"24",viewBox:"0 0 24 24",fill:"none",xmlns:"http://www.w3.org/2000/svg"},j.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"}),j.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"})),rt=me;var ot=require("@vanilla-extract/recipes/createRuntimeFn"),Et=(0,ot.createRuntimeFn)({defaultClassName:"_1yk3a450 dhthxq4 dhthxq8 dhthxq7 dhthxq0 dhthxqg _1dlf4347",variantClassNames:{border:{true:"_1yk3a451"}},defaultVariants:{},compoundVariants:[]}),at="_1yk3a453 dhthxq8 dhthxq7 dhthxqa dhthxqe dhthxqh",qt="_1yk3a455 dhthxq8 dhthxq7",Rt=(0,ot.createRuntimeFn)({defaultClassName:"_1yk3a456",variantClassNames:{hasLeft:{true:"_1yk3a457"}},defaultVariants:{},compoundVariants:[]}),_t="_1yk3a458 dhthxqb dhthxqc dhthxq0",St="_1yk3a453 dhthxq8 dhthxq7 dhthxqa dhthxqe dhthxqh",It="_1yk3a452 dhthxq8 dhthxq7 dhthxq1",Nt="_1yk3a459 dhthxq8 dhthxq7 dhthxq1 dhthxq5";var U=require("@vanilla-extract/recipes/createRuntimeFn");var zt=(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 Lt="_1dlf434i dhthxq4 dhthxq0 dhthxq1 dhthxq2 dhthxq3 _1dlf4346 _1dlf4348",Mt=(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:[]}),z={transitionDuration:"var(--_1dlf4340)",zIndexes:{dim:"var(--_1dlf4341)",paper:"var(--_1dlf4342)",edge:"var(--_1dlf4343)",appBar:"var(--_1dlf4344)"},appBar:{center:{mainWidth:"var(--_1dlf4345)"}}};var fe=y.default.forwardRef(({title:t,appendLeft:e,appendRight:r,backButton:o,closeButton:a,closeButtonLocation:n="left",border:c=!0,iconColor:l,textColor:s,borderColor:d,borderSize:u,height:b,backgroundColor:f},C)=>{var nt;let m=(0,X.useActions)(),R=(0,X.useActivity)(),P=O(),h=(nt=P.appBar)==null?void 0:nt.closeButton,w=(0,y.useRef)(null),{maxWidth:I}=yt({outerRef:C,innerRef:w,enable:P.theme==="cupertino"}),N=E=>{o&&"onClick"in o&&o.onClick&&o.onClick(E),E.defaultPrevented||m.pop()},v=R.zIndex===0||R.zIndex===1&&R.transitionState==="enter-active"&&R.pushedBy.name==="Replaced",p=()=>{var E;return v?null:o?"render"in o&&o.render?(E=o.render)==null?void 0:E.call(o):y.default.createElement("button",{type:"button",className:at,onClick:N},"renderIcon"in o&&o.renderIcon?o.renderIcon():y.default.createElement(G,null)):y.default.createElement("button",{type:"button",className:at,onClick:N},y.default.createElement(G,null))},g=E=>{var st;a&&"onClick"in a&&a.onClick&&a.onClick(E),!E.defaultPrevented&&h&&"onClick"in h&&((st=h.onClick)==null||st.call(h,E))},x=()=>{var E;return!a&&!((E=P.appBar)!=null&&E.closeButton)||!v?null:a&&"render"in a&&a.render?a.render():h&&"render"in h&&h.render?h.render():y.default.createElement("button",{type:"button",className:St,onClick:g},(()=>a&&"renderIcon"in a&&a.renderIcon?a.renderIcon():h&&"renderIcon"in h&&h.renderIcon?h.renderIcon():y.default.createElement(rt,null))())},Jt=!!(n==="left"&&a||o||e);return y.default.createElement("div",{ref:C,className:Et({border:c}),style:(0,Bt.assignInlineVars)(_({[i.appBar.iconColor]:l,[i.appBar.textColor]:s,[i.appBar.borderColor]:d,[i.appBar.borderSize]:u,[i.appBar.height]:b,[i.appBar.backgroundColor]:f||i.backgroundColor,[z.appBar.center.mainWidth]:`${I}px`}))},y.default.createElement("div",{className:It},n==="left"&&x(),p(),e==null?void 0:e()),y.default.createElement("div",{ref:w,className:qt},y.default.createElement("div",{className:Rt({hasLeft:Jt})},typeof t=="string"?y.default.createElement("div",{className:_t},t):t)),y.default.createElement("div",{className:Nt},r==null?void 0:r(),n==="right"&&x()))}),Tt=fe;var he=({backgroundColor:t,dimBackgroundColor:e,appBar:r,children:o})=>{let a=O(),n=(0,Y.useActivity)(),{pop:c}=(0,Y.useActions)(),l=(0,q.useRef)(null),s=(0,q.useRef)(null),d=(0,q.useRef)(null),u=(0,q.useRef)(null),b=(0,q.useRef)(null);gt({refs:[l],hasEffect:!0}),Ct({theme:a.theme,refs:a.theme==="cupertino"?[d]:[d,b],hasEffect:!0}),kt({theme:a.theme,dimRef:s,edgeRef:u,paperRef:d,hasEffect:!0,onSwiped(){c()}});let f=n.zIndex===0,C=!!r,m=n.zIndex*5,R=m,P=m+(a.theme==="cupertino"&&C?1:3),h=m+4,w=m+7,{transitionState:I}=n,N=T(I);return q.default.createElement("div",{ref:l,className:zt({transitionState:I==="enter-done"||I==="exit-done"?I:N}),style:(0,Vt.assignInlineVars)(_({[i.backgroundColor]:t,[i.dimBackgroundColor]:e,[i.appBar.height]:r==null?void 0:r.height,[z.zIndexes.dim]:`${R}`,[z.zIndexes.paper]:`${P}`,[z.zIndexes.edge]:`${h}`,[z.zIndexes.appBar]:`${w}`,[z.transitionDuration]:n.transitionState==="enter-active"||n.transitionState==="exit-active"?"var(--stackflow-transition-duration)":"0ms"}))},q.default.createElement("div",{className:Lt,ref:s}),q.default.createElement("div",{key:n.id,className:Pt({hasAppBar:C}),ref:d},o),!f&&a.theme==="cupertino"&&q.default.createElement("div",{className:Mt({hasAppBar:C}),ref:u}),r&&q.default.createElement(Tt,pt(dt({},r),{ref:b})))},At=he;var J=require("@stackflow/react"),$t=require("@vanilla-extract/dynamic"),L=B(require("react"));var Dt=require("@vanilla-extract/recipes/createRuntimeFn"),Ht=(0,Dt.createRuntimeFn)({defaultClassName:"dhthxq4 dhthxq0 dhthxq1 dhthxq2 dhthxq3 dhthxqb",variantClassNames:{transitionState:{"enter-active":"_1ht38h04","enter-done":"_1ht38h05","exit-active":"_1ht38h06","exit-done":"_1ht38h07"}},defaultVariants:{},compoundVariants:[]}),Ot="_1ht38h0d dhthxq4 dhthxq0 dhthxq1 dhthxq2 dhthxq3 dhthxqb dhthxq9 dhthxq7 _1ht38h03";var Ft="_1ht38h0e dhthxqb _1ht38h03",Z={transitionDuration:"var(--_1ht38h00)",zIndexes:{dim:"var(--_1ht38h01)",paper:"var(--_1ht38h02)"}};var ve=({borderRadius:t="1rem",backgroundColor:e,dimBackgroundColor:r,onOutsideClick:o,children:a})=>{let n=(0,J.useActivity)(),{pop:c}=(0,J.useActions)(),l=(0,L.useRef)(null),s=(0,L.useRef)(null);k({styleName:"hide",refs:[l]}),k({styleName:"offset",refs:[s]}),k({styleName:"swipe-back",refs:[s]});let d=(0,L.useRef)(!1),u=m=>{o==null||o(m),!m.defaultPrevented&&(d.current||(d.current=!0,c()))},b=m=>{m.stopPropagation()},f=n.zIndex*5+3,C=n.zIndex*5+4;return L.default.createElement("div",{className:Ht({transitionState:T(n.transitionState)}),ref:l,style:(0,$t.assignInlineVars)(_({[i.bottomSheet.borderRadius]:t,[i.backgroundColor]:e,[i.dimBackgroundColor]:r,[Z.zIndexes.dim]:`${f}`,[Z.zIndexes.paper]:`${C}`,[Z.transitionDuration]:n.transitionState==="enter-active"||n.transitionState==="exit-active"?"var(--stackflow-transition-duration)":"0ms"}))},L.default.createElement("div",{className:Ot,ref:s,onClick:u},L.default.createElement("div",{className:Ft,onClick:b},a)))},Wt=ve;var Q=require("@stackflow/react"),Yt=require("@vanilla-extract/dynamic"),M=B(require("react"));var Gt=require("@vanilla-extract/recipes/createRuntimeFn"),jt=(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 Xt="_5ozg8ce dhthxqb _5ozg8c3",K={transitionDuration:"var(--_5ozg8c0)",zIndexes:{dim:"var(--_5ozg8c1)",paper:"var(--_5ozg8c2)"}};var be=({backgroundColor:t,dimBackgroundColor:e,borderRadius:r="1rem",onOutsideClick:o,children:a})=>{let n=(0,Q.useActivity)(),{pop:c}=(0,Q.useActions)(),l=(0,M.useRef)(null),s=(0,M.useRef)(null);k({styleName:"hide",refs:[l]}),k({styleName:"offset",refs:[s]}),k({styleName:"swipe-back",refs:[s]});let d=(0,M.useRef)(!1),u=m=>{o==null||o(m),!m.defaultPrevented&&(d.current||(d.current=!0,c()))},b=m=>{m.stopPropagation()},f=n.zIndex*5+3,C=n.zIndex*5+4;return M.default.createElement("div",{className:jt({transitionState:T(n.transitionState)}),ref:l,style:(0,Yt.assignInlineVars)(_({[i.bottomSheet.borderRadius]:r,[i.backgroundColor]:t,[i.dimBackgroundColor]:e,[K.zIndexes.dim]:`${f}`,[K.zIndexes.paper]:`${C}`,[K.transitionDuration]:n.transitionState==="enter-active"||n.transitionState==="exit-active"?"var(--stackflow-transition-duration)":"0ms"}))},M.default.createElement("div",{className:Ut,ref:s,onClick:u},M.default.createElement("div",{className:Xt,onClick:b},a)))},Zt=be;
|
|
2
2
|
//# sourceMappingURL=index.js.map
|
package/dist/index.js.map
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
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 | {\n renderIcon?: () => React.ReactNode;\n onClick?: (e: React.MouseEvent<HTMLButtonElement>) => void;\n }\n | {\n render?: () => React.ReactNode;\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={\n typeof window !== \"undefined\" ? theme[options.theme] : undefined\n }\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+2U3UrEMBBG7/cpAt4obEKzWha6+CQikr+2wSYTJhNcVnx3q6hX6ra97ZJACMn5IJPDNAhAW9Z8LA9WkeKZlHluB3jhaSidj1yr7A0vnlPvgrtX0SJ4+8heN4zxf67r8aBDKNFyAwNgw67atj2coawPv5DYaXVdbdnXFLK+ORekUho3yDWgdfhXULWfG5T9yTVMpuNUrne+66lht6JGF6ZS3kD8qdtOjuNuKkruSAvRZX+mgQgCz71z9F0mVNaXPBbq881vmxmGmZIcko+wcscqUc+3bCf2a9ZMPEkDKYVTtW53Lv1pqThy3eJcms5sd94BLE4WS0QJAAA=';\nexport var android = '_1coppmz0';\nexport var cupertino = '_1coppmz1';\nexport var globalVars = {backgroundColor:'var(--stackflow-plugin-basic-ui-background-color)',dimBackgroundColor:'var(--stackflow-plugin-basic-ui-dim-background-color)',appBar:{borderColor:'var(--stackflow-plugin-basic-ui-app-bar-border-color)',borderSize:'var(--stackflow-plugin-basic-ui-app-bar-border-size)',height:'var(--stackflow-plugin-basic-ui-app-bar-height)',iconColor:'var(--stackflow-plugin-basic-ui-app-bar-icon-color)',textColor:'var(--stackflow-plugin-basic-ui-app-bar-text-color)',backgroundColor:'var(--stackflow-plugin-basic-ui-app-bar-background-color)'},bottomSheet:{borderRadius:'var(--stackflow-plugin-basic-ui-bottom-sheet-border-radius)'},modal:{borderRadius:'var(--stackflow-plugin-basic-ui-bottom-sheet-border-radius)'}};\nexport var rootAndroid = ':root[data-stackflow-plugin-basic-ui-theme=android]';\nexport var rootCupertino = ':root[data-stackflow-plugin-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 globalOptions = 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: globalOptions.theme,\n refs:\n globalOptions.theme === \"cupertino\" ? [paperRef] : [paperRef, appBarRef],\n hasEffect: true,\n });\n useStyleEffectSwipeBack({\n theme: globalOptions.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 =\n zIndexBase + (globalOptions.theme === \"cupertino\" && hasAppBar ? 1 : 3);\n const zIndexEdge = zIndexBase + 4;\n const zIndexAppBar = zIndexBase + 7;\n\n const { transitionState } = activity;\n const lazyTransitionState = useLazy(transitionState);\n\n return (\n <div\n ref={appScreenRef}\n className={css.appScreen({\n transitionState:\n transitionState === \"enter-done\" || transitionState === \"exit-done\"\n ? transitionState\n : lazyTransitionState,\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 && globalOptions.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<HTMLElement>>;\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 type React from \"react\";\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 if (!ref.current) {\n return;\n }\n\n ref.current.style.display = \"none\";\n });\n break;\n }\n default: {\n refs.forEach((ref) => {\n if (!ref.current) {\n return;\n }\n\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 if (!ref.current) {\n return;\n }\n\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 if (!ref.current) {\n return;\n }\n\n const $el = ref.current;\n\n $el.style.transform = \"\";\n\n listenOnce($el, \"transitionend\", () => {\n $el.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) => {\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) => {\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, 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\"\n | \"borderSize\"\n | \"height\"\n | \"iconColor\"\n | \"textColor\"\n | \"backgroundColor\"\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 backgroundColor,\n },\n ref,\n ) => {\n const actions = useActions();\n const activity = useActivity();\n\n const globalOptions = useGlobalOptions();\n const globalCloseButton = globalOptions.appBar?.closeButton;\n\n const centerRef = useRef<any>(null);\n\n const { maxWidth } = useMaxWidth({\n outerRef: ref,\n innerRef: centerRef,\n enable: globalOptions.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 isRoot =\n activity.zIndex === 0 ||\n (activity.zIndex === 1 &&\n activity.transitionState === \"enter-active\" &&\n activity.pushedBy.name === \"Replaced\");\n\n const renderBackButton = () => {\n if (isRoot) {\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 (\n !e.defaultPrevented &&\n globalCloseButton &&\n \"onClick\" in globalCloseButton\n ) {\n globalCloseButton.onClick?.(e);\n }\n };\n\n const renderCloseButton = () => {\n if ((!closeButton && !globalOptions.appBar?.closeButton) || !isRoot) {\n return null;\n }\n if (closeButton && \"render\" in closeButton && closeButton.render) {\n return closeButton.render();\n }\n if (\n globalCloseButton &&\n \"render\" in globalCloseButton &&\n globalCloseButton.render\n ) {\n return globalCloseButton.render();\n }\n\n return (\n <button\n type=\"button\"\n className={css.closeButton}\n onClick={onCloseClick}\n >\n {(() => {\n if (\n closeButton &&\n \"renderIcon\" in closeButton &&\n closeButton.renderIcon\n ) {\n return closeButton.renderIcon();\n }\n if (\n globalCloseButton &&\n \"renderIcon\" in globalCloseButton &&\n globalCloseButton.renderIcon\n ) {\n return globalCloseButton.renderIcon();\n }\n\n return <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 [globalVars.appBar.backgroundColor]:\n backgroundColor || globalVars.backgroundColor,\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+2U3UrEMBBG7/cpAt4obEKzWha6+CQikr+2wSYTJhNcVnx3q6hX6ra97ZJACMn5IJPDNAhAW9Z8LA9WkeKZlHluB3jhaSidj1yr7A0vnlPvgrtX0SJ4+8heN4zxf67r8aBDKNFyAwNgw67atj2coawPv5DYaXVdbdnXFLK+ORekUho3yDWgdfhXULWfG5T9yTVMpuNUrne+66lht6JGF6ZS3kD8qdtOjuNuKkruSAvRZX+mgQgCz71z9F0mVNaXPBbq881vmxmGmZIcko+wcscqUc+3bCf2a9ZMPEkDKYVTtW53Lv1pqThy3eJcms5sd94BLE4WS0QJAAA=';\nimport 'src/components/AppScreen.css.ts.vanilla.css?source=#H4sIAAAAAAAAE61V246bMBB9z1f4pRJR48jsbi9x1P9oVVXVYDtgYmzLmKTdqv9eA8smwJImKBIPoDlz5syV9c+Yq93T49NH9GeBUAJsnzpTaY6ZUcZRdAAXYVz6YNgpc8RWVanUOIFSMlxJzGWBh17L7eLvYt0xf5rJfJn1c8PqHehSeml0x9fZSR/OTvCdcQVtXxV48TWKCXnXR8sGbSww6X9TRLbh6xlLzcWvYZy482TG2uKZoBPJClFnjP/OwcOFPH0mCvEFNHdG8h9oICITMs08RTFxotj2CkmRklqAw6kDLoX20axmrZBLE4jICr08y34xNkNJr3WJezi4EpdM4sigZdfh8tZ4EK7JOdhL5oxSdbHwUSR76fGrtTVJnYYJMBXLLnT2oV+GnNKOrSVJwDWRuSytghBWGy16wxCfMshvGgZWWeG81OZsHPIrJ3gUenNPFZvrBJFJNXBPNTBLDZkrYbyj+RuH4i0N36Jmfyd1zO7RWNKoQ+drOKVuukKz+zVWNurWTcpax33jaIHzsMPYG0sRA8X+e/nA2vDhcHtOl+g9YkYHeDiaJewEBicgnIFS+Jq0voD3iSL0YSrAWVaqyeoouc9CMdYPH15u/cRleux7F+3o1ypvFLg9+8E0CdaHBOFbaWo5/wBUmwz0SQgAAA==';\nimport 'src/components/AppBar.css.ts.vanilla.css?source=#H4sIAAAAAAAAE61Wy3LbIBTd5yvYdMbuBA3yM1Gmmy6666qbdjqdzLWEbBoEDCC/Ov33ApIdybISp85O4j44nHvvgegx3j2NYTIl6M8NQgtIn5ZaliLDqeRSJ2gNeoCxsc6Qc7nBipdLJvACDEtxyTAo5X40Po0cPrh0K8qWK3t5kso/hCrIMiaW2EqVoFQKFyzswEBOMWgKmAlDrbd2valY9zru3X9GtwdIj3HG88l4MnHGvzfRY5xKpYp9jKIjL7co0VLanxlYeOEIdkUL+iktFdWWCfmrkSEwq6RhlkmRIFgYyUtLuztWWBbvs3k3WcBhNQiTS10k1ScHS78PYkI+tCkg/4sCRKYlyzoESAUps7sEkYceGD8cDE2L4dFeE9YuFTmDs7Lcvwfkbqo2+rgffT8yeD9kcBWyKjCuZl1usVlBJjcJCkOCiNqiFHg6uHjopc6oxobt6RB9RDgeInK5YlTBB7Vo4BtVE1PNtGsYRKKpa4y2T0ILZXfBM2NGcXAUCCloy2sc7G+UMubkpiFizVasyUZjQgrjjRuW2VWCRtGoQviseaNo3gE9TiC1bE1PBiIa9e1DTCt+GgJz7gUsbllmwVKjaQ/MNJzijRxYurXt0nRkYXalLLQgewHyMH+XxrJ857YWlgpHoz+sT65tU+c5zZ0trinPnXNoQrcUxXfzQyk4ExQf6hFH06Pvpl5bSJ49HEaB7UO31W3plvquhLcd/NyVMOu9EhrN7E/uF4CzpcDM0sK4m9CRQvVZpp5NoXghrLkaTp5DwbhL7gvNKTY74/Leos+OqqevkH4L/1+cZ4erGSGnXB9oDsWYVgU8J0ADPA3Xy1UPgsseAq88AM538vzKTp439aruTRKNu/N/V13BvjxyTbXfxKHlnCnDzAm7TKyoZt06HNcbee/7BBOhArQ/QwUKSivbga+oaIeq+yup6kHqP9yW/wDsb3cFjgoAAA==';\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+2U3UrEMBBG7/cpAt4obEKzWha6+CQikr+2wSYTJhNcVnx3q6hX6ra97ZJACMn5IJPDNAhAW9Z8LA9WkeKZlHluB3jhaSidj1yr7A0vnlPvgrtX0SJ4+8heN4zxf67r8aBDKNFyAwNgw67atj2coawPv5DYaXVdbdnXFLK+ORekUho3yDWgdfhXULWfG5T9yTVMpuNUrne+66lht6JGF6ZS3kD8qdtOjuNuKkruSAvRZX+mgQgCz71z9F0mVNaXPBbq881vmxmGmZIcko+wcscqUc+3bCf2a9ZMPEkDKYVTtW53Lv1pqThy3eJcms5sd94BLE4WS0QJAAA=';\nimport 'src/components/AppScreen.css.ts.vanilla.css?source=#H4sIAAAAAAAAE61V246bMBB9z1f4pRJR48jsbi9x1P9oVVXVYDtgYmzLmKTdqv9eA8smwJImKBIPoDlz5syV9c+Yq93T49NH9GeBUAJsnzpTaY6ZUcZRdAAXYVz6YNgpc8RWVanUOIFSMlxJzGWBh17L7eLvYt0xf5rJfJn1c8PqHehSeml0x9fZSR/OTvCdcQVtXxV48TWKCXnXR8sGbSww6X9TRLbh6xlLzcWvYZy482TG2uKZoBPJClFnjP/OwcOFPH0mCvEFNHdG8h9oICITMs08RTFxotj2CkmRklqAw6kDLoX20axmrZBLE4jICr08y34xNkNJr3WJezi4EpdM4sigZdfh8tZ4EK7JOdhL5oxSdbHwUSR76fGrtTVJnYYJMBXLLnT2oV+GnNKOrSVJwDWRuSytghBWGy16wxCfMshvGgZWWeG81OZsHPIrJ3gUenNPFZvrBJFJNXBPNTBLDZkrYbyj+RuH4i0N36Jmfyd1zO7RWNKoQ+drOKVuukKz+zVWNurWTcpax33jaIHzsMPYG0sRA8X+e/nA2vDhcHtOl+g9YkYHeDiaJewEBicgnIFS+Jq0voD3iSL0YSrAWVaqyeoouc9CMdYPH15u/cRleux7F+3o1ypvFLg9+8E0CdaHBOFbaWo5/wBUmwz0SQgAAA==';\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+2U3UrEMBBG7/cpAt4obEKzWha6+CQikr+2wSYTJhNcVnx3q6hX6ra97ZJACMn5IJPDNAhAW9Z8LA9WkeKZlHluB3jhaSidj1yr7A0vnlPvgrtX0SJ4+8heN4zxf67r8aBDKNFyAwNgw67atj2coawPv5DYaXVdbdnXFLK+ORekUho3yDWgdfhXULWfG5T9yTVMpuNUrne+66lht6JGF6ZS3kD8qdtOjuNuKkruSAvRZX+mgQgCz71z9F0mVNaXPBbq881vmxmGmZIcko+wcscqUc+3bCf2a9ZMPEkDKYVTtW53Lv1pqThy3eJcms5sd94BLE4WS0QJAAA=';\nimport 'src/components/BottomSheet.css.ts.vanilla.css?source=Ll8xaHQzOGgwMyB7CiAgdHJhbnNpdGlvbjogdmFyKC0tXzFodDM4aDAwKTsKfQouXzFodDM4aDA3IHsKICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMTAwJSk7Cn0KLl8xaHQzOGgwZCB7CiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tc3RhY2tmbG93LXBsdWdpbi1iYXNpYy11aS1kaW0tYmFja2dyb3VuZC1jb2xvcik7CiAgei1pbmRleDogdmFyKC0tXzFodDM4aDAxKTsKICBvcGFjaXR5OiAwOwp9Ci5fMWh0MzhoMDQgLl8xaHQzOGgwZCwgLl8xaHQzOGgwNSAuXzFodDM4aDBkIHsKICBvcGFjaXR5OiAxOwp9Ci5fMWh0MzhoMDYgLl8xaHQzOGgwZCwgLl8xaHQzOGgwNyAuXzFodDM4aDBkIHsKICBvcGFjaXR5OiAwOwp9Ci5fMWh0MzhoMGUgewogIGJhY2tncm91bmQtY29sb3I6IHZhcigtLXN0YWNrZmxvdy1wbHVnaW4tYmFzaWMtdWktYmFja2dyb3VuZC1jb2xvcik7CiAgd2lkdGg6IDEwMCU7CiAgYm9yZGVyLXJhZGl1czogdmFyKC0tc3RhY2tmbG93LXBsdWdpbi1iYXNpYy11aS1ib3R0b20tc2hlZXQtYm9yZGVyLXJhZGl1cykgdmFyKC0tc3RhY2tmbG93LXBsdWdpbi1iYXNpYy11aS1ib3R0b20tc2hlZXQtYm9yZGVyLXJhZGl1cykgMCAwOwogIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgxMDAlKTsKICBvcGFjaXR5OiAwOwp9Ci5fMWh0MzhoMDQgLl8xaHQzOGgwZSwgLl8xaHQzOGgwNSAuXzFodDM4aDBlIHsKICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7CiAgb3BhY2l0eTogMTsKfQouXzFodDM4aDA2IC5fMWh0MzhoMGUsIC5fMWh0MzhoMDcgLl8xaHQzOGgwZSB7CiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDEwMCUpOwogIG9wYWNpdHk6IDA7Cn0=';\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+2U3UrEMBBG7/cpAt4obEKzWha6+CQikr+2wSYTJhNcVnx3q6hX6ra97ZJACMn5IJPDNAhAW9Z8LA9WkeKZlHluB3jhaSidj1yr7A0vnlPvgrtX0SJ4+8heN4zxf67r8aBDKNFyAwNgw67atj2coawPv5DYaXVdbdnXFLK+ORekUho3yDWgdfhXULWfG5T9yTVMpuNUrne+66lht6JGF6ZS3kD8qdtOjuNuKkruSAvRZX+mgQgCz71z9F0mVNaXPBbq881vmxmGmZIcko+wcscqUc+3bCf2a9ZMPEkDKYVTtW53Lv1pqThy3eJcms5sd94BLE4WS0QJAAA=';\nimport 'src/components/Modal.css.ts.vanilla.css?source=Ll81b3pnOGMzIHsKICB0cmFuc2l0aW9uOiB2YXIoLS1fNW96ZzhjMCk7Cn0KLl81b3pnOGM3IHsKICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMTAwJSk7Cn0KLl81b3pnOGNkIHsKICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1zdGFja2Zsb3ctcGx1Z2luLWJhc2ljLXVpLWRpbS1iYWNrZ3JvdW5kLWNvbG9yKTsKICB6LWluZGV4OiB2YXIoLS1fNW96ZzhjMSk7CiAgb3BhY2l0eTogMDsKfQouXzVvemc4YzQgLl81b3pnOGNkLCAuXzVvemc4YzUgLl81b3pnOGNkIHsKICBvcGFjaXR5OiAxOwp9Ci5fNW96ZzhjNiAuXzVvemc4Y2QsIC5fNW96ZzhjNyAuXzVvemc4Y2QgewogIG9wYWNpdHk6IDA7Cn0KLl81b3pnOGNlIHsKICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1zdGFja2Zsb3ctcGx1Z2luLWJhc2ljLXVpLWJhY2tncm91bmQtY29sb3IpOwogIHdpZHRoOiAxMDAlOwogIG1hcmdpbjogMCAyLjVyZW07CiAgYm94LXNoYWRvdzogMHB4IDAuNjI1cmVtIDIuMzc1cmVtIHJnYmEoMCwgMCwgMCwgMC4xNSksIDBweCAuNTYyNXJlbSAyLjg3NXJlbSByZ2JhKDAsIDAsIDAsIDAuMTIpLCAwcHggLjMxMjVyZW0gLjkzNzVyZW0gcmdiYSgwLCAwLCAwLCAwLjEpOwogIGJvcmRlci1yYWRpdXM6IHZhcigtLXN0YWNrZmxvdy1wbHVnaW4tYmFzaWMtdWktYm90dG9tLXNoZWV0LWJvcmRlci1yYWRpdXMpOwogIHRyYW5zZm9ybTogc2NhbGUoMS4xKTsKICBvcGFjaXR5OiAwOwp9Ci5fNW96ZzhjNCAuXzVvemc4Y2UsIC5fNW96ZzhjNSAuXzVvemc4Y2UgewogIHRyYW5zZm9ybTogc2NhbGUoMSk7CiAgb3BhY2l0eTogMTsKfQouXzVvemc4YzYgLl81b3pnOGNlLCAuXzVvemc4YzcgLl81b3pnOGNlIHsKICB0cmFuc2Zvcm06IHNjYWxlKDEuMSk7CiAgb3BhY2l0eTogMDsKfQ==';\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", "
|
|
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, useMemo } 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 | {\n renderIcon?: () => React.ReactNode;\n onClick?: (e: React.MouseEvent<HTMLButtonElement>) => void;\n }\n | {\n render?: () => React.ReactNode;\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\ntype BasicUIPluginWrapperProps = {\n options: BasicUIPluginOptions;\n children: React.ReactNode;\n};\nconst BasicUIPluginWrapper: React.FC<BasicUIPluginWrapperProps> = (props) => {\n const options = useMemo(() => props.options, []);\n\n return (\n <GlobalOptionsProvider value={options}>\n <div\n style={assignInlineVars(\n compactMap({\n [theme.globalVars.backgroundColor]: options.backgroundColor,\n [theme.globalVars.dimBackgroundColor]: options.dimBackgroundColor,\n [theme.globalVars.appBar.borderColor]: 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]: options.modal?.borderRadius,\n }),\n )}\n >\n {props.children}\n </div>\n </GlobalOptionsProvider>\n );\n};\n\nexport const basicUIPlugin: (\n options: BasicUIPluginOptions,\n) => StackflowReactPlugin = (options) => () => ({\n key: \"basic-ui\",\n wrapStack({ stack }) {\n return (\n <BasicUIPluginWrapper options={options}>\n {stack.render()}\n </BasicUIPluginWrapper>\n );\n },\n});\n", "import 'src/theme.css.ts.vanilla.css?source=#H4sIAAAAAAAAE+2U3UrEMBBG7/cpAt4obEKzWha6+CQikr+2wSYTJhNcVnx3q6hX6ra97ZJACMn5IJPDNAhAW9Z8LA9WkeKZlHluB3jhaSidj1yr7A0vnlPvgrtX0SJ4+8heN4zxf67r8aBDKNFyAwNgw67atj2coawPv5DYaXVdbdnXFLK+ORekUho3yDWgdfhXULWfG5T9yTVMpuNUrne+66lht6JGF6ZS3kD8qdtOjuNuKkruSAvRZX+mgQgCz71z9F0mVNaXPBbq881vmxmGmZIcko+wcscqUc+3bCf2a9ZMPEkDKYVTtW53Lv1pqThy3eJcms5sd94BLE4WS0QJAAA=';\nexport var android = '_1coppmz0';\nexport var cupertino = '_1coppmz1';\nexport var globalVars = {backgroundColor:'var(--stackflow-plugin-basic-ui-background-color)',dimBackgroundColor:'var(--stackflow-plugin-basic-ui-dim-background-color)',appBar:{borderColor:'var(--stackflow-plugin-basic-ui-app-bar-border-color)',borderSize:'var(--stackflow-plugin-basic-ui-app-bar-border-size)',height:'var(--stackflow-plugin-basic-ui-app-bar-height)',iconColor:'var(--stackflow-plugin-basic-ui-app-bar-icon-color)',textColor:'var(--stackflow-plugin-basic-ui-app-bar-text-color)',backgroundColor:'var(--stackflow-plugin-basic-ui-app-bar-background-color)'},bottomSheet:{borderRadius:'var(--stackflow-plugin-basic-ui-bottom-sheet-border-radius)'},modal:{borderRadius:'var(--stackflow-plugin-basic-ui-bottom-sheet-border-radius)'}};\nexport var rootAndroid = ':root[data-stackflow-plugin-basic-ui-theme=android]';\nexport var rootCupertino = ':root[data-stackflow-plugin-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 globalOptions = 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: globalOptions.theme,\n refs:\n globalOptions.theme === \"cupertino\" ? [paperRef] : [paperRef, appBarRef],\n hasEffect: true,\n });\n useStyleEffectSwipeBack({\n theme: globalOptions.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 =\n zIndexBase + (globalOptions.theme === \"cupertino\" && hasAppBar ? 1 : 3);\n const zIndexEdge = zIndexBase + 4;\n const zIndexAppBar = zIndexBase + 7;\n\n const { transitionState } = activity;\n const lazyTransitionState = useLazy(transitionState);\n\n return (\n <div\n ref={appScreenRef}\n className={css.appScreen({\n transitionState:\n transitionState === \"enter-done\" || transitionState === \"exit-done\"\n ? transitionState\n : lazyTransitionState,\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 && globalOptions.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<HTMLElement>>;\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 type React from \"react\";\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 if (!ref.current) {\n return;\n }\n\n ref.current.style.display = \"none\";\n });\n break;\n }\n default: {\n refs.forEach((ref) => {\n if (!ref.current) {\n return;\n }\n\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 if (!ref.current) {\n return;\n }\n\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 if (!ref.current) {\n return;\n }\n\n const $el = ref.current;\n\n $el.style.transform = \"\";\n\n listenOnce($el, \"transitionend\", () => {\n $el.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) => {\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) => {\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, 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\"\n | \"borderSize\"\n | \"height\"\n | \"iconColor\"\n | \"textColor\"\n | \"backgroundColor\"\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 backgroundColor,\n },\n ref,\n ) => {\n const actions = useActions();\n const activity = useActivity();\n\n const globalOptions = useGlobalOptions();\n const globalCloseButton = globalOptions.appBar?.closeButton;\n\n const centerRef = useRef<any>(null);\n\n const { maxWidth } = useMaxWidth({\n outerRef: ref,\n innerRef: centerRef,\n enable: globalOptions.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 isRoot =\n activity.zIndex === 0 ||\n (activity.zIndex === 1 &&\n activity.transitionState === \"enter-active\" &&\n activity.pushedBy.name === \"Replaced\");\n\n const renderBackButton = () => {\n if (isRoot) {\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 (\n !e.defaultPrevented &&\n globalCloseButton &&\n \"onClick\" in globalCloseButton\n ) {\n globalCloseButton.onClick?.(e);\n }\n };\n\n const renderCloseButton = () => {\n if ((!closeButton && !globalOptions.appBar?.closeButton) || !isRoot) {\n return null;\n }\n if (closeButton && \"render\" in closeButton && closeButton.render) {\n return closeButton.render();\n }\n if (\n globalCloseButton &&\n \"render\" in globalCloseButton &&\n globalCloseButton.render\n ) {\n return globalCloseButton.render();\n }\n\n return (\n <button\n type=\"button\"\n className={css.closeButton}\n onClick={onCloseClick}\n >\n {(() => {\n if (\n closeButton &&\n \"renderIcon\" in closeButton &&\n closeButton.renderIcon\n ) {\n return closeButton.renderIcon();\n }\n if (\n globalCloseButton &&\n \"renderIcon\" in globalCloseButton &&\n globalCloseButton.renderIcon\n ) {\n return globalCloseButton.renderIcon();\n }\n\n return <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 [globalVars.appBar.backgroundColor]:\n backgroundColor || globalVars.backgroundColor,\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+2U3UrEMBBG7/cpAt4obEKzWha6+CQikr+2wSYTJhNcVnx3q6hX6ra97ZJACMn5IJPDNAhAW9Z8LA9WkeKZlHluB3jhaSidj1yr7A0vnlPvgrtX0SJ4+8heN4zxf67r8aBDKNFyAwNgw67atj2coawPv5DYaXVdbdnXFLK+ORekUho3yDWgdfhXULWfG5T9yTVMpuNUrne+66lht6JGF6ZS3kD8qdtOjuNuKkruSAvRZX+mgQgCz71z9F0mVNaXPBbq881vmxmGmZIcko+wcscqUc+3bCf2a9ZMPEkDKYVTtW53Lv1pqThy3eJcms5sd94BLE4WS0QJAAA=';\nimport 'src/components/AppScreen.css.ts.vanilla.css?source=#H4sIAAAAAAAAE61V246bMBB9z1f4pRJR48jsbi9x1P9oVVXVYDtgYmzLmKTdqv9eA8smwJImKBIPoDlz5syV9c+Yq93T49NH9GeBUAJsnzpTaY6ZUcZRdAAXYVz6YNgpc8RWVanUOIFSMlxJzGWBh17L7eLvYt0xf5rJfJn1c8PqHehSeml0x9fZSR/OTvCdcQVtXxV48TWKCXnXR8sGbSww6X9TRLbh6xlLzcWvYZy482TG2uKZoBPJClFnjP/OwcOFPH0mCvEFNHdG8h9oICITMs08RTFxotj2CkmRklqAw6kDLoX20axmrZBLE4jICr08y34xNkNJr3WJezi4EpdM4sigZdfh8tZ4EK7JOdhL5oxSdbHwUSR76fGrtTVJnYYJMBXLLnT2oV+GnNKOrSVJwDWRuSytghBWGy16wxCfMshvGgZWWeG81OZsHPIrJ3gUenNPFZvrBJFJNXBPNTBLDZkrYbyj+RuH4i0N36Jmfyd1zO7RWNKoQ+drOKVuukKz+zVWNurWTcpax33jaIHzsMPYG0sRA8X+e/nA2vDhcHtOl+g9YkYHeDiaJewEBicgnIFS+Jq0voD3iSL0YSrAWVaqyeoouc9CMdYPH15u/cRleux7F+3o1ypvFLg9+8E0CdaHBOFbaWo5/wBUmwz0SQgAAA==';\nimport 'src/components/AppBar.css.ts.vanilla.css?source=#H4sIAAAAAAAAE61Wy3LbIBTd5yvYdMbuBA3yM1Gmmy6666qbdjqdzLWEbBoEDCC/Ov33ApIdybISp85O4j44nHvvgegx3j2NYTIl6M8NQgtIn5ZaliLDqeRSJ2gNeoCxsc6Qc7nBipdLJvACDEtxyTAo5X40Po0cPrh0K8qWK3t5kso/hCrIMiaW2EqVoFQKFyzswEBOMWgKmAlDrbd2valY9zru3X9GtwdIj3HG88l4MnHGvzfRY5xKpYp9jKIjL7co0VLanxlYeOEIdkUL+iktFdWWCfmrkSEwq6RhlkmRIFgYyUtLuztWWBbvs3k3WcBhNQiTS10k1ScHS78PYkI+tCkg/4sCRKYlyzoESAUps7sEkYceGD8cDE2L4dFeE9YuFTmDs7Lcvwfkbqo2+rgffT8yeD9kcBWyKjCuZl1usVlBJjcJCkOCiNqiFHg6uHjopc6oxobt6RB9RDgeInK5YlTBB7Vo4BtVE1PNtGsYRKKpa4y2T0ILZXfBM2NGcXAUCCloy2sc7G+UMubkpiFizVasyUZjQgrjjRuW2VWCRtGoQviseaNo3gE9TiC1bE1PBiIa9e1DTCt+GgJz7gUsbllmwVKjaQ/MNJzijRxYurXt0nRkYXalLLQgewHyMH+XxrJ857YWlgpHoz+sT65tU+c5zZ0trinPnXNoQrcUxXfzQyk4ExQf6hFH06Pvpl5bSJ49HEaB7UO31W3plvquhLcd/NyVMOu9EhrN7E/uF4CzpcDM0sK4m9CRQvVZpp5NoXghrLkaTp5DwbhL7gvNKTY74/Leos+OqqevkH4L/1+cZ4erGSGnXB9oDsWYVgU8J0ADPA3Xy1UPgsseAq88AM538vzKTp439aruTRKNu/N/V13BvjxyTbXfxKHlnCnDzAm7TKyoZt06HNcbee/7BBOhArQ/QwUKSivbga+oaIeq+yup6kHqP9yW/wDsb3cFjgoAAA==';\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+2U3UrEMBBG7/cpAt4obEKzWha6+CQikr+2wSYTJhNcVnx3q6hX6ra97ZJACMn5IJPDNAhAW9Z8LA9WkeKZlHluB3jhaSidj1yr7A0vnlPvgrtX0SJ4+8heN4zxf67r8aBDKNFyAwNgw67atj2coawPv5DYaXVdbdnXFLK+ORekUho3yDWgdfhXULWfG5T9yTVMpuNUrne+66lht6JGF6ZS3kD8qdtOjuNuKkruSAvRZX+mgQgCz71z9F0mVNaXPBbq881vmxmGmZIcko+wcscqUc+3bCf2a9ZMPEkDKYVTtW53Lv1pqThy3eJcms5sd94BLE4WS0QJAAA=';\nimport 'src/components/AppScreen.css.ts.vanilla.css?source=#H4sIAAAAAAAAE61V246bMBB9z1f4pRJR48jsbi9x1P9oVVXVYDtgYmzLmKTdqv9eA8smwJImKBIPoDlz5syV9c+Yq93T49NH9GeBUAJsnzpTaY6ZUcZRdAAXYVz6YNgpc8RWVanUOIFSMlxJzGWBh17L7eLvYt0xf5rJfJn1c8PqHehSeml0x9fZSR/OTvCdcQVtXxV48TWKCXnXR8sGbSww6X9TRLbh6xlLzcWvYZy482TG2uKZoBPJClFnjP/OwcOFPH0mCvEFNHdG8h9oICITMs08RTFxotj2CkmRklqAw6kDLoX20axmrZBLE4jICr08y34xNkNJr3WJezi4EpdM4sigZdfh8tZ4EK7JOdhL5oxSdbHwUSR76fGrtTVJnYYJMBXLLnT2oV+GnNKOrSVJwDWRuSytghBWGy16wxCfMshvGgZWWeG81OZsHPIrJ3gUenNPFZvrBJFJNXBPNTBLDZkrYbyj+RuH4i0N36Jmfyd1zO7RWNKoQ+drOKVuukKz+zVWNurWTcpax33jaIHzsMPYG0sRA8X+e/nA2vDhcHtOl+g9YkYHeDiaJewEBicgnIFS+Jq0voD3iSL0YSrAWVaqyeoouc9CMdYPH15u/cRleux7F+3o1ypvFLg9+8E0CdaHBOFbaWo5/wBUmwz0SQgAAA==';\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+2U3UrEMBBG7/cpAt4obEKzWha6+CQikr+2wSYTJhNcVnx3q6hX6ra97ZJACMn5IJPDNAhAW9Z8LA9WkeKZlHluB3jhaSidj1yr7A0vnlPvgrtX0SJ4+8heN4zxf67r8aBDKNFyAwNgw67atj2coawPv5DYaXVdbdnXFLK+ORekUho3yDWgdfhXULWfG5T9yTVMpuNUrne+66lht6JGF6ZS3kD8qdtOjuNuKkruSAvRZX+mgQgCz71z9F0mVNaXPBbq881vmxmGmZIcko+wcscqUc+3bCf2a9ZMPEkDKYVTtW53Lv1pqThy3eJcms5sd94BLE4WS0QJAAA=';\nimport 'src/components/BottomSheet.css.ts.vanilla.css?source=Ll8xaHQzOGgwMyB7CiAgdHJhbnNpdGlvbjogdmFyKC0tXzFodDM4aDAwKTsKfQouXzFodDM4aDA3IHsKICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMTAwJSk7Cn0KLl8xaHQzOGgwZCB7CiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tc3RhY2tmbG93LXBsdWdpbi1iYXNpYy11aS1kaW0tYmFja2dyb3VuZC1jb2xvcik7CiAgei1pbmRleDogdmFyKC0tXzFodDM4aDAxKTsKICBvcGFjaXR5OiAwOwp9Ci5fMWh0MzhoMDQgLl8xaHQzOGgwZCwgLl8xaHQzOGgwNSAuXzFodDM4aDBkIHsKICBvcGFjaXR5OiAxOwp9Ci5fMWh0MzhoMDYgLl8xaHQzOGgwZCwgLl8xaHQzOGgwNyAuXzFodDM4aDBkIHsKICBvcGFjaXR5OiAwOwp9Ci5fMWh0MzhoMGUgewogIGJhY2tncm91bmQtY29sb3I6IHZhcigtLXN0YWNrZmxvdy1wbHVnaW4tYmFzaWMtdWktYmFja2dyb3VuZC1jb2xvcik7CiAgd2lkdGg6IDEwMCU7CiAgYm9yZGVyLXJhZGl1czogdmFyKC0tc3RhY2tmbG93LXBsdWdpbi1iYXNpYy11aS1ib3R0b20tc2hlZXQtYm9yZGVyLXJhZGl1cykgdmFyKC0tc3RhY2tmbG93LXBsdWdpbi1iYXNpYy11aS1ib3R0b20tc2hlZXQtYm9yZGVyLXJhZGl1cykgMCAwOwogIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgxMDAlKTsKICBvcGFjaXR5OiAwOwp9Ci5fMWh0MzhoMDQgLl8xaHQzOGgwZSwgLl8xaHQzOGgwNSAuXzFodDM4aDBlIHsKICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7CiAgb3BhY2l0eTogMTsKfQouXzFodDM4aDA2IC5fMWh0MzhoMGUsIC5fMWh0MzhoMDcgLl8xaHQzOGgwZSB7CiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDEwMCUpOwogIG9wYWNpdHk6IDA7Cn0=';\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+2U3UrEMBBG7/cpAt4obEKzWha6+CQikr+2wSYTJhNcVnx3q6hX6ra97ZJACMn5IJPDNAhAW9Z8LA9WkeKZlHluB3jhaSidj1yr7A0vnlPvgrtX0SJ4+8heN4zxf67r8aBDKNFyAwNgw67atj2coawPv5DYaXVdbdnXFLK+ORekUho3yDWgdfhXULWfG5T9yTVMpuNUrne+66lht6JGF6ZS3kD8qdtOjuNuKkruSAvRZX+mgQgCz71z9F0mVNaXPBbq881vmxmGmZIcko+wcscqUc+3bCf2a9ZMPEkDKYVTtW53Lv1pqThy3eJcms5sd94BLE4WS0QJAAA=';\nimport 'src/components/Modal.css.ts.vanilla.css?source=Ll81b3pnOGMzIHsKICB0cmFuc2l0aW9uOiB2YXIoLS1fNW96ZzhjMCk7Cn0KLl81b3pnOGM3IHsKICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMTAwJSk7Cn0KLl81b3pnOGNkIHsKICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1zdGFja2Zsb3ctcGx1Z2luLWJhc2ljLXVpLWRpbS1iYWNrZ3JvdW5kLWNvbG9yKTsKICB6LWluZGV4OiB2YXIoLS1fNW96ZzhjMSk7CiAgb3BhY2l0eTogMDsKfQouXzVvemc4YzQgLl81b3pnOGNkLCAuXzVvemc4YzUgLl81b3pnOGNkIHsKICBvcGFjaXR5OiAxOwp9Ci5fNW96ZzhjNiAuXzVvemc4Y2QsIC5fNW96ZzhjNyAuXzVvemc4Y2QgewogIG9wYWNpdHk6IDA7Cn0KLl81b3pnOGNlIHsKICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1zdGFja2Zsb3ctcGx1Z2luLWJhc2ljLXVpLWJhY2tncm91bmQtY29sb3IpOwogIHdpZHRoOiAxMDAlOwogIG1hcmdpbjogMCAyLjVyZW07CiAgYm94LXNoYWRvdzogMHB4IDAuNjI1cmVtIDIuMzc1cmVtIHJnYmEoMCwgMCwgMCwgMC4xNSksIDBweCAuNTYyNXJlbSAyLjg3NXJlbSByZ2JhKDAsIDAsIDAsIDAuMTIpLCAwcHggLjMxMjVyZW0gLjkzNzVyZW0gcmdiYSgwLCAwLCAwLCAwLjEpOwogIGJvcmRlci1yYWRpdXM6IHZhcigtLXN0YWNrZmxvdy1wbHVnaW4tYmFzaWMtdWktYm90dG9tLXNoZWV0LWJvcmRlci1yYWRpdXMpOwogIHRyYW5zZm9ybTogc2NhbGUoMS4xKTsKICBvcGFjaXR5OiAwOwp9Ci5fNW96ZzhjNCAuXzVvemc4Y2UsIC5fNW96ZzhjNSAuXzVvemc4Y2UgewogIHRyYW5zZm9ybTogc2NhbGUoMSk7CiAgb3BhY2l0eTogMTsKfQouXzVvemc4YzYgLl81b3pnOGNlLCAuXzVvemc4YzcgLl81b3pnOGNlIHsKICB0cmFuc2Zvcm06IHNjYWxlKDEuMSk7CiAgb3BhY2l0eTogMDsKfQ==';\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", "globalVars", "compactMap", "obj", "acc", "key", "value", "listenOnce", "el", "type", "cb", "listener", "listenResize", "cb", "noop", "requestNextFrame", "cb", "GlobalOptionsContext", "GlobalOptionsProvider", "useGlobalOptions", "BasicUIPluginWrapper", "props", "_a", "_b", "_c", "_d", "_e", "_f", "_g", "options", "React", "compactMap", "globalVars", "basicUIPlugin", "stack", "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", "$el", "listenOnce", "useStyleEffectSwipeBack", "theme", "dimRef", "edgeRef", "paperRef", "hasEffect", "onSwiped", "useStyleEffect", "refs", "$dim", "$edge", "$paper", "x0", "t0", "x", "cachedRefs", "resetState", "_rAFLock", "movePaper", "dx", "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", "backgroundColor", "ref", "_a", "actions", "activity", "globalOptions", "useGlobalOptions", "globalCloseButton", "centerRef", "maxWidth", "useMaxWidth", "onBackClick", "e", "isRoot", "renderBackButton", "IconBack_default", "onCloseClick", "renderCloseButton", "IconClose_default", "hasLeft", "appBar", "compactMap", "globalVars", "vars", "left", "center", "centerMain", "centerText", "right", "AppBar_default", "AppScreen", "backgroundColor", "dimBackgroundColor", "appBar", "children", "globalOptions", "useGlobalOptions", "activity", "pop", "appScreenRef", "dimRef", "paperRef", "edgeRef", "appBarRef", "useStyleEffectHide", "useStyleEffectOffset", "useStyleEffectSwipeBack", "isRoot", "hasAppBar", "zIndexBase", "zIndexDim", "zIndexPaper", "zIndexEdge", "zIndexAppBar", "transitionState", "lazyTransitionState", "useLazy", "React", "appScreen", "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
|
}
|
package/dist/index.mjs
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
var te=Object.defineProperty,Te=Object.defineProperties;var Be=Object.getOwnPropertyDescriptors;var Q=Object.getOwnPropertySymbols;var Ve=Object.prototype.hasOwnProperty,Ae=Object.prototype.propertyIsEnumerable;var ee=(e,o,r)=>o in e?te(e,o,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[o]=r,re=(e,o)=>{for(var r in o||(o={}))Ve.call(o,r)&&ee(e,r,o[r]);if(Q)for(var r of Q(o))Ae.call(o,r)&&ee(e,r,o[r]);return e},oe=(e,o)=>Te(e,Be(o));var De=(e,o)=>{for(var r in o)te(e,r,{get:o[r],enumerable:!0})};import{assignInlineVars as Ge}from"@vanilla-extract/dynamic";import se,{createContext as We,useContext as je}from"react";var F={};De(F,{android:()=>He,cupertino:()=>Oe,globalVars:()=>i,rootAndroid:()=>Fe,rootCupertino:()=>$e});var He="_1coppmz0",Oe="_1coppmz1",i={backgroundColor:"var(--stackflow-plugin-basic-ui-background-color)",dimBackgroundColor:"var(--stackflow-plugin-basic-ui-dim-background-color)",appBar:{borderColor:"var(--stackflow-plugin-basic-ui-app-bar-border-color)",borderSize:"var(--stackflow-plugin-basic-ui-app-bar-border-size)",height:"var(--stackflow-plugin-basic-ui-app-bar-height)",iconColor:"var(--stackflow-plugin-basic-ui-app-bar-icon-color)",textColor:"var(--stackflow-plugin-basic-ui-app-bar-text-color)",backgroundColor:"var(--stackflow-plugin-basic-ui-app-bar-background-color)"},bottomSheet:{borderRadius:"var(--stackflow-plugin-basic-ui-bottom-sheet-border-radius)"},modal:{borderRadius:"var(--stackflow-plugin-basic-ui-bottom-sheet-border-radius)"}},Fe=":root[data-stackflow-plugin-basic-ui-theme=android]",$e=":root[data-stackflow-plugin-basic-ui-theme=cupertino]";function R(e){return Object.entries(e).reduce((o,[r,t])=>(t!=null&&(o[r]=t),o),{})}function T(e,o,r){let t=()=>{e.removeEventListener(o,t),r()};e.addEventListener(o,t)}var ae=e=>(e(),window.addEventListener("resize",e),()=>{window.removeEventListener("resize",e)});var ne=()=>{};function B(e){requestAnimationFrame(()=>{requestAnimationFrame(()=>{e()})})}var ie=We({theme:"android"}),Xe=ie.Provider;function V(){return je(ie)}var Ue=e=>()=>({key:"basic-ui",wrapStack({stack:o}){var r,t,a,n,c,l,s;return se.createElement(Xe,{value:e},se.createElement("div",{className:typeof window!="undefined"?F[e.theme]:void 0,style:Ge(R({[i.backgroundColor]:e.backgroundColor,[i.dimBackgroundColor]:e.dimBackgroundColor,[i.appBar.borderColor]:(r=e.appBar)==null?void 0:r.borderColor,[i.appBar.borderSize]:(t=e.appBar)==null?void 0:t.borderSize,[i.appBar.height]:(a=e.appBar)==null?void 0:a.height,[i.appBar.iconColor]:(n=e.appBar)==null?void 0:n.iconColor,[i.appBar.textColor]:(c=e.appBar)==null?void 0:c.textColor,[i.bottomSheet.borderRadius]:(l=e.bottomSheet)==null?void 0:l.borderRadius,[i.modal.borderRadius]:(s=e.modal)==null?void 0:s.borderRadius}))},o.render()))}});import{useActions as lt,useActivity as dt}from"@stackflow/react";import{assignInlineVars as pt}from"@vanilla-extract/dynamic";import w,{useRef as P}from"react";import{useEffect as Ye,useState as Ze}from"react";function L(e){let[o,r]=Ze(void 0);return Ye(()=>{B(()=>{r(e)})},[e]),o}import{useEffect as Je,useState as Ke}from"react";function ce({outerRef:e,innerRef:o,enable:r}){let[t,a]=Ke(void 0);return Je(()=>{let n=e&&"current"in e&&e.current,c=o.current;return!r||!n||!c?ne:ae(()=>{let s=n.clientWidth,d=c.offsetLeft,f=c.clientWidth,y=s-d-f,u=Math.max(d,y);a(s-2*u)})},[]),{maxWidth:t}}import{useActivity as Qe}from"@stackflow/react";import{useEffect as le}from"react";var M={};function C({styleName:e,refs:o,effect:r}){let t=Qe();le(()=>(M[e]||(M[e]=new Map),M[e].set(t.zIndex,{refs:o,hasEffect:!!r}),()=>{M[e].delete(t.zIndex)}),[t.id,o,r]),le(()=>{if(!r)return()=>{};let a=(()=>{let c=[];for(let l=1;l<=t.zIndex;l+=1){let s=M[e].get(t.zIndex-l);if(s!=null&&s.refs&&(c=[...c,...s.refs]),s!=null&&s.hasEffect)break}return c})(),n=r({activityTransitionState:t.transitionState,refs:a});return()=>{n==null||n()}},[t.transitionState])}function de({refs:e,hasEffect:o}){C({styleName:"hide",refs:e,effect:o?({activityTransitionState:r,refs:t})=>{switch(r){case"enter-done":{t.forEach(a=>{!a.current||(a.current.style.display="none")});break}default:{t.forEach(a=>{!a.current||(a.current.style.display="")});break}}}:void 0})}var et=32,A=80;function pe({refs:e,theme:o,hasEffect:r}){C({styleName:"offset",refs:e,effect:r?({activityTransitionState:t,refs:a})=>{let n=o==="cupertino"?`translateX(-${A/16}rem)`:`translateY(-${et/16}rem)`;switch(t){case"enter-active":case"enter-done":{a.forEach(c=>{!c.current||(c.current.style.transition="var(--stackflow-transition-duration)",c.current.style.transform=n)});break}case"exit-active":case"exit-done":{B(()=>{a.forEach(c=>{if(!c.current)return;let l=c.current;l.style.transform="",T(l,"transitionend",()=>{l.style.transition=""})})});break}default:break}}:void 0})}function me({theme:e,dimRef:o,edgeRef:r,paperRef:t,hasEffect:a,onSwiped:n}){C({styleName:"swipe-back",refs:[t],effect:a?({refs:c})=>{if(e!=="cupertino")return()=>{};if(!o.current||!r.current||!t.current)return()=>{};let l=o.current,s=r.current,d=t.current,f=null,y=null,u=null,g=[],m=()=>{f=null,y=null,u=null,g=[]},q=!1;function z(v){q||(q=!0,requestAnimationFrame(()=>{let p=v/d.clientWidth;l.style.opacity=`${1-p}`,l.style.transition="0s",d.style.overflowY="hidden",d.style.transform=`translateX(${v}px)`,d.style.transition="0s",c.forEach(b=>{var x;!b.current||(b.current.style.transform=`translateX(${-1*(1-p)*A}px)`,b.current.style.transition="0s",((x=b.current.parentElement)==null?void 0:x.style.display)==="none"&&(b.current.parentElement.style.display="block"))}),q=!1}))}function h({swiped:v}){requestAnimationFrame(()=>{l.style.opacity=`${v?0:1}`,l.style.transition="var(--stackflow-transition-duration)",d.style.overflowY="hidden",d.style.transform=`translateX(${v?"100%":"0"})`,d.style.transition="var(--stackflow-transition-duration)",c.forEach(p=>{!p.current||(p.current.style.transition="var(--stackflow-transition-duration)",p.current.style.transform=`translateX(${v?"0":`-${A/16}rem`})`)}),T(d,"transitionend",()=>{l.style.opacity="",d.style.overflowY="",d.style.transform="",c.forEach((p,b)=>{if(!p.current)return;let x=g[b];v?(p.current.style.transition="",p.current.style.transform="",p.current.parentElement&&(p.current.parentElement.style.display="")):x&&(p.current.style.transition=x.style.transition,p.current.style.transform=x.style.transform,p.current.parentElement&&x.parentElement&&(p.current.parentElement.style.display=x.parentElement.style.display))})})})}let I=v=>{var b;let{activeElement:p}=document;(b=p==null?void 0:p.blur)==null||b.call(p),f=u=v.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:""}})},_=v=>{if(!f){m();return}u=v.touches[0].clientX,z(u-f)},S=()=>{if(!f||!y||!u){m();return}let v=Date.now(),b=(u-f)/(v-y)>1||u/d.clientWidth>.4;b&&(n==null||n()),m(),h({swiped:b})};return s.addEventListener("touchstart",I,{passive:!0}),s.addEventListener("touchmove",_,{passive:!0}),s.addEventListener("touchend",S,{passive:!0}),s.addEventListener("touchcancel",S,{passive:!0}),()=>{s.removeEventListener("touchstart",I),s.removeEventListener("touchmove",_),s.removeEventListener("touchend",S),s.removeEventListener("touchcancel",S)}}:void 0})}import{useActions as at,useActivity as nt}from"@stackflow/react";import{assignInlineVars as st}from"@vanilla-extract/dynamic";import k,{useRef as it}from"react";import fe from"react";var tt=e=>fe.createElement("svg",{className:e.className,width:"24",height:"24",viewBox:"0 0 24 24",fill:"none",xmlns:"http://www.w3.org/2000/svg"},fe.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"})),D=tt;import $ from"react";var rt=e=>$.createElement("svg",{className:e.className,width:"24",height:"24",viewBox:"0 0 24 24",fill:"none",xmlns:"http://www.w3.org/2000/svg"},$.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"}),$.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"})),G=rt;import{createRuntimeFn as ue}from"@vanilla-extract/recipes/createRuntimeFn";var he=ue({defaultClassName:"_1yk3a450 dhthxq4 dhthxq8 dhthxq7 dhthxq0 dhthxqg _1dlf4347",variantClassNames:{border:{true:"_1yk3a451"}},defaultVariants:{},compoundVariants:[]}),W="_1yk3a453 dhthxq8 dhthxq7 dhthxqa dhthxqe dhthxqh",xe="_1yk3a455 dhthxq8 dhthxq7",ve=ue({defaultClassName:"_1yk3a456",variantClassNames:{hasLeft:{true:"_1yk3a457"}},defaultVariants:{},compoundVariants:[]}),ye="_1yk3a458 dhthxqb dhthxqc dhthxq0",be="_1yk3a453 dhthxq8 dhthxq7 dhthxqa dhthxqe dhthxqh",ge="_1yk3a452 dhthxq8 dhthxq7 dhthxq1",Ce="_1yk3a459 dhthxq8 dhthxq7 dhthxq1 dhthxq5";import{createRuntimeFn as j}from"@vanilla-extract/recipes/createRuntimeFn";var ke=j({defaultClassName:"dhthxq4 dhthxq0 dhthxq1 dhthxq2 dhthxq3 dhthxqb",variantClassNames:{transitionState:{"enter-active":"_1dlf4349","enter-done":"_1dlf434a","exit-active":"_1dlf434b","exit-done":"_1dlf434c"}},defaultVariants:{},compoundVariants:[]});var Ee="_1dlf434i dhthxq4 dhthxq0 dhthxq1 dhthxq2 dhthxq3 _1dlf4346 _1dlf4348",qe=j({defaultClassName:"_1dlf434l dhthxq4 dhthxq2 dhthxq3 dhthxq1",variantClassNames:{hasAppBar:{true:"_1dlf434m"}},defaultVariants:{},compoundVariants:[]});var Re=j({defaultClassName:"_1dlf434j dhthxq4 dhthxq0 dhthxq1 dhthxq2 dhthxq3 _1dlf4347 _1dlf4348",variantClassNames:{hasAppBar:{true:"_1dlf434k dhthxqf"}},defaultVariants:{},compoundVariants:[]}),N={transitionDuration:"var(--_1dlf4340)",zIndexes:{dim:"var(--_1dlf4341)",paper:"var(--_1dlf4342)",edge:"var(--_1dlf4343)",appBar:"var(--_1dlf4344)"},appBar:{center:{mainWidth:"var(--_1dlf4345)"}}};var ct=k.forwardRef(({title:e,appendLeft:o,appendRight:r,backButton:t,closeButton:a,closeButtonLocation:n="left",border:c=!0,iconColor:l,textColor:s,borderColor:d,borderSize:f,height:y,backgroundColor:u},g)=>{var J;let m=at(),q=nt(),z=V(),h=(J=z.appBar)==null?void 0:J.closeButton,I=it(null),{maxWidth:_}=ce({outerRef:g,innerRef:I,enable:z.theme==="cupertino"}),S=E=>{t&&"onClick"in t&&t.onClick&&t.onClick(E),E.defaultPrevented||m.pop()},v=q.zIndex===0||q.zIndex===1&&q.transitionState==="enter-active"&&q.pushedBy.name==="Replaced",p=()=>{var E;return v?null:t?"render"in t&&t.render?(E=t.render)==null?void 0:E.call(t):k.createElement("button",{type:"button",className:W,onClick:S},"renderIcon"in t&&t.renderIcon?t.renderIcon():k.createElement(D,null)):k.createElement("button",{type:"button",className:W,onClick:S},k.createElement(D,null))},b=E=>{var K;a&&"onClick"in a&&a.onClick&&a.onClick(E),!E.defaultPrevented&&h&&"onClick"in h&&((K=h.onClick)==null||K.call(h,E))},x=()=>{var E;return!a&&!((E=z.appBar)!=null&&E.closeButton)||!v?null:a&&"render"in a&&a.render?a.render():h&&"render"in h&&h.render?h.render():k.createElement("button",{type:"button",className:be,onClick:b},(()=>a&&"renderIcon"in a&&a.renderIcon?a.renderIcon():h&&"renderIcon"in h&&h.renderIcon?h.renderIcon():k.createElement(G,null))())},Pe=!!(n==="left"&&a||t||o);return k.createElement("div",{ref:g,className:he({border:c}),style:st(R({[i.appBar.iconColor]:l,[i.appBar.textColor]:s,[i.appBar.borderColor]:d,[i.appBar.borderSize]:f,[i.appBar.height]:y,[i.appBar.backgroundColor]:u||i.backgroundColor,[N.appBar.center.mainWidth]:`${_}px`}))},k.createElement("div",{className:ge},n==="left"&&x(),p(),o==null?void 0:o()),k.createElement("div",{ref:I,className:xe},k.createElement("div",{className:ve({hasLeft:Pe})},typeof e=="string"?k.createElement("div",{className:ye},e):e)),k.createElement("div",{className:Ce},r==null?void 0:r(),n==="right"&&x()))}),Se=ct;var mt=({backgroundColor:e,dimBackgroundColor:o,appBar:r,children:t})=>{let a=V(),n=dt(),{pop:c}=lt(),l=P(null),s=P(null),d=P(null),f=P(null),y=P(null);de({refs:[l],hasEffect:!0}),pe({theme:a.theme,refs:a.theme==="cupertino"?[d]:[d,y],hasEffect:!0}),me({theme:a.theme,dimRef:s,edgeRef:f,paperRef:d,hasEffect:!0,onSwiped(){c()}});let u=n.zIndex===0,g=!!r,m=n.zIndex*5,q=m,z=m+(a.theme==="cupertino"&&g?1:3),h=m+4,I=m+7,{transitionState:_}=n,S=L(_);return w.createElement("div",{ref:l,className:ke({transitionState:_==="enter-done"||_==="exit-done"?_:S}),style:pt(R({[i.backgroundColor]:e,[i.dimBackgroundColor]:o,[i.appBar.height]:r==null?void 0:r.height,[N.zIndexes.dim]:`${q}`,[N.zIndexes.paper]:`${z}`,[N.zIndexes.edge]:`${h}`,[N.zIndexes.appBar]:`${I}`,[N.transitionDuration]:n.transitionState==="enter-active"||n.transitionState==="exit-active"?"var(--stackflow-transition-duration)":"0ms"}))},w.createElement("div",{className:Ee,ref:s}),w.createElement("div",{key:n.id,className:Re({hasAppBar:g}),ref:d},t),!u&&a.theme==="cupertino"&&w.createElement("div",{className:qe({hasAppBar:g}),ref:f}),r&&w.createElement(Se,oe(re({},r),{ref:y})))},ft=mt;import{useActions as xt,useActivity as vt}from"@stackflow/react";import{assignInlineVars as yt}from"@vanilla-extract/dynamic";import X,{useRef as U}from"react";import{createRuntimeFn as ut}from"@vanilla-extract/recipes/createRuntimeFn";var Ne=ut({defaultClassName:"dhthxq4 dhthxq0 dhthxq1 dhthxq2 dhthxq3 dhthxqb",variantClassNames:{transitionState:{"enter-active":"_1ht38h04","enter-done":"_1ht38h05","exit-active":"_1ht38h06","exit-done":"_1ht38h07"}},defaultVariants:{},compoundVariants:[]}),ze="_1ht38h0d dhthxq4 dhthxq0 dhthxq1 dhthxq2 dhthxq3 dhthxqb dhthxq9 dhthxq7 _1ht38h03";var Ie="_1ht38h0e dhthxqb _1ht38h03",H={transitionDuration:"var(--_1ht38h00)",zIndexes:{dim:"var(--_1ht38h01)",paper:"var(--_1ht38h02)"}};var bt=({borderRadius:e="1rem",backgroundColor:o,dimBackgroundColor:r,onOutsideClick:t,children:a})=>{let n=vt(),{pop:c}=xt(),l=U(null),s=U(null);C({styleName:"hide",refs:[l]}),C({styleName:"offset",refs:[s]}),C({styleName:"swipe-back",refs:[s]});let d=U(!1),f=m=>{t==null||t(m),!m.defaultPrevented&&(d.current||(d.current=!0,c()))},y=m=>{m.stopPropagation()},u=n.zIndex*5+3,g=n.zIndex*5+4;return X.createElement("div",{className:Ne({transitionState:L(n.transitionState)}),ref:l,style:yt(R({[i.bottomSheet.borderRadius]:e,[i.backgroundColor]:o,[i.dimBackgroundColor]:r,[H.zIndexes.dim]:`${u}`,[H.zIndexes.paper]:`${g}`,[H.transitionDuration]:n.transitionState==="enter-active"||n.transitionState==="exit-active"?"var(--stackflow-transition-duration)":"0ms"}))},X.createElement("div",{className:ze,ref:s,onClick:f},X.createElement("div",{className:Ie,onClick:y},a)))},gt=bt;import{useActions as Et,useActivity as qt}from"@stackflow/react";import{assignInlineVars as Rt}from"@vanilla-extract/dynamic";import Y,{useRef as Z}from"react";import{createRuntimeFn as Ct}from"@vanilla-extract/recipes/createRuntimeFn";var Le=Ct({defaultClassName:"dhthxq4 dhthxq0 dhthxq1 dhthxq2 dhthxq3 dhthxqb",variantClassNames:{transitionState:{"enter-active":"_5ozg8c4","enter-done":"_5ozg8c5","exit-active":"_5ozg8c6","exit-done":"_5ozg8c7"}},defaultVariants:{},compoundVariants:[]}),Me="_5ozg8cd dhthxq4 dhthxq0 dhthxq1 dhthxq2 dhthxq3 dhthxqb dhthxq8 dhthxq7 dhthxqa _5ozg8c3";var we="_5ozg8ce dhthxqb _5ozg8c3",O={transitionDuration:"var(--_5ozg8c0)",zIndexes:{dim:"var(--_5ozg8c1)",paper:"var(--_5ozg8c2)"}};var _t=({backgroundColor:e,dimBackgroundColor:o,borderRadius:r="1rem",onOutsideClick:t,children:a})=>{let n=qt(),{pop:c}=Et(),l=Z(null),s=Z(null);C({styleName:"hide",refs:[l]}),C({styleName:"offset",refs:[s]}),C({styleName:"swipe-back",refs:[s]});let d=Z(!1),f=m=>{t==null||t(m),!m.defaultPrevented&&(d.current||(d.current=!0,c()))},y=m=>{m.stopPropagation()},u=n.zIndex*5+3,g=n.zIndex*5+4;return Y.createElement("div",{className:Le({transitionState:L(n.transitionState)}),ref:l,style:Rt(R({[i.bottomSheet.borderRadius]:r,[i.backgroundColor]:e,[i.dimBackgroundColor]:o,[O.zIndexes.dim]:`${u}`,[O.zIndexes.paper]:`${g}`,[O.transitionDuration]:n.transitionState==="enter-active"||n.transitionState==="exit-active"?"var(--stackflow-transition-duration)":"0ms"}))},Y.createElement("div",{className:Me,ref:s,onClick:f},Y.createElement("div",{className:we,onClick:y},a)))},St=_t;export{ft as AppScreen,gt as BottomSheet,St as Modal,Ue as basicUIPlugin,i as cssVars};
|
|
1
|
+
var Pt=Object.defineProperty,wt=Object.defineProperties;var Bt=Object.getOwnPropertyDescriptors;var Q=Object.getOwnPropertySymbols;var Tt=Object.prototype.hasOwnProperty,Vt=Object.prototype.propertyIsEnumerable;var tt=(t,e,o)=>e in t?Pt(t,e,{enumerable:!0,configurable:!0,writable:!0,value:o}):t[e]=o,et=(t,e)=>{for(var o in e||(e={}))Tt.call(e,o)&&tt(t,o,e[o]);if(Q)for(var o of Q(e))Vt.call(e,o)&&tt(t,o,e[o]);return t},rt=(t,e)=>wt(t,Bt(e));import{assignInlineVars as Dt}from"@vanilla-extract/dynamic";import F,{createContext as Ht,useContext as Ot,useMemo as Ft}from"react";var i={backgroundColor:"var(--stackflow-plugin-basic-ui-background-color)",dimBackgroundColor:"var(--stackflow-plugin-basic-ui-dim-background-color)",appBar:{borderColor:"var(--stackflow-plugin-basic-ui-app-bar-border-color)",borderSize:"var(--stackflow-plugin-basic-ui-app-bar-border-size)",height:"var(--stackflow-plugin-basic-ui-app-bar-height)",iconColor:"var(--stackflow-plugin-basic-ui-app-bar-icon-color)",textColor:"var(--stackflow-plugin-basic-ui-app-bar-text-color)",backgroundColor:"var(--stackflow-plugin-basic-ui-app-bar-background-color)"},bottomSheet:{borderRadius:"var(--stackflow-plugin-basic-ui-bottom-sheet-border-radius)"},modal:{borderRadius:"var(--stackflow-plugin-basic-ui-bottom-sheet-border-radius)"}};function R(t){return Object.entries(t).reduce((e,[o,r])=>(r!=null&&(e[o]=r),e),{})}function B(t,e,o){let r=()=>{t.removeEventListener(e,r),o()};t.addEventListener(e,r)}var ot=t=>(t(),window.addEventListener("resize",t),()=>{window.removeEventListener("resize",t)});var at=()=>{};function T(t){requestAnimationFrame(()=>{requestAnimationFrame(()=>{t()})})}var nt=Ht({theme:"android"}),$t=nt.Provider;function V(){return Ot(nt)}var Wt=t=>{var o,r,a,n,c,l,s;let e=Ft(()=>t.options,[]);return F.createElement($t,{value:e},F.createElement("div",{style:Dt(R({[i.backgroundColor]:e.backgroundColor,[i.dimBackgroundColor]:e.dimBackgroundColor,[i.appBar.borderColor]:(o=e.appBar)==null?void 0:o.borderColor,[i.appBar.borderSize]:(r=e.appBar)==null?void 0:r.borderSize,[i.appBar.height]:(a=e.appBar)==null?void 0:a.height,[i.appBar.iconColor]:(n=e.appBar)==null?void 0:n.iconColor,[i.appBar.textColor]:(c=e.appBar)==null?void 0:c.textColor,[i.bottomSheet.borderRadius]:(l=e.bottomSheet)==null?void 0:l.borderRadius,[i.modal.borderRadius]:(s=e.modal)==null?void 0:s.borderRadius}))},t.children))},Gt=t=>()=>({key:"basic-ui",wrapStack({stack:e}){return F.createElement(Wt,{options:t},e.render())}});import{useActions as se,useActivity as ie}from"@stackflow/react";import{assignInlineVars as ce}from"@vanilla-extract/dynamic";import P,{useRef as w}from"react";import{useEffect as jt,useState as Ut}from"react";function L(t){let[e,o]=Ut(void 0);return jt(()=>{T(()=>{o(t)})},[t]),e}import{useEffect as Xt,useState as Yt}from"react";function st({outerRef:t,innerRef:e,enable:o}){let[r,a]=Yt(void 0);return Xt(()=>{let n=t&&"current"in t&&t.current,c=e.current;return!o||!n||!c?at:ot(()=>{let s=n.clientWidth,d=c.offsetLeft,u=c.clientWidth,y=s-d-u,f=Math.max(d,y);a(s-2*f)})},[]),{maxWidth:r}}import{useActivity as Zt}from"@stackflow/react";import{useEffect as it}from"react";var M={};function C({styleName:t,refs:e,effect:o}){let r=Zt();it(()=>(M[t]||(M[t]=new Map),M[t].set(r.zIndex,{refs:e,hasEffect:!!o}),()=>{M[t].delete(r.zIndex)}),[r.id,e,o]),it(()=>{if(!o)return()=>{};let a=(()=>{let c=[];for(let l=1;l<=r.zIndex;l+=1){let s=M[t].get(r.zIndex-l);if(s!=null&&s.refs&&(c=[...c,...s.refs]),s!=null&&s.hasEffect)break}return c})(),n=o({activityTransitionState:r.transitionState,refs:a});return()=>{n==null||n()}},[r.transitionState])}function ct({refs:t,hasEffect:e}){C({styleName:"hide",refs:t,effect:e?({activityTransitionState:o,refs:r})=>{switch(o){case"enter-done":{r.forEach(a=>{!a.current||(a.current.style.display="none")});break}default:{r.forEach(a=>{!a.current||(a.current.style.display="")});break}}}:void 0})}var Jt=32,A=80;function lt({refs:t,theme:e,hasEffect:o}){C({styleName:"offset",refs:t,effect:o?({activityTransitionState:r,refs:a})=>{let n=e==="cupertino"?`translateX(-${A/16}rem)`:`translateY(-${Jt/16}rem)`;switch(r){case"enter-active":case"enter-done":{a.forEach(c=>{!c.current||(c.current.style.transition="var(--stackflow-transition-duration)",c.current.style.transform=n)});break}case"exit-active":case"exit-done":{T(()=>{a.forEach(c=>{if(!c.current)return;let l=c.current;l.style.transform="",B(l,"transitionend",()=>{l.style.transition=""})})});break}default:break}}:void 0})}function dt({theme:t,dimRef:e,edgeRef:o,paperRef:r,hasEffect:a,onSwiped:n}){C({styleName:"swipe-back",refs:[r],effect:a?({refs:c})=>{if(t!=="cupertino")return()=>{};if(!e.current||!o.current||!r.current)return()=>{};let l=e.current,s=o.current,d=r.current,u=null,y=null,f=null,g=[],m=()=>{u=null,y=null,f=null,g=[]},q=!1;function N(v){q||(q=!0,requestAnimationFrame(()=>{let p=v/d.clientWidth;l.style.opacity=`${1-p}`,l.style.transition="0s",d.style.overflowY="hidden",d.style.transform=`translateX(${v}px)`,d.style.transition="0s",c.forEach(b=>{var x;!b.current||(b.current.style.transform=`translateX(${-1*(1-p)*A}px)`,b.current.style.transition="0s",((x=b.current.parentElement)==null?void 0:x.style.display)==="none"&&(b.current.parentElement.style.display="block"))}),q=!1}))}function h({swiped:v}){requestAnimationFrame(()=>{l.style.opacity=`${v?0:1}`,l.style.transition="var(--stackflow-transition-duration)",d.style.overflowY="hidden",d.style.transform=`translateX(${v?"100%":"0"})`,d.style.transition="var(--stackflow-transition-duration)",c.forEach(p=>{!p.current||(p.current.style.transition="var(--stackflow-transition-duration)",p.current.style.transform=`translateX(${v?"0":`-${A/16}rem`})`)}),B(d,"transitionend",()=>{l.style.opacity="",d.style.overflowY="",d.style.transform="",c.forEach((p,b)=>{if(!p.current)return;let x=g[b];v?(p.current.style.transition="",p.current.style.transform="",p.current.parentElement&&(p.current.parentElement.style.display="")):x&&(p.current.style.transition=x.style.transition,p.current.style.transform=x.style.transform,p.current.parentElement&&x.parentElement&&(p.current.parentElement.style.display=x.parentElement.style.display))})})})}let z=v=>{var b;let{activeElement:p}=document;(b=p==null?void 0:p.blur)==null||b.call(p),u=f=v.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:""}})},_=v=>{if(!u){m();return}f=v.touches[0].clientX,N(f-u)},S=()=>{if(!u||!y||!f){m();return}let v=Date.now(),b=(f-u)/(v-y)>1||f/d.clientWidth>.4;b&&(n==null||n()),m(),h({swiped:b})};return s.addEventListener("touchstart",z,{passive:!0}),s.addEventListener("touchmove",_,{passive:!0}),s.addEventListener("touchend",S,{passive:!0}),s.addEventListener("touchcancel",S,{passive:!0}),()=>{s.removeEventListener("touchstart",z),s.removeEventListener("touchmove",_),s.removeEventListener("touchend",S),s.removeEventListener("touchcancel",S)}}:void 0})}import{useActions as ee,useActivity as re}from"@stackflow/react";import{assignInlineVars as oe}from"@vanilla-extract/dynamic";import k,{useRef as ae}from"react";import pt from"react";var Kt=t=>pt.createElement("svg",{className:t.className,width:"24",height:"24",viewBox:"0 0 24 24",fill:"none",xmlns:"http://www.w3.org/2000/svg"},pt.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"})),D=Kt;import $ from"react";var Qt=t=>$.createElement("svg",{className:t.className,width:"24",height:"24",viewBox:"0 0 24 24",fill:"none",xmlns:"http://www.w3.org/2000/svg"},$.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"}),$.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=Qt;import{createRuntimeFn as mt}from"@vanilla-extract/recipes/createRuntimeFn";var ut=mt({defaultClassName:"_1yk3a450 dhthxq4 dhthxq8 dhthxq7 dhthxq0 dhthxqg _1dlf4347",variantClassNames:{border:{true:"_1yk3a451"}},defaultVariants:{},compoundVariants:[]}),G="_1yk3a453 dhthxq8 dhthxq7 dhthxqa dhthxqe dhthxqh",ft="_1yk3a455 dhthxq8 dhthxq7",ht=mt({defaultClassName:"_1yk3a456",variantClassNames:{hasLeft:{true:"_1yk3a457"}},defaultVariants:{},compoundVariants:[]}),xt="_1yk3a458 dhthxqb dhthxqc dhthxq0",vt="_1yk3a453 dhthxq8 dhthxq7 dhthxqa dhthxqe dhthxqh",yt="_1yk3a452 dhthxq8 dhthxq7 dhthxq1",bt="_1yk3a459 dhthxq8 dhthxq7 dhthxq1 dhthxq5";import{createRuntimeFn as j}from"@vanilla-extract/recipes/createRuntimeFn";var gt=j({defaultClassName:"dhthxq4 dhthxq0 dhthxq1 dhthxq2 dhthxq3 dhthxqb",variantClassNames:{transitionState:{"enter-active":"_1dlf4349","enter-done":"_1dlf434a","exit-active":"_1dlf434b","exit-done":"_1dlf434c"}},defaultVariants:{},compoundVariants:[]});var Ct="_1dlf434i dhthxq4 dhthxq0 dhthxq1 dhthxq2 dhthxq3 _1dlf4346 _1dlf4348",kt=j({defaultClassName:"_1dlf434l dhthxq4 dhthxq2 dhthxq3 dhthxq1",variantClassNames:{hasAppBar:{true:"_1dlf434m"}},defaultVariants:{},compoundVariants:[]});var Et=j({defaultClassName:"_1dlf434j dhthxq4 dhthxq0 dhthxq1 dhthxq2 dhthxq3 _1dlf4347 _1dlf4348",variantClassNames:{hasAppBar:{true:"_1dlf434k dhthxqf"}},defaultVariants:{},compoundVariants:[]}),I={transitionDuration:"var(--_1dlf4340)",zIndexes:{dim:"var(--_1dlf4341)",paper:"var(--_1dlf4342)",edge:"var(--_1dlf4343)",appBar:"var(--_1dlf4344)"},appBar:{center:{mainWidth:"var(--_1dlf4345)"}}};var ne=k.forwardRef(({title:t,appendLeft:e,appendRight:o,backButton:r,closeButton:a,closeButtonLocation:n="left",border:c=!0,iconColor:l,textColor:s,borderColor:d,borderSize:u,height:y,backgroundColor:f},g)=>{var J;let m=ee(),q=re(),N=V(),h=(J=N.appBar)==null?void 0:J.closeButton,z=ae(null),{maxWidth:_}=st({outerRef:g,innerRef:z,enable:N.theme==="cupertino"}),S=E=>{r&&"onClick"in r&&r.onClick&&r.onClick(E),E.defaultPrevented||m.pop()},v=q.zIndex===0||q.zIndex===1&&q.transitionState==="enter-active"&&q.pushedBy.name==="Replaced",p=()=>{var E;return v?null:r?"render"in r&&r.render?(E=r.render)==null?void 0:E.call(r):k.createElement("button",{type:"button",className:G,onClick:S},"renderIcon"in r&&r.renderIcon?r.renderIcon():k.createElement(D,null)):k.createElement("button",{type:"button",className:G,onClick:S},k.createElement(D,null))},b=E=>{var K;a&&"onClick"in a&&a.onClick&&a.onClick(E),!E.defaultPrevented&&h&&"onClick"in h&&((K=h.onClick)==null||K.call(h,E))},x=()=>{var E;return!a&&!((E=N.appBar)!=null&&E.closeButton)||!v?null:a&&"render"in a&&a.render?a.render():h&&"render"in h&&h.render?h.render():k.createElement("button",{type:"button",className:vt,onClick:b},(()=>a&&"renderIcon"in a&&a.renderIcon?a.renderIcon():h&&"renderIcon"in h&&h.renderIcon?h.renderIcon():k.createElement(W,null))())},Mt=!!(n==="left"&&a||r||e);return k.createElement("div",{ref:g,className:ut({border:c}),style:oe(R({[i.appBar.iconColor]:l,[i.appBar.textColor]:s,[i.appBar.borderColor]:d,[i.appBar.borderSize]:u,[i.appBar.height]:y,[i.appBar.backgroundColor]:f||i.backgroundColor,[I.appBar.center.mainWidth]:`${_}px`}))},k.createElement("div",{className:yt},n==="left"&&x(),p(),e==null?void 0:e()),k.createElement("div",{ref:z,className:ft},k.createElement("div",{className:ht({hasLeft:Mt})},typeof t=="string"?k.createElement("div",{className:xt},t):t)),k.createElement("div",{className:bt},o==null?void 0:o(),n==="right"&&x()))}),Rt=ne;var le=({backgroundColor:t,dimBackgroundColor:e,appBar:o,children:r})=>{let a=V(),n=ie(),{pop:c}=se(),l=w(null),s=w(null),d=w(null),u=w(null),y=w(null);ct({refs:[l],hasEffect:!0}),lt({theme:a.theme,refs:a.theme==="cupertino"?[d]:[d,y],hasEffect:!0}),dt({theme:a.theme,dimRef:s,edgeRef:u,paperRef:d,hasEffect:!0,onSwiped(){c()}});let f=n.zIndex===0,g=!!o,m=n.zIndex*5,q=m,N=m+(a.theme==="cupertino"&&g?1:3),h=m+4,z=m+7,{transitionState:_}=n,S=L(_);return P.createElement("div",{ref:l,className:gt({transitionState:_==="enter-done"||_==="exit-done"?_:S}),style:ce(R({[i.backgroundColor]:t,[i.dimBackgroundColor]:e,[i.appBar.height]:o==null?void 0:o.height,[I.zIndexes.dim]:`${q}`,[I.zIndexes.paper]:`${N}`,[I.zIndexes.edge]:`${h}`,[I.zIndexes.appBar]:`${z}`,[I.transitionDuration]:n.transitionState==="enter-active"||n.transitionState==="exit-active"?"var(--stackflow-transition-duration)":"0ms"}))},P.createElement("div",{className:Ct,ref:s}),P.createElement("div",{key:n.id,className:Et({hasAppBar:g}),ref:d},r),!f&&a.theme==="cupertino"&&P.createElement("div",{className:kt({hasAppBar:g}),ref:u}),o&&P.createElement(Rt,rt(et({},o),{ref:y})))},de=le;import{useActions as ue,useActivity as fe}from"@stackflow/react";import{assignInlineVars as he}from"@vanilla-extract/dynamic";import U,{useRef as X}from"react";import{createRuntimeFn as pe}from"@vanilla-extract/recipes/createRuntimeFn";var _t=pe({defaultClassName:"dhthxq4 dhthxq0 dhthxq1 dhthxq2 dhthxq3 dhthxqb",variantClassNames:{transitionState:{"enter-active":"_1ht38h04","enter-done":"_1ht38h05","exit-active":"_1ht38h06","exit-done":"_1ht38h07"}},defaultVariants:{},compoundVariants:[]}),St="_1ht38h0d dhthxq4 dhthxq0 dhthxq1 dhthxq2 dhthxq3 dhthxqb dhthxq9 dhthxq7 _1ht38h03";var It="_1ht38h0e dhthxqb _1ht38h03",H={transitionDuration:"var(--_1ht38h00)",zIndexes:{dim:"var(--_1ht38h01)",paper:"var(--_1ht38h02)"}};var xe=({borderRadius:t="1rem",backgroundColor:e,dimBackgroundColor:o,onOutsideClick:r,children:a})=>{let n=fe(),{pop:c}=ue(),l=X(null),s=X(null);C({styleName:"hide",refs:[l]}),C({styleName:"offset",refs:[s]}),C({styleName:"swipe-back",refs:[s]});let d=X(!1),u=m=>{r==null||r(m),!m.defaultPrevented&&(d.current||(d.current=!0,c()))},y=m=>{m.stopPropagation()},f=n.zIndex*5+3,g=n.zIndex*5+4;return U.createElement("div",{className:_t({transitionState:L(n.transitionState)}),ref:l,style:he(R({[i.bottomSheet.borderRadius]:t,[i.backgroundColor]:e,[i.dimBackgroundColor]:o,[H.zIndexes.dim]:`${f}`,[H.zIndexes.paper]:`${g}`,[H.transitionDuration]:n.transitionState==="enter-active"||n.transitionState==="exit-active"?"var(--stackflow-transition-duration)":"0ms"}))},U.createElement("div",{className:St,ref:s,onClick:u},U.createElement("div",{className:It,onClick:y},a)))},ve=xe;import{useActions as ge,useActivity as Ce}from"@stackflow/react";import{assignInlineVars as ke}from"@vanilla-extract/dynamic";import Y,{useRef as Z}from"react";import{createRuntimeFn as ye}from"@vanilla-extract/recipes/createRuntimeFn";var Nt=ye({defaultClassName:"dhthxq4 dhthxq0 dhthxq1 dhthxq2 dhthxq3 dhthxqb",variantClassNames:{transitionState:{"enter-active":"_5ozg8c4","enter-done":"_5ozg8c5","exit-active":"_5ozg8c6","exit-done":"_5ozg8c7"}},defaultVariants:{},compoundVariants:[]}),zt="_5ozg8cd dhthxq4 dhthxq0 dhthxq1 dhthxq2 dhthxq3 dhthxqb dhthxq8 dhthxq7 dhthxqa _5ozg8c3";var Lt="_5ozg8ce dhthxqb _5ozg8c3",O={transitionDuration:"var(--_5ozg8c0)",zIndexes:{dim:"var(--_5ozg8c1)",paper:"var(--_5ozg8c2)"}};var Ee=({backgroundColor:t,dimBackgroundColor:e,borderRadius:o="1rem",onOutsideClick:r,children:a})=>{let n=Ce(),{pop:c}=ge(),l=Z(null),s=Z(null);C({styleName:"hide",refs:[l]}),C({styleName:"offset",refs:[s]}),C({styleName:"swipe-back",refs:[s]});let d=Z(!1),u=m=>{r==null||r(m),!m.defaultPrevented&&(d.current||(d.current=!0,c()))},y=m=>{m.stopPropagation()},f=n.zIndex*5+3,g=n.zIndex*5+4;return Y.createElement("div",{className:Nt({transitionState:L(n.transitionState)}),ref:l,style:ke(R({[i.bottomSheet.borderRadius]:o,[i.backgroundColor]:t,[i.dimBackgroundColor]:e,[O.zIndexes.dim]:`${f}`,[O.zIndexes.paper]:`${g}`,[O.transitionDuration]:n.transitionState==="enter-active"||n.transitionState==="exit-active"?"var(--stackflow-transition-duration)":"0ms"}))},Y.createElement("div",{className:zt,ref:s,onClick:u},Y.createElement("div",{className:Lt,onClick:y},a)))},qe=Ee;export{de as AppScreen,ve as BottomSheet,qe as Modal,Gt as basicUIPlugin,i as cssVars};
|
|
2
2
|
//# sourceMappingURL=index.mjs.map
|
package/dist/index.mjs.map
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../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": ["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 | {\n renderIcon?: () => React.ReactNode;\n onClick?: (e: React.MouseEvent<HTMLButtonElement>) => void;\n }\n | {\n render?: () => React.ReactNode;\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={\n typeof window !== \"undefined\" ? theme[options.theme] : undefined\n }\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+2U3UrEMBBG7/cpAt4obEKzWha6+CQikr+2wSYTJhNcVnx3q6hX6ra97ZJACMn5IJPDNAhAW9Z8LA9WkeKZlHluB3jhaSidj1yr7A0vnlPvgrtX0SJ4+8heN4zxf67r8aBDKNFyAwNgw67atj2coawPv5DYaXVdbdnXFLK+ORekUho3yDWgdfhXULWfG5T9yTVMpuNUrne+66lht6JGF6ZS3kD8qdtOjuNuKkruSAvRZX+mgQgCz71z9F0mVNaXPBbq881vmxmGmZIcko+wcscqUc+3bCf2a9ZMPEkDKYVTtW53Lv1pqThy3eJcms5sd94BLE4WS0QJAAA=';\nexport var android = '_1coppmz0';\nexport var cupertino = '_1coppmz1';\nexport var globalVars = {backgroundColor:'var(--stackflow-plugin-basic-ui-background-color)',dimBackgroundColor:'var(--stackflow-plugin-basic-ui-dim-background-color)',appBar:{borderColor:'var(--stackflow-plugin-basic-ui-app-bar-border-color)',borderSize:'var(--stackflow-plugin-basic-ui-app-bar-border-size)',height:'var(--stackflow-plugin-basic-ui-app-bar-height)',iconColor:'var(--stackflow-plugin-basic-ui-app-bar-icon-color)',textColor:'var(--stackflow-plugin-basic-ui-app-bar-text-color)',backgroundColor:'var(--stackflow-plugin-basic-ui-app-bar-background-color)'},bottomSheet:{borderRadius:'var(--stackflow-plugin-basic-ui-bottom-sheet-border-radius)'},modal:{borderRadius:'var(--stackflow-plugin-basic-ui-bottom-sheet-border-radius)'}};\nexport var rootAndroid = ':root[data-stackflow-plugin-basic-ui-theme=android]';\nexport var rootCupertino = ':root[data-stackflow-plugin-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 globalOptions = 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: globalOptions.theme,\n refs:\n globalOptions.theme === \"cupertino\" ? [paperRef] : [paperRef, appBarRef],\n hasEffect: true,\n });\n useStyleEffectSwipeBack({\n theme: globalOptions.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 =\n zIndexBase + (globalOptions.theme === \"cupertino\" && hasAppBar ? 1 : 3);\n const zIndexEdge = zIndexBase + 4;\n const zIndexAppBar = zIndexBase + 7;\n\n const { transitionState } = activity;\n const lazyTransitionState = useLazy(transitionState);\n\n return (\n <div\n ref={appScreenRef}\n className={css.appScreen({\n transitionState:\n transitionState === \"enter-done\" || transitionState === \"exit-done\"\n ? transitionState\n : lazyTransitionState,\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 && globalOptions.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<HTMLElement>>;\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 type React from \"react\";\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 if (!ref.current) {\n return;\n }\n\n ref.current.style.display = \"none\";\n });\n break;\n }\n default: {\n refs.forEach((ref) => {\n if (!ref.current) {\n return;\n }\n\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 if (!ref.current) {\n return;\n }\n\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 if (!ref.current) {\n return;\n }\n\n const $el = ref.current;\n\n $el.style.transform = \"\";\n\n listenOnce($el, \"transitionend\", () => {\n $el.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) => {\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) => {\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, 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\"\n | \"borderSize\"\n | \"height\"\n | \"iconColor\"\n | \"textColor\"\n | \"backgroundColor\"\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 backgroundColor,\n },\n ref,\n ) => {\n const actions = useActions();\n const activity = useActivity();\n\n const globalOptions = useGlobalOptions();\n const globalCloseButton = globalOptions.appBar?.closeButton;\n\n const centerRef = useRef<any>(null);\n\n const { maxWidth } = useMaxWidth({\n outerRef: ref,\n innerRef: centerRef,\n enable: globalOptions.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 isRoot =\n activity.zIndex === 0 ||\n (activity.zIndex === 1 &&\n activity.transitionState === \"enter-active\" &&\n activity.pushedBy.name === \"Replaced\");\n\n const renderBackButton = () => {\n if (isRoot) {\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 (\n !e.defaultPrevented &&\n globalCloseButton &&\n \"onClick\" in globalCloseButton\n ) {\n globalCloseButton.onClick?.(e);\n }\n };\n\n const renderCloseButton = () => {\n if ((!closeButton && !globalOptions.appBar?.closeButton) || !isRoot) {\n return null;\n }\n if (closeButton && \"render\" in closeButton && closeButton.render) {\n return closeButton.render();\n }\n if (\n globalCloseButton &&\n \"render\" in globalCloseButton &&\n globalCloseButton.render\n ) {\n return globalCloseButton.render();\n }\n\n return (\n <button\n type=\"button\"\n className={css.closeButton}\n onClick={onCloseClick}\n >\n {(() => {\n if (\n closeButton &&\n \"renderIcon\" in closeButton &&\n closeButton.renderIcon\n ) {\n return closeButton.renderIcon();\n }\n if (\n globalCloseButton &&\n \"renderIcon\" in globalCloseButton &&\n globalCloseButton.renderIcon\n ) {\n return globalCloseButton.renderIcon();\n }\n\n return <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 [globalVars.appBar.backgroundColor]:\n backgroundColor || globalVars.backgroundColor,\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+2U3UrEMBBG7/cpAt4obEKzWha6+CQikr+2wSYTJhNcVnx3q6hX6ra97ZJACMn5IJPDNAhAW9Z8LA9WkeKZlHluB3jhaSidj1yr7A0vnlPvgrtX0SJ4+8heN4zxf67r8aBDKNFyAwNgw67atj2coawPv5DYaXVdbdnXFLK+ORekUho3yDWgdfhXULWfG5T9yTVMpuNUrne+66lht6JGF6ZS3kD8qdtOjuNuKkruSAvRZX+mgQgCz71z9F0mVNaXPBbq881vmxmGmZIcko+wcscqUc+3bCf2a9ZMPEkDKYVTtW53Lv1pqThy3eJcms5sd94BLE4WS0QJAAA=';\nimport 'src/components/AppScreen.css.ts.vanilla.css?source=#H4sIAAAAAAAAE61V246bMBB9z1f4pRJR48jsbi9x1P9oVVXVYDtgYmzLmKTdqv9eA8smwJImKBIPoDlz5syV9c+Yq93T49NH9GeBUAJsnzpTaY6ZUcZRdAAXYVz6YNgpc8RWVanUOIFSMlxJzGWBh17L7eLvYt0xf5rJfJn1c8PqHehSeml0x9fZSR/OTvCdcQVtXxV48TWKCXnXR8sGbSww6X9TRLbh6xlLzcWvYZy482TG2uKZoBPJClFnjP/OwcOFPH0mCvEFNHdG8h9oICITMs08RTFxotj2CkmRklqAw6kDLoX20axmrZBLE4jICr08y34xNkNJr3WJezi4EpdM4sigZdfh8tZ4EK7JOdhL5oxSdbHwUSR76fGrtTVJnYYJMBXLLnT2oV+GnNKOrSVJwDWRuSytghBWGy16wxCfMshvGgZWWeG81OZsHPIrJ3gUenNPFZvrBJFJNXBPNTBLDZkrYbyj+RuH4i0N36Jmfyd1zO7RWNKoQ+drOKVuukKz+zVWNurWTcpax33jaIHzsMPYG0sRA8X+e/nA2vDhcHtOl+g9YkYHeDiaJewEBicgnIFS+Jq0voD3iSL0YSrAWVaqyeoouc9CMdYPH15u/cRleux7F+3o1ypvFLg9+8E0CdaHBOFbaWo5/wBUmwz0SQgAAA==';\nimport 'src/components/AppBar.css.ts.vanilla.css?source=#H4sIAAAAAAAAE61Wy3LbIBTd5yvYdMbuBA3yM1Gmmy6666qbdjqdzLWEbBoEDCC/Ov33ApIdybISp85O4j44nHvvgegx3j2NYTIl6M8NQgtIn5ZaliLDqeRSJ2gNeoCxsc6Qc7nBipdLJvACDEtxyTAo5X40Po0cPrh0K8qWK3t5kso/hCrIMiaW2EqVoFQKFyzswEBOMWgKmAlDrbd2valY9zru3X9GtwdIj3HG88l4MnHGvzfRY5xKpYp9jKIjL7co0VLanxlYeOEIdkUL+iktFdWWCfmrkSEwq6RhlkmRIFgYyUtLuztWWBbvs3k3WcBhNQiTS10k1ScHS78PYkI+tCkg/4sCRKYlyzoESAUps7sEkYceGD8cDE2L4dFeE9YuFTmDs7Lcvwfkbqo2+rgffT8yeD9kcBWyKjCuZl1usVlBJjcJCkOCiNqiFHg6uHjopc6oxobt6RB9RDgeInK5YlTBB7Vo4BtVE1PNtGsYRKKpa4y2T0ILZXfBM2NGcXAUCCloy2sc7G+UMubkpiFizVasyUZjQgrjjRuW2VWCRtGoQviseaNo3gE9TiC1bE1PBiIa9e1DTCt+GgJz7gUsbllmwVKjaQ/MNJzijRxYurXt0nRkYXalLLQgewHyMH+XxrJ857YWlgpHoz+sT65tU+c5zZ0trinPnXNoQrcUxXfzQyk4ExQf6hFH06Pvpl5bSJ49HEaB7UO31W3plvquhLcd/NyVMOu9EhrN7E/uF4CzpcDM0sK4m9CRQvVZpp5NoXghrLkaTp5DwbhL7gvNKTY74/Leos+OqqevkH4L/1+cZ4erGSGnXB9oDsWYVgU8J0ADPA3Xy1UPgsseAq88AM538vzKTp439aruTRKNu/N/V13BvjxyTbXfxKHlnCnDzAm7TKyoZt06HNcbee/7BBOhArQ/QwUKSivbga+oaIeq+yup6kHqP9yW/wDsb3cFjgoAAA==';\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+2U3UrEMBBG7/cpAt4obEKzWha6+CQikr+2wSYTJhNcVnx3q6hX6ra97ZJACMn5IJPDNAhAW9Z8LA9WkeKZlHluB3jhaSidj1yr7A0vnlPvgrtX0SJ4+8heN4zxf67r8aBDKNFyAwNgw67atj2coawPv5DYaXVdbdnXFLK+ORekUho3yDWgdfhXULWfG5T9yTVMpuNUrne+66lht6JGF6ZS3kD8qdtOjuNuKkruSAvRZX+mgQgCz71z9F0mVNaXPBbq881vmxmGmZIcko+wcscqUc+3bCf2a9ZMPEkDKYVTtW53Lv1pqThy3eJcms5sd94BLE4WS0QJAAA=';\nimport 'src/components/AppScreen.css.ts.vanilla.css?source=#H4sIAAAAAAAAE61V246bMBB9z1f4pRJR48jsbi9x1P9oVVXVYDtgYmzLmKTdqv9eA8smwJImKBIPoDlz5syV9c+Yq93T49NH9GeBUAJsnzpTaY6ZUcZRdAAXYVz6YNgpc8RWVanUOIFSMlxJzGWBh17L7eLvYt0xf5rJfJn1c8PqHehSeml0x9fZSR/OTvCdcQVtXxV48TWKCXnXR8sGbSww6X9TRLbh6xlLzcWvYZy482TG2uKZoBPJClFnjP/OwcOFPH0mCvEFNHdG8h9oICITMs08RTFxotj2CkmRklqAw6kDLoX20axmrZBLE4jICr08y34xNkNJr3WJezi4EpdM4sigZdfh8tZ4EK7JOdhL5oxSdbHwUSR76fGrtTVJnYYJMBXLLnT2oV+GnNKOrSVJwDWRuSytghBWGy16wxCfMshvGgZWWeG81OZsHPIrJ3gUenNPFZvrBJFJNXBPNTBLDZkrYbyj+RuH4i0N36Jmfyd1zO7RWNKoQ+drOKVuukKz+zVWNurWTcpax33jaIHzsMPYG0sRA8X+e/nA2vDhcHtOl+g9YkYHeDiaJewEBicgnIFS+Jq0voD3iSL0YSrAWVaqyeoouc9CMdYPH15u/cRleux7F+3o1ypvFLg9+8E0CdaHBOFbaWo5/wBUmwz0SQgAAA==';\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+2U3UrEMBBG7/cpAt4obEKzWha6+CQikr+2wSYTJhNcVnx3q6hX6ra97ZJACMn5IJPDNAhAW9Z8LA9WkeKZlHluB3jhaSidj1yr7A0vnlPvgrtX0SJ4+8heN4zxf67r8aBDKNFyAwNgw67atj2coawPv5DYaXVdbdnXFLK+ORekUho3yDWgdfhXULWfG5T9yTVMpuNUrne+66lht6JGF6ZS3kD8qdtOjuNuKkruSAvRZX+mgQgCz71z9F0mVNaXPBbq881vmxmGmZIcko+wcscqUc+3bCf2a9ZMPEkDKYVTtW53Lv1pqThy3eJcms5sd94BLE4WS0QJAAA=';\nimport 'src/components/BottomSheet.css.ts.vanilla.css?source=Ll8xaHQzOGgwMyB7CiAgdHJhbnNpdGlvbjogdmFyKC0tXzFodDM4aDAwKTsKfQouXzFodDM4aDA3IHsKICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMTAwJSk7Cn0KLl8xaHQzOGgwZCB7CiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tc3RhY2tmbG93LXBsdWdpbi1iYXNpYy11aS1kaW0tYmFja2dyb3VuZC1jb2xvcik7CiAgei1pbmRleDogdmFyKC0tXzFodDM4aDAxKTsKICBvcGFjaXR5OiAwOwp9Ci5fMWh0MzhoMDQgLl8xaHQzOGgwZCwgLl8xaHQzOGgwNSAuXzFodDM4aDBkIHsKICBvcGFjaXR5OiAxOwp9Ci5fMWh0MzhoMDYgLl8xaHQzOGgwZCwgLl8xaHQzOGgwNyAuXzFodDM4aDBkIHsKICBvcGFjaXR5OiAwOwp9Ci5fMWh0MzhoMGUgewogIGJhY2tncm91bmQtY29sb3I6IHZhcigtLXN0YWNrZmxvdy1wbHVnaW4tYmFzaWMtdWktYmFja2dyb3VuZC1jb2xvcik7CiAgd2lkdGg6IDEwMCU7CiAgYm9yZGVyLXJhZGl1czogdmFyKC0tc3RhY2tmbG93LXBsdWdpbi1iYXNpYy11aS1ib3R0b20tc2hlZXQtYm9yZGVyLXJhZGl1cykgdmFyKC0tc3RhY2tmbG93LXBsdWdpbi1iYXNpYy11aS1ib3R0b20tc2hlZXQtYm9yZGVyLXJhZGl1cykgMCAwOwogIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgxMDAlKTsKICBvcGFjaXR5OiAwOwp9Ci5fMWh0MzhoMDQgLl8xaHQzOGgwZSwgLl8xaHQzOGgwNSAuXzFodDM4aDBlIHsKICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7CiAgb3BhY2l0eTogMTsKfQouXzFodDM4aDA2IC5fMWh0MzhoMGUsIC5fMWh0MzhoMDcgLl8xaHQzOGgwZSB7CiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDEwMCUpOwogIG9wYWNpdHk6IDA7Cn0=';\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+2U3UrEMBBG7/cpAt4obEKzWha6+CQikr+2wSYTJhNcVnx3q6hX6ra97ZJACMn5IJPDNAhAW9Z8LA9WkeKZlHluB3jhaSidj1yr7A0vnlPvgrtX0SJ4+8heN4zxf67r8aBDKNFyAwNgw67atj2coawPv5DYaXVdbdnXFLK+ORekUho3yDWgdfhXULWfG5T9yTVMpuNUrne+66lht6JGF6ZS3kD8qdtOjuNuKkruSAvRZX+mgQgCz71z9F0mVNaXPBbq881vmxmGmZIcko+wcscqUc+3bCf2a9ZMPEkDKYVTtW53Lv1pqThy3eJcms5sd94BLE4WS0QJAAA=';\nimport 'src/components/Modal.css.ts.vanilla.css?source=Ll81b3pnOGMzIHsKICB0cmFuc2l0aW9uOiB2YXIoLS1fNW96ZzhjMCk7Cn0KLl81b3pnOGM3IHsKICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMTAwJSk7Cn0KLl81b3pnOGNkIHsKICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1zdGFja2Zsb3ctcGx1Z2luLWJhc2ljLXVpLWRpbS1iYWNrZ3JvdW5kLWNvbG9yKTsKICB6LWluZGV4OiB2YXIoLS1fNW96ZzhjMSk7CiAgb3BhY2l0eTogMDsKfQouXzVvemc4YzQgLl81b3pnOGNkLCAuXzVvemc4YzUgLl81b3pnOGNkIHsKICBvcGFjaXR5OiAxOwp9Ci5fNW96ZzhjNiAuXzVvemc4Y2QsIC5fNW96ZzhjNyAuXzVvemc4Y2QgewogIG9wYWNpdHk6IDA7Cn0KLl81b3pnOGNlIHsKICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1zdGFja2Zsb3ctcGx1Z2luLWJhc2ljLXVpLWJhY2tncm91bmQtY29sb3IpOwogIHdpZHRoOiAxMDAlOwogIG1hcmdpbjogMCAyLjVyZW07CiAgYm94LXNoYWRvdzogMHB4IDAuNjI1cmVtIDIuMzc1cmVtIHJnYmEoMCwgMCwgMCwgMC4xNSksIDBweCAuNTYyNXJlbSAyLjg3NXJlbSByZ2JhKDAsIDAsIDAsIDAuMTIpLCAwcHggLjMxMjVyZW0gLjkzNzVyZW0gcmdiYSgwLCAwLCAwLCAwLjEpOwogIGJvcmRlci1yYWRpdXM6IHZhcigtLXN0YWNrZmxvdy1wbHVnaW4tYmFzaWMtdWktYm90dG9tLXNoZWV0LWJvcmRlci1yYWRpdXMpOwogIHRyYW5zZm9ybTogc2NhbGUoMS4xKTsKICBvcGFjaXR5OiAwOwp9Ci5fNW96ZzhjNCAuXzVvemc4Y2UsIC5fNW96ZzhjNSAuXzVvemc4Y2UgewogIHRyYW5zZm9ybTogc2NhbGUoMSk7CiAgb3BhY2l0eTogMTsKfQouXzVvemc4YzYgLl81b3pnOGNlLCAuXzVvemc4YzcgLl81b3pnOGNlIHsKICB0cmFuc2Zvcm06IHNjYWxlKDEuMSk7CiAgb3BhY2l0eTogMDsKfQ==';\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": ["assignInlineVars", "React", "createContext", "useContext", "
|
|
4
|
+
"sourcesContent": ["import type { StackflowReactPlugin } from \"@stackflow/react\";\nimport { assignInlineVars } from \"@vanilla-extract/dynamic\";\nimport React, { createContext, useContext, useMemo } 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 | {\n renderIcon?: () => React.ReactNode;\n onClick?: (e: React.MouseEvent<HTMLButtonElement>) => void;\n }\n | {\n render?: () => React.ReactNode;\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\ntype BasicUIPluginWrapperProps = {\n options: BasicUIPluginOptions;\n children: React.ReactNode;\n};\nconst BasicUIPluginWrapper: React.FC<BasicUIPluginWrapperProps> = (props) => {\n const options = useMemo(() => props.options, []);\n\n return (\n <GlobalOptionsProvider value={options}>\n <div\n style={assignInlineVars(\n compactMap({\n [theme.globalVars.backgroundColor]: options.backgroundColor,\n [theme.globalVars.dimBackgroundColor]: options.dimBackgroundColor,\n [theme.globalVars.appBar.borderColor]: 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]: options.modal?.borderRadius,\n }),\n )}\n >\n {props.children}\n </div>\n </GlobalOptionsProvider>\n );\n};\n\nexport const basicUIPlugin: (\n options: BasicUIPluginOptions,\n) => StackflowReactPlugin = (options) => () => ({\n key: \"basic-ui\",\n wrapStack({ stack }) {\n return (\n <BasicUIPluginWrapper options={options}>\n {stack.render()}\n </BasicUIPluginWrapper>\n );\n },\n});\n", "import 'src/theme.css.ts.vanilla.css?source=#H4sIAAAAAAAAE+2U3UrEMBBG7/cpAt4obEKzWha6+CQikr+2wSYTJhNcVnx3q6hX6ra97ZJACMn5IJPDNAhAW9Z8LA9WkeKZlHluB3jhaSidj1yr7A0vnlPvgrtX0SJ4+8heN4zxf67r8aBDKNFyAwNgw67atj2coawPv5DYaXVdbdnXFLK+ORekUho3yDWgdfhXULWfG5T9yTVMpuNUrne+66lht6JGF6ZS3kD8qdtOjuNuKkruSAvRZX+mgQgCz71z9F0mVNaXPBbq881vmxmGmZIcko+wcscqUc+3bCf2a9ZMPEkDKYVTtW53Lv1pqThy3eJcms5sd94BLE4WS0QJAAA=';\nexport var android = '_1coppmz0';\nexport var cupertino = '_1coppmz1';\nexport var globalVars = {backgroundColor:'var(--stackflow-plugin-basic-ui-background-color)',dimBackgroundColor:'var(--stackflow-plugin-basic-ui-dim-background-color)',appBar:{borderColor:'var(--stackflow-plugin-basic-ui-app-bar-border-color)',borderSize:'var(--stackflow-plugin-basic-ui-app-bar-border-size)',height:'var(--stackflow-plugin-basic-ui-app-bar-height)',iconColor:'var(--stackflow-plugin-basic-ui-app-bar-icon-color)',textColor:'var(--stackflow-plugin-basic-ui-app-bar-text-color)',backgroundColor:'var(--stackflow-plugin-basic-ui-app-bar-background-color)'},bottomSheet:{borderRadius:'var(--stackflow-plugin-basic-ui-bottom-sheet-border-radius)'},modal:{borderRadius:'var(--stackflow-plugin-basic-ui-bottom-sheet-border-radius)'}};\nexport var rootAndroid = ':root[data-stackflow-plugin-basic-ui-theme=android]';\nexport var rootCupertino = ':root[data-stackflow-plugin-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 globalOptions = 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: globalOptions.theme,\n refs:\n globalOptions.theme === \"cupertino\" ? [paperRef] : [paperRef, appBarRef],\n hasEffect: true,\n });\n useStyleEffectSwipeBack({\n theme: globalOptions.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 =\n zIndexBase + (globalOptions.theme === \"cupertino\" && hasAppBar ? 1 : 3);\n const zIndexEdge = zIndexBase + 4;\n const zIndexAppBar = zIndexBase + 7;\n\n const { transitionState } = activity;\n const lazyTransitionState = useLazy(transitionState);\n\n return (\n <div\n ref={appScreenRef}\n className={css.appScreen({\n transitionState:\n transitionState === \"enter-done\" || transitionState === \"exit-done\"\n ? transitionState\n : lazyTransitionState,\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 && globalOptions.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<HTMLElement>>;\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 type React from \"react\";\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 if (!ref.current) {\n return;\n }\n\n ref.current.style.display = \"none\";\n });\n break;\n }\n default: {\n refs.forEach((ref) => {\n if (!ref.current) {\n return;\n }\n\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 if (!ref.current) {\n return;\n }\n\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 if (!ref.current) {\n return;\n }\n\n const $el = ref.current;\n\n $el.style.transform = \"\";\n\n listenOnce($el, \"transitionend\", () => {\n $el.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) => {\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) => {\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, 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\"\n | \"borderSize\"\n | \"height\"\n | \"iconColor\"\n | \"textColor\"\n | \"backgroundColor\"\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 backgroundColor,\n },\n ref,\n ) => {\n const actions = useActions();\n const activity = useActivity();\n\n const globalOptions = useGlobalOptions();\n const globalCloseButton = globalOptions.appBar?.closeButton;\n\n const centerRef = useRef<any>(null);\n\n const { maxWidth } = useMaxWidth({\n outerRef: ref,\n innerRef: centerRef,\n enable: globalOptions.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 isRoot =\n activity.zIndex === 0 ||\n (activity.zIndex === 1 &&\n activity.transitionState === \"enter-active\" &&\n activity.pushedBy.name === \"Replaced\");\n\n const renderBackButton = () => {\n if (isRoot) {\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 (\n !e.defaultPrevented &&\n globalCloseButton &&\n \"onClick\" in globalCloseButton\n ) {\n globalCloseButton.onClick?.(e);\n }\n };\n\n const renderCloseButton = () => {\n if ((!closeButton && !globalOptions.appBar?.closeButton) || !isRoot) {\n return null;\n }\n if (closeButton && \"render\" in closeButton && closeButton.render) {\n return closeButton.render();\n }\n if (\n globalCloseButton &&\n \"render\" in globalCloseButton &&\n globalCloseButton.render\n ) {\n return globalCloseButton.render();\n }\n\n return (\n <button\n type=\"button\"\n className={css.closeButton}\n onClick={onCloseClick}\n >\n {(() => {\n if (\n closeButton &&\n \"renderIcon\" in closeButton &&\n closeButton.renderIcon\n ) {\n return closeButton.renderIcon();\n }\n if (\n globalCloseButton &&\n \"renderIcon\" in globalCloseButton &&\n globalCloseButton.renderIcon\n ) {\n return globalCloseButton.renderIcon();\n }\n\n return <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 [globalVars.appBar.backgroundColor]:\n backgroundColor || globalVars.backgroundColor,\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+2U3UrEMBBG7/cpAt4obEKzWha6+CQikr+2wSYTJhNcVnx3q6hX6ra97ZJACMn5IJPDNAhAW9Z8LA9WkeKZlHluB3jhaSidj1yr7A0vnlPvgrtX0SJ4+8heN4zxf67r8aBDKNFyAwNgw67atj2coawPv5DYaXVdbdnXFLK+ORekUho3yDWgdfhXULWfG5T9yTVMpuNUrne+66lht6JGF6ZS3kD8qdtOjuNuKkruSAvRZX+mgQgCz71z9F0mVNaXPBbq881vmxmGmZIcko+wcscqUc+3bCf2a9ZMPEkDKYVTtW53Lv1pqThy3eJcms5sd94BLE4WS0QJAAA=';\nimport 'src/components/AppScreen.css.ts.vanilla.css?source=#H4sIAAAAAAAAE61V246bMBB9z1f4pRJR48jsbi9x1P9oVVXVYDtgYmzLmKTdqv9eA8smwJImKBIPoDlz5syV9c+Yq93T49NH9GeBUAJsnzpTaY6ZUcZRdAAXYVz6YNgpc8RWVanUOIFSMlxJzGWBh17L7eLvYt0xf5rJfJn1c8PqHehSeml0x9fZSR/OTvCdcQVtXxV48TWKCXnXR8sGbSww6X9TRLbh6xlLzcWvYZy482TG2uKZoBPJClFnjP/OwcOFPH0mCvEFNHdG8h9oICITMs08RTFxotj2CkmRklqAw6kDLoX20axmrZBLE4jICr08y34xNkNJr3WJezi4EpdM4sigZdfh8tZ4EK7JOdhL5oxSdbHwUSR76fGrtTVJnYYJMBXLLnT2oV+GnNKOrSVJwDWRuSytghBWGy16wxCfMshvGgZWWeG81OZsHPIrJ3gUenNPFZvrBJFJNXBPNTBLDZkrYbyj+RuH4i0N36Jmfyd1zO7RWNKoQ+drOKVuukKz+zVWNurWTcpax33jaIHzsMPYG0sRA8X+e/nA2vDhcHtOl+g9YkYHeDiaJewEBicgnIFS+Jq0voD3iSL0YSrAWVaqyeoouc9CMdYPH15u/cRleux7F+3o1ypvFLg9+8E0CdaHBOFbaWo5/wBUmwz0SQgAAA==';\nimport 'src/components/AppBar.css.ts.vanilla.css?source=#H4sIAAAAAAAAE61Wy3LbIBTd5yvYdMbuBA3yM1Gmmy6666qbdjqdzLWEbBoEDCC/Ov33ApIdybISp85O4j44nHvvgegx3j2NYTIl6M8NQgtIn5ZaliLDqeRSJ2gNeoCxsc6Qc7nBipdLJvACDEtxyTAo5X40Po0cPrh0K8qWK3t5kso/hCrIMiaW2EqVoFQKFyzswEBOMWgKmAlDrbd2valY9zru3X9GtwdIj3HG88l4MnHGvzfRY5xKpYp9jKIjL7co0VLanxlYeOEIdkUL+iktFdWWCfmrkSEwq6RhlkmRIFgYyUtLuztWWBbvs3k3WcBhNQiTS10k1ScHS78PYkI+tCkg/4sCRKYlyzoESAUps7sEkYceGD8cDE2L4dFeE9YuFTmDs7Lcvwfkbqo2+rgffT8yeD9kcBWyKjCuZl1usVlBJjcJCkOCiNqiFHg6uHjopc6oxobt6RB9RDgeInK5YlTBB7Vo4BtVE1PNtGsYRKKpa4y2T0ILZXfBM2NGcXAUCCloy2sc7G+UMubkpiFizVasyUZjQgrjjRuW2VWCRtGoQviseaNo3gE9TiC1bE1PBiIa9e1DTCt+GgJz7gUsbllmwVKjaQ/MNJzijRxYurXt0nRkYXalLLQgewHyMH+XxrJ857YWlgpHoz+sT65tU+c5zZ0trinPnXNoQrcUxXfzQyk4ExQf6hFH06Pvpl5bSJ49HEaB7UO31W3plvquhLcd/NyVMOu9EhrN7E/uF4CzpcDM0sK4m9CRQvVZpp5NoXghrLkaTp5DwbhL7gvNKTY74/Leos+OqqevkH4L/1+cZ4erGSGnXB9oDsWYVgU8J0ADPA3Xy1UPgsseAq88AM538vzKTp439aruTRKNu/N/V13BvjxyTbXfxKHlnCnDzAm7TKyoZt06HNcbee/7BBOhArQ/QwUKSivbga+oaIeq+yup6kHqP9yW/wDsb3cFjgoAAA==';\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+2U3UrEMBBG7/cpAt4obEKzWha6+CQikr+2wSYTJhNcVnx3q6hX6ra97ZJACMn5IJPDNAhAW9Z8LA9WkeKZlHluB3jhaSidj1yr7A0vnlPvgrtX0SJ4+8heN4zxf67r8aBDKNFyAwNgw67atj2coawPv5DYaXVdbdnXFLK+ORekUho3yDWgdfhXULWfG5T9yTVMpuNUrne+66lht6JGF6ZS3kD8qdtOjuNuKkruSAvRZX+mgQgCz71z9F0mVNaXPBbq881vmxmGmZIcko+wcscqUc+3bCf2a9ZMPEkDKYVTtW53Lv1pqThy3eJcms5sd94BLE4WS0QJAAA=';\nimport 'src/components/AppScreen.css.ts.vanilla.css?source=#H4sIAAAAAAAAE61V246bMBB9z1f4pRJR48jsbi9x1P9oVVXVYDtgYmzLmKTdqv9eA8smwJImKBIPoDlz5syV9c+Yq93T49NH9GeBUAJsnzpTaY6ZUcZRdAAXYVz6YNgpc8RWVanUOIFSMlxJzGWBh17L7eLvYt0xf5rJfJn1c8PqHehSeml0x9fZSR/OTvCdcQVtXxV48TWKCXnXR8sGbSww6X9TRLbh6xlLzcWvYZy482TG2uKZoBPJClFnjP/OwcOFPH0mCvEFNHdG8h9oICITMs08RTFxotj2CkmRklqAw6kDLoX20axmrZBLE4jICr08y34xNkNJr3WJezi4EpdM4sigZdfh8tZ4EK7JOdhL5oxSdbHwUSR76fGrtTVJnYYJMBXLLnT2oV+GnNKOrSVJwDWRuSytghBWGy16wxCfMshvGgZWWeG81OZsHPIrJ3gUenNPFZvrBJFJNXBPNTBLDZkrYbyj+RuH4i0N36Jmfyd1zO7RWNKoQ+drOKVuukKz+zVWNurWTcpax33jaIHzsMPYG0sRA8X+e/nA2vDhcHtOl+g9YkYHeDiaJewEBicgnIFS+Jq0voD3iSL0YSrAWVaqyeoouc9CMdYPH15u/cRleux7F+3o1ypvFLg9+8E0CdaHBOFbaWo5/wBUmwz0SQgAAA==';\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+2U3UrEMBBG7/cpAt4obEKzWha6+CQikr+2wSYTJhNcVnx3q6hX6ra97ZJACMn5IJPDNAhAW9Z8LA9WkeKZlHluB3jhaSidj1yr7A0vnlPvgrtX0SJ4+8heN4zxf67r8aBDKNFyAwNgw67atj2coawPv5DYaXVdbdnXFLK+ORekUho3yDWgdfhXULWfG5T9yTVMpuNUrne+66lht6JGF6ZS3kD8qdtOjuNuKkruSAvRZX+mgQgCz71z9F0mVNaXPBbq881vmxmGmZIcko+wcscqUc+3bCf2a9ZMPEkDKYVTtW53Lv1pqThy3eJcms5sd94BLE4WS0QJAAA=';\nimport 'src/components/BottomSheet.css.ts.vanilla.css?source=Ll8xaHQzOGgwMyB7CiAgdHJhbnNpdGlvbjogdmFyKC0tXzFodDM4aDAwKTsKfQouXzFodDM4aDA3IHsKICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMTAwJSk7Cn0KLl8xaHQzOGgwZCB7CiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tc3RhY2tmbG93LXBsdWdpbi1iYXNpYy11aS1kaW0tYmFja2dyb3VuZC1jb2xvcik7CiAgei1pbmRleDogdmFyKC0tXzFodDM4aDAxKTsKICBvcGFjaXR5OiAwOwp9Ci5fMWh0MzhoMDQgLl8xaHQzOGgwZCwgLl8xaHQzOGgwNSAuXzFodDM4aDBkIHsKICBvcGFjaXR5OiAxOwp9Ci5fMWh0MzhoMDYgLl8xaHQzOGgwZCwgLl8xaHQzOGgwNyAuXzFodDM4aDBkIHsKICBvcGFjaXR5OiAwOwp9Ci5fMWh0MzhoMGUgewogIGJhY2tncm91bmQtY29sb3I6IHZhcigtLXN0YWNrZmxvdy1wbHVnaW4tYmFzaWMtdWktYmFja2dyb3VuZC1jb2xvcik7CiAgd2lkdGg6IDEwMCU7CiAgYm9yZGVyLXJhZGl1czogdmFyKC0tc3RhY2tmbG93LXBsdWdpbi1iYXNpYy11aS1ib3R0b20tc2hlZXQtYm9yZGVyLXJhZGl1cykgdmFyKC0tc3RhY2tmbG93LXBsdWdpbi1iYXNpYy11aS1ib3R0b20tc2hlZXQtYm9yZGVyLXJhZGl1cykgMCAwOwogIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgxMDAlKTsKICBvcGFjaXR5OiAwOwp9Ci5fMWh0MzhoMDQgLl8xaHQzOGgwZSwgLl8xaHQzOGgwNSAuXzFodDM4aDBlIHsKICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7CiAgb3BhY2l0eTogMTsKfQouXzFodDM4aDA2IC5fMWh0MzhoMGUsIC5fMWh0MzhoMDcgLl8xaHQzOGgwZSB7CiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDEwMCUpOwogIG9wYWNpdHk6IDA7Cn0=';\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+2U3UrEMBBG7/cpAt4obEKzWha6+CQikr+2wSYTJhNcVnx3q6hX6ra97ZJACMn5IJPDNAhAW9Z8LA9WkeKZlHluB3jhaSidj1yr7A0vnlPvgrtX0SJ4+8heN4zxf67r8aBDKNFyAwNgw67atj2coawPv5DYaXVdbdnXFLK+ORekUho3yDWgdfhXULWfG5T9yTVMpuNUrne+66lht6JGF6ZS3kD8qdtOjuNuKkruSAvRZX+mgQgCz71z9F0mVNaXPBbq881vmxmGmZIcko+wcscqUc+3bCf2a9ZMPEkDKYVTtW53Lv1pqThy3eJcms5sd94BLE4WS0QJAAA=';\nimport 'src/components/Modal.css.ts.vanilla.css?source=Ll81b3pnOGMzIHsKICB0cmFuc2l0aW9uOiB2YXIoLS1fNW96ZzhjMCk7Cn0KLl81b3pnOGM3IHsKICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMTAwJSk7Cn0KLl81b3pnOGNkIHsKICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1zdGFja2Zsb3ctcGx1Z2luLWJhc2ljLXVpLWRpbS1iYWNrZ3JvdW5kLWNvbG9yKTsKICB6LWluZGV4OiB2YXIoLS1fNW96ZzhjMSk7CiAgb3BhY2l0eTogMDsKfQouXzVvemc4YzQgLl81b3pnOGNkLCAuXzVvemc4YzUgLl81b3pnOGNkIHsKICBvcGFjaXR5OiAxOwp9Ci5fNW96ZzhjNiAuXzVvemc4Y2QsIC5fNW96ZzhjNyAuXzVvemc4Y2QgewogIG9wYWNpdHk6IDA7Cn0KLl81b3pnOGNlIHsKICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1zdGFja2Zsb3ctcGx1Z2luLWJhc2ljLXVpLWJhY2tncm91bmQtY29sb3IpOwogIHdpZHRoOiAxMDAlOwogIG1hcmdpbjogMCAyLjVyZW07CiAgYm94LXNoYWRvdzogMHB4IDAuNjI1cmVtIDIuMzc1cmVtIHJnYmEoMCwgMCwgMCwgMC4xNSksIDBweCAuNTYyNXJlbSAyLjg3NXJlbSByZ2JhKDAsIDAsIDAsIDAuMTIpLCAwcHggLjMxMjVyZW0gLjkzNzVyZW0gcmdiYSgwLCAwLCAwLCAwLjEpOwogIGJvcmRlci1yYWRpdXM6IHZhcigtLXN0YWNrZmxvdy1wbHVnaW4tYmFzaWMtdWktYm90dG9tLXNoZWV0LWJvcmRlci1yYWRpdXMpOwogIHRyYW5zZm9ybTogc2NhbGUoMS4xKTsKICBvcGFjaXR5OiAwOwp9Ci5fNW96ZzhjNCAuXzVvemc4Y2UsIC5fNW96ZzhjNSAuXzVvemc4Y2UgewogIHRyYW5zZm9ybTogc2NhbGUoMSk7CiAgb3BhY2l0eTogMTsKfQouXzVvemc4YzYgLl81b3pnOGNlLCAuXzVvemc4YzcgLl81b3pnOGNlIHsKICB0cmFuc2Zvcm06IHNjYWxlKDEuMSk7CiAgb3BhY2l0eTogMDsKfQ==';\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": ["assignInlineVars", "React", "createContext", "useContext", "useMemo", "globalVars", "compactMap", "obj", "acc", "key", "value", "listenOnce", "el", "type", "cb", "listener", "listenResize", "cb", "noop", "requestNextFrame", "cb", "GlobalOptionsContext", "createContext", "GlobalOptionsProvider", "useGlobalOptions", "useContext", "BasicUIPluginWrapper", "props", "_a", "_b", "_c", "_d", "_e", "_f", "_g", "options", "useMemo", "React", "assignInlineVars", "compactMap", "globalVars", "basicUIPlugin", "stack", "useActions", "useActivity", "assignInlineVars", "React", "useRef", "useEffect", "useState", "useLazy", "value", "state", "setState", "useState", "useEffect", "requestNextFrame", "useEffect", "useState", "useMaxWidth", "outerRef", "innerRef", "enable", "maxWidth", "setMaxWidth", "useState", "useEffect", "$outer", "$inner", "noop", "listenResize", "screenWidth", "leftWidth", "centerWidth", "rightWidth", "sideMargin", "useActivity", "useEffect", "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", "$el", "listenOnce", "useStyleEffectSwipeBack", "theme", "dimRef", "edgeRef", "paperRef", "hasEffect", "onSwiped", "useStyleEffect", "refs", "$dim", "$edge", "$paper", "x0", "t0", "x", "cachedRefs", "resetState", "_rAFLock", "movePaper", "dx", "ref", "_a", "OFFSET_PX_CUPERTINO", "resetPaper", "swiped", "listenOnce", "i", "cachedRef", "onTouchStart", "e", "activeElement", "onTouchMove", "onTouchEnd", "t", "useActions", "useActivity", "assignInlineVars", "React", "useRef", "React", "IconBack", "props", "IconBack_default", "React", "IconClose", "props", "IconClose_default", "_7a468", "appBar", "backButton", "center", "centerMain", "centerText", "closeButton", "left", "right", "_7a468", "appScreen", "_7a468", "dim", "edge", "_7a468", "paper", "_7a468", "vars", "AppBar", "React", "title", "appendLeft", "appendRight", "backButton", "closeButton", "closeButtonLocation", "border", "iconColor", "textColor", "borderColor", "borderSize", "height", "backgroundColor", "ref", "_a", "actions", "useActions", "activity", "useActivity", "globalOptions", "useGlobalOptions", "globalCloseButton", "centerRef", "useRef", "maxWidth", "useMaxWidth", "onBackClick", "e", "isRoot", "renderBackButton", "IconBack_default", "onCloseClick", "renderCloseButton", "IconClose_default", "hasLeft", "appBar", "assignInlineVars", "compactMap", "globalVars", "vars", "left", "center", "centerMain", "centerText", "right", "AppBar_default", "AppScreen", "backgroundColor", "dimBackgroundColor", "appBar", "children", "globalOptions", "useGlobalOptions", "activity", "useActivity", "pop", "useActions", "appScreenRef", "useRef", "dimRef", "paperRef", "edgeRef", "appBarRef", "useStyleEffectHide", "useStyleEffectOffset", "useStyleEffectSwipeBack", "isRoot", "hasAppBar", "zIndexBase", "zIndexDim", "zIndexPaper", "zIndexEdge", "zIndexAppBar", "transitionState", "lazyTransitionState", "useLazy", "React", "appScreen", "assignInlineVars", "compactMap", "globalVars", "vars", "dim", "paper", "edge", "AppBar_default", "__spreadProps", "__spreadValues", "AppScreen_default", "useActions", "useActivity", "assignInlineVars", "React", "useRef", "_7a468", "container", "dim", "paper", "vars", "BottomSheet", "borderRadius", "backgroundColor", "dimBackgroundColor", "onOutsideClick", "children", "activity", "useActivity", "pop", "useActions", "containerRef", "useRef", "paperRef", "useStyleEffect", "popLock", "onDimClick", "e", "onPaperClick", "zIndexBase", "zIndexPaper", "React", "container", "useLazy", "assignInlineVars", "compactMap", "globalVars", "vars", "dim", "paper", "BottomSheet_default", "useActions", "useActivity", "assignInlineVars", "React", "useRef", "_7a468", "container", "dim", "paper", "vars", "Modal", "backgroundColor", "dimBackgroundColor", "borderRadius", "onOutsideClick", "children", "activity", "useActivity", "pop", "useActions", "containerRef", "useRef", "paperRef", "useStyleEffect", "popLock", "onDimClick", "e", "onPaperClick", "zIndexBase", "zIndexPaper", "React", "container", "useLazy", "assignInlineVars", "compactMap", "globalVars", "vars", "dim", "paper", "Modal_default"]
|
|
7
7
|
}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@stackflow/plugin-basic-ui",
|
|
3
|
-
"version": "0.16.1-alpha.
|
|
3
|
+
"version": "0.16.1-alpha.24+f49a978a",
|
|
4
4
|
"license": "MIT",
|
|
5
5
|
"exports": {
|
|
6
6
|
".": {
|
|
@@ -34,7 +34,7 @@
|
|
|
34
34
|
"@stackflow/core": "^0.16.0",
|
|
35
35
|
"@stackflow/esbuild-config": "^0.16.0",
|
|
36
36
|
"@stackflow/eslint-config": "^0.16.0",
|
|
37
|
-
"@stackflow/react": "^0.16.
|
|
37
|
+
"@stackflow/react": "^0.16.0",
|
|
38
38
|
"@types/react": "^18.0.10",
|
|
39
39
|
"@typescript-eslint/eslint-plugin": "^5.32.0",
|
|
40
40
|
"@typescript-eslint/parser": "^5.20.0",
|
|
@@ -69,5 +69,5 @@
|
|
|
69
69
|
"build"
|
|
70
70
|
]
|
|
71
71
|
},
|
|
72
|
-
"gitHead": "
|
|
72
|
+
"gitHead": "f49a978a91483090b02fbcd62dac3767b94cb975"
|
|
73
73
|
}
|
package/src/basicUIPlugin.tsx
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import type { StackflowReactPlugin } from "@stackflow/react";
|
|
2
2
|
import { assignInlineVars } from "@vanilla-extract/dynamic";
|
|
3
|
-
import React, { createContext, useContext } from "react";
|
|
3
|
+
import React, { createContext, useContext, useMemo } from "react";
|
|
4
4
|
|
|
5
5
|
import * as theme from "./theme.css";
|
|
6
6
|
import type { RecursivePartial } from "./utils";
|
|
@@ -30,37 +30,46 @@ export function useGlobalOptions() {
|
|
|
30
30
|
return useContext(GlobalOptionsContext);
|
|
31
31
|
}
|
|
32
32
|
|
|
33
|
+
type BasicUIPluginWrapperProps = {
|
|
34
|
+
options: BasicUIPluginOptions;
|
|
35
|
+
children: React.ReactNode;
|
|
36
|
+
};
|
|
37
|
+
const BasicUIPluginWrapper: React.FC<BasicUIPluginWrapperProps> = (props) => {
|
|
38
|
+
const options = useMemo(() => props.options, []);
|
|
39
|
+
|
|
40
|
+
return (
|
|
41
|
+
<GlobalOptionsProvider value={options}>
|
|
42
|
+
<div
|
|
43
|
+
style={assignInlineVars(
|
|
44
|
+
compactMap({
|
|
45
|
+
[theme.globalVars.backgroundColor]: options.backgroundColor,
|
|
46
|
+
[theme.globalVars.dimBackgroundColor]: options.dimBackgroundColor,
|
|
47
|
+
[theme.globalVars.appBar.borderColor]: options.appBar?.borderColor,
|
|
48
|
+
[theme.globalVars.appBar.borderSize]: options.appBar?.borderSize,
|
|
49
|
+
[theme.globalVars.appBar.height]: options.appBar?.height,
|
|
50
|
+
[theme.globalVars.appBar.iconColor]: options.appBar?.iconColor,
|
|
51
|
+
[theme.globalVars.appBar.textColor]: options.appBar?.textColor,
|
|
52
|
+
[theme.globalVars.bottomSheet.borderRadius]:
|
|
53
|
+
options.bottomSheet?.borderRadius,
|
|
54
|
+
[theme.globalVars.modal.borderRadius]: options.modal?.borderRadius,
|
|
55
|
+
}),
|
|
56
|
+
)}
|
|
57
|
+
>
|
|
58
|
+
{props.children}
|
|
59
|
+
</div>
|
|
60
|
+
</GlobalOptionsProvider>
|
|
61
|
+
);
|
|
62
|
+
};
|
|
63
|
+
|
|
33
64
|
export const basicUIPlugin: (
|
|
34
65
|
options: BasicUIPluginOptions,
|
|
35
66
|
) => StackflowReactPlugin = (options) => () => ({
|
|
36
67
|
key: "basic-ui",
|
|
37
68
|
wrapStack({ stack }) {
|
|
38
69
|
return (
|
|
39
|
-
<
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
typeof window !== "undefined" ? theme[options.theme] : undefined
|
|
43
|
-
}
|
|
44
|
-
style={assignInlineVars(
|
|
45
|
-
compactMap({
|
|
46
|
-
[theme.globalVars.backgroundColor]: options.backgroundColor,
|
|
47
|
-
[theme.globalVars.dimBackgroundColor]: options.dimBackgroundColor,
|
|
48
|
-
[theme.globalVars.appBar.borderColor]:
|
|
49
|
-
options.appBar?.borderColor,
|
|
50
|
-
[theme.globalVars.appBar.borderSize]: options.appBar?.borderSize,
|
|
51
|
-
[theme.globalVars.appBar.height]: options.appBar?.height,
|
|
52
|
-
[theme.globalVars.appBar.iconColor]: options.appBar?.iconColor,
|
|
53
|
-
[theme.globalVars.appBar.textColor]: options.appBar?.textColor,
|
|
54
|
-
[theme.globalVars.bottomSheet.borderRadius]:
|
|
55
|
-
options.bottomSheet?.borderRadius,
|
|
56
|
-
[theme.globalVars.modal.borderRadius]:
|
|
57
|
-
options.modal?.borderRadius,
|
|
58
|
-
}),
|
|
59
|
-
)}
|
|
60
|
-
>
|
|
61
|
-
{stack.render()}
|
|
62
|
-
</div>
|
|
63
|
-
</GlobalOptionsProvider>
|
|
70
|
+
<BasicUIPluginWrapper options={options}>
|
|
71
|
+
{stack.render()}
|
|
72
|
+
</BasicUIPluginWrapper>
|
|
64
73
|
);
|
|
65
74
|
},
|
|
66
75
|
});
|