@stackflow/plugin-basic-ui 0.21.1 → 0.21.3-alpha.0
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/components/AppBar.css.d.ts +13 -0
- package/dist/components/AppBar.d.ts +1 -0
- package/dist/components/AppScreen.css.d.ts +9 -0
- package/dist/components/AppScreen.d.ts +1 -0
- package/dist/hooks/useStyleEffectSwipeBack.d.ts +2 -2
- package/dist/index.css +51 -42
- package/dist/index.css.map +3 -3
- package/dist/index.js +33 -21
- package/dist/index.js.map +2 -2
- package/dist/index.mjs +33 -21
- package/dist/index.mjs.map +2 -2
- package/package.json +3 -3
- package/src/components/AppBar.css.ts +67 -13
- package/src/components/AppBar.tsx +24 -2
- package/src/components/AppScreen.css.ts +44 -20
- package/src/components/AppScreen.tsx +18 -5
- package/src/hooks/useStyleEffectSwipeBack.ts +3 -3
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/compact.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/useNullableActivity.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 {\n default as AppScreen,\n AppScreenContext,\n AppScreenProps,\n useAppScreen,\n} from \"./components/AppScreen\";\nexport {\n default as BottomSheet,\n BottomSheetProps,\n} from \"./components/BottomSheet\";\nexport { default as Modal, ModalProps } 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 { compact, compactMap } from \"./utils\";\n\ntype BasicUIPluginOptions = RecursivePartial<theme.GlobalVars> & {\n theme: \"android\" | \"cupertino\";\n rootClassName?: string;\n appBar?: {\n backButton?:\n | {\n renderIcon?: () => React.ReactNode;\n ariaLabel?: string;\n }\n | {\n render?: () => React.ReactNode;\n };\n closeButton?:\n | {\n renderIcon?: () => React.ReactNode;\n ariaLabel?: string;\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\"\n ? compact([theme[options.theme], options.rootClassName]).join(\" \")\n : options.rootClassName\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+2U30rDMBTG7/cUAW8UltJWyyDik4iMNEnbYJMTTk5xTHx3s+Hu1LW9kdmRQP5+X044P45AAFozcRietSTJI0n12vTwxkM/tNbzWkar+GA5dcaZJ+k1gtUv7H3FGP/lep0OWoTBa66gBxTspmmaxzMqbd03SmxreZuv2VfPiurunJEMIS2Q14Da4E9G+WaqUbR7I1gRdmN1nbFtR4LdZxUaN03FCaWPlix4rgeUh4lg5aZycayRS5vzQrAqvXpKXVmk9jBWSmZHM6XzsKmBCByPnTF0yhRKbYeYcnX888dqAuRqCAbJelg45nlWTQe9zDZ/TvrEGP4b6tkR4+22UBCC2+fLpvharC+e4GLZBF/r8EVS/AmYPn1EXgsAAA==';\nexport var android = 'theme__1coppmz0';\nexport var cupertino = 'theme__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)',heightTransitionDuration:'var(--stackflow-plugin-basic-ui-app-bar-height-transition-duration)',minHeight:'var(--stackflow-plugin-basic-ui-app-bar-min-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 compact<T>(arr: Array<T>): Array<NonNullable<T>> {\n return arr.filter(\n (item): item is NonNullable<typeof item> =>\n item !== undefined && item !== null,\n );\n}\n", "export function compactMap<T extends {}>(\n obj: T,\n): {\n [key in keyof T]: NonNullable<T[key]>;\n} {\n return Object.entries(obj).reduce<any>((acc, [key, value]) => {\n if (value !== null && value !== undefined) {\n acc[key] = value;\n }\n\n return acc;\n }, {});\n}\n", "export function listenOnce<T extends HTMLElement>(\n el: T,\n type: keyof HTMLElementEventMap,\n cb: () => void,\n) {\n const listener = () => {\n el.removeEventListener(type, listener);\n cb();\n };\n\n el.addEventListener(type, listener);\n}\n", "export const listenResize = (cb: () => void) => {\n cb();\n window.addEventListener(\"resize\", cb);\n\n return () => {\n window.removeEventListener(\"resize\", cb);\n };\n};\n", "export const noop = () => {};\n", "// https://github.com/MingruiZhang/react-animate-mount/blob/32300c04a4fdfa97724b70aaaf0c0f403d6da247/src/Animate.js#L171-L179\nexport function requestNextFrame(cb: () => void) {\n requestAnimationFrame(() => {\n requestAnimationFrame(() => {\n cb();\n });\n });\n}\n", "/* eslint-disable no-param-reassign */\n\nimport { useActions } from \"@stackflow/react\";\nimport { assignInlineVars } from \"@vanilla-extract/dynamic\";\nimport React, { createContext, useContext, useMemo, useRef } from \"react\";\n\nimport { useGlobalOptions } from \"../basicUIPlugin\";\nimport {\n useLazy,\n useNullableActivity,\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\nexport type AppScreenContext = {\n scroll: (args: { top: number }) => void;\n};\nconst Context = createContext<AppScreenContext>(null as any);\n\nexport function useAppScreen() {\n return useContext(Context);\n}\n\nexport type AppScreenProps = Partial<\n Pick<GlobalVars, \"backgroundColor\" | \"dimBackgroundColor\">\n> & {\n appBar?: Omit<PropOf<typeof AppBar>, \"theme\" | \"ref\" | \"key\">;\n preventSwipeBack?: boolean;\n children: React.ReactNode;\n};\nconst AppScreen: React.FC<AppScreenProps> = ({\n backgroundColor,\n dimBackgroundColor,\n appBar,\n preventSwipeBack,\n children,\n}) => {\n const globalOptions = useGlobalOptions();\n const activity = useNullableActivity();\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 preventSwipeBack,\n onSwiped() {\n pop();\n },\n });\n\n const hasAppBar = !!appBar;\n\n const zIndexBase = (activity?.zIndex ?? 0) * 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?.transitionState ?? \"enter-done\";\n const lazyTransitionState = useLazy(transitionState);\n\n const onAppBarTopClick: React.MouseEventHandler = (e) => {\n appBar?.onTopClick?.(e);\n\n if (!e.defaultPrevented) {\n paperRef.current?.scroll({\n top: 0,\n behavior: \"smooth\",\n });\n }\n };\n\n return (\n <Context.Provider\n value={useMemo(\n () => ({\n scroll({ top }) {\n paperRef?.current?.scroll({\n top,\n behavior: \"smooth\",\n });\n },\n }),\n [paperRef],\n )}\n >\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 [globalVars.appBar.heightTransitionDuration]:\n appBar?.heightTransitionDuration,\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 transitionState === \"enter-active\" ||\n transitionState === \"exit-active\"\n ? `var(--stackflow-transition-duration)`\n : \"0ms\",\n }),\n )}\n >\n <div className={css.dim} ref={dimRef} />\n {appBar && (\n <AppBar {...appBar} ref={appBarRef} onTopClick={onAppBarTopClick} />\n )}\n <div\n key={activity?.id}\n className={css.paper({\n hasAppBar,\n })}\n ref={paperRef}\n >\n {children}\n </div>\n {!activity?.isRoot &&\n globalOptions.theme === \"cupertino\" &&\n !preventSwipeBack && (\n <div className={css.edge({ hasAppBar })} ref={edgeRef} />\n )}\n </div>\n </Context.Provider>\n );\n};\n\nAppScreen.displayName = \"AppScreen\";\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 { Activity } from \"@stackflow/core\";\nimport { useActivity } from \"@stackflow/react\";\n\nexport function useNullableActivity() {\n return useActivity() as Activity | null;\n}\n", "import type { ActivityTransitionState } from \"@stackflow/core\";\nimport type React from \"react\";\nimport { useEffect } from \"react\";\n\nimport { useNullableActivity } from \"./useNullableActivity\";\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 effectDeps,\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 effectDeps?: any[];\n}) {\n const activity = useNullableActivity();\n\n useEffect(() => {\n if (!activity) {\n return () => {};\n }\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 (!activity) {\n return () => {};\n }\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, ...(effectDeps ?? [])]);\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 const cleanup = () => {\n refs.forEach((ref) => {\n if (!ref.current) {\n return;\n }\n const $ref = ref.current;\n\n $ref.style.display = \"\";\n });\n };\n\n switch (activityTransitionState) {\n case \"enter-done\": {\n refs.forEach((ref) => {\n if (!ref.current) {\n return;\n }\n const $ref = ref.current;\n\n $ref.style.display = \"none\";\n });\n\n return () => {\n cleanup();\n };\n }\n default: {\n cleanup();\n\n return () => {};\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 ? `translate3d(-${OFFSET_PX_CUPERTINO / 16}rem, 0, 0)`\n : `translate3d(0, -${OFFSET_PX_ANDROID / 16}rem, 0)`;\n\n const cleanup = () => {\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 };\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\n switch (activityTransitionState) {\n case \"enter-done\":\n return () => {\n cleanup();\n };\n case \"enter-active\":\n default:\n return () => {};\n }\n }\n case \"exit-active\":\n case \"exit-done\": {\n requestNextFrame(() => {\n cleanup();\n });\n\n return () => {};\n }\n default: {\n return () => {};\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 preventSwipeBack,\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 preventSwipeBack?: 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 = `translate3d(${dx}px, 0, 0)`;\n $paper.style.transition = \"0s\";\n\n refs.forEach((ref) => {\n if (!ref.current) {\n return;\n }\n\n ref.current.style.transform = `translate3d(${\n -1 * (1 - p) * OFFSET_PX_CUPERTINO\n }px, 0, 0)`;\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 }): Promise<void> {\n return new Promise((resolve) => {\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 =\n \"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 = `translate3d(${\n swiped ? \"0\" : `-${OFFSET_PX_CUPERTINO / 16}rem`\n }, 0, 0)`;\n });\n\n const _cachedRefs = [...cachedRefs];\n\n resolve();\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 =\n _cachedRef.style.transition;\n ref.current.style.transform = _cachedRef.style.transform;\n\n if (\n ref.current.parentElement &&\n _cachedRef.parentElement\n ) {\n ref.current.parentElement.style.display =\n _cachedRef.parentElement.style.display;\n }\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 Promise.resolve()\n .then(() => resetPaper({ swiped }))\n .then(() => resetState());\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 effectDeps: [preventSwipeBack],\n });\n}\n", "import { useActions } 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, useNullableActivity } 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 | \"heightTransitionDuration\"\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 ariaLabel?: string;\n onClick?: (e: React.MouseEvent<HTMLButtonElement>) => void;\n }\n | {\n render?: () => React.ReactNode;\n };\n closeButton?:\n | {\n renderIcon?: () => React.ReactNode;\n ariaLabel?: string;\n onClick?: (e: React.MouseEvent<HTMLButtonElement>) => void;\n }\n | {\n render?: () => React.ReactNode;\n };\n closeButtonLocation?: \"left\" | \"right\";\n border?: boolean;\n onTopClick?: (e: React.MouseEvent) => void;\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 onTopClick,\n },\n ref,\n ) => {\n const actions = useActions();\n const activity = useNullableActivity();\n\n const globalOptions = useGlobalOptions();\n const globalCloseButton = globalOptions.appBar?.closeButton;\n const globalBackButton = globalOptions.appBar?.backButton;\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 renderBackButton = () => {\n if (!activity) {\n return null;\n }\n if (activity.isRoot) {\n return null;\n }\n\n if (!backButton && !globalBackButton) {\n return (\n <button\n type=\"button\"\n className={css.backButton}\n onClick={onBackClick}\n >\n <IconBack />\n </button>\n );\n }\n\n if (backButton && \"render\" in backButton && backButton.render) {\n return backButton.render?.();\n }\n if (\n globalBackButton &&\n \"render\" in globalBackButton &&\n globalBackButton.render\n ) {\n return globalBackButton.render?.();\n }\n\n return (\n <button\n type=\"button\"\n className={css.backButton}\n aria-label={\n backButton && \"ariaLabel\" in backButton\n ? backButton.ariaLabel\n : globalBackButton && \"ariaLabel\" in globalBackButton\n ? globalBackButton.ariaLabel\n : undefined\n }\n onClick={onBackClick}\n >\n {(() => {\n if (\n backButton &&\n \"renderIcon\" in backButton &&\n backButton.renderIcon\n ) {\n return backButton.renderIcon();\n }\n if (\n globalBackButton &&\n \"renderIcon\" in globalBackButton &&\n globalBackButton.renderIcon\n ) {\n return globalBackButton.renderIcon();\n }\n\n return <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 const isRoot = !activity || activity.isRoot;\n\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 aria-label={\n closeButton && \"ariaLabel\" in closeButton\n ? closeButton.ariaLabel\n : globalCloseButton && \"ariaLabel\" in globalCloseButton\n ? globalCloseButton.ariaLabel\n : undefined\n }\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.safeArea} />\n <div className={css.container}>\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 <button\n className={css.centerMainEdge}\n type=\"button\"\n aria-hidden=\"true\"\n onClick={onTopClick}\n />\n </div>\n </div>\n <div className={css.right}>\n {appendRight?.()}\n {closeButtonLocation === \"right\" && renderCloseButton()}\n </div>\n </div>\n </div>\n );\n },\n);\n\nAppBar.displayName = \"AppBar\";\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=LmZfX2RodGh4cTAgewogIHdpZHRoOiAxMDAlOwp9Ci5mX19kaHRoeHExIHsKICBoZWlnaHQ6IDEwMCU7Cn0KLmZfX2RodGh4cTIgewogIHRvcDogMDsKfQouZl9fZGh0aHhxMyB7CiAgbGVmdDogMDsKfQouZl9fZGh0aHhxNCB7CiAgcG9zaXRpb246IGFic29sdXRlOwp9Ci5mX19kaHRoeHE1IHsKICBwb3NpdGlvbjogcmVsYXRpdmU7Cn0KLmZfX2RodGh4cTcgewogIGRpc3BsYXk6IGZsZXg7Cn0KLmZfX2RodGh4cTggewogIGZsZXg6IDE7Cn0KLmZfX2RodGh4cTkgewogIGFsaWduLWl0ZW1zOiBjZW50ZXI7Cn0KLmZfX2RodGh4cWEgewogIGFsaWduLWl0ZW1zOiBmbGV4LWVuZDsKfQouZl9fZGh0aHhxYiB7CiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7Cn0KLmZfX2RodGh4cWMgewogIG92ZXJmbG93OiBoaWRkZW47Cn0KLmZfX2RodGh4cWQgewogIHdoaXRlLXNwYWNlOiBub3dyYXA7Cn0KLmZfX2RodGh4cWUgewogIHRleHQtYWxpZ246IGNlbnRlcjsKfQouZl9fZGh0aHhxZiB7CiAgY3Vyc29yOiBwb2ludGVyOwogIC13ZWJraXQtdGFwLWhpZ2hsaWdodC1jb2xvcjogdHJhbnNwYXJlbnQ7Cn0KLmZfX2RodGh4cWcgewogIGJveC1zaXppbmc6IGJvcmRlci1ib3g7Cn0KLmZfX2RodGh4cWggewogIGJveC1zaXppbmc6IGNvbnRlbnQtYm94Owp9Ci5mX19kaHRoeHFpIHsKICBhcHBlYXJhbmNlOiBub25lOwogIGJvcmRlcjogMDsKICBwYWRkaW5nOiAwOwogIGJhY2tncm91bmQ6IG5vbmU7Cn0=';\nimport 'src/theme.css.ts.vanilla.css?source=#H4sIAAAAAAAAE+2U30rDMBTG7/cUAW8UltJWyyDik4iMNEnbYJMTTk5xTHx3s+Hu1LW9kdmRQP5+X044P45AAFozcRietSTJI0n12vTwxkM/tNbzWkar+GA5dcaZJ+k1gtUv7H3FGP/lep0OWoTBa66gBxTspmmaxzMqbd03SmxreZuv2VfPiurunJEMIS2Q14Da4E9G+WaqUbR7I1gRdmN1nbFtR4LdZxUaN03FCaWPlix4rgeUh4lg5aZycayRS5vzQrAqvXpKXVmk9jBWSmZHM6XzsKmBCByPnTF0yhRKbYeYcnX888dqAuRqCAbJelg45nlWTQe9zDZ/TvrEGP4b6tkR4+22UBCC2+fLpvharC+e4GLZBF/r8EVS/AmYPn1EXgsAAA==';\nimport 'src/components/AppScreen.css.ts.vanilla.css?source=#H4sIAAAAAAAAE71WwY7aMBC98xW+VAIVo2TZbtugHlr10nOPVbWa2CYxOLblONBS9d9rJxDYrpMlNKqEBJZn3ryZecx48VHrr8QwJh8fYyrW98v7B/RrglAKZJsZVUmKiRLKJGgHZopxad3FWqg91qLKuMQplJzgimPKC/y312w1+T1ZPI/x9sYY1+K/q/GtAVlyy5VMmt9rZYpjjPPd58qA/26do9kcKQ2E25/XGHdQIGcKPuyRgQDLlnQaR9GrOYrcp8ud1+5HGgmKVu50wFxS9uNUpsMXf2Klr3zrF8+85Z4LgUkOMmPJCaQOZHNWMGdMlNbFIUKhyHOUGKXsNwoWenpRQ30ASY3i9HsQqc4hZzzLbYLiyLBi9aTtCRJcMjA4M0A5k3Z6k8jmyGQpTKOmor6oXVV9302zLXXc4Qv/4Jte4Rt1Cul2301jtmOmrqazLIlRQvg24D1Lt9zi9ra54jJzWlUVyfskp0Ez04a5ey66VvhdzJLkRKCJm4KpyVJeagGOqVSSBTQbh8qxGaRZUjnylksVVO1myB/3Cm5BzY1JOBygL4toYApB6Y+ZQjjAjSkEp9owtn1TbROYzN0k66k3hOgIculj3yOWyyk2Wt1HkE5fOj3CGZ7OGSmH0h0+gXm0pmIt8PY/PivmSAOlbhpjq/SLDyPQ2h0MbpbtBTKmR+h6RF9AJoiAIC8u3KfAM/QaESWdudvVJawZBsPA7YiSWQ86Gy0Kk7uuAMF9IurW7Dm1uev44u7N8bHRtcAYzc59XV7Z/6Lpv09rYEari4dQXRG/SBAeCuN5/gG9kduZswsAAA==';\nimport 'src/components/AppBar.css.ts.vanilla.css?source=#H4sIAAAAAAAAE7VWyW7bMBC95yt4KWAXoUB5SRoFPTQoChRoTzn0UBQBJVI2G4oUSCpeiv57SWqxLUteEhcI4IicGc48vnnD4FOeP2D19BSunsd4MkXgzxUAGRNwTtlsbiLwgtUAQm1w8pxyuYA5L2Z2O8aaJbBgEOe5/VBw4zO8v/p7FbQChz5wbKPMlCwEgYnkUp0evu1pDwFgDZkgdFlHWX91X1Q7p/JswtPJeDLxxgvGOUzmWMxoBIzCQqdSZddA5jhhZuWTNnOaUeuXyDzP1iHYq+IaREpK85Nggw9k7eN8TIqcKsOE/LUfyMORS80MkyICONaSF4b2ZvGYKEpFU1J82dSOR/f5NqhVAHJs6JgMQoTeXQNk/4Yd+aM3pooFUZKRPgyr64sAuu/P0OYWIkWzMsXKrIK+calYtNn7XCjsfhtc0LChyynGvWC04L67JELHY+/CFh6G7fCttg7D/7GQjtivLKQKE0tFqHoyqqBNyFGpUnIJ9RwTuYgAE5oagPIlSDBPBjAE70/XLH8C1GxNh0OAzvWrdW5fTMc+zVqhEylsTGEGGqcUYkUx9FlDI3PP9tqQipcem/0jJjtHnJp5MwB2W6xcPjPKVm9BUjVXZ6rTUksxIUzMrA4AFExtr3eaRjTLbfM6B8J0zrEljpCCdhnfeLMz5xSzt7E1obZRqJVjjFCmy4lEzDwCo2BU5rvBexTc9pVwE+HEsBfaEr9g1Hcc0l1h7rx/lUFZXDk1YUKFsezLMBM/3HbTgVNf0Zl4GLo0PXhcmBXHps7dZabODnBu8rmyfhfasHRlC7XYCXuBKadLd4Yy9xtuQk5TuxdWl51aYy8OdikIP9zWJOBM0Ob5FQbTxnZRrcWSk/tap9jas77SDLt00kPmPDAOPGTueh8yWx3m0HALmLOZgMzQTFvZ8jzrRG+z5enj3bZXPRopzhi3wR1BOIV6pY0b8A8WvufvOHn031+s5R5+Nwi18a+h9xc0LS+1a5YMoN3cEdXXSKPMT1Btb3VQsvsYP8f6my1kd7Tht9G/O+a28lbsRsG4V7tib78D8obnjQgexj3DS1h1X+3QUvJXyNoJHRNfqmPi3ekTc5k8d4GVlE9u1wDyhSp3mOUD5yzXTLf4y8ScKrbP9GZ9Pzzpm5oOYuVKKu8JF0Z2+h8cpcfEmFxGjHuKcP/YNP4BuwZEPN0OAAA=';\nimport { createRuntimeFn as _7a468 } from '@vanilla-extract/recipes/createRuntimeFn';\nexport var appBar = _7a468({defaultClassName:'AppBar__1yk3a451 f__dhthxq4 f__dhthxq0 f__dhthxqh f__dhthxqc AppScreen__1dlf4347',variantClassNames:{border:{true:'AppBar_border_true__1yk3a452'}},defaultVariants:{},compoundVariants:[]});\nexport var backButton = 'AppBar__1yk3a456 f__dhthxq9 f__dhthxq7 f__dhthxqb f__dhthxqf f__dhthxqi';\nexport var center = 'f__dhthxq9 f__dhthxq7 f__dhthxq8 AppBar__1yk3a450';\nexport var centerMain = _7a468({defaultClassName:'AppBar__1yk3a459',variantClassNames:{hasLeft:{true:'AppBar_hasLeft_true__1yk3a45a'}},defaultVariants:{},compoundVariants:[]});\nexport var centerMainEdge = 'AppBar__1yk3a45b f__dhthxqi f__dhthxq4 f__dhthxq2 f__dhthxqf';\nexport var centerText = 'AppBar__1yk3a45c f__dhthxqc f__dhthxqd f__dhthxq0';\nexport var closeButton = 'AppBar__1yk3a456 f__dhthxq9 f__dhthxq7 f__dhthxqb f__dhthxqf f__dhthxqi';\nexport var container = 'AppBar__1yk3a454 f__dhthxqa f__dhthxq7 f__dhthxqc';\nexport var left = 'AppBar__1yk3a455 f__dhthxq9 f__dhthxq7 f__dhthxq1 AppBar__1yk3a450';\nexport var right = 'AppBar__1yk3a45d f__dhthxq9 f__dhthxq7 f__dhthxq1 f__dhthxq5 AppBar__1yk3a450';\nexport var safeArea = 'AppBar__1yk3a453';", "import 'src/styles/f.css.ts.vanilla.css?source=LmZfX2RodGh4cTAgewogIHdpZHRoOiAxMDAlOwp9Ci5mX19kaHRoeHExIHsKICBoZWlnaHQ6IDEwMCU7Cn0KLmZfX2RodGh4cTIgewogIHRvcDogMDsKfQouZl9fZGh0aHhxMyB7CiAgbGVmdDogMDsKfQouZl9fZGh0aHhxNCB7CiAgcG9zaXRpb246IGFic29sdXRlOwp9Ci5mX19kaHRoeHE1IHsKICBwb3NpdGlvbjogcmVsYXRpdmU7Cn0KLmZfX2RodGh4cTcgewogIGRpc3BsYXk6IGZsZXg7Cn0KLmZfX2RodGh4cTggewogIGZsZXg6IDE7Cn0KLmZfX2RodGh4cTkgewogIGFsaWduLWl0ZW1zOiBjZW50ZXI7Cn0KLmZfX2RodGh4cWEgewogIGFsaWduLWl0ZW1zOiBmbGV4LWVuZDsKfQouZl9fZGh0aHhxYiB7CiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7Cn0KLmZfX2RodGh4cWMgewogIG92ZXJmbG93OiBoaWRkZW47Cn0KLmZfX2RodGh4cWQgewogIHdoaXRlLXNwYWNlOiBub3dyYXA7Cn0KLmZfX2RodGh4cWUgewogIHRleHQtYWxpZ246IGNlbnRlcjsKfQouZl9fZGh0aHhxZiB7CiAgY3Vyc29yOiBwb2ludGVyOwogIC13ZWJraXQtdGFwLWhpZ2hsaWdodC1jb2xvcjogdHJhbnNwYXJlbnQ7Cn0KLmZfX2RodGh4cWcgewogIGJveC1zaXppbmc6IGJvcmRlci1ib3g7Cn0KLmZfX2RodGh4cWggewogIGJveC1zaXppbmc6IGNvbnRlbnQtYm94Owp9Ci5mX19kaHRoeHFpIHsKICBhcHBlYXJhbmNlOiBub25lOwogIGJvcmRlcjogMDsKICBwYWRkaW5nOiAwOwogIGJhY2tncm91bmQ6IG5vbmU7Cn0=';\nimport 'src/theme.css.ts.vanilla.css?source=#H4sIAAAAAAAAE+2U30rDMBTG7/cUAW8UltJWyyDik4iMNEnbYJMTTk5xTHx3s+Hu1LW9kdmRQP5+X044P45AAFozcRietSTJI0n12vTwxkM/tNbzWkar+GA5dcaZJ+k1gtUv7H3FGP/lep0OWoTBa66gBxTspmmaxzMqbd03SmxreZuv2VfPiurunJEMIS2Q14Da4E9G+WaqUbR7I1gRdmN1nbFtR4LdZxUaN03FCaWPlix4rgeUh4lg5aZycayRS5vzQrAqvXpKXVmk9jBWSmZHM6XzsKmBCByPnTF0yhRKbYeYcnX888dqAuRqCAbJelg45nlWTQe9zDZ/TvrEGP4b6tkR4+22UBCC2+fLpvharC+e4GLZBF/r8EVS/AmYPn1EXgsAAA==';\nimport 'src/components/AppScreen.css.ts.vanilla.css?source=#H4sIAAAAAAAAE71WwY7aMBC98xW+VAIVo2TZbtugHlr10nOPVbWa2CYxOLblONBS9d9rJxDYrpMlNKqEBJZn3ryZecx48VHrr8QwJh8fYyrW98v7B/RrglAKZJsZVUmKiRLKJGgHZopxad3FWqg91qLKuMQplJzgimPKC/y312w1+T1ZPI/x9sYY1+K/q/GtAVlyy5VMmt9rZYpjjPPd58qA/26do9kcKQ2E25/XGHdQIGcKPuyRgQDLlnQaR9GrOYrcp8ud1+5HGgmKVu50wFxS9uNUpsMXf2Klr3zrF8+85Z4LgUkOMmPJCaQOZHNWMGdMlNbFIUKhyHOUGKXsNwoWenpRQ30ASY3i9HsQqc4hZzzLbYLiyLBi9aTtCRJcMjA4M0A5k3Z6k8jmyGQpTKOmor6oXVV9302zLXXc4Qv/4Jte4Rt1Cul2301jtmOmrqazLIlRQvg24D1Lt9zi9ra54jJzWlUVyfskp0Ez04a5ey66VvhdzJLkRKCJm4KpyVJeagGOqVSSBTQbh8qxGaRZUjnylksVVO1myB/3Cm5BzY1JOBygL4toYApB6Y+ZQjjAjSkEp9owtn1TbROYzN0k66k3hOgIculj3yOWyyk2Wt1HkE5fOj3CGZ7OGSmH0h0+gXm0pmIt8PY/PivmSAOlbhpjq/SLDyPQ2h0MbpbtBTKmR+h6RF9AJoiAIC8u3KfAM/QaESWdudvVJawZBsPA7YiSWQ86Gy0Kk7uuAMF9IurW7Dm1uev44u7N8bHRtcAYzc59XV7Z/6Lpv09rYEari4dQXRG/SBAeCuN5/gG9kduZswsAAA==';\nimport { createRuntimeFn as _7a468 } from '@vanilla-extract/recipes/createRuntimeFn';\nexport var allTransitions = 'AppScreen__1dlf4348';\nexport var appScreen = _7a468({defaultClassName:'f__dhthxq4 f__dhthxq0 f__dhthxq1 f__dhthxq2 f__dhthxq3 f__dhthxqc',variantClassNames:{transitionState:{'enter-active':'AppScreen__1dlf4349','enter-done':'AppScreen__1dlf434a','exit-active':'AppScreen__1dlf434b','exit-done':'AppScreen__1dlf434c'}},defaultVariants:{},compoundVariants:[]});\nexport var background = 'AppScreen__1dlf4347';\nexport var dim = 'AppScreen__1dlf434i f__dhthxq4 f__dhthxq0 f__dhthxq1 f__dhthxq2 f__dhthxq3 AppScreen__1dlf4346 AppScreen__1dlf4348';\nexport var edge = _7a468({defaultClassName:'AppScreen__1dlf434l f__dhthxq4 f__dhthxq2 f__dhthxq3 f__dhthxq1',variantClassNames:{hasAppBar:{true:'AppScreen_hasAppBar_true__1dlf434m'}},defaultVariants:{},compoundVariants:[]});\nexport var enterActive = 'AppScreen__1dlf4349';\nexport var enterDone = 'AppScreen__1dlf434a';\nexport var exitActive = 'AppScreen__1dlf434b';\nexport var exitDone = 'AppScreen__1dlf434c';\nexport var paper = _7a468({defaultClassName:'AppScreen__1dlf434j f__dhthxq4 f__dhthxq0 f__dhthxq1 f__dhthxq2 f__dhthxq3 AppScreen__1dlf4347 AppScreen__1dlf4348',variantClassNames:{hasAppBar:{true:'AppScreen_hasAppBar_true__1dlf434k f__dhthxqg'}},defaultVariants:{},compoundVariants:[]});\nexport var vars = {transitionDuration:'var(--transitionDuration__1dlf4340)',zIndexes:{dim:'var(--zIndexes-dim__1dlf4341)',paper:'var(--zIndexes-paper__1dlf4342)',edge:'var(--zIndexes-edge__1dlf4343)',appBar:'var(--zIndexes-appBar__1dlf4344)'},appBar:{center:{mainWidth:'var(--appBar-center-mainWidth__1dlf4345)'}}};", "/* eslint-disable jsx-a11y/no-static-element-interactions, jsx-a11y/click-events-have-key-events */\n\nimport { useActions } from \"@stackflow/react\";\nimport { assignInlineVars } from \"@vanilla-extract/dynamic\";\nimport React, { useRef } from \"react\";\n\nimport { useLazy, useNullableActivity, 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\nexport type 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 = useNullableActivity();\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 ?? 0) * 5 + 3;\n const zIndexPaper = (activity?.zIndex ?? 0) * 5 + 4;\n const transitionState = activity?.transitionState ?? \"enter-done\";\n\n return (\n <div\n className={css.container({\n transitionState: useLazy(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 transitionState === \"enter-active\" ||\n 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\nBottomSheet.displayName = \"BottomSheet\";\n\nexport default BottomSheet;\n", "import 'src/styles/f.css.ts.vanilla.css?source=LmZfX2RodGh4cTAgewogIHdpZHRoOiAxMDAlOwp9Ci5mX19kaHRoeHExIHsKICBoZWlnaHQ6IDEwMCU7Cn0KLmZfX2RodGh4cTIgewogIHRvcDogMDsKfQouZl9fZGh0aHhxMyB7CiAgbGVmdDogMDsKfQouZl9fZGh0aHhxNCB7CiAgcG9zaXRpb246IGFic29sdXRlOwp9Ci5mX19kaHRoeHE1IHsKICBwb3NpdGlvbjogcmVsYXRpdmU7Cn0KLmZfX2RodGh4cTcgewogIGRpc3BsYXk6IGZsZXg7Cn0KLmZfX2RodGh4cTggewogIGZsZXg6IDE7Cn0KLmZfX2RodGh4cTkgewogIGFsaWduLWl0ZW1zOiBjZW50ZXI7Cn0KLmZfX2RodGh4cWEgewogIGFsaWduLWl0ZW1zOiBmbGV4LWVuZDsKfQouZl9fZGh0aHhxYiB7CiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7Cn0KLmZfX2RodGh4cWMgewogIG92ZXJmbG93OiBoaWRkZW47Cn0KLmZfX2RodGh4cWQgewogIHdoaXRlLXNwYWNlOiBub3dyYXA7Cn0KLmZfX2RodGh4cWUgewogIHRleHQtYWxpZ246IGNlbnRlcjsKfQouZl9fZGh0aHhxZiB7CiAgY3Vyc29yOiBwb2ludGVyOwogIC13ZWJraXQtdGFwLWhpZ2hsaWdodC1jb2xvcjogdHJhbnNwYXJlbnQ7Cn0KLmZfX2RodGh4cWcgewogIGJveC1zaXppbmc6IGJvcmRlci1ib3g7Cn0KLmZfX2RodGh4cWggewogIGJveC1zaXppbmc6IGNvbnRlbnQtYm94Owp9Ci5mX19kaHRoeHFpIHsKICBhcHBlYXJhbmNlOiBub25lOwogIGJvcmRlcjogMDsKICBwYWRkaW5nOiAwOwogIGJhY2tncm91bmQ6IG5vbmU7Cn0=';\nimport 'src/theme.css.ts.vanilla.css?source=#H4sIAAAAAAAAE+2U30rDMBTG7/cUAW8UltJWyyDik4iMNEnbYJMTTk5xTHx3s+Hu1LW9kdmRQP5+X044P45AAFozcRietSTJI0n12vTwxkM/tNbzWkar+GA5dcaZJ+k1gtUv7H3FGP/lep0OWoTBa66gBxTspmmaxzMqbd03SmxreZuv2VfPiurunJEMIS2Q14Da4E9G+WaqUbR7I1gRdmN1nbFtR4LdZxUaN03FCaWPlix4rgeUh4lg5aZycayRS5vzQrAqvXpKXVmk9jBWSmZHM6XzsKmBCByPnTF0yhRKbYeYcnX888dqAuRqCAbJelg45nlWTQe9zDZ/TvrEGP4b6tkR4+22UBCC2+fLpvharC+e4GLZBF/r8EVS/AmYPn1EXgsAAA==';\nimport 'src/components/BottomSheet.css.ts.vanilla.css?source=#H4sIAAAAAAAAE6VT3U7DIBS+71NwY7IlPQtN1ZnuznjjtQ+wUGAtkcIC1OmM7y5U20ZT3GaTJpSf7+ccPlb32jndPNWcu+02q11+V+McvScIOUOUFU5oVaAXYhYA48pDa0gYBwhebpKPZDXFth7Zdto0xdevJI7nbJFhfJUi7L84AesISkKfK6NbxYBqqU1vyjq/sZP6AHvZVkJBSayg0ApgooHfKK+C0BGEYvy1Zzg+hhm3ATCIZt1JvSdUuLcC4ai7azRtOp1ev4kc72oc5LKo3O1lcuuz5OLV8X/2frLvB8Fc7Yvzdx6mpTaMGzCEidaeQdnZAxv8wQ/schYWh/KDOSmB1kRVvBjTmvZN2sQz7NP7HeOZmeGXZYb/9bDw8KrmxCrmKBKrU46ibfoES/9iF4cEAAA=';\nimport { createRuntimeFn as _7a468 } from '@vanilla-extract/recipes/createRuntimeFn';\nexport var container = _7a468({defaultClassName:'f__dhthxq4 f__dhthxq0 f__dhthxq1 f__dhthxq2 f__dhthxq3 f__dhthxqc',variantClassNames:{transitionState:{'enter-active':'BottomSheet__1ht38h04','enter-done':'BottomSheet__1ht38h05','exit-active':'BottomSheet__1ht38h06','exit-done':'BottomSheet__1ht38h07'}},defaultVariants:{},compoundVariants:[]});\nexport var dim = 'BottomSheet__1ht38h0d f__dhthxq4 f__dhthxq0 f__dhthxq1 f__dhthxq2 f__dhthxq3 f__dhthxqc f__dhthxqa f__dhthxq7 BottomSheet__1ht38h03';\nexport var enterActive = 'BottomSheet__1ht38h04';\nexport var enterDone = 'BottomSheet__1ht38h05';\nexport var exitActive = 'BottomSheet__1ht38h06';\nexport var exitDone = 'BottomSheet__1ht38h07';\nexport var paper = 'BottomSheet__1ht38h0e f__dhthxqc BottomSheet__1ht38h03';\nexport var vars = {transitionDuration:'var(--transitionDuration__1ht38h00)',zIndexes:{dim:'var(--zIndexes-dim__1ht38h01)',paper:'var(--zIndexes-paper__1ht38h02)'}};", "/* eslint-disable jsx-a11y/no-static-element-interactions, jsx-a11y/click-events-have-key-events */\n\nimport { useActions } from \"@stackflow/react\";\nimport { assignInlineVars } from \"@vanilla-extract/dynamic\";\nimport React, { useRef } from \"react\";\n\nimport { useLazy, useNullableActivity, 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\nexport type 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 = useNullableActivity();\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 ?? 0) * 5 + 3;\n const zIndexPaper = (activity?.zIndex ?? 0) * 5 + 4;\n const transitionState = activity?.transitionState ?? \"enter-done\";\n\n return (\n <div\n className={css.container({\n transitionState: useLazy(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 transitionState === \"enter-active\" ||\n 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\nModal.displayName = \"Modal\";\n\nexport default Modal;\n", "import 'src/styles/f.css.ts.vanilla.css?source=LmZfX2RodGh4cTAgewogIHdpZHRoOiAxMDAlOwp9Ci5mX19kaHRoeHExIHsKICBoZWlnaHQ6IDEwMCU7Cn0KLmZfX2RodGh4cTIgewogIHRvcDogMDsKfQouZl9fZGh0aHhxMyB7CiAgbGVmdDogMDsKfQouZl9fZGh0aHhxNCB7CiAgcG9zaXRpb246IGFic29sdXRlOwp9Ci5mX19kaHRoeHE1IHsKICBwb3NpdGlvbjogcmVsYXRpdmU7Cn0KLmZfX2RodGh4cTcgewogIGRpc3BsYXk6IGZsZXg7Cn0KLmZfX2RodGh4cTggewogIGZsZXg6IDE7Cn0KLmZfX2RodGh4cTkgewogIGFsaWduLWl0ZW1zOiBjZW50ZXI7Cn0KLmZfX2RodGh4cWEgewogIGFsaWduLWl0ZW1zOiBmbGV4LWVuZDsKfQouZl9fZGh0aHhxYiB7CiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7Cn0KLmZfX2RodGh4cWMgewogIG92ZXJmbG93OiBoaWRkZW47Cn0KLmZfX2RodGh4cWQgewogIHdoaXRlLXNwYWNlOiBub3dyYXA7Cn0KLmZfX2RodGh4cWUgewogIHRleHQtYWxpZ246IGNlbnRlcjsKfQouZl9fZGh0aHhxZiB7CiAgY3Vyc29yOiBwb2ludGVyOwogIC13ZWJraXQtdGFwLWhpZ2hsaWdodC1jb2xvcjogdHJhbnNwYXJlbnQ7Cn0KLmZfX2RodGh4cWcgewogIGJveC1zaXppbmc6IGJvcmRlci1ib3g7Cn0KLmZfX2RodGh4cWggewogIGJveC1zaXppbmc6IGNvbnRlbnQtYm94Owp9Ci5mX19kaHRoeHFpIHsKICBhcHBlYXJhbmNlOiBub25lOwogIGJvcmRlcjogMDsKICBwYWRkaW5nOiAwOwogIGJhY2tncm91bmQ6IG5vbmU7Cn0=';\nimport 'src/theme.css.ts.vanilla.css?source=#H4sIAAAAAAAAE+2U30rDMBTG7/cUAW8UltJWyyDik4iMNEnbYJMTTk5xTHx3s+Hu1LW9kdmRQP5+X044P45AAFozcRietSTJI0n12vTwxkM/tNbzWkar+GA5dcaZJ+k1gtUv7H3FGP/lep0OWoTBa66gBxTspmmaxzMqbd03SmxreZuv2VfPiurunJEMIS2Q14Da4E9G+WaqUbR7I1gRdmN1nbFtR4LdZxUaN03FCaWPlix4rgeUh4lg5aZycayRS5vzQrAqvXpKXVmk9jBWSmZHM6XzsKmBCByPnTF0yhRKbYeYcnX888dqAuRqCAbJelg45nlWTQe9zDZ/TvrEGP4b6tkR4+22UBCC2+fLpvharC+e4GLZBF/r8EVS/AmYPn1EXgsAAA==';\nimport 'src/components/Modal.css.ts.vanilla.css?source=#H4sIAAAAAAAAE51T0W6CMBR99yv6sgQT2hQZ0+HrXvawbzCXtmKzQk1bpnPZv6+AaECcbkkT2ttzzj339kLeNAe1WiX6kC9YjL4mCDkDpZVO6jJFH2ACjM+Rl8pA/e0YdLqcfE9IT2V+VllrU6TtVoETMQ8iSh9CRP0aYfKGmQF7z42uSo6ZVtp0LqzzF2uld3irqlyWOAMrGa4k5rLAQ5aXR+iAZcnFvlM4vNYnYWtClzNqgHoLTLrPFNFLV49o4DIcBJIhoCnjJBldSj7dkpz/LjniUvyzd6N920nuNt65f6z6WIDxHJ8WzUhiRFHHMr3HdgNc73x8u0eUPM3qOw+J583G5BkEtH1sv0iUTMMGSpITdHEFOuugcdRCyfM11WnrxnBhsAEuK3tH0do5XXj/Qjjc4x7LVwqzDZS5SM+DHHb9X/bH2zJQIojI3ydJ3JokMfyVjrn6me4YsItMwwG7lmmsqh+//tn1NQQAAA==';\nimport { createRuntimeFn as _7a468 } from '@vanilla-extract/recipes/createRuntimeFn';\nexport var container = _7a468({defaultClassName:'f__dhthxq4 f__dhthxq0 f__dhthxq1 f__dhthxq2 f__dhthxq3 f__dhthxqc',variantClassNames:{transitionState:{'enter-active':'Modal__5ozg8c4','enter-done':'Modal__5ozg8c5','exit-active':'Modal__5ozg8c6','exit-done':'Modal__5ozg8c7'}},defaultVariants:{},compoundVariants:[]});\nexport var dim = 'Modal__5ozg8cd f__dhthxq4 f__dhthxq0 f__dhthxq1 f__dhthxq2 f__dhthxq3 f__dhthxqc f__dhthxq9 f__dhthxq7 f__dhthxqb Modal__5ozg8c3';\nexport var enterActive = 'Modal__5ozg8c4';\nexport var enterDone = 'Modal__5ozg8c5';\nexport var exitActive = 'Modal__5ozg8c6';\nexport var exitDone = 'Modal__5ozg8c7';\nexport var paper = 'Modal__5ozg8ce f__dhthxqc Modal__5ozg8c3';\nexport var vars = {transitionDuration:'var(--transitionDuration__5ozg8c0)',zIndexes:{dim:'var(--zIndexes-dim__5ozg8c1)',paper:'var(--zIndexes-paper__5ozg8c2)'}};"],
|
|
5
|
-
"mappings": "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",
|
|
4
|
+
"sourcesContent": ["export { basicUIPlugin } from \"./basicUIPlugin\";\nexport {\n default as AppScreen,\n AppScreenContext,\n AppScreenProps,\n useAppScreen,\n} from \"./components/AppScreen\";\nexport {\n default as BottomSheet,\n BottomSheetProps,\n} from \"./components/BottomSheet\";\nexport { default as Modal, ModalProps } 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 { compact, compactMap } from \"./utils\";\n\ntype BasicUIPluginOptions = RecursivePartial<theme.GlobalVars> & {\n theme: \"android\" | \"cupertino\";\n rootClassName?: string;\n appBar?: {\n backButton?:\n | {\n renderIcon?: () => React.ReactNode;\n ariaLabel?: string;\n }\n | {\n render?: () => React.ReactNode;\n };\n closeButton?:\n | {\n renderIcon?: () => React.ReactNode;\n ariaLabel?: string;\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\"\n ? compact([theme[options.theme], options.rootClassName]).join(\" \")\n : options.rootClassName\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+2U30rDMBTG7/cUAW8UltJWyyDik4iMNEnbYJMTTk5xTHx3s+Hu1LW9kdmRQP5+X044P45AAFozcRietSTJI0n12vTwxkM/tNbzWkar+GA5dcaZJ+k1gtUv7H3FGP/lep0OWoTBa66gBxTspmmaxzMqbd03SmxreZuv2VfPiurunJEMIS2Q14Da4E9G+WaqUbR7I1gRdmN1nbFtR4LdZxUaN03FCaWPlix4rgeUh4lg5aZycayRS5vzQrAqvXpKXVmk9jBWSmZHM6XzsKmBCByPnTF0yhRKbYeYcnX888dqAuRqCAbJelg45nlWTQe9zDZ/TvrEGP4b6tkR4+22UBCC2+fLpvharC+e4GLZBF/r8EVS/AmYPn1EXgsAAA==';\nexport var android = 'theme__1coppmz0';\nexport var cupertino = 'theme__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)',heightTransitionDuration:'var(--stackflow-plugin-basic-ui-app-bar-height-transition-duration)',minHeight:'var(--stackflow-plugin-basic-ui-app-bar-min-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 compact<T>(arr: Array<T>): Array<NonNullable<T>> {\n return arr.filter(\n (item): item is NonNullable<typeof item> =>\n item !== undefined && item !== null,\n );\n}\n", "export function compactMap<T extends {}>(\n obj: T,\n): {\n [key in keyof T]: NonNullable<T[key]>;\n} {\n return Object.entries(obj).reduce<any>((acc, [key, value]) => {\n if (value !== null && value !== undefined) {\n acc[key] = value;\n }\n\n return acc;\n }, {});\n}\n", "export function listenOnce<T extends HTMLElement>(\n el: T,\n type: keyof HTMLElementEventMap,\n cb: () => void,\n) {\n const listener = () => {\n el.removeEventListener(type, listener);\n cb();\n };\n\n el.addEventListener(type, listener);\n}\n", "export const listenResize = (cb: () => void) => {\n cb();\n window.addEventListener(\"resize\", cb);\n\n return () => {\n window.removeEventListener(\"resize\", cb);\n };\n};\n", "export const noop = () => {};\n", "// https://github.com/MingruiZhang/react-animate-mount/blob/32300c04a4fdfa97724b70aaaf0c0f403d6da247/src/Animate.js#L171-L179\nexport function requestNextFrame(cb: () => void) {\n requestAnimationFrame(() => {\n requestAnimationFrame(() => {\n cb();\n });\n });\n}\n", "/* eslint-disable no-param-reassign */\n\nimport { useActions } from \"@stackflow/react\";\nimport { assignInlineVars } from \"@vanilla-extract/dynamic\";\nimport React, { createContext, useContext, useMemo, useRef } from \"react\";\n\nimport { useGlobalOptions } from \"../basicUIPlugin\";\nimport {\n useLazy,\n useNullableActivity,\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\nexport type AppScreenContext = {\n scroll: (args: { top: number }) => void;\n};\nconst Context = createContext<AppScreenContext>(null as any);\n\nexport function useAppScreen() {\n return useContext(Context);\n}\n\nexport type AppScreenProps = Partial<\n Pick<GlobalVars, \"backgroundColor\" | \"dimBackgroundColor\">\n> & {\n appBar?: Omit<PropOf<typeof AppBar>, \"theme\" | \"ref\" | \"key\">;\n preventSwipeBack?: boolean;\n modalPresentationStyle?: \"fullScreen\";\n children: React.ReactNode;\n};\nconst AppScreen: React.FC<AppScreenProps> = ({\n backgroundColor,\n dimBackgroundColor,\n appBar,\n preventSwipeBack,\n modalPresentationStyle,\n children,\n}) => {\n const globalOptions = useGlobalOptions();\n const activity = useNullableActivity();\n\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 const presentModalFullScreen = modalPresentationStyle === \"fullScreen\";\n const swipeBackPrevented = preventSwipeBack || presentModalFullScreen;\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: !presentModalFullScreen,\n });\n useStyleEffectSwipeBack({\n theme: globalOptions.theme,\n dimRef,\n edgeRef,\n paperRef,\n hasEffect: true,\n prevented: swipeBackPrevented,\n onSwiped() {\n pop();\n },\n });\n\n const hasAppBar = !!appBar;\n\n const zIndexBase = (activity?.zIndex ?? 0) * 5;\n const zIndexDim = zIndexBase;\n const zIndexPaper =\n zIndexBase + (globalOptions.theme === \"cupertino\" && hasAppBar ? 1 : 3);\n const zIndexEdge = zIndexBase + 4;\n const zIndexAppBar =\n globalOptions.theme === \"cupertino\" ? zIndexBase + 7 : zIndexBase + 4;\n\n const transitionState = activity?.transitionState ?? \"enter-done\";\n const lazyTransitionState = useLazy(transitionState);\n\n const onAppBarTopClick: React.MouseEventHandler = (e) => {\n appBar?.onTopClick?.(e);\n\n if (!e.defaultPrevented) {\n paperRef.current?.scroll({\n top: 0,\n behavior: \"smooth\",\n });\n }\n };\n\n return (\n <Context.Provider\n value={useMemo(\n () => ({\n scroll({ top }) {\n paperRef?.current?.scroll({\n top,\n behavior: \"smooth\",\n });\n },\n }),\n [paperRef],\n )}\n >\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 [globalVars.appBar.heightTransitionDuration]:\n appBar?.heightTransitionDuration,\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 transitionState === \"enter-active\" ||\n transitionState === \"exit-active\"\n ? `var(--stackflow-transition-duration)`\n : \"0ms\",\n }),\n )}\n >\n <div className={css.dim} ref={dimRef} />\n {appBar && (\n <AppBar\n {...appBar}\n ref={appBarRef}\n modalPresentationStyle={modalPresentationStyle}\n onTopClick={onAppBarTopClick}\n />\n )}\n <div\n key={activity?.id}\n className={css.paper({\n hasAppBar,\n presentModalFullScreen,\n })}\n ref={paperRef}\n >\n {children}\n </div>\n {!activity?.isRoot &&\n globalOptions.theme === \"cupertino\" &&\n !swipeBackPrevented && (\n <div className={css.edge({ hasAppBar })} ref={edgeRef} />\n )}\n </div>\n </Context.Provider>\n );\n};\n\nAppScreen.displayName = \"AppScreen\";\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 { Activity } from \"@stackflow/core\";\nimport { useActivity } from \"@stackflow/react\";\n\nexport function useNullableActivity() {\n return useActivity() as Activity | null;\n}\n", "import type { ActivityTransitionState } from \"@stackflow/core\";\nimport type React from \"react\";\nimport { useEffect } from \"react\";\n\nimport { useNullableActivity } from \"./useNullableActivity\";\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 effectDeps,\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 effectDeps?: any[];\n}) {\n const activity = useNullableActivity();\n\n useEffect(() => {\n if (!activity) {\n return () => {};\n }\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 (!activity) {\n return () => {};\n }\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, ...(effectDeps ?? [])]);\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 const cleanup = () => {\n refs.forEach((ref) => {\n if (!ref.current) {\n return;\n }\n const $ref = ref.current;\n\n $ref.style.display = \"\";\n });\n };\n\n switch (activityTransitionState) {\n case \"enter-done\": {\n refs.forEach((ref) => {\n if (!ref.current) {\n return;\n }\n const $ref = ref.current;\n\n $ref.style.display = \"none\";\n });\n\n return () => {\n cleanup();\n };\n }\n default: {\n cleanup();\n\n return () => {};\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 ? `translate3d(-${OFFSET_PX_CUPERTINO / 16}rem, 0, 0)`\n : `translate3d(0, -${OFFSET_PX_ANDROID / 16}rem, 0)`;\n\n const cleanup = () => {\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 };\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\n switch (activityTransitionState) {\n case \"enter-done\":\n return () => {\n cleanup();\n };\n case \"enter-active\":\n default:\n return () => {};\n }\n }\n case \"exit-active\":\n case \"exit-done\": {\n requestNextFrame(() => {\n cleanup();\n });\n\n return () => {};\n }\n default: {\n return () => {};\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 prevented,\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 prevented?: 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 = `translate3d(${dx}px, 0, 0)`;\n $paper.style.transition = \"0s\";\n\n refs.forEach((ref) => {\n if (!ref.current) {\n return;\n }\n\n ref.current.style.transform = `translate3d(${\n -1 * (1 - p) * OFFSET_PX_CUPERTINO\n }px, 0, 0)`;\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 }): Promise<void> {\n return new Promise((resolve) => {\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 =\n \"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 = `translate3d(${\n swiped ? \"0\" : `-${OFFSET_PX_CUPERTINO / 16}rem`\n }, 0, 0)`;\n });\n\n const _cachedRefs = [...cachedRefs];\n\n resolve();\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 =\n _cachedRef.style.transition;\n ref.current.style.transform = _cachedRef.style.transform;\n\n if (\n ref.current.parentElement &&\n _cachedRef.parentElement\n ) {\n ref.current.parentElement.style.display =\n _cachedRef.parentElement.style.display;\n }\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 Promise.resolve()\n .then(() => resetPaper({ swiped }))\n .then(() => resetState());\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 effectDeps: [prevented],\n });\n}\n", "import { useActions } 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, useNullableActivity } from \"../hooks\";\nimport type { GlobalVars } from \"../theme.css\";\nimport { globalVars } from \"../theme.css\";\nimport { compactMap } 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 | \"heightTransitionDuration\"\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 ariaLabel?: string;\n onClick?: (e: React.MouseEvent<HTMLButtonElement>) => void;\n }\n | {\n render?: () => React.ReactNode;\n };\n closeButton?:\n | {\n renderIcon?: () => React.ReactNode;\n ariaLabel?: string;\n onClick?: (e: React.MouseEvent<HTMLButtonElement>) => void;\n }\n | {\n render?: () => React.ReactNode;\n };\n closeButtonLocation?: \"left\" | \"right\";\n border?: boolean;\n modalPresentationStyle?: \"fullScreen\";\n onTopClick?: (e: React.MouseEvent) => void;\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 modalPresentationStyle,\n iconColor,\n textColor,\n borderColor,\n borderSize,\n height,\n backgroundColor,\n onTopClick,\n },\n ref,\n ) => {\n const actions = useActions();\n const activity = useNullableActivity();\n\n const globalOptions = useGlobalOptions();\n const globalCloseButton = globalOptions.appBar?.closeButton;\n const globalBackButton = globalOptions.appBar?.backButton;\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 presentModalFullScreen = modalPresentationStyle === \"fullScreen\";\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 renderBackButton = () => {\n if (!activity) {\n return null;\n }\n if (activity.isRoot) {\n return null;\n }\n\n if (!backButton && !globalBackButton) {\n return (\n <button\n type=\"button\"\n className={css.backButton}\n onClick={onBackClick}\n >\n <IconBack />\n </button>\n );\n }\n\n if (backButton && \"render\" in backButton && backButton.render) {\n return backButton.render?.();\n }\n if (\n globalBackButton &&\n \"render\" in globalBackButton &&\n globalBackButton.render\n ) {\n return globalBackButton.render?.();\n }\n\n return (\n <button\n type=\"button\"\n className={css.backButton}\n aria-label={\n backButton && \"ariaLabel\" in backButton\n ? backButton.ariaLabel\n : globalBackButton && \"ariaLabel\" in globalBackButton\n ? globalBackButton.ariaLabel\n : undefined\n }\n onClick={onBackClick}\n >\n {(() => {\n if (\n backButton &&\n \"renderIcon\" in backButton &&\n backButton.renderIcon\n ) {\n return backButton.renderIcon();\n }\n if (\n globalBackButton &&\n \"renderIcon\" in globalBackButton &&\n globalBackButton.renderIcon\n ) {\n return globalBackButton.renderIcon();\n }\n\n if (presentModalFullScreen) {\n return <IconClose />;\n }\n\n return <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 const isRoot = !activity || activity.isRoot;\n\n const showCloseButton = (closeButton: AppBarProps[\"closeButton\"]) =>\n (closeButton && \"render\" in closeButton && closeButton.render) ||\n (closeButton &&\n \"renderIcon\" in closeButton &&\n closeButton.renderIcon) ||\n (closeButton && \"onClick\" in closeButton && closeButton.onClick);\n\n if (\n !(\n showCloseButton(closeButton) ||\n showCloseButton(globalOptions.appBar?.closeButton)\n ) ||\n !isRoot\n ) {\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 aria-label={\n closeButton && \"ariaLabel\" in closeButton\n ? closeButton.ariaLabel\n : globalCloseButton && \"ariaLabel\" in globalCloseButton\n ? globalCloseButton.ariaLabel\n : undefined\n }\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 presentModalFullScreen,\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.safeArea} />\n <div className={css.container}>\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 <button\n className={css.centerMainEdge}\n type=\"button\"\n aria-hidden=\"true\"\n onClick={onTopClick}\n />\n </div>\n </div>\n <div className={css.right}>\n {appendRight?.()}\n {closeButtonLocation === \"right\" && renderCloseButton()}\n </div>\n </div>\n </div>\n );\n },\n);\n\nAppBar.displayName = \"AppBar\";\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=LmZfX2RodGh4cTAgewogIHdpZHRoOiAxMDAlOwp9Ci5mX19kaHRoeHExIHsKICBoZWlnaHQ6IDEwMCU7Cn0KLmZfX2RodGh4cTIgewogIHRvcDogMDsKfQouZl9fZGh0aHhxMyB7CiAgbGVmdDogMDsKfQouZl9fZGh0aHhxNCB7CiAgcG9zaXRpb246IGFic29sdXRlOwp9Ci5mX19kaHRoeHE1IHsKICBwb3NpdGlvbjogcmVsYXRpdmU7Cn0KLmZfX2RodGh4cTcgewogIGRpc3BsYXk6IGZsZXg7Cn0KLmZfX2RodGh4cTggewogIGZsZXg6IDE7Cn0KLmZfX2RodGh4cTkgewogIGFsaWduLWl0ZW1zOiBjZW50ZXI7Cn0KLmZfX2RodGh4cWEgewogIGFsaWduLWl0ZW1zOiBmbGV4LWVuZDsKfQouZl9fZGh0aHhxYiB7CiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7Cn0KLmZfX2RodGh4cWMgewogIG92ZXJmbG93OiBoaWRkZW47Cn0KLmZfX2RodGh4cWQgewogIHdoaXRlLXNwYWNlOiBub3dyYXA7Cn0KLmZfX2RodGh4cWUgewogIHRleHQtYWxpZ246IGNlbnRlcjsKfQouZl9fZGh0aHhxZiB7CiAgY3Vyc29yOiBwb2ludGVyOwogIC13ZWJraXQtdGFwLWhpZ2hsaWdodC1jb2xvcjogdHJhbnNwYXJlbnQ7Cn0KLmZfX2RodGh4cWcgewogIGJveC1zaXppbmc6IGJvcmRlci1ib3g7Cn0KLmZfX2RodGh4cWggewogIGJveC1zaXppbmc6IGNvbnRlbnQtYm94Owp9Ci5mX19kaHRoeHFpIHsKICBhcHBlYXJhbmNlOiBub25lOwogIGJvcmRlcjogMDsKICBwYWRkaW5nOiAwOwogIGJhY2tncm91bmQ6IG5vbmU7Cn0=';\nimport 'src/theme.css.ts.vanilla.css?source=#H4sIAAAAAAAAE+2U30rDMBTG7/cUAW8UltJWyyDik4iMNEnbYJMTTk5xTHx3s+Hu1LW9kdmRQP5+X044P45AAFozcRietSTJI0n12vTwxkM/tNbzWkar+GA5dcaZJ+k1gtUv7H3FGP/lep0OWoTBa66gBxTspmmaxzMqbd03SmxreZuv2VfPiurunJEMIS2Q14Da4E9G+WaqUbR7I1gRdmN1nbFtR4LdZxUaN03FCaWPlix4rgeUh4lg5aZycayRS5vzQrAqvXpKXVmk9jBWSmZHM6XzsKmBCByPnTF0yhRKbYeYcnX888dqAuRqCAbJelg45nlWTQe9zDZ/TvrEGP4b6tkR4+22UBCC2+fLpvharC+e4GLZBF/r8EVS/AmYPn1EXgsAAA==';\nimport 'src/components/AppScreen.css.ts.vanilla.css?source=#H4sIAAAAAAAAE71WTY/aMBC98yt8qQRqjMKy/QrqoVVVqYeeeqyq1WCbxGBsy3Ggpep/r52EkCxJCHS3K6TF2DPvzczzjKcftP5GDGPy4WFGxep+fv8a/R4htASyiY3KJMVECWUitAMzxji1bmMl1B5rkcVc4iWknOCMY8q3+LHVZDH6M5qeY7y5EWOo/7e5f2tAptxyJaPi+0qZbYlx2vuUGfD/K+NwEiClgXD7a8jhDgrkRMHDlgwEWDan41kYvghQ6D5d5jw3L2lEKFy41QFzSdnPY5oOX/yKpT7zld1s4k/uuRCYJCBjFh2deCC3VfxNbcK2zFkRpfX2EKI2CkF1PDJK2e8ULPQUJ3f5HiQ1itMfrR6PDn1sCeNxYiM0Cw3bLhpyiJDgkoHBsQHKmbTjm8QXIBMvYRwWmfbJnjSTcM7w3YVEtOzCxUirKs4uwS+vhyfD4cMOra2LYztm8ty6kykxSghfFLxnyw23uNottriMnaJVRpI+YWrQzFQwd+fSrK5HF7MoOhIocJdgcrKUp1qAYyqVZI2snml71pagdVAzuELdJHMRWS5Vq77XJ6fDL/+VzFsV+jzhXIYaQrj1fjwP4XaoQUUJB1WktU/eGktfp3xEujkHukPIe+mNYTypsPpiu1pWrXSfVFZ9dIeIqt7hB0ms5jKB1C0+gnmwJmMVwuY/PmECpIFS19OxVfriIwy0dguDiwFe84xp6Tpv9DWXESIgyMUh3nQ8QS8RUdIdd/M/hRXDYBi4SZMy651OngyFyV0XQOMW9fc7bVjqnipfFQXxOROi/LlRVBE03P1z4xuEWYfs74DlZOp6k25z8z2nNnFKn969Kh9uXeOf0fhEYz5Q97Lg6Mt5ZSUXtUdlrgQfDsLXuvE8/wIwJxtwFw0AAA==';\nimport 'src/components/AppBar.css.ts.vanilla.css?source=#H4sIAAAAAAAAE81XS2/cNhC+76/gpcC6MAVpH3GyRg4NigAFmlMOPQSBQUnUijFFCiS1Xm/R/16Sej8juZvGhgFb5HAe38x8HDq/pekHJB4evOfHLdrtXfD3CoCEMBhjcozVAZyQWEMoFQoeI8qfYEqzo972kSQBzAhEaao/BKzP3Nyv/lk5HcWeVexrLUfBMxbCgFMu5qvvntRGALhAwkJ8LrVc/jBfWJpDue2QRrvtbmeFnwilMIgRO+IDUAIxGXGR3AKeooCoZ+O0lip/HBXjBGsVAU/T5OKBXkC3DemD4Fx9CZFCE6FYje+DLMVCEca/9lXWGg1YKZdEEc4OAPmS00zhOT5+DgTGrIrd/1GOf99OO5oK8QJ8ihTehmvPdX+5Ba7+tUmyW0XUrpyO171aaIiFgpPwuxkpSkW7dj8ekY7FcwVOhkKqjhQVW+/9nglk/laAujdVac4RngNVJ2Xvfgx+y6zMcRT9L44OWBnJvjed/aKYaw70uQixeFAiw5XuTc6H/AxljEL+dACESayAm55BgGiwhh74dT47WgtQkgu+uQHu0nMlo7ZKaIIDU4ElZuoTDxH9mFFaINkKcHvb0vXfGHKWwaa9Ccax/eme4p/an/PI+93PQfyaXswJE72KMBd6Mb/aKj5YDIz/KoBZ6MWrb8Muze+sm+W8G3Cm4WJqLVGEIRIYQcvMUPHUOloKYnYakemb2LdMzGXnapxuo5MvL9TSgAWGBS6Drr7JZ08UhoQd9aQDXGevp5lB0QNOUo27ORASmVKkL0fGGR4SvrNiC6d+orPRmPebKJRJ37puIvP5PlTxAWycTe5vjffGuRsL4e6AAkVOuDPeOZsxc/lQ2lWD7PnCgzy4/A0CA90v+oZNEGF/me2qFvc2ooV4KHxWI3hctypWIzTVn7lRzTrXmLjRqkEdBaDmjWDC/ZZJRaJnDYDGlOnERhSfjSmh7uuahRRHes8riiDSwnYw0kuO9/auLA5KGK4euZ6zr2SfijWf0/C+nNHIxXZDMS/ppSmQ+o/Fl4E08VRswTT0UGx0pEHJLCBKjgwShROpac7W5SCq9ZYtN3usuWpRilBCqFZuCopiKJ+lMk+eDxrWx08o+Gy/P2rJHq5vXLeblzIlNnH7PNlD18Ya6s0WCb+ESnk6g+Wt1BTFT13mdZfESP6po2pfkf6LL+pe2wzr717B7c5wne0oHwZWvpWIukcqYp3OTYLOsOjc8kDndngBVS7ptuDa3RY0u62Kxac8eBwCMcznHtM8/ISFsalriVKSSiI7tU9YjAXpd0m13lePx25oA70wkeX5Q5nig+enru35xI+vS/y4xWjd4Mw/2r1/ARbbknuvFAAA';\nimport { createRuntimeFn as _7a468 } from '@vanilla-extract/recipes/createRuntimeFn';\nexport var appBar = _7a468({defaultClassName:'AppBar__1yk3a451 f__dhthxq4 f__dhthxq0 f__dhthxqh f__dhthxqc AppScreen__1dlf4347',variantClassNames:{border:{true:'AppBar_border_true__1yk3a452'},presentModalFullScreen:{true:'AppBar_presentModalFullScreen_true__1yk3a453'}},defaultVariants:{},compoundVariants:[]});\nexport var backButton = 'AppBar__1yk3a457 f__dhthxq9 f__dhthxq7 f__dhthxqb f__dhthxqf f__dhthxqi';\nexport var center = 'f__dhthxq9 f__dhthxq7 f__dhthxq8 AppBar__1yk3a450';\nexport var centerMain = _7a468({defaultClassName:'AppBar__1yk3a45a',variantClassNames:{hasLeft:{true:'AppBar_hasLeft_true__1yk3a45b'}},defaultVariants:{},compoundVariants:[]});\nexport var centerMainEdge = 'AppBar__1yk3a45c f__dhthxqi f__dhthxq4 f__dhthxq2 f__dhthxqf';\nexport var centerText = 'AppBar__1yk3a45d f__dhthxqc f__dhthxqd f__dhthxq0';\nexport var closeButton = 'AppBar__1yk3a457 f__dhthxq9 f__dhthxq7 f__dhthxqb f__dhthxqf f__dhthxqi';\nexport var container = 'AppBar__1yk3a455 f__dhthxqa f__dhthxq7 f__dhthxqc';\nexport var left = 'AppBar__1yk3a456 f__dhthxq9 f__dhthxq7 f__dhthxq1 AppBar__1yk3a450';\nexport var right = 'AppBar__1yk3a45e f__dhthxq9 f__dhthxq7 f__dhthxq1 f__dhthxq5 AppBar__1yk3a450';\nexport var safeArea = 'AppBar__1yk3a454';", "import 'src/styles/f.css.ts.vanilla.css?source=LmZfX2RodGh4cTAgewogIHdpZHRoOiAxMDAlOwp9Ci5mX19kaHRoeHExIHsKICBoZWlnaHQ6IDEwMCU7Cn0KLmZfX2RodGh4cTIgewogIHRvcDogMDsKfQouZl9fZGh0aHhxMyB7CiAgbGVmdDogMDsKfQouZl9fZGh0aHhxNCB7CiAgcG9zaXRpb246IGFic29sdXRlOwp9Ci5mX19kaHRoeHE1IHsKICBwb3NpdGlvbjogcmVsYXRpdmU7Cn0KLmZfX2RodGh4cTcgewogIGRpc3BsYXk6IGZsZXg7Cn0KLmZfX2RodGh4cTggewogIGZsZXg6IDE7Cn0KLmZfX2RodGh4cTkgewogIGFsaWduLWl0ZW1zOiBjZW50ZXI7Cn0KLmZfX2RodGh4cWEgewogIGFsaWduLWl0ZW1zOiBmbGV4LWVuZDsKfQouZl9fZGh0aHhxYiB7CiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7Cn0KLmZfX2RodGh4cWMgewogIG92ZXJmbG93OiBoaWRkZW47Cn0KLmZfX2RodGh4cWQgewogIHdoaXRlLXNwYWNlOiBub3dyYXA7Cn0KLmZfX2RodGh4cWUgewogIHRleHQtYWxpZ246IGNlbnRlcjsKfQouZl9fZGh0aHhxZiB7CiAgY3Vyc29yOiBwb2ludGVyOwogIC13ZWJraXQtdGFwLWhpZ2hsaWdodC1jb2xvcjogdHJhbnNwYXJlbnQ7Cn0KLmZfX2RodGh4cWcgewogIGJveC1zaXppbmc6IGJvcmRlci1ib3g7Cn0KLmZfX2RodGh4cWggewogIGJveC1zaXppbmc6IGNvbnRlbnQtYm94Owp9Ci5mX19kaHRoeHFpIHsKICBhcHBlYXJhbmNlOiBub25lOwogIGJvcmRlcjogMDsKICBwYWRkaW5nOiAwOwogIGJhY2tncm91bmQ6IG5vbmU7Cn0=';\nimport 'src/theme.css.ts.vanilla.css?source=#H4sIAAAAAAAAE+2U30rDMBTG7/cUAW8UltJWyyDik4iMNEnbYJMTTk5xTHx3s+Hu1LW9kdmRQP5+X044P45AAFozcRietSTJI0n12vTwxkM/tNbzWkar+GA5dcaZJ+k1gtUv7H3FGP/lep0OWoTBa66gBxTspmmaxzMqbd03SmxreZuv2VfPiurunJEMIS2Q14Da4E9G+WaqUbR7I1gRdmN1nbFtR4LdZxUaN03FCaWPlix4rgeUh4lg5aZycayRS5vzQrAqvXpKXVmk9jBWSmZHM6XzsKmBCByPnTF0yhRKbYeYcnX888dqAuRqCAbJelg45nlWTQe9zDZ/TvrEGP4b6tkR4+22UBCC2+fLpvharC+e4GLZBF/r8EVS/AmYPn1EXgsAAA==';\nimport 'src/components/AppScreen.css.ts.vanilla.css?source=#H4sIAAAAAAAAE71WTY/aMBC98yt8qQRqjMKy/QrqoVVVqYeeeqyq1WCbxGBsy3Ggpep/r52EkCxJCHS3K6TF2DPvzczzjKcftP5GDGPy4WFGxep+fv8a/R4htASyiY3KJMVECWUitAMzxji1bmMl1B5rkcVc4iWknOCMY8q3+LHVZDH6M5qeY7y5EWOo/7e5f2tAptxyJaPi+0qZbYlx2vuUGfD/K+NwEiClgXD7a8jhDgrkRMHDlgwEWDan41kYvghQ6D5d5jw3L2lEKFy41QFzSdnPY5oOX/yKpT7zld1s4k/uuRCYJCBjFh2deCC3VfxNbcK2zFkRpfX2EKI2CkF1PDJK2e8ULPQUJ3f5HiQ1itMfrR6PDn1sCeNxYiM0Cw3bLhpyiJDgkoHBsQHKmbTjm8QXIBMvYRwWmfbJnjSTcM7w3YVEtOzCxUirKs4uwS+vhyfD4cMOra2LYztm8ty6kykxSghfFLxnyw23uNottriMnaJVRpI+YWrQzFQwd+fSrK5HF7MoOhIocJdgcrKUp1qAYyqVZI2snml71pagdVAzuELdJHMRWS5Vq77XJ6fDL/+VzFsV+jzhXIYaQrj1fjwP4XaoQUUJB1WktU/eGktfp3xEujkHukPIe+mNYTypsPpiu1pWrXSfVFZ9dIeIqt7hB0ms5jKB1C0+gnmwJmMVwuY/PmECpIFS19OxVfriIwy0dguDiwFe84xp6Tpv9DWXESIgyMUh3nQ8QS8RUdIdd/M/hRXDYBi4SZMy651OngyFyV0XQOMW9fc7bVjqnipfFQXxOROi/LlRVBE03P1z4xuEWYfs74DlZOp6k25z8z2nNnFKn969Kh9uXeOf0fhEYz5Q97Lg6Mt5ZSUXtUdlrgQfDsLXuvE8/wIwJxtwFw0AAA==';\nimport { createRuntimeFn as _7a468 } from '@vanilla-extract/recipes/createRuntimeFn';\nexport var allTransitions = 'AppScreen__1dlf4348';\nexport var appScreen = _7a468({defaultClassName:'f__dhthxq4 f__dhthxq0 f__dhthxq1 f__dhthxq2 f__dhthxq3 f__dhthxqc',variantClassNames:{transitionState:{'enter-active':'AppScreen__1dlf4349','enter-done':'AppScreen__1dlf434a','exit-active':'AppScreen__1dlf434b','exit-done':'AppScreen__1dlf434c'}},defaultVariants:{},compoundVariants:[]});\nexport var background = 'AppScreen__1dlf4347';\nexport var dim = 'AppScreen__1dlf434i f__dhthxq4 f__dhthxq0 f__dhthxq1 f__dhthxq2 f__dhthxq3 AppScreen__1dlf4346 AppScreen__1dlf4348';\nexport var edge = _7a468({defaultClassName:'AppScreen__1dlf434m f__dhthxq4 f__dhthxq2 f__dhthxq3 f__dhthxq1',variantClassNames:{hasAppBar:{true:'AppScreen_hasAppBar_true__1dlf434n'}},defaultVariants:{},compoundVariants:[]});\nexport var enterActive = 'AppScreen__1dlf4349';\nexport var enterDone = 'AppScreen__1dlf434a';\nexport var exitActive = 'AppScreen__1dlf434b';\nexport var exitDone = 'AppScreen__1dlf434c';\nexport var paper = _7a468({defaultClassName:'AppScreen__1dlf434j f__dhthxq4 f__dhthxq0 f__dhthxq1 f__dhthxq2 f__dhthxq3 AppScreen__1dlf4347 AppScreen__1dlf4348',variantClassNames:{hasAppBar:{true:'AppScreen_hasAppBar_true__1dlf434k f__dhthxqg'},presentModalFullScreen:{true:'AppScreen_presentModalFullScreen_true__1dlf434l'}},defaultVariants:{},compoundVariants:[]});\nexport var vars = {transitionDuration:'var(--transitionDuration__1dlf4340)',zIndexes:{dim:'var(--zIndexes-dim__1dlf4341)',paper:'var(--zIndexes-paper__1dlf4342)',edge:'var(--zIndexes-edge__1dlf4343)',appBar:'var(--zIndexes-appBar__1dlf4344)'},appBar:{center:{mainWidth:'var(--appBar-center-mainWidth__1dlf4345)'}}};", "/* eslint-disable jsx-a11y/no-static-element-interactions, jsx-a11y/click-events-have-key-events */\n\nimport { useActions } from \"@stackflow/react\";\nimport { assignInlineVars } from \"@vanilla-extract/dynamic\";\nimport React, { useRef } from \"react\";\n\nimport { useLazy, useNullableActivity, 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\nexport type 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 = useNullableActivity();\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 ?? 0) * 5 + 3;\n const zIndexPaper = (activity?.zIndex ?? 0) * 5 + 4;\n const transitionState = activity?.transitionState ?? \"enter-done\";\n\n return (\n <div\n className={css.container({\n transitionState: useLazy(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 transitionState === \"enter-active\" ||\n 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\nBottomSheet.displayName = \"BottomSheet\";\n\nexport default BottomSheet;\n", "import 'src/styles/f.css.ts.vanilla.css?source=LmZfX2RodGh4cTAgewogIHdpZHRoOiAxMDAlOwp9Ci5mX19kaHRoeHExIHsKICBoZWlnaHQ6IDEwMCU7Cn0KLmZfX2RodGh4cTIgewogIHRvcDogMDsKfQouZl9fZGh0aHhxMyB7CiAgbGVmdDogMDsKfQouZl9fZGh0aHhxNCB7CiAgcG9zaXRpb246IGFic29sdXRlOwp9Ci5mX19kaHRoeHE1IHsKICBwb3NpdGlvbjogcmVsYXRpdmU7Cn0KLmZfX2RodGh4cTcgewogIGRpc3BsYXk6IGZsZXg7Cn0KLmZfX2RodGh4cTggewogIGZsZXg6IDE7Cn0KLmZfX2RodGh4cTkgewogIGFsaWduLWl0ZW1zOiBjZW50ZXI7Cn0KLmZfX2RodGh4cWEgewogIGFsaWduLWl0ZW1zOiBmbGV4LWVuZDsKfQouZl9fZGh0aHhxYiB7CiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7Cn0KLmZfX2RodGh4cWMgewogIG92ZXJmbG93OiBoaWRkZW47Cn0KLmZfX2RodGh4cWQgewogIHdoaXRlLXNwYWNlOiBub3dyYXA7Cn0KLmZfX2RodGh4cWUgewogIHRleHQtYWxpZ246IGNlbnRlcjsKfQouZl9fZGh0aHhxZiB7CiAgY3Vyc29yOiBwb2ludGVyOwogIC13ZWJraXQtdGFwLWhpZ2hsaWdodC1jb2xvcjogdHJhbnNwYXJlbnQ7Cn0KLmZfX2RodGh4cWcgewogIGJveC1zaXppbmc6IGJvcmRlci1ib3g7Cn0KLmZfX2RodGh4cWggewogIGJveC1zaXppbmc6IGNvbnRlbnQtYm94Owp9Ci5mX19kaHRoeHFpIHsKICBhcHBlYXJhbmNlOiBub25lOwogIGJvcmRlcjogMDsKICBwYWRkaW5nOiAwOwogIGJhY2tncm91bmQ6IG5vbmU7Cn0=';\nimport 'src/theme.css.ts.vanilla.css?source=#H4sIAAAAAAAAE+2U30rDMBTG7/cUAW8UltJWyyDik4iMNEnbYJMTTk5xTHx3s+Hu1LW9kdmRQP5+X044P45AAFozcRietSTJI0n12vTwxkM/tNbzWkar+GA5dcaZJ+k1gtUv7H3FGP/lep0OWoTBa66gBxTspmmaxzMqbd03SmxreZuv2VfPiurunJEMIS2Q14Da4E9G+WaqUbR7I1gRdmN1nbFtR4LdZxUaN03FCaWPlix4rgeUh4lg5aZycayRS5vzQrAqvXpKXVmk9jBWSmZHM6XzsKmBCByPnTF0yhRKbYeYcnX888dqAuRqCAbJelg45nlWTQe9zDZ/TvrEGP4b6tkR4+22UBCC2+fLpvharC+e4GLZBF/r8EVS/AmYPn1EXgsAAA==';\nimport 'src/components/BottomSheet.css.ts.vanilla.css?source=#H4sIAAAAAAAAE6VT3U7DIBS+71NwY7IlPQtN1ZnuznjjtQ+wUGAtkcIC1OmM7y5U20ZT3GaTJpSf7+ccPlb32jndPNWcu+02q11+V+McvScIOUOUFU5oVaAXYhYA48pDa0gYBwhebpKPZDXFth7Zdto0xdevJI7nbJFhfJUi7L84AesISkKfK6NbxYBqqU1vyjq/sZP6AHvZVkJBSayg0ApgooHfKK+C0BGEYvy1Zzg+hhm3ATCIZt1JvSdUuLcC4ai7azRtOp1ev4kc72oc5LKo3O1lcuuz5OLV8X/2frLvB8Fc7Yvzdx6mpTaMGzCEidaeQdnZAxv8wQ/schYWh/KDOSmB1kRVvBjTmvZN2sQz7NP7HeOZmeGXZYb/9bDw8KrmxCrmKBKrU46ibfoES/9iF4cEAAA=';\nimport { createRuntimeFn as _7a468 } from '@vanilla-extract/recipes/createRuntimeFn';\nexport var container = _7a468({defaultClassName:'f__dhthxq4 f__dhthxq0 f__dhthxq1 f__dhthxq2 f__dhthxq3 f__dhthxqc',variantClassNames:{transitionState:{'enter-active':'BottomSheet__1ht38h04','enter-done':'BottomSheet__1ht38h05','exit-active':'BottomSheet__1ht38h06','exit-done':'BottomSheet__1ht38h07'}},defaultVariants:{},compoundVariants:[]});\nexport var dim = 'BottomSheet__1ht38h0d f__dhthxq4 f__dhthxq0 f__dhthxq1 f__dhthxq2 f__dhthxq3 f__dhthxqc f__dhthxqa f__dhthxq7 BottomSheet__1ht38h03';\nexport var enterActive = 'BottomSheet__1ht38h04';\nexport var enterDone = 'BottomSheet__1ht38h05';\nexport var exitActive = 'BottomSheet__1ht38h06';\nexport var exitDone = 'BottomSheet__1ht38h07';\nexport var paper = 'BottomSheet__1ht38h0e f__dhthxqc BottomSheet__1ht38h03';\nexport var vars = {transitionDuration:'var(--transitionDuration__1ht38h00)',zIndexes:{dim:'var(--zIndexes-dim__1ht38h01)',paper:'var(--zIndexes-paper__1ht38h02)'}};", "/* eslint-disable jsx-a11y/no-static-element-interactions, jsx-a11y/click-events-have-key-events */\n\nimport { useActions } from \"@stackflow/react\";\nimport { assignInlineVars } from \"@vanilla-extract/dynamic\";\nimport React, { useRef } from \"react\";\n\nimport { useLazy, useNullableActivity, 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\nexport type 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 = useNullableActivity();\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 ?? 0) * 5 + 3;\n const zIndexPaper = (activity?.zIndex ?? 0) * 5 + 4;\n const transitionState = activity?.transitionState ?? \"enter-done\";\n\n return (\n <div\n className={css.container({\n transitionState: useLazy(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 transitionState === \"enter-active\" ||\n 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\nModal.displayName = \"Modal\";\n\nexport default Modal;\n", "import 'src/styles/f.css.ts.vanilla.css?source=LmZfX2RodGh4cTAgewogIHdpZHRoOiAxMDAlOwp9Ci5mX19kaHRoeHExIHsKICBoZWlnaHQ6IDEwMCU7Cn0KLmZfX2RodGh4cTIgewogIHRvcDogMDsKfQouZl9fZGh0aHhxMyB7CiAgbGVmdDogMDsKfQouZl9fZGh0aHhxNCB7CiAgcG9zaXRpb246IGFic29sdXRlOwp9Ci5mX19kaHRoeHE1IHsKICBwb3NpdGlvbjogcmVsYXRpdmU7Cn0KLmZfX2RodGh4cTcgewogIGRpc3BsYXk6IGZsZXg7Cn0KLmZfX2RodGh4cTggewogIGZsZXg6IDE7Cn0KLmZfX2RodGh4cTkgewogIGFsaWduLWl0ZW1zOiBjZW50ZXI7Cn0KLmZfX2RodGh4cWEgewogIGFsaWduLWl0ZW1zOiBmbGV4LWVuZDsKfQouZl9fZGh0aHhxYiB7CiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7Cn0KLmZfX2RodGh4cWMgewogIG92ZXJmbG93OiBoaWRkZW47Cn0KLmZfX2RodGh4cWQgewogIHdoaXRlLXNwYWNlOiBub3dyYXA7Cn0KLmZfX2RodGh4cWUgewogIHRleHQtYWxpZ246IGNlbnRlcjsKfQouZl9fZGh0aHhxZiB7CiAgY3Vyc29yOiBwb2ludGVyOwogIC13ZWJraXQtdGFwLWhpZ2hsaWdodC1jb2xvcjogdHJhbnNwYXJlbnQ7Cn0KLmZfX2RodGh4cWcgewogIGJveC1zaXppbmc6IGJvcmRlci1ib3g7Cn0KLmZfX2RodGh4cWggewogIGJveC1zaXppbmc6IGNvbnRlbnQtYm94Owp9Ci5mX19kaHRoeHFpIHsKICBhcHBlYXJhbmNlOiBub25lOwogIGJvcmRlcjogMDsKICBwYWRkaW5nOiAwOwogIGJhY2tncm91bmQ6IG5vbmU7Cn0=';\nimport 'src/theme.css.ts.vanilla.css?source=#H4sIAAAAAAAAE+2U30rDMBTG7/cUAW8UltJWyyDik4iMNEnbYJMTTk5xTHx3s+Hu1LW9kdmRQP5+X044P45AAFozcRietSTJI0n12vTwxkM/tNbzWkar+GA5dcaZJ+k1gtUv7H3FGP/lep0OWoTBa66gBxTspmmaxzMqbd03SmxreZuv2VfPiurunJEMIS2Q14Da4E9G+WaqUbR7I1gRdmN1nbFtR4LdZxUaN03FCaWPlix4rgeUh4lg5aZycayRS5vzQrAqvXpKXVmk9jBWSmZHM6XzsKmBCByPnTF0yhRKbYeYcnX888dqAuRqCAbJelg45nlWTQe9zDZ/TvrEGP4b6tkR4+22UBCC2+fLpvharC+e4GLZBF/r8EVS/AmYPn1EXgsAAA==';\nimport 'src/components/Modal.css.ts.vanilla.css?source=#H4sIAAAAAAAAE51T0W6CMBR99yv6sgQT2hQZ0+HrXvawbzCXtmKzQk1bpnPZv6+AaECcbkkT2ttzzj339kLeNAe1WiX6kC9YjL4mCDkDpZVO6jJFH2ACjM+Rl8pA/e0YdLqcfE9IT2V+VllrU6TtVoETMQ8iSh9CRP0aYfKGmQF7z42uSo6ZVtp0LqzzF2uld3irqlyWOAMrGa4k5rLAQ5aXR+iAZcnFvlM4vNYnYWtClzNqgHoLTLrPFNFLV49o4DIcBJIhoCnjJBldSj7dkpz/LjniUvyzd6N920nuNt65f6z6WIDxHJ8WzUhiRFHHMr3HdgNc73x8u0eUPM3qOw+J583G5BkEtH1sv0iUTMMGSpITdHEFOuugcdRCyfM11WnrxnBhsAEuK3tH0do5XXj/Qjjc4x7LVwqzDZS5SM+DHHb9X/bH2zJQIojI3ydJ3JokMfyVjrn6me4YsItMwwG7lmmsqh+//tn1NQQAAA==';\nimport { createRuntimeFn as _7a468 } from '@vanilla-extract/recipes/createRuntimeFn';\nexport var container = _7a468({defaultClassName:'f__dhthxq4 f__dhthxq0 f__dhthxq1 f__dhthxq2 f__dhthxq3 f__dhthxqc',variantClassNames:{transitionState:{'enter-active':'Modal__5ozg8c4','enter-done':'Modal__5ozg8c5','exit-active':'Modal__5ozg8c6','exit-done':'Modal__5ozg8c7'}},defaultVariants:{},compoundVariants:[]});\nexport var dim = 'Modal__5ozg8cd f__dhthxq4 f__dhthxq0 f__dhthxq1 f__dhthxq2 f__dhthxq3 f__dhthxqc f__dhthxq9 f__dhthxq7 f__dhthxqb Modal__5ozg8c3';\nexport var enterActive = 'Modal__5ozg8c4';\nexport var enterDone = 'Modal__5ozg8c5';\nexport var exitActive = 'Modal__5ozg8c6';\nexport var exitDone = 'Modal__5ozg8c7';\nexport var paper = 'Modal__5ozg8ce f__dhthxqc Modal__5ozg8c3';\nexport var vars = {transitionDuration:'var(--transitionDuration__5ozg8c0)',zIndexes:{dim:'var(--zIndexes-dim__5ozg8c1)',paper:'var(--zIndexes-paper__5ozg8c2)'}};"],
|
|
5
|
+
"mappings": "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",
|
|
6
6
|
"names": ["React", "import_react", "import_dynamic", "import_react", "import_react", "import_react", "import_react", "refs", "refs", "refs", "import_react", "import_dynamic", "import_react", "React", "import_react", "React", "_7a468", "import_createRuntimeFn", "_7a468", "_7a468", "_7a468", "React", "backButton", "closeButton", "_a", "_b", "appBar", "_a", "_b", "React", "import_react", "import_dynamic", "import_createRuntimeFn", "container", "_7a468", "dim", "paper", "vars", "React", "container", "vars", "dim", "paper", "import_react", "import_dynamic", "import_createRuntimeFn", "container", "_7a468", "dim", "paper", "vars", "React", "container", "vars", "dim", "paper"]
|
|
7
7
|
}
|
package/dist/index.mjs
CHANGED
|
@@ -345,7 +345,7 @@ function useStyleEffectSwipeBack({
|
|
|
345
345
|
edgeRef,
|
|
346
346
|
paperRef,
|
|
347
347
|
hasEffect,
|
|
348
|
-
|
|
348
|
+
prevented,
|
|
349
349
|
onSwiped
|
|
350
350
|
}) {
|
|
351
351
|
useStyleEffect({
|
|
@@ -503,7 +503,7 @@ function useStyleEffectSwipeBack({
|
|
|
503
503
|
$edge.removeEventListener("touchcancel", onTouchEnd);
|
|
504
504
|
};
|
|
505
505
|
} : void 0,
|
|
506
|
-
effectDeps: [
|
|
506
|
+
effectDeps: [prevented]
|
|
507
507
|
});
|
|
508
508
|
}
|
|
509
509
|
|
|
@@ -547,24 +547,24 @@ var IconClose_default = IconClose;
|
|
|
547
547
|
|
|
548
548
|
// src/components/AppBar.css.ts
|
|
549
549
|
import { createRuntimeFn as _7a468 } from "@vanilla-extract/recipes/createRuntimeFn";
|
|
550
|
-
var appBar = _7a468({ defaultClassName: "AppBar__1yk3a451 f__dhthxq4 f__dhthxq0 f__dhthxqh f__dhthxqc AppScreen__1dlf4347", variantClassNames: { border: { true: "AppBar_border_true__1yk3a452" } }, defaultVariants: {}, compoundVariants: [] });
|
|
551
|
-
var backButton = "
|
|
550
|
+
var appBar = _7a468({ defaultClassName: "AppBar__1yk3a451 f__dhthxq4 f__dhthxq0 f__dhthxqh f__dhthxqc AppScreen__1dlf4347", variantClassNames: { border: { true: "AppBar_border_true__1yk3a452" }, presentModalFullScreen: { true: "AppBar_presentModalFullScreen_true__1yk3a453" } }, defaultVariants: {}, compoundVariants: [] });
|
|
551
|
+
var backButton = "AppBar__1yk3a457 f__dhthxq9 f__dhthxq7 f__dhthxqb f__dhthxqf f__dhthxqi";
|
|
552
552
|
var center = "f__dhthxq9 f__dhthxq7 f__dhthxq8 AppBar__1yk3a450";
|
|
553
|
-
var centerMain = _7a468({ defaultClassName: "
|
|
554
|
-
var centerMainEdge = "
|
|
555
|
-
var centerText = "
|
|
556
|
-
var closeButton = "
|
|
557
|
-
var container = "
|
|
558
|
-
var left = "
|
|
559
|
-
var right = "
|
|
560
|
-
var safeArea = "
|
|
553
|
+
var centerMain = _7a468({ defaultClassName: "AppBar__1yk3a45a", variantClassNames: { hasLeft: { true: "AppBar_hasLeft_true__1yk3a45b" } }, defaultVariants: {}, compoundVariants: [] });
|
|
554
|
+
var centerMainEdge = "AppBar__1yk3a45c f__dhthxqi f__dhthxq4 f__dhthxq2 f__dhthxqf";
|
|
555
|
+
var centerText = "AppBar__1yk3a45d f__dhthxqc f__dhthxqd f__dhthxq0";
|
|
556
|
+
var closeButton = "AppBar__1yk3a457 f__dhthxq9 f__dhthxq7 f__dhthxqb f__dhthxqf f__dhthxqi";
|
|
557
|
+
var container = "AppBar__1yk3a455 f__dhthxqa f__dhthxq7 f__dhthxqc";
|
|
558
|
+
var left = "AppBar__1yk3a456 f__dhthxq9 f__dhthxq7 f__dhthxq1 AppBar__1yk3a450";
|
|
559
|
+
var right = "AppBar__1yk3a45e f__dhthxq9 f__dhthxq7 f__dhthxq1 f__dhthxq5 AppBar__1yk3a450";
|
|
560
|
+
var safeArea = "AppBar__1yk3a454";
|
|
561
561
|
|
|
562
562
|
// src/components/AppScreen.css.ts
|
|
563
563
|
import { createRuntimeFn as _7a4682 } from "@vanilla-extract/recipes/createRuntimeFn";
|
|
564
564
|
var appScreen = _7a4682({ defaultClassName: "f__dhthxq4 f__dhthxq0 f__dhthxq1 f__dhthxq2 f__dhthxq3 f__dhthxqc", variantClassNames: { transitionState: { "enter-active": "AppScreen__1dlf4349", "enter-done": "AppScreen__1dlf434a", "exit-active": "AppScreen__1dlf434b", "exit-done": "AppScreen__1dlf434c" } }, defaultVariants: {}, compoundVariants: [] });
|
|
565
565
|
var dim = "AppScreen__1dlf434i f__dhthxq4 f__dhthxq0 f__dhthxq1 f__dhthxq2 f__dhthxq3 AppScreen__1dlf4346 AppScreen__1dlf4348";
|
|
566
|
-
var edge = _7a4682({ defaultClassName: "
|
|
567
|
-
var paper = _7a4682({ defaultClassName: "AppScreen__1dlf434j f__dhthxq4 f__dhthxq0 f__dhthxq1 f__dhthxq2 f__dhthxq3 AppScreen__1dlf4347 AppScreen__1dlf4348", variantClassNames: { hasAppBar: { true: "AppScreen_hasAppBar_true__1dlf434k f__dhthxqg" } }, defaultVariants: {}, compoundVariants: [] });
|
|
566
|
+
var edge = _7a4682({ defaultClassName: "AppScreen__1dlf434m f__dhthxq4 f__dhthxq2 f__dhthxq3 f__dhthxq1", variantClassNames: { hasAppBar: { true: "AppScreen_hasAppBar_true__1dlf434n" } }, defaultVariants: {}, compoundVariants: [] });
|
|
567
|
+
var paper = _7a4682({ defaultClassName: "AppScreen__1dlf434j f__dhthxq4 f__dhthxq0 f__dhthxq1 f__dhthxq2 f__dhthxq3 AppScreen__1dlf4347 AppScreen__1dlf4348", variantClassNames: { hasAppBar: { true: "AppScreen_hasAppBar_true__1dlf434k f__dhthxqg" }, presentModalFullScreen: { true: "AppScreen_presentModalFullScreen_true__1dlf434l" } }, defaultVariants: {}, compoundVariants: [] });
|
|
568
568
|
var vars = { transitionDuration: "var(--transitionDuration__1dlf4340)", zIndexes: { dim: "var(--zIndexes-dim__1dlf4341)", paper: "var(--zIndexes-paper__1dlf4342)", edge: "var(--zIndexes-edge__1dlf4343)", appBar: "var(--zIndexes-appBar__1dlf4344)" }, appBar: { center: { mainWidth: "var(--appBar-center-mainWidth__1dlf4345)" } } };
|
|
569
569
|
|
|
570
570
|
// src/components/AppBar.tsx
|
|
@@ -577,6 +577,7 @@ var AppBar = React4.forwardRef(
|
|
|
577
577
|
closeButton: closeButton2,
|
|
578
578
|
closeButtonLocation = "left",
|
|
579
579
|
border = true,
|
|
580
|
+
modalPresentationStyle,
|
|
580
581
|
iconColor,
|
|
581
582
|
textColor,
|
|
582
583
|
borderColor,
|
|
@@ -597,6 +598,7 @@ var AppBar = React4.forwardRef(
|
|
|
597
598
|
innerRef: centerRef,
|
|
598
599
|
enable: globalOptions.theme === "cupertino"
|
|
599
600
|
});
|
|
601
|
+
const presentModalFullScreen = modalPresentationStyle === "fullScreen";
|
|
600
602
|
const onBackClick = (e) => {
|
|
601
603
|
if (backButton2 && "onClick" in backButton2 && backButton2.onClick) {
|
|
602
604
|
backButton2.onClick(e);
|
|
@@ -638,6 +640,9 @@ var AppBar = React4.forwardRef(
|
|
|
638
640
|
if (globalBackButton && "renderIcon" in globalBackButton && globalBackButton.renderIcon) {
|
|
639
641
|
return globalBackButton.renderIcon();
|
|
640
642
|
}
|
|
643
|
+
if (presentModalFullScreen) {
|
|
644
|
+
return /* @__PURE__ */ React4.createElement(IconClose_default, null);
|
|
645
|
+
}
|
|
641
646
|
return /* @__PURE__ */ React4.createElement(IconBack_default, null);
|
|
642
647
|
})());
|
|
643
648
|
};
|
|
@@ -653,7 +658,8 @@ var AppBar = React4.forwardRef(
|
|
|
653
658
|
const renderCloseButton = () => {
|
|
654
659
|
var _a2;
|
|
655
660
|
const isRoot = !activity || activity.isRoot;
|
|
656
|
-
|
|
661
|
+
const showCloseButton = (closeButton3) => closeButton3 && "render" in closeButton3 && closeButton3.render || closeButton3 && "renderIcon" in closeButton3 && closeButton3.renderIcon || closeButton3 && "onClick" in closeButton3 && closeButton3.onClick;
|
|
662
|
+
if (!(showCloseButton(closeButton2) || showCloseButton((_a2 = globalOptions.appBar) == null ? void 0 : _a2.closeButton)) || !isRoot) {
|
|
657
663
|
return null;
|
|
658
664
|
}
|
|
659
665
|
if (closeButton2 && "render" in closeButton2 && closeButton2.render) {
|
|
@@ -681,7 +687,8 @@ var AppBar = React4.forwardRef(
|
|
|
681
687
|
return /* @__PURE__ */ React4.createElement("div", {
|
|
682
688
|
ref,
|
|
683
689
|
className: appBar({
|
|
684
|
-
border
|
|
690
|
+
border,
|
|
691
|
+
presentModalFullScreen
|
|
685
692
|
}),
|
|
686
693
|
style: assignInlineVars2(
|
|
687
694
|
compactMap({
|
|
@@ -732,6 +739,7 @@ var AppScreen = ({
|
|
|
732
739
|
dimBackgroundColor,
|
|
733
740
|
appBar: appBar2,
|
|
734
741
|
preventSwipeBack,
|
|
742
|
+
modalPresentationStyle,
|
|
735
743
|
children
|
|
736
744
|
}) => {
|
|
737
745
|
var _a, _b;
|
|
@@ -743,6 +751,8 @@ var AppScreen = ({
|
|
|
743
751
|
const paperRef = useRef2(null);
|
|
744
752
|
const edgeRef = useRef2(null);
|
|
745
753
|
const appBarRef = useRef2(null);
|
|
754
|
+
const presentModalFullScreen = modalPresentationStyle === "fullScreen";
|
|
755
|
+
const swipeBackPrevented = preventSwipeBack || presentModalFullScreen;
|
|
746
756
|
useStyleEffectHide({
|
|
747
757
|
refs: [appScreenRef],
|
|
748
758
|
hasEffect: true
|
|
@@ -750,7 +760,7 @@ var AppScreen = ({
|
|
|
750
760
|
useStyleEffectOffset({
|
|
751
761
|
theme: globalOptions.theme,
|
|
752
762
|
refs: globalOptions.theme === "cupertino" ? [paperRef] : [paperRef, appBarRef],
|
|
753
|
-
hasEffect:
|
|
763
|
+
hasEffect: !presentModalFullScreen
|
|
754
764
|
});
|
|
755
765
|
useStyleEffectSwipeBack({
|
|
756
766
|
theme: globalOptions.theme,
|
|
@@ -758,7 +768,7 @@ var AppScreen = ({
|
|
|
758
768
|
edgeRef,
|
|
759
769
|
paperRef,
|
|
760
770
|
hasEffect: true,
|
|
761
|
-
|
|
771
|
+
prevented: swipeBackPrevented,
|
|
762
772
|
onSwiped() {
|
|
763
773
|
pop();
|
|
764
774
|
}
|
|
@@ -768,7 +778,7 @@ var AppScreen = ({
|
|
|
768
778
|
const zIndexDim = zIndexBase;
|
|
769
779
|
const zIndexPaper = zIndexBase + (globalOptions.theme === "cupertino" && hasAppBar ? 1 : 3);
|
|
770
780
|
const zIndexEdge = zIndexBase + 4;
|
|
771
|
-
const zIndexAppBar = zIndexBase + 7;
|
|
781
|
+
const zIndexAppBar = globalOptions.theme === "cupertino" ? zIndexBase + 7 : zIndexBase + 4;
|
|
772
782
|
const transitionState = (_b = activity == null ? void 0 : activity.transitionState) != null ? _b : "enter-done";
|
|
773
783
|
const lazyTransitionState = useLazy(transitionState);
|
|
774
784
|
const onAppBarTopClick = (e) => {
|
|
@@ -817,14 +827,16 @@ var AppScreen = ({
|
|
|
817
827
|
ref: dimRef
|
|
818
828
|
}), appBar2 && /* @__PURE__ */ React5.createElement(AppBar_default, __spreadProps(__spreadValues({}, appBar2), {
|
|
819
829
|
ref: appBarRef,
|
|
830
|
+
modalPresentationStyle,
|
|
820
831
|
onTopClick: onAppBarTopClick
|
|
821
832
|
})), /* @__PURE__ */ React5.createElement("div", {
|
|
822
833
|
key: activity == null ? void 0 : activity.id,
|
|
823
834
|
className: paper({
|
|
824
|
-
hasAppBar
|
|
835
|
+
hasAppBar,
|
|
836
|
+
presentModalFullScreen
|
|
825
837
|
}),
|
|
826
838
|
ref: paperRef
|
|
827
|
-
}, children), !(activity == null ? void 0 : activity.isRoot) && globalOptions.theme === "cupertino" && !
|
|
839
|
+
}, children), !(activity == null ? void 0 : activity.isRoot) && globalOptions.theme === "cupertino" && !swipeBackPrevented && /* @__PURE__ */ React5.createElement("div", {
|
|
828
840
|
className: edge({ hasAppBar }),
|
|
829
841
|
ref: edgeRef
|
|
830
842
|
})));
|