@stackflow/plugin-basic-ui 0.19.2-alpha.3 → 0.19.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../src/basicUIPlugin.tsx", "../src/theme.css.ts", "../src/utils/compactMap.ts", "../src/utils/listenOnce.ts", "../src/utils/listenResize.ts", "../src/utils/noop.ts", "../src/utils/requestNextFrame.tsx", "../src/components/AppScreen.tsx", "../src/hooks/useLazy.tsx", "../src/hooks/useMaxWidth.ts", "../src/hooks/useStyleEffect.ts", "../src/hooks/useStyleEffectHide.ts", "../src/hooks/useStyleEffectOffset.ts", "../src/hooks/useStyleEffectSwipeBack.ts", "../src/components/AppBar.tsx", "../src/assets/IconBack.tsx", "../src/assets/IconClose.tsx", "../src/components/AppBar.css.ts", "../src/components/AppScreen.css.ts", "../src/components/BottomSheet.tsx", "../src/components/BottomSheet.css.ts", "../src/components/Modal.tsx", "../src/components/Modal.css.ts"],
4
- "sourcesContent": ["import type { StackflowReactPlugin } from \"@stackflow/react\";\nimport { assignInlineVars } from \"@vanilla-extract/dynamic\";\nimport React, { createContext, useContext } from \"react\";\n\nimport * as theme from \"./theme.css\";\nimport type { RecursivePartial } from \"./utils\";\nimport { compactMap } from \"./utils\";\n\ntype BasicUIPluginOptions = RecursivePartial<theme.GlobalVars> & {\n theme: \"android\" | \"cupertino\";\n appBar?: {\n closeButton?:\n | {\n renderIcon?: () => React.ReactNode;\n onClick?: (e: React.MouseEvent<HTMLButtonElement>) => void;\n }\n | {\n render?: () => React.ReactNode;\n };\n };\n};\n\nconst GlobalOptionsContext = createContext<BasicUIPluginOptions>({\n theme: \"android\",\n});\n\nexport const GlobalOptionsProvider = GlobalOptionsContext.Provider;\n\nexport function useGlobalOptions() {\n return useContext(GlobalOptionsContext);\n}\n\nexport const basicUIPlugin: (\n options: BasicUIPluginOptions,\n) => StackflowReactPlugin = (options) => () => ({\n key: \"basic-ui\",\n wrapStack({ stack }) {\n return (\n <GlobalOptionsProvider value={options}>\n <div\n className={\n typeof window !== \"undefined\" ? theme[options.theme] : undefined\n }\n style={assignInlineVars(\n compactMap({\n [theme.globalVars.backgroundColor]: options.backgroundColor,\n [theme.globalVars.dimBackgroundColor]: options.dimBackgroundColor,\n [theme.globalVars.appBar.borderColor]:\n options.appBar?.borderColor,\n [theme.globalVars.appBar.borderSize]: options.appBar?.borderSize,\n [theme.globalVars.appBar.height]: options.appBar?.height,\n [theme.globalVars.appBar.iconColor]: options.appBar?.iconColor,\n [theme.globalVars.appBar.textColor]: options.appBar?.textColor,\n [theme.globalVars.bottomSheet.borderRadius]:\n options.bottomSheet?.borderRadius,\n [theme.globalVars.modal.borderRadius]:\n options.modal?.borderRadius,\n }),\n )}\n >\n {stack.render()}\n </div>\n </GlobalOptionsProvider>\n );\n },\n});\n", "import 'src/theme.css.ts.vanilla.css?source=#H4sIAAAAAAAAE+2UwUrEMBCG7/sUAS8Km9JWS6Hik4hImqRtsMmEyQSXFd/drLie1LbrYQ9bEkjC5P8Jfz6mQQDasuawPCpBggcS8qUb4ZX7MfbG8VYEI3k0nAZt9YNwCsGoJ/a2YYz/cb1NhR4hOsUljIANu+q67n5CpYz9QYl9K67zLfuaWVHdTBkJ79MBeQuoNP5mlNdLjYLZ64YVfjdXN2jTD9Sw26xCbeeqjAT3nVtZpHE3V0p6RydKT/uzozoMqUgoXDBk0vNVRHHYNKysKxumbFogAptctKZj2iiUiSHl/Rnd+2YBqDJ6jWQcXDiqeVYth7XM6pXWf9OaPRcSvLf7/LIRXLvlmfkrLpu/tQWeC8EPWtPMuWAKAAA=';\nexport var android = '_1coppmz0';\nexport var cupertino = '_1coppmz1';\nexport var globalVars = {backgroundColor:'var(--stackflow-plugin-basic-ui-background-color)',dimBackgroundColor:'var(--stackflow-plugin-basic-ui-dim-background-color)',appBar:{borderColor:'var(--stackflow-plugin-basic-ui-app-bar-border-color)',borderSize:'var(--stackflow-plugin-basic-ui-app-bar-border-size)',height:'var(--stackflow-plugin-basic-ui-app-bar-height)',iconColor:'var(--stackflow-plugin-basic-ui-app-bar-icon-color)',textColor:'var(--stackflow-plugin-basic-ui-app-bar-text-color)',backgroundColor:'var(--stackflow-plugin-basic-ui-app-bar-background-color)',showTransitionDuration:'var(--stackflow-plugin-basic-ui-app-bar-show-transition-duration)'},bottomSheet:{borderRadius:'var(--stackflow-plugin-basic-ui-bottom-sheet-border-radius)'},modal:{borderRadius:'var(--stackflow-plugin-basic-ui-bottom-sheet-border-radius)'}};\nexport var rootAndroid = ':root[data-stackflow-plugin-basic-ui-theme=android]';\nexport var rootCupertino = ':root[data-stackflow-plugin-basic-ui-theme=cupertino]';", "export function compactMap<T extends {}>(\n obj: T,\n): {\n [key in keyof T]: NonNullable<T[key]>;\n} {\n return Object.entries(obj).reduce<any>((acc, [key, value]) => {\n if (value !== null && value !== undefined) {\n acc[key] = value;\n }\n\n return acc;\n }, {});\n}\n", "export function listenOnce<T extends HTMLElement>(\n el: T,\n type: keyof HTMLElementEventMap,\n cb: () => void,\n) {\n const listener = () => {\n el.removeEventListener(type, listener);\n cb();\n };\n\n el.addEventListener(type, listener);\n}\n", "export const listenResize = (cb: () => void) => {\n cb();\n window.addEventListener(\"resize\", cb);\n\n return () => {\n window.removeEventListener(\"resize\", cb);\n };\n};\n", "export const noop = () => {};\n", "// https://github.com/MingruiZhang/react-animate-mount/blob/32300c04a4fdfa97724b70aaaf0c0f403d6da247/src/Animate.js#L171-L179\nexport function requestNextFrame(cb: () => void) {\n requestAnimationFrame(() => {\n requestAnimationFrame(() => {\n cb();\n });\n });\n}\n", "/* eslint-disable no-param-reassign */\n\nimport { useActions, useActivity } from \"@stackflow/react\";\nimport { assignInlineVars } from \"@vanilla-extract/dynamic\";\nimport React, { useRef } from \"react\";\n\nimport { useGlobalOptions } from \"../basicUIPlugin\";\nimport {\n useLazy,\n useStyleEffectHide,\n useStyleEffectOffset,\n useStyleEffectSwipeBack,\n} from \"../hooks\";\nimport type { GlobalVars } from \"../theme.css\";\nimport { globalVars } from \"../theme.css\";\nimport type { PropOf } from \"../utils\";\nimport { compactMap } from \"../utils\";\nimport AppBar from \"./AppBar\";\nimport * as css from \"./AppScreen.css\";\n\ntype AppScreenProps = Partial<\n Pick<GlobalVars, \"backgroundColor\" | \"dimBackgroundColor\">\n> & {\n appBar?: Omit<PropOf<typeof AppBar>, \"theme\" | \"ref\" | \"key\">;\n showAppBar?: boolean;\n showAppBarTransitionDuration?: string;\n preventSwipeBack?: boolean;\n children: React.ReactNode;\n};\nconst AppScreen: React.FC<AppScreenProps> = ({\n backgroundColor,\n dimBackgroundColor,\n appBar,\n showAppBar = !!appBar,\n showAppBarTransitionDuration,\n preventSwipeBack,\n children,\n}) => {\n const globalOptions = useGlobalOptions();\n const activity = useActivity();\n const { pop } = useActions();\n\n const appScreenRef = useRef<HTMLDivElement>(null);\n const dimRef = useRef<HTMLDivElement>(null);\n const paperRef = useRef<HTMLDivElement>(null);\n const edgeRef = useRef<HTMLDivElement>(null);\n const appBarRef = useRef<HTMLDivElement>(null);\n\n useStyleEffectHide({\n refs: [appScreenRef],\n hasEffect: true,\n });\n useStyleEffectOffset({\n theme: globalOptions.theme,\n refs:\n globalOptions.theme === \"cupertino\" ? [paperRef] : [paperRef, appBarRef],\n hasEffect: true,\n });\n useStyleEffectSwipeBack({\n theme: globalOptions.theme,\n dimRef,\n edgeRef,\n paperRef,\n hasEffect: true,\n onSwiped() {\n pop();\n },\n });\n\n const hasAppBar = !!appBar;\n\n const zIndexBase = activity.zIndex * 5;\n const zIndexDim = zIndexBase;\n const zIndexPaper =\n zIndexBase + (globalOptions.theme === \"cupertino\" && hasAppBar ? 1 : 3);\n const zIndexEdge = zIndexBase + 4;\n const zIndexAppBar = zIndexBase + 7;\n\n const { transitionState } = activity;\n const lazyTransitionState = useLazy(transitionState);\n\n 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 <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]: showAppBar ? appBar?.height : \"0\",\n [globalVars.appBar.showTransitionDuration]:\n showAppBarTransitionDuration,\n [css.vars.zIndexes.dim]: `${zIndexDim}`,\n [css.vars.zIndexes.paper]: `${zIndexPaper}`,\n [css.vars.zIndexes.edge]: `${zIndexEdge}`,\n [css.vars.zIndexes.appBar]: `${zIndexAppBar}`,\n [css.vars.transitionDuration]:\n activity.transitionState === \"enter-active\" ||\n activity.transitionState === \"exit-active\"\n ? `var(--stackflow-transition-duration)`\n : \"0ms\",\n }),\n )}\n >\n <div className={css.dim} ref={dimRef} />\n <div\n key={activity.id}\n className={css.paper({\n hasAppBar,\n })}\n ref={paperRef}\n >\n {children}\n </div>\n {!activity.isRoot &&\n globalOptions.theme === \"cupertino\" &&\n !preventSwipeBack && (\n <div className={css.edge({ hasAppBar })} ref={edgeRef} />\n )}\n {appBar && (\n <AppBar {...appBar} ref={appBarRef} onTopClick={onAppBarTopClick} />\n )}\n </div>\n );\n};\n\nexport default AppScreen;\n", "import { useEffect, useState } from \"react\";\n\nimport { requestNextFrame } from \"../utils\";\n\nexport function useLazy<T>(value: T) {\n const [state, setState] = useState<T | undefined>(undefined);\n\n useEffect(() => {\n requestNextFrame(() => {\n setState(value);\n });\n }, [value]);\n\n return state;\n}\n", "import type React from \"react\";\nimport { useEffect, useState } from \"react\";\n\nimport { listenResize, noop } from \"../utils\";\n\nexport function useMaxWidth({\n outerRef,\n innerRef,\n enable,\n}: {\n outerRef: React.ForwardedRef<any>;\n innerRef: React.MutableRefObject<any>;\n enable: boolean;\n}) {\n const [maxWidth, setMaxWidth] = useState<number | undefined>(undefined);\n\n useEffect(() => {\n const $outer = outerRef && \"current\" in outerRef && outerRef.current;\n const $inner = innerRef.current;\n\n if (!enable || !$outer || !$inner) {\n return noop;\n }\n\n const dispose = listenResize(() => {\n const screenWidth = $outer.clientWidth;\n\n const leftWidth = $inner.offsetLeft;\n const centerWidth = $inner.clientWidth;\n const rightWidth = screenWidth - leftWidth - centerWidth;\n\n const sideMargin = Math.max(leftWidth, rightWidth);\n\n setMaxWidth(screenWidth - 2 * sideMargin);\n });\n\n return dispose;\n }, []);\n\n return {\n maxWidth,\n };\n}\n", "import type { ActivityTransitionState } from \"@stackflow/core\";\nimport { useActivity } from \"@stackflow/react\";\nimport type React from \"react\";\nimport { useEffect } from \"react\";\n\nconst connections: {\n [styleName: string]: Map<\n number,\n {\n refs: Array<React.RefObject<any>>;\n hasEffect: boolean;\n }\n >;\n} = {};\n\nexport function useStyleEffect({\n styleName,\n refs,\n effect,\n}: {\n styleName: string;\n refs: Array<React.RefObject<any>>;\n effect?: (params: {\n activityTransitionState: ActivityTransitionState;\n refs: Array<React.RefObject<HTMLElement>>;\n }) => (() => void) | void;\n}) {\n const activity = useActivity();\n\n useEffect(() => {\n if (!connections[styleName]) {\n connections[styleName] = new Map();\n }\n\n connections[styleName].set(activity.zIndex, {\n refs,\n hasEffect: !!effect,\n });\n\n return () => {\n connections[styleName].delete(activity.zIndex);\n };\n }, [activity.id, refs, effect]);\n\n useEffect(() => {\n if (!effect) {\n return () => {};\n }\n\n const refs = (() => {\n let arr: Array<React.RefObject<any>> = [];\n\n for (let i = 1; i <= activity.zIndex; i += 1) {\n const connection = connections[styleName].get(activity.zIndex - i);\n\n if (connection?.refs) {\n arr = [...arr, ...connection.refs];\n }\n if (connection?.hasEffect) {\n break;\n }\n }\n\n return arr;\n })();\n\n const cleanup = effect({\n activityTransitionState: activity.transitionState,\n refs,\n });\n\n return () => {\n cleanup?.();\n };\n }, [activity.transitionState]);\n}\n", "/* eslint-disable no-param-reassign */\n\nimport type React from \"react\";\n\nimport { useStyleEffect } from \"./useStyleEffect\";\n\nexport function useStyleEffectHide({\n refs,\n hasEffect,\n}: {\n refs: Array<React.RefObject<any>>;\n hasEffect?: boolean;\n}) {\n useStyleEffect({\n styleName: \"hide\",\n refs,\n effect: hasEffect\n ? ({ activityTransitionState, refs }) => {\n switch (activityTransitionState) {\n case \"enter-done\": {\n refs.forEach((ref) => {\n if (!ref.current) {\n return;\n }\n\n ref.current.style.display = \"none\";\n });\n break;\n }\n default: {\n refs.forEach((ref) => {\n if (!ref.current) {\n return;\n }\n\n ref.current.style.display = \"\";\n });\n break;\n }\n }\n }\n : undefined,\n });\n}\n", "/* eslint-disable no-param-reassign */\n\nimport { listenOnce, requestNextFrame } from \"../utils\";\nimport { useStyleEffect } from \"./useStyleEffect\";\n\nexport const OFFSET_PX_ANDROID = 32;\nexport const OFFSET_PX_CUPERTINO = 80;\n\nexport function useStyleEffectOffset({\n refs,\n theme,\n hasEffect,\n}: {\n refs: Array<React.RefObject<any>>;\n theme: \"android\" | \"cupertino\";\n hasEffect?: boolean;\n}) {\n useStyleEffect({\n styleName: \"offset\",\n refs,\n effect: hasEffect\n ? ({ activityTransitionState, refs }) => {\n const transform =\n theme === \"cupertino\"\n ? `translateX(-${OFFSET_PX_CUPERTINO / 16}rem)`\n : `translateY(-${OFFSET_PX_ANDROID / 16}rem)`;\n\n switch (activityTransitionState) {\n case \"enter-active\":\n case \"enter-done\": {\n refs.forEach((ref) => {\n if (!ref.current) {\n return;\n }\n\n ref.current.style.transition = `var(--stackflow-transition-duration)`;\n ref.current.style.transform = transform;\n });\n break;\n }\n case \"exit-active\":\n case \"exit-done\": {\n requestNextFrame(() => {\n refs.forEach((ref) => {\n if (!ref.current) {\n return;\n }\n\n const $el = ref.current;\n\n $el.style.transform = \"\";\n\n listenOnce($el, \"transitionend\", () => {\n $el.style.transition = \"\";\n });\n });\n });\n break;\n }\n default: {\n break;\n }\n }\n }\n : undefined,\n });\n}\n", "/* eslint-disable no-param-reassign */\n\nimport { listenOnce } from \"../utils\";\nimport { useStyleEffect } from \"./useStyleEffect\";\nimport { OFFSET_PX_CUPERTINO } from \"./useStyleEffectOffset\";\n\nexport function useStyleEffectSwipeBack({\n theme,\n dimRef,\n edgeRef,\n paperRef,\n hasEffect,\n onSwiped,\n}: {\n theme: \"android\" | \"cupertino\";\n dimRef: React.RefObject<HTMLDivElement>;\n edgeRef: React.RefObject<HTMLDivElement>;\n paperRef: React.RefObject<HTMLDivElement>;\n hasEffect?: boolean;\n onSwiped?: () => void;\n}) {\n useStyleEffect({\n styleName: \"swipe-back\",\n refs: [paperRef],\n effect: hasEffect\n ? ({ refs }) => {\n if (theme !== \"cupertino\") {\n return () => {};\n }\n\n if (!dimRef.current || !edgeRef.current || !paperRef.current) {\n return () => {};\n }\n\n const $dim = dimRef.current;\n const $edge = edgeRef.current;\n const $paper = paperRef.current;\n\n let x0: number | null = null;\n let t0: number | null = null;\n let x: number | null = null;\n\n let cachedRefs: Array<{\n style: {\n transform: string;\n transition: string;\n };\n parentElement?: {\n style: {\n display: string;\n };\n };\n }> = [];\n\n const resetState = () => {\n x0 = null;\n t0 = null;\n x = null;\n cachedRefs = [];\n };\n\n let _rAFLock = false;\n\n function movePaper(dx: number) {\n if (!_rAFLock) {\n _rAFLock = true;\n\n requestAnimationFrame(() => {\n const p = dx / $paper.clientWidth;\n\n $dim.style.opacity = `${1 - p}`;\n $dim.style.transition = \"0s\";\n\n $paper.style.overflowY = \"hidden\";\n $paper.style.transform = `translateX(${dx}px)`;\n $paper.style.transition = \"0s\";\n\n refs.forEach((ref) => {\n if (!ref.current) {\n return;\n }\n\n ref.current.style.transform = `translateX(${\n -1 * (1 - p) * OFFSET_PX_CUPERTINO\n }px)`;\n ref.current.style.transition = \"0s\";\n\n if (ref.current.parentElement?.style.display === \"none\") {\n ref.current.parentElement.style.display = \"block\";\n }\n });\n\n _rAFLock = false;\n });\n }\n }\n\n function resetPaper({ swiped }: { swiped: boolean }) {\n requestAnimationFrame(() => {\n $dim.style.opacity = `${swiped ? 0 : 1}`;\n $dim.style.transition = \"var(--stackflow-transition-duration)\";\n\n $paper.style.overflowY = \"hidden\";\n $paper.style.transform = `translateX(${swiped ? \"100%\" : \"0\"})`;\n $paper.style.transition = \"var(--stackflow-transition-duration)\";\n\n refs.forEach((ref) => {\n if (!ref.current) {\n return;\n }\n\n ref.current.style.transition = `var(--stackflow-transition-duration)`;\n ref.current.style.transform = `translateX(${\n swiped ? \"0\" : `-${OFFSET_PX_CUPERTINO / 16}rem`\n })`;\n });\n\n listenOnce($paper, \"transitionend\", () => {\n $dim.style.opacity = \"\";\n $paper.style.overflowY = \"\";\n $paper.style.transform = \"\";\n\n refs.forEach((ref, i) => {\n if (!ref.current) {\n return;\n }\n\n const cachedRef = cachedRefs[i];\n\n if (swiped) {\n ref.current.style.transition = \"\";\n ref.current.style.transform = \"\";\n\n if (ref.current.parentElement) {\n ref.current.parentElement.style.display = \"\";\n }\n } else if (cachedRef) {\n ref.current.style.transition = cachedRef.style.transition;\n ref.current.style.transform = cachedRef.style.transform;\n\n if (ref.current.parentElement && cachedRef.parentElement) {\n ref.current.parentElement.style.display =\n cachedRef.parentElement.style.display;\n }\n }\n });\n });\n });\n }\n\n const onTouchStart = (e: TouchEvent) => {\n const { activeElement } = document as any;\n\n activeElement?.blur?.();\n // eslint-disable-next-line no-multi-assign\n x0 = x = e.touches[0].clientX;\n t0 = Date.now();\n\n cachedRefs = refs.map((ref) => {\n if (!ref.current) {\n return {\n style: {\n transform: \"\",\n transition: \"\",\n },\n };\n }\n\n return {\n style: {\n transform: ref.current.style.transform,\n transition: ref.current.style.transition,\n },\n parentElement: ref.current.parentElement\n ? {\n style: {\n display: ref.current.parentElement.style.display,\n },\n }\n : undefined,\n };\n });\n };\n\n const onTouchMove = (e: TouchEvent) => {\n if (!x0) {\n resetState();\n return;\n }\n\n x = e.touches[0].clientX;\n\n movePaper(x - x0);\n };\n\n const onTouchEnd = () => {\n if (!x0 || !t0 || !x) {\n resetState();\n return;\n }\n\n const t = Date.now();\n const v = (x - x0) / (t - t0);\n const swiped = v > 1 || x / $paper.clientWidth > 0.4;\n\n if (swiped) {\n onSwiped?.();\n }\n\n resetState();\n resetPaper({ swiped });\n };\n\n $edge.addEventListener(\"touchstart\", onTouchStart, { passive: true });\n $edge.addEventListener(\"touchmove\", onTouchMove, { passive: true });\n $edge.addEventListener(\"touchend\", onTouchEnd, { passive: true });\n $edge.addEventListener(\"touchcancel\", onTouchEnd, { passive: true });\n\n return () => {\n $edge.removeEventListener(\"touchstart\", onTouchStart);\n $edge.removeEventListener(\"touchmove\", onTouchMove);\n $edge.removeEventListener(\"touchend\", onTouchEnd);\n $edge.removeEventListener(\"touchcancel\", onTouchEnd);\n };\n }\n : undefined,\n });\n}\n", "import { useActions, useActivity } from \"@stackflow/react\";\nimport { assignInlineVars } from \"@vanilla-extract/dynamic\";\nimport React, { useRef } from \"react\";\n\nimport { IconBack, IconClose } from \"../assets\";\nimport { useGlobalOptions } from \"../basicUIPlugin\";\nimport { useMaxWidth } from \"../hooks\";\nimport type { GlobalVars } from \"../theme.css\";\nimport { globalVars } from \"../theme.css\";\nimport { compactMap, noop } from \"../utils\";\nimport * as css from \"./AppBar.css\";\nimport * as appScreenCss from \"./AppScreen.css\";\n\ntype AppBarProps = Partial<\n Pick<\n GlobalVars[\"appBar\"],\n | \"borderColor\"\n | \"borderSize\"\n | \"height\"\n | \"iconColor\"\n | \"textColor\"\n | \"backgroundColor\"\n >\n> & {\n title?: React.ReactNode;\n appendLeft?: () => React.ReactNode;\n appendRight?: () => React.ReactNode;\n backButton?:\n | {\n renderIcon?: () => React.ReactNode;\n onClick?: (e: React.MouseEvent<HTMLButtonElement>) => void;\n }\n | {\n render?: () => React.ReactNode;\n };\n closeButton?:\n | {\n renderIcon?: () => React.ReactNode;\n onClick?: (e: React.MouseEvent<HTMLButtonElement>) => void;\n }\n | {\n render?: () => React.ReactNode;\n };\n closeButtonLocation?: \"left\" | \"right\";\n border?: boolean;\n 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 = useActivity();\n\n const globalOptions = useGlobalOptions();\n const globalCloseButton = globalOptions.appBar?.closeButton;\n\n const centerRef = useRef<any>(null);\n\n const { maxWidth } = useMaxWidth({\n outerRef: ref,\n innerRef: centerRef,\n enable: globalOptions.theme === \"cupertino\",\n });\n\n const onBackClick = (e: React.MouseEvent<HTMLButtonElement>) => {\n if (backButton && \"onClick\" in backButton && backButton.onClick) {\n backButton.onClick(e);\n }\n\n if (!e.defaultPrevented) {\n actions.pop();\n }\n };\n\n const renderBackButton = () => {\n if (activity.isRoot) {\n return null;\n }\n\n if (!backButton) {\n return (\n <button\n type=\"button\"\n className={css.backButton}\n onClick={onBackClick}\n >\n <IconBack />\n </button>\n );\n }\n\n if (\"render\" in backButton && backButton.render) {\n return backButton.render?.();\n }\n\n return (\n <button type=\"button\" className={css.backButton} onClick={onBackClick}>\n {\"renderIcon\" in backButton && backButton.renderIcon ? (\n backButton.renderIcon()\n ) : (\n <IconBack />\n )}\n </button>\n );\n };\n\n const onCloseClick = (e: React.MouseEvent<HTMLButtonElement>) => {\n if (closeButton && \"onClick\" in closeButton && closeButton.onClick) {\n closeButton.onClick(e);\n }\n\n if (\n !e.defaultPrevented &&\n globalCloseButton &&\n \"onClick\" in globalCloseButton\n ) {\n globalCloseButton.onClick?.(e);\n }\n };\n\n const renderCloseButton = () => {\n if (\n (!closeButton && !globalOptions.appBar?.closeButton) ||\n !activity.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 onClick={onCloseClick}\n >\n {(() => {\n if (\n closeButton &&\n \"renderIcon\" in closeButton &&\n closeButton.renderIcon\n ) {\n return closeButton.renderIcon();\n }\n if (\n globalCloseButton &&\n \"renderIcon\" in globalCloseButton &&\n globalCloseButton.renderIcon\n ) {\n return globalCloseButton.renderIcon();\n }\n\n return <IconClose />;\n })()}\n </button>\n );\n };\n\n const hasLeft = !!(\n (closeButtonLocation === \"left\" && closeButton) ||\n backButton ||\n appendLeft\n );\n\n return (\n <div\n ref={ref}\n className={css.appBar({\n border,\n })}\n style={assignInlineVars(\n compactMap({\n [globalVars.appBar.iconColor]: iconColor,\n [globalVars.appBar.textColor]: textColor,\n [globalVars.appBar.borderColor]: borderColor,\n [globalVars.appBar.borderSize]: borderSize,\n [globalVars.appBar.height]: height,\n [globalVars.appBar.backgroundColor]:\n backgroundColor || globalVars.backgroundColor,\n [appScreenCss.vars.appBar.center.mainWidth]: `${maxWidth}px`,\n }),\n )}\n >\n <div className={css.left}>\n {closeButtonLocation === \"left\" && renderCloseButton()}\n {renderBackButton()}\n {appendLeft?.()}\n </div>\n <div ref={centerRef} className={css.center}>\n <div\n className={css.centerMain({\n hasLeft,\n })}\n >\n {typeof title === \"string\" ? (\n <div className={css.centerText}>{title}</div>\n ) : (\n title\n )}\n <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 );\n },\n);\n\nexport default AppBar;\n", "import React from \"react\";\n\nconst IconBack: React.FC<{\n className?: string;\n}> = (props) => (\n <svg\n className={props.className}\n width=\"24\"\n height=\"24\"\n viewBox=\"0 0 24 24\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <path\n d=\"M11.5659 5.56564C11.8783 5.25322 11.8783 4.74669 11.5659 4.43427C11.2535 4.12185 10.7469 4.12185 10.4345 4.43427L3.43451 11.4343C3.12209 11.7467 3.12209 12.2532 3.43451 12.5656L10.4345 19.5656C10.7469 19.8781 11.2535 19.8781 11.5659 19.5656C11.8783 19.2532 11.8783 18.7467 11.5659 18.4343L5.93157 12.8H20.0002C20.442 12.8 20.8002 12.4418 20.8002 12C20.8002 11.5581 20.442 11.2 20.0002 11.2H5.93157L11.5659 5.56564Z\"\n fill=\"currentColor\"\n />\n </svg>\n);\n\nexport default IconBack;\n", "import React from \"react\";\n\nconst IconClose: React.FC<{\n className?: string;\n}> = (props) => (\n <svg\n className={props.className}\n width=\"24\"\n height=\"24\"\n viewBox=\"0 0 24 24\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <path\n d=\"M6.56588 5.43433C6.25346 5.12191 5.74693 5.12191 5.43451 5.43433C5.12209 5.74675 5.12209 6.25328 5.43451 6.5657L10.8688 12L5.43451 17.4343C5.12209 17.7467 5.12209 18.2533 5.43451 18.5657C5.74693 18.8781 6.25346 18.8781 6.56588 18.5657L12.0002 13.1314L17.4345 18.5657C17.7469 18.8781 18.2535 18.8781 18.5659 18.5657C18.8783 18.2533 18.8783 17.7467 18.5659 17.4343L13.1316 12L18.5659 6.5657C18.8783 6.25328 18.8783 5.74675 18.5659 5.43433C18.2535 5.12191 17.7469 5.12191 17.4345 5.43433L12.0002 10.8686L6.56588 5.43433Z\"\n fill=\"currentColor\"\n />\n <path\n d=\"M6.56588 5.43433C6.25346 5.12191 5.74693 5.12191 5.43451 5.43433C5.12209 5.74675 5.12209 6.25328 5.43451 6.5657L10.8688 12L5.43451 17.4343C5.12209 17.7467 5.12209 18.2533 5.43451 18.5657C5.74693 18.8781 6.25346 18.8781 6.56588 18.5657L12.0002 13.1314L17.4345 18.5657C17.7469 18.8781 18.2535 18.8781 18.5659 18.5657C18.8783 18.2533 18.8783 17.7467 18.5659 17.4343L13.1316 12L18.5659 6.5657C18.8783 6.25328 18.8783 5.74675 18.5659 5.43433C18.2535 5.12191 17.7469 5.12191 17.4345 5.43433L12.0002 10.8686L6.56588 5.43433Z\"\n fill=\"currentColor\"\n />\n </svg>\n);\n\nexport default IconClose;\n", "import 'src/styles/f.css.ts.vanilla.css?source=LmRodGh4cTAgewogIHdpZHRoOiAxMDAlOwp9Ci5kaHRoeHExIHsKICBoZWlnaHQ6IDEwMCU7Cn0KLmRodGh4cTIgewogIHRvcDogMDsKfQouZGh0aHhxMyB7CiAgbGVmdDogMDsKfQouZGh0aHhxNCB7CiAgcG9zaXRpb246IGFic29sdXRlOwp9Ci5kaHRoeHE1IHsKICBwb3NpdGlvbjogcmVsYXRpdmU7Cn0KLmRodGh4cTcgewogIGRpc3BsYXk6IGZsZXg7Cn0KLmRodGh4cTggewogIGFsaWduLWl0ZW1zOiBjZW50ZXI7Cn0KLmRodGh4cTkgewogIGFsaWduLWl0ZW1zOiBmbGV4LWVuZDsKfQouZGh0aHhxYSB7CiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7Cn0KLmRodGh4cWIgewogIG92ZXJmbG93OiBoaWRkZW47Cn0KLmRodGh4cWMgewogIHdoaXRlLXNwYWNlOiBub3dyYXA7Cn0KLmRodGh4cWQgewogIHRleHQtYWxpZ246IGNlbnRlcjsKfQouZGh0aHhxZSB7CiAgY3Vyc29yOiBwb2ludGVyOwogIC13ZWJraXQtdGFwLWhpZ2hsaWdodC1jb2xvcjogdHJhbnNwYXJlbnQ7Cn0KLmRodGh4cWYgewogIGJveC1zaXppbmc6IGJvcmRlci1ib3g7Cn0KLmRodGh4cWcgewogIGJveC1zaXppbmc6IGNvbnRlbnQtYm94Owp9Ci5kaHRoeHFoIHsKICBhcHBlYXJhbmNlOiBub25lOwogIGJvcmRlcjogMDsKICBwYWRkaW5nOiAwOwogIGJhY2tncm91bmQ6IG5vbmU7Cn0=';\nimport 'src/theme.css.ts.vanilla.css?source=#H4sIAAAAAAAAE+2UwUrEMBCG7/sUAS8Km9JWS6Hik4hImqRtsMmEyQSXFd/drLie1LbrYQ9bEkjC5P8Jfz6mQQDasuawPCpBggcS8qUb4ZX7MfbG8VYEI3k0nAZt9YNwCsGoJ/a2YYz/cb1NhR4hOsUljIANu+q67n5CpYz9QYl9K67zLfuaWVHdTBkJ79MBeQuoNP5mlNdLjYLZ64YVfjdXN2jTD9Sw26xCbeeqjAT3nVtZpHE3V0p6RydKT/uzozoMqUgoXDBk0vNVRHHYNKysKxumbFogAptctKZj2iiUiSHl/Rnd+2YBqDJ6jWQcXDiqeVYth7XM6pXWf9OaPRcSvLf7/LIRXLvlmfkrLpu/tQWeC8EPWtPMuWAKAAA=';\nimport 'src/components/AppScreen.css.ts.vanilla.css?source=#H4sIAAAAAAAAE62V246bMBCG7/MUvqkEKo5gd7ttHPU9WlVVNdgOmBgbGZO0W/Xda06bAEs2QZG4MJrxP59nxuP1r4jJ3dPj0zP6u0IoBrpPjK4Uw1RLbQg6gPEwLq0z7KQ+4kJWiVA4hlJQXAnMRI7Hu/zt6t9q3St/Xqh8WfVLo2oNqFJYoRVp1ztt8k659wz9AOkCqLB/JpaBJD1J1jKdogTLv3lRGH4YeovGuxMmKNy6vxcsFOO/yShO1O+kuijylxCdRAJEjNb2BwMLF3JhU57zr6CY0YL9RCOIlIsktQRFoeH5dpBsgqRQHAxODDDBlfUWFTRAJonBCwPUff4wGZsx0mteooEfXOkXz/qFo5Jd55e1xgM3zZmdvaRGS1knCx95vBcWv1pbk1CJ6wBd0fRCZR+GacgI6dVakRhME5mJspDgwiqt+KAZotMJspuagVYFN1YofdYO2ZUdPAm9uSfF5jqgcJYG7kkDi2jCpQjTO5q9MSjeYvjuNfd3lmNxjaZIkwqdX8M5uvkMLa7XlGxSrZvI2o37uzwNQTdW332noCjcj8Fl6oynqJhVBuqFX4MXwJibKNjqgiAKkr47h3vZlsJHHxHVyrm7EV7CjmMwHNxQKrmtRf27ReHqMBfgLMeyyfFRMJu60qwfPnUvz8ycfBzuztsK1ZQ3Am7PnrvmgPVYQ/hWmRrnP7J8FI77CAAA';\nimport 'src/components/AppBar.css.ts.vanilla.css?source=#H4sIAAAAAAAAE7VWy47bIBTd9yvYVEqqwcJ5TDIeddNFd11106qqRsTgmAaDBTiTpOq/F7Cd+BHPZJp0Z3Mf3Hvu4UDwFO43UzybI/D7HQArHG/WShaCwFhyqSKwxWoEoTbWkHD5DHNerJmAK6xZDAsGcZ7bHwW7keNHmy6lbJ2ay5OU/j5UbqlyvhFIGSFUuDWjsNDMMCmiKvXFmXVqjad4SAqF3YffK8eEMLGGRuYRiKWw6YQZaZxQiBXFkAlNjbP2vanYDjoe7D+hu7r9p5DwZDadzazxz7vgKYxlnmeHEATHGdyBSElpfhBs8AtNmZRm9GNc5FQZJuTPRgY/xVzWKOGVlrwwtL9jWcvqNpv3k/k6PN6JVFlUfnJs6LdRiND7NgToX6vAgijJSA8AmeOYmX0E0ONAGd9tGYpm4y6tjr6doaHxXZ31jOV2ZOyiUu7xcAuA+qnaWIXDWKHByvDtKsNXVVYGhqWKyZ3FGBOnHv5IApTvQIx5PLpYzqQi1E6KHegYfAAwHAN0uRaWwbUONuqblOezVBBLT4CCuaVh2yeiWW5p5jwJ0znHFgIhBW15Tb39jSLNrLg15LlJ/JrcU4Qy7YzPjJg0ApNgUlZ4UvNJsOgVPY1wbNiWdo5fMBnaB+lW/NwHJtzJZdiy3HtLVU376M19F2/EwNCdGcDg/x3jqpUrxa0FhZNR18CvQhuW7G1LwlBhx+NAdMmVad5WnCbWFlajTKyzJ7ddCsLloh4xZ4LCes5hMD/6PldrK8nJY33E2MGzuKK7XRq62N7W+LmL7X7wYmscEte5W8CcrQVkhmba3ucWFKrOInUyeVL4sOaq7zzBGeM2uRs7p1Dvtc17Bz5ZqDZfcPzV/3+2nj2s7hHqYl3D7IcxLwd4TthGcO4vyaueUJc9Z155xpxn8uJKJi+aOlhxEwXTvq4svWMLrxM9j8r0MoQZ3sHq0NQBHV19QV/OE3p5NaGXbX1fcRlvWp0/lE8oR8zTW5hyznLNdIdXTKRUsT4Dj+uNvHjoCnJAKVd9iTYujGwHvnIv9UiCryTJQKXuw275F88Qvlq6DAAA';\nimport { createRuntimeFn as _7a468 } from '@vanilla-extract/recipes/createRuntimeFn';\nexport var appBar = _7a468({defaultClassName:'_1yk3a450 dhthxq4 dhthxq8 dhthxq7 dhthxq0 dhthxqg _1dlf4347',variantClassNames:{border:{true:'_1yk3a451'}},defaultVariants:{},compoundVariants:[]});\nexport var backButton = '_1yk3a453 dhthxq8 dhthxq7 dhthxqa dhthxqe dhthxqh';\nexport var center = '_1yk3a455 dhthxq8 dhthxq7';\nexport var centerMain = _7a468({defaultClassName:'_1yk3a456',variantClassNames:{hasLeft:{true:'_1yk3a457'}},defaultVariants:{},compoundVariants:[]});\nexport var centerMainEdge = '_1yk3a458 dhthxqh dhthxq4 dhthxq2 dhthxqe';\nexport var centerText = '_1yk3a459 dhthxqb dhthxqc dhthxq0';\nexport var closeButton = '_1yk3a453 dhthxq8 dhthxq7 dhthxqa dhthxqe dhthxqh';\nexport var left = '_1yk3a452 dhthxq8 dhthxq7 dhthxq1';\nexport var right = '_1yk3a45a dhthxq8 dhthxq7 dhthxq1 dhthxq5';", "import 'src/styles/f.css.ts.vanilla.css?source=LmRodGh4cTAgewogIHdpZHRoOiAxMDAlOwp9Ci5kaHRoeHExIHsKICBoZWlnaHQ6IDEwMCU7Cn0KLmRodGh4cTIgewogIHRvcDogMDsKfQouZGh0aHhxMyB7CiAgbGVmdDogMDsKfQouZGh0aHhxNCB7CiAgcG9zaXRpb246IGFic29sdXRlOwp9Ci5kaHRoeHE1IHsKICBwb3NpdGlvbjogcmVsYXRpdmU7Cn0KLmRodGh4cTcgewogIGRpc3BsYXk6IGZsZXg7Cn0KLmRodGh4cTggewogIGFsaWduLWl0ZW1zOiBjZW50ZXI7Cn0KLmRodGh4cTkgewogIGFsaWduLWl0ZW1zOiBmbGV4LWVuZDsKfQouZGh0aHhxYSB7CiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7Cn0KLmRodGh4cWIgewogIG92ZXJmbG93OiBoaWRkZW47Cn0KLmRodGh4cWMgewogIHdoaXRlLXNwYWNlOiBub3dyYXA7Cn0KLmRodGh4cWQgewogIHRleHQtYWxpZ246IGNlbnRlcjsKfQouZGh0aHhxZSB7CiAgY3Vyc29yOiBwb2ludGVyOwogIC13ZWJraXQtdGFwLWhpZ2hsaWdodC1jb2xvcjogdHJhbnNwYXJlbnQ7Cn0KLmRodGh4cWYgewogIGJveC1zaXppbmc6IGJvcmRlci1ib3g7Cn0KLmRodGh4cWcgewogIGJveC1zaXppbmc6IGNvbnRlbnQtYm94Owp9Ci5kaHRoeHFoIHsKICBhcHBlYXJhbmNlOiBub25lOwogIGJvcmRlcjogMDsKICBwYWRkaW5nOiAwOwogIGJhY2tncm91bmQ6IG5vbmU7Cn0=';\nimport 'src/theme.css.ts.vanilla.css?source=#H4sIAAAAAAAAE+2UwUrEMBCG7/sUAS8Km9JWS6Hik4hImqRtsMmEyQSXFd/drLie1LbrYQ9bEkjC5P8Jfz6mQQDasuawPCpBggcS8qUb4ZX7MfbG8VYEI3k0nAZt9YNwCsGoJ/a2YYz/cb1NhR4hOsUljIANu+q67n5CpYz9QYl9K67zLfuaWVHdTBkJ79MBeQuoNP5mlNdLjYLZ64YVfjdXN2jTD9Sw26xCbeeqjAT3nVtZpHE3V0p6RydKT/uzozoMqUgoXDBk0vNVRHHYNKysKxumbFogAptctKZj2iiUiSHl/Rnd+2YBqDJ6jWQcXDiqeVYth7XM6pXWf9OaPRcSvLf7/LIRXLvlmfkrLpu/tQWeC8EPWtPMuWAKAAA=';\nimport 'src/components/AppScreen.css.ts.vanilla.css?source=#H4sIAAAAAAAAE62V246bMBCG7/MUvqkEKo5gd7ttHPU9WlVVNdgOmBgbGZO0W/Xda06bAEs2QZG4MJrxP59nxuP1r4jJ3dPj0zP6u0IoBrpPjK4Uw1RLbQg6gPEwLq0z7KQ+4kJWiVA4hlJQXAnMRI7Hu/zt6t9q3St/Xqh8WfVLo2oNqFJYoRVp1ztt8k659wz9AOkCqLB/JpaBJD1J1jKdogTLv3lRGH4YeovGuxMmKNy6vxcsFOO/yShO1O+kuijylxCdRAJEjNb2BwMLF3JhU57zr6CY0YL9RCOIlIsktQRFoeH5dpBsgqRQHAxODDDBlfUWFTRAJonBCwPUff4wGZsx0mteooEfXOkXz/qFo5Jd55e1xgM3zZmdvaRGS1knCx95vBcWv1pbk1CJ6wBd0fRCZR+GacgI6dVakRhME5mJspDgwiqt+KAZotMJspuagVYFN1YofdYO2ZUdPAm9uSfF5jqgcJYG7kkDi2jCpQjTO5q9MSjeYvjuNfd3lmNxjaZIkwqdX8M5uvkMLa7XlGxSrZvI2o37uzwNQTdW332noCjcj8Fl6oynqJhVBuqFX4MXwJibKNjqgiAKkr47h3vZlsJHHxHVyrm7EV7CjmMwHNxQKrmtRf27ReHqMBfgLMeyyfFRMJu60qwfPnUvz8ycfBzuztsK1ZQ3Am7PnrvmgPVYQ/hWmRrnP7J8FI77CAAA';\nimport { createRuntimeFn as _7a468 } from '@vanilla-extract/recipes/createRuntimeFn';\nexport var allTransitions = '_1dlf4348';\nexport var appScreen = _7a468({defaultClassName:'dhthxq4 dhthxq0 dhthxq1 dhthxq2 dhthxq3 dhthxqb',variantClassNames:{transitionState:{'enter-active':'_1dlf4349','enter-done':'_1dlf434a','exit-active':'_1dlf434b','exit-done':'_1dlf434c'}},defaultVariants:{},compoundVariants:[]});\nexport var background = '_1dlf4347';\nexport var dim = '_1dlf434i dhthxq4 dhthxq0 dhthxq1 dhthxq2 dhthxq3 _1dlf4346 _1dlf4348';\nexport var edge = _7a468({defaultClassName:'_1dlf434l dhthxq4 dhthxq2 dhthxq3 dhthxq1',variantClassNames:{hasAppBar:{true:'_1dlf434m'}},defaultVariants:{},compoundVariants:[]});\nexport var enterActive = '_1dlf4349';\nexport var enterDone = '_1dlf434a';\nexport var exitActive = '_1dlf434b';\nexport var exitDone = '_1dlf434c';\nexport var paper = _7a468({defaultClassName:'_1dlf434j dhthxq4 dhthxq0 dhthxq1 dhthxq2 dhthxq3 _1dlf4347 _1dlf4348',variantClassNames:{hasAppBar:{true:'_1dlf434k dhthxqf'}},defaultVariants:{},compoundVariants:[]});\nexport var vars = {transitionDuration:'var(--_1dlf4340)',zIndexes:{dim:'var(--_1dlf4341)',paper:'var(--_1dlf4342)',edge:'var(--_1dlf4343)',appBar:'var(--_1dlf4344)'},appBar:{center:{mainWidth:'var(--_1dlf4345)'}}};", "/* eslint-disable jsx-a11y/no-static-element-interactions, jsx-a11y/click-events-have-key-events */\n\nimport { useActions, useActivity } from \"@stackflow/react\";\nimport { assignInlineVars } from \"@vanilla-extract/dynamic\";\nimport React, { useRef } from \"react\";\n\nimport { useLazy, useStyleEffect } from \"../hooks\";\nimport type { GlobalVars } from \"../theme.css\";\nimport { globalVars } from \"../theme.css\";\nimport { compactMap } from \"../utils\";\nimport * as css from \"./BottomSheet.css\";\n\ntype BottomSheetProps = Partial<\n Pick<GlobalVars, \"backgroundColor\" | \"dimBackgroundColor\">\n> &\n Partial<GlobalVars[\"bottomSheet\"]> & {\n onOutsideClick?: React.MouseEventHandler;\n children: React.ReactNode;\n };\nconst BottomSheet: React.FC<BottomSheetProps> = ({\n borderRadius = \"1rem\",\n backgroundColor,\n dimBackgroundColor,\n onOutsideClick,\n children,\n}) => {\n const activity = useActivity();\n const { pop } = useActions();\n\n const containerRef = useRef<HTMLDivElement>(null);\n const paperRef = useRef<HTMLDivElement>(null);\n\n useStyleEffect({\n styleName: \"hide\",\n refs: [containerRef],\n });\n useStyleEffect({\n styleName: \"offset\",\n refs: [paperRef],\n });\n useStyleEffect({\n styleName: \"swipe-back\",\n refs: [paperRef],\n });\n\n const popLock = useRef(false);\n\n const onDimClick: React.MouseEventHandler = (e) => {\n onOutsideClick?.(e);\n\n if (e.defaultPrevented) {\n return;\n }\n\n if (popLock.current) {\n return;\n }\n popLock.current = true;\n\n pop();\n };\n const onPaperClick: React.MouseEventHandler = (e) => {\n e.stopPropagation();\n };\n\n const zIndexBase = activity.zIndex * 5 + 3;\n const zIndexPaper = activity.zIndex * 5 + 4;\n\n return (\n <div\n className={css.container({\n transitionState: useLazy(activity.transitionState),\n })}\n ref={containerRef}\n style={assignInlineVars(\n compactMap({\n [globalVars.bottomSheet.borderRadius]: borderRadius,\n [globalVars.backgroundColor]: backgroundColor,\n [globalVars.dimBackgroundColor]: dimBackgroundColor,\n [css.vars.zIndexes.dim]: `${zIndexBase}`,\n [css.vars.zIndexes.paper]: `${zIndexPaper}`,\n [css.vars.transitionDuration]:\n activity.transitionState === \"enter-active\" ||\n activity.transitionState === \"exit-active\"\n ? `var(--stackflow-transition-duration)`\n : \"0ms\",\n }),\n )}\n >\n <div className={css.dim} ref={paperRef} onClick={onDimClick}>\n <div className={css.paper} onClick={onPaperClick}>\n {children}\n </div>\n </div>\n </div>\n );\n};\n\nexport default BottomSheet;\n", "import 'src/styles/f.css.ts.vanilla.css?source=LmRodGh4cTAgewogIHdpZHRoOiAxMDAlOwp9Ci5kaHRoeHExIHsKICBoZWlnaHQ6IDEwMCU7Cn0KLmRodGh4cTIgewogIHRvcDogMDsKfQouZGh0aHhxMyB7CiAgbGVmdDogMDsKfQouZGh0aHhxNCB7CiAgcG9zaXRpb246IGFic29sdXRlOwp9Ci5kaHRoeHE1IHsKICBwb3NpdGlvbjogcmVsYXRpdmU7Cn0KLmRodGh4cTcgewogIGRpc3BsYXk6IGZsZXg7Cn0KLmRodGh4cTggewogIGFsaWduLWl0ZW1zOiBjZW50ZXI7Cn0KLmRodGh4cTkgewogIGFsaWduLWl0ZW1zOiBmbGV4LWVuZDsKfQouZGh0aHhxYSB7CiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7Cn0KLmRodGh4cWIgewogIG92ZXJmbG93OiBoaWRkZW47Cn0KLmRodGh4cWMgewogIHdoaXRlLXNwYWNlOiBub3dyYXA7Cn0KLmRodGh4cWQgewogIHRleHQtYWxpZ246IGNlbnRlcjsKfQouZGh0aHhxZSB7CiAgY3Vyc29yOiBwb2ludGVyOwogIC13ZWJraXQtdGFwLWhpZ2hsaWdodC1jb2xvcjogdHJhbnNwYXJlbnQ7Cn0KLmRodGh4cWYgewogIGJveC1zaXppbmc6IGJvcmRlci1ib3g7Cn0KLmRodGh4cWcgewogIGJveC1zaXppbmc6IGNvbnRlbnQtYm94Owp9Ci5kaHRoeHFoIHsKICBhcHBlYXJhbmNlOiBub25lOwogIGJvcmRlcjogMDsKICBwYWRkaW5nOiAwOwogIGJhY2tncm91bmQ6IG5vbmU7Cn0=';\nimport 'src/theme.css.ts.vanilla.css?source=#H4sIAAAAAAAAE+2UwUrEMBCG7/sUAS8Km9JWS6Hik4hImqRtsMmEyQSXFd/drLie1LbrYQ9bEkjC5P8Jfz6mQQDasuawPCpBggcS8qUb4ZX7MfbG8VYEI3k0nAZt9YNwCsGoJ/a2YYz/cb1NhR4hOsUljIANu+q67n5CpYz9QYl9K67zLfuaWVHdTBkJ79MBeQuoNP5mlNdLjYLZ64YVfjdXN2jTD9Sw26xCbeeqjAT3nVtZpHE3V0p6RydKT/uzozoMqUgoXDBk0vNVRHHYNKysKxumbFogAptctKZj2iiUiSHl/Rnd+2YBqDJ6jWQcXDiqeVYth7XM6pXWf9OaPRcSvLf7/LIRXLvlmfkrLpu/tQWeC8EPWtPMuWAKAAA=';\nimport 'src/components/BottomSheet.css.ts.vanilla.css?source=Ll8xaHQzOGgwMyB7CiAgdHJhbnNpdGlvbjogdmFyKC0tXzFodDM4aDAwKTsKfQouXzFodDM4aDA3IHsKICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMTAwJSk7Cn0KLl8xaHQzOGgwZCB7CiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tc3RhY2tmbG93LXBsdWdpbi1iYXNpYy11aS1kaW0tYmFja2dyb3VuZC1jb2xvcik7CiAgei1pbmRleDogdmFyKC0tXzFodDM4aDAxKTsKICBvcGFjaXR5OiAwOwp9Ci5fMWh0MzhoMDQgLl8xaHQzOGgwZCwgLl8xaHQzOGgwNSAuXzFodDM4aDBkIHsKICBvcGFjaXR5OiAxOwp9Ci5fMWh0MzhoMDYgLl8xaHQzOGgwZCwgLl8xaHQzOGgwNyAuXzFodDM4aDBkIHsKICBvcGFjaXR5OiAwOwp9Ci5fMWh0MzhoMGUgewogIGJhY2tncm91bmQtY29sb3I6IHZhcigtLXN0YWNrZmxvdy1wbHVnaW4tYmFzaWMtdWktYmFja2dyb3VuZC1jb2xvcik7CiAgd2lkdGg6IDEwMCU7CiAgYm9yZGVyLXJhZGl1czogdmFyKC0tc3RhY2tmbG93LXBsdWdpbi1iYXNpYy11aS1ib3R0b20tc2hlZXQtYm9yZGVyLXJhZGl1cykgdmFyKC0tc3RhY2tmbG93LXBsdWdpbi1iYXNpYy11aS1ib3R0b20tc2hlZXQtYm9yZGVyLXJhZGl1cykgMCAwOwogIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgxMDAlKTsKICBvcGFjaXR5OiAwOwp9Ci5fMWh0MzhoMDQgLl8xaHQzOGgwZSwgLl8xaHQzOGgwNSAuXzFodDM4aDBlIHsKICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7CiAgb3BhY2l0eTogMTsKfQouXzFodDM4aDA2IC5fMWh0MzhoMGUsIC5fMWh0MzhoMDcgLl8xaHQzOGgwZSB7CiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDEwMCUpOwogIG9wYWNpdHk6IDA7Cn0=';\nimport { createRuntimeFn as _7a468 } from '@vanilla-extract/recipes/createRuntimeFn';\nexport var container = _7a468({defaultClassName:'dhthxq4 dhthxq0 dhthxq1 dhthxq2 dhthxq3 dhthxqb',variantClassNames:{transitionState:{'enter-active':'_1ht38h04','enter-done':'_1ht38h05','exit-active':'_1ht38h06','exit-done':'_1ht38h07'}},defaultVariants:{},compoundVariants:[]});\nexport var dim = '_1ht38h0d dhthxq4 dhthxq0 dhthxq1 dhthxq2 dhthxq3 dhthxqb dhthxq9 dhthxq7 _1ht38h03';\nexport var enterActive = '_1ht38h04';\nexport var enterDone = '_1ht38h05';\nexport var exitActive = '_1ht38h06';\nexport var exitDone = '_1ht38h07';\nexport var paper = '_1ht38h0e dhthxqb _1ht38h03';\nexport var vars = {transitionDuration:'var(--_1ht38h00)',zIndexes:{dim:'var(--_1ht38h01)',paper:'var(--_1ht38h02)'}};", "/* eslint-disable jsx-a11y/no-static-element-interactions, jsx-a11y/click-events-have-key-events */\n\nimport { useActions, useActivity } from \"@stackflow/react\";\nimport { assignInlineVars } from \"@vanilla-extract/dynamic\";\nimport React, { useRef } from \"react\";\n\nimport { useLazy, useStyleEffect } from \"../hooks\";\nimport type { GlobalVars } from \"../theme.css\";\nimport { globalVars } from \"../theme.css\";\nimport { compactMap } from \"../utils\";\nimport * as css from \"./Modal.css\";\n\ntype ModalProps = Partial<\n Pick<GlobalVars, \"backgroundColor\" | \"dimBackgroundColor\">\n> &\n Partial<GlobalVars[\"modal\"]> & {\n onOutsideClick?: React.MouseEventHandler;\n children: React.ReactNode;\n };\nconst Modal: React.FC<ModalProps> = ({\n backgroundColor,\n dimBackgroundColor,\n borderRadius = \"1rem\",\n onOutsideClick,\n children,\n}) => {\n const activity = useActivity();\n const { pop } = useActions();\n\n const containerRef = useRef<HTMLDivElement>(null);\n const paperRef = useRef<HTMLDivElement>(null);\n\n useStyleEffect({\n styleName: \"hide\",\n refs: [containerRef],\n });\n useStyleEffect({\n styleName: \"offset\",\n refs: [paperRef],\n });\n useStyleEffect({\n styleName: \"swipe-back\",\n refs: [paperRef],\n });\n\n const popLock = useRef(false);\n\n const onDimClick: React.MouseEventHandler = (e) => {\n onOutsideClick?.(e);\n\n if (e.defaultPrevented) {\n return;\n }\n\n if (popLock.current) {\n return;\n }\n popLock.current = true;\n\n pop();\n };\n const onPaperClick: React.MouseEventHandler = (e) => {\n e.stopPropagation();\n };\n\n const zIndexBase = activity.zIndex * 5 + 3;\n const zIndexPaper = activity.zIndex * 5 + 4;\n\n return (\n <div\n className={css.container({\n transitionState: useLazy(activity.transitionState),\n })}\n ref={containerRef}\n style={assignInlineVars(\n compactMap({\n [globalVars.bottomSheet.borderRadius]: borderRadius,\n [globalVars.backgroundColor]: backgroundColor,\n [globalVars.dimBackgroundColor]: dimBackgroundColor,\n [css.vars.zIndexes.dim]: `${zIndexBase}`,\n [css.vars.zIndexes.paper]: `${zIndexPaper}`,\n [css.vars.transitionDuration]:\n activity.transitionState === \"enter-active\" ||\n activity.transitionState === \"exit-active\"\n ? `var(--stackflow-transition-duration)`\n : \"0ms\",\n }),\n )}\n >\n <div className={css.dim} ref={paperRef} onClick={onDimClick}>\n <div className={css.paper} onClick={onPaperClick}>\n {children}\n </div>\n </div>\n </div>\n );\n};\n\nexport default Modal;\n", "import 'src/styles/f.css.ts.vanilla.css?source=LmRodGh4cTAgewogIHdpZHRoOiAxMDAlOwp9Ci5kaHRoeHExIHsKICBoZWlnaHQ6IDEwMCU7Cn0KLmRodGh4cTIgewogIHRvcDogMDsKfQouZGh0aHhxMyB7CiAgbGVmdDogMDsKfQouZGh0aHhxNCB7CiAgcG9zaXRpb246IGFic29sdXRlOwp9Ci5kaHRoeHE1IHsKICBwb3NpdGlvbjogcmVsYXRpdmU7Cn0KLmRodGh4cTcgewogIGRpc3BsYXk6IGZsZXg7Cn0KLmRodGh4cTggewogIGFsaWduLWl0ZW1zOiBjZW50ZXI7Cn0KLmRodGh4cTkgewogIGFsaWduLWl0ZW1zOiBmbGV4LWVuZDsKfQouZGh0aHhxYSB7CiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7Cn0KLmRodGh4cWIgewogIG92ZXJmbG93OiBoaWRkZW47Cn0KLmRodGh4cWMgewogIHdoaXRlLXNwYWNlOiBub3dyYXA7Cn0KLmRodGh4cWQgewogIHRleHQtYWxpZ246IGNlbnRlcjsKfQouZGh0aHhxZSB7CiAgY3Vyc29yOiBwb2ludGVyOwogIC13ZWJraXQtdGFwLWhpZ2hsaWdodC1jb2xvcjogdHJhbnNwYXJlbnQ7Cn0KLmRodGh4cWYgewogIGJveC1zaXppbmc6IGJvcmRlci1ib3g7Cn0KLmRodGh4cWcgewogIGJveC1zaXppbmc6IGNvbnRlbnQtYm94Owp9Ci5kaHRoeHFoIHsKICBhcHBlYXJhbmNlOiBub25lOwogIGJvcmRlcjogMDsKICBwYWRkaW5nOiAwOwogIGJhY2tncm91bmQ6IG5vbmU7Cn0=';\nimport 'src/theme.css.ts.vanilla.css?source=#H4sIAAAAAAAAE+2UwUrEMBCG7/sUAS8Km9JWS6Hik4hImqRtsMmEyQSXFd/drLie1LbrYQ9bEkjC5P8Jfz6mQQDasuawPCpBggcS8qUb4ZX7MfbG8VYEI3k0nAZt9YNwCsGoJ/a2YYz/cb1NhR4hOsUljIANu+q67n5CpYz9QYl9K67zLfuaWVHdTBkJ79MBeQuoNP5mlNdLjYLZ64YVfjdXN2jTD9Sw26xCbeeqjAT3nVtZpHE3V0p6RydKT/uzozoMqUgoXDBk0vNVRHHYNKysKxumbFogAptctKZj2iiUiSHl/Rnd+2YBqDJ6jWQcXDiqeVYth7XM6pXWf9OaPRcSvLf7/LIRXLvlmfkrLpu/tQWeC8EPWtPMuWAKAAA=';\nimport 'src/components/Modal.css.ts.vanilla.css?source=Ll81b3pnOGMzIHsKICB0cmFuc2l0aW9uOiB2YXIoLS1fNW96ZzhjMCk7Cn0KLl81b3pnOGM3IHsKICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMTAwJSk7Cn0KLl81b3pnOGNkIHsKICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1zdGFja2Zsb3ctcGx1Z2luLWJhc2ljLXVpLWRpbS1iYWNrZ3JvdW5kLWNvbG9yKTsKICB6LWluZGV4OiB2YXIoLS1fNW96ZzhjMSk7CiAgb3BhY2l0eTogMDsKfQouXzVvemc4YzQgLl81b3pnOGNkLCAuXzVvemc4YzUgLl81b3pnOGNkIHsKICBvcGFjaXR5OiAxOwp9Ci5fNW96ZzhjNiAuXzVvemc4Y2QsIC5fNW96ZzhjNyAuXzVvemc4Y2QgewogIG9wYWNpdHk6IDA7Cn0KLl81b3pnOGNlIHsKICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1zdGFja2Zsb3ctcGx1Z2luLWJhc2ljLXVpLWJhY2tncm91bmQtY29sb3IpOwogIHdpZHRoOiAxMDAlOwogIG1hcmdpbjogMCAyLjVyZW07CiAgYm94LXNoYWRvdzogMHB4IDAuNjI1cmVtIDIuMzc1cmVtIHJnYmEoMCwgMCwgMCwgMC4xNSksIDBweCAuNTYyNXJlbSAyLjg3NXJlbSByZ2JhKDAsIDAsIDAsIDAuMTIpLCAwcHggLjMxMjVyZW0gLjkzNzVyZW0gcmdiYSgwLCAwLCAwLCAwLjEpOwogIGJvcmRlci1yYWRpdXM6IHZhcigtLXN0YWNrZmxvdy1wbHVnaW4tYmFzaWMtdWktYm90dG9tLXNoZWV0LWJvcmRlci1yYWRpdXMpOwogIHRyYW5zZm9ybTogc2NhbGUoMS4xKTsKICBvcGFjaXR5OiAwOwp9Ci5fNW96ZzhjNCAuXzVvemc4Y2UsIC5fNW96ZzhjNSAuXzVvemc4Y2UgewogIHRyYW5zZm9ybTogc2NhbGUoMSk7CiAgb3BhY2l0eTogMTsKfQouXzVvemc4YzYgLl81b3pnOGNlLCAuXzVvemc4YzcgLl81b3pnOGNlIHsKICB0cmFuc2Zvcm06IHNjYWxlKDEuMSk7CiAgb3BhY2l0eTogMDsKfQ==';\nimport { createRuntimeFn as _7a468 } from '@vanilla-extract/recipes/createRuntimeFn';\nexport var container = _7a468({defaultClassName:'dhthxq4 dhthxq0 dhthxq1 dhthxq2 dhthxq3 dhthxqb',variantClassNames:{transitionState:{'enter-active':'_5ozg8c4','enter-done':'_5ozg8c5','exit-active':'_5ozg8c6','exit-done':'_5ozg8c7'}},defaultVariants:{},compoundVariants:[]});\nexport var dim = '_5ozg8cd dhthxq4 dhthxq0 dhthxq1 dhthxq2 dhthxq3 dhthxqb dhthxq8 dhthxq7 dhthxqa _5ozg8c3';\nexport var enterActive = '_5ozg8c4';\nexport var enterDone = '_5ozg8c5';\nexport var exitActive = '_5ozg8c6';\nexport var exitDone = '_5ozg8c7';\nexport var paper = '_5ozg8ce dhthxqb _5ozg8c3';\nexport var vars = {transitionDuration:'var(--_5ozg8c0)',zIndexes:{dim:'var(--_5ozg8c1)',paper:'var(--_5ozg8c2)'}};"],
5
- "mappings": "+fACA,OAAS,oBAAAA,OAAwB,2BACjC,OAAOC,IAAS,iBAAAC,GAAe,cAAAC,OAAkB,QCFjD,IAAAC,EAAA,GAAAC,GAAAD,EAAA,aAAAE,GAAA,cAAAC,GAAA,eAAAC,EAAA,gBAAAC,GAAA,kBAAAC,KACO,IAAIC,GAAU,YACVC,GAAY,YACZC,EAAa,CAAC,gBAAgB,oDAAoD,mBAAmB,wDAAwD,OAAO,CAAC,YAAY,wDAAwD,WAAW,uDAAuD,OAAO,kDAAkD,UAAU,sDAAsD,UAAU,sDAAsD,gBAAgB,4DAA4D,uBAAuB,mEAAmE,EAAE,YAAY,CAAC,aAAa,6DAA6D,EAAE,MAAM,CAAC,aAAa,6DAA6D,CAAC,EACvzBC,GAAc,sDACdC,GAAgB,wDCLpB,SAASC,EACdC,EAGA,CACA,OAAO,OAAO,QAAQA,CAAG,EAAE,OAAY,CAACC,EAAK,CAACC,EAAKC,CAAK,KAClDA,GAAU,OACZF,EAAIC,GAAOC,GAGNF,GACN,CAAC,CAAC,CACP,CCZO,SAASG,EACdC,EACAC,EACAC,EACA,CACA,IAAMC,EAAW,IAAM,CACrBH,EAAG,oBAAoBC,EAAME,CAAQ,EACrCD,EAAG,CACL,EAEAF,EAAG,iBAAiBC,EAAME,CAAQ,CACpC,CCXO,IAAMC,GAAgBC,IAC3BA,EAAG,EACH,OAAO,iBAAiB,SAAUA,CAAE,EAE7B,IAAM,CACX,OAAO,oBAAoB,SAAUA,CAAE,CACzC,GCNK,IAAMC,GAAO,IAAM,CAAC,ECCpB,SAASC,EAAiBC,EAAgB,CAC/C,sBAAsB,IAAM,CAC1B,sBAAsB,IAAM,CAC1BA,EAAG,CACL,CAAC,CACH,CAAC,CACH,CNeA,IAAMC,GAAuBC,GAAoC,CAC/D,MAAO,SACT,CAAC,EAEYC,GAAwBF,GAAqB,SAEnD,SAASG,GAAmB,CACjC,OAAOC,GAAWJ,EAAoB,CACxC,CAEO,IAAMK,GAEgBC,GAAY,KAAO,CAC9C,IAAK,WACL,UAAU,CAAE,MAAAC,CAAM,EAAG,CApCvB,IAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAqCI,OACEC,GAAA,cAACb,GAAA,CAAsB,MAAOI,GAC5BS,GAAA,cAAC,OACC,UACE,OAAO,QAAW,YAAcC,EAAMV,EAAQ,OAAS,OAEzD,MAAOW,GACLC,EAAW,CACT,CAAOC,EAAW,iBAAkBb,EAAQ,gBAC5C,CAAOa,EAAW,oBAAqBb,EAAQ,mBAC/C,CAAOa,EAAW,OAAO,cACvBX,EAAAF,EAAQ,SAAR,YAAAE,EAAgB,YAClB,CAAOW,EAAW,OAAO,aAAaV,EAAAH,EAAQ,SAAR,YAAAG,EAAgB,WACtD,CAAOU,EAAW,OAAO,SAAST,EAAAJ,EAAQ,SAAR,YAAAI,EAAgB,OAClD,CAAOS,EAAW,OAAO,YAAYR,EAAAL,EAAQ,SAAR,YAAAK,EAAgB,UACrD,CAAOQ,EAAW,OAAO,YAAYP,EAAAN,EAAQ,SAAR,YAAAM,EAAgB,UACrD,CAAOO,EAAW,YAAY,eAC5BN,EAAAP,EAAQ,cAAR,YAAAO,EAAqB,aACvB,CAAOM,EAAW,MAAM,eACtBL,EAAAR,EAAQ,QAAR,YAAAQ,EAAe,YACnB,CAAC,CACH,GAECP,EAAM,OAAO,CAChB,CACF,CAEJ,CACF,GO/DA,OAAS,cAAAa,GAAY,eAAAC,OAAmB,mBACxC,OAAS,oBAAAC,OAAwB,2BACjC,OAAOC,GAAS,UAAAC,MAAc,QCJ9B,OAAS,aAAAC,GAAW,YAAAC,OAAgB,QAI7B,SAASC,EAAWC,EAAU,CACnC,GAAM,CAACC,EAAOC,CAAQ,EAAIC,GAAwB,MAAS,EAE3D,OAAAC,GAAU,IAAM,CACdC,EAAiB,IAAM,CACrBH,EAASF,CAAK,CAChB,CAAC,CACH,EAAG,CAACA,CAAK,CAAC,EAEHC,CACT,CCbA,OAAS,aAAAK,GAAW,YAAAC,OAAgB,QAI7B,SAASC,GAAY,CAC1B,SAAAC,EACA,SAAAC,EACA,OAAAC,CACF,EAIG,CACD,GAAM,CAACC,EAAUC,CAAW,EAAIC,GAA6B,MAAS,EAEtE,OAAAC,GAAU,IAAM,CACd,IAAMC,EAASP,GAAY,YAAaA,GAAYA,EAAS,QACvDQ,EAASP,EAAS,QAExB,MAAI,CAACC,GAAU,CAACK,GAAU,CAACC,EAClBC,GAGOC,GAAa,IAAM,CACjC,IAAMC,EAAcJ,EAAO,YAErBK,EAAYJ,EAAO,WACnBK,EAAcL,EAAO,YACrBM,EAAaH,EAAcC,EAAYC,EAEvCE,EAAa,KAAK,IAAIH,EAAWE,CAAU,EAEjDV,EAAYO,EAAc,EAAII,CAAU,CAC1C,CAAC,CAGH,EAAG,CAAC,CAAC,EAEE,CACL,SAAAZ,CACF,CACF,CCzCA,OAAS,eAAAa,OAAmB,mBAE5B,OAAS,aAAAC,OAAiB,QAE1B,IAAMC,EAQF,CAAC,EAEE,SAASC,EAAe,CAC7B,UAAAC,EACA,KAAAC,EACA,OAAAC,CACF,EAOG,CACD,IAAMC,EAAWP,GAAY,EAE7BC,GAAU,KACHC,EAAYE,KACfF,EAAYE,GAAa,IAAI,KAG/BF,EAAYE,GAAW,IAAIG,EAAS,OAAQ,CAC1C,KAAAF,EACA,UAAW,CAAC,CAACC,CACf,CAAC,EAEM,IAAM,CACXJ,EAAYE,GAAW,OAAOG,EAAS,MAAM,CAC/C,GACC,CAACA,EAAS,GAAIF,EAAMC,CAAM,CAAC,EAE9BL,GAAU,IAAM,CACd,GAAI,CAACK,EACH,MAAO,IAAM,CAAC,EAGhB,IAAMD,GAAQ,IAAM,CAClB,IAAIG,EAAmC,CAAC,EAExC,QAASC,EAAI,EAAGA,GAAKF,EAAS,OAAQE,GAAK,EAAG,CAC5C,IAAMC,EAAaR,EAAYE,GAAW,IAAIG,EAAS,OAASE,CAAC,EAKjE,GAHIC,GAAA,MAAAA,EAAY,OACdF,EAAM,CAAC,GAAGA,EAAK,GAAGE,EAAW,IAAI,GAE/BA,GAAA,MAAAA,EAAY,UACd,KAEJ,CAEA,OAAOF,CACT,GAAG,EAEGG,EAAUL,EAAO,CACrB,wBAAyBC,EAAS,gBAClC,KAAAF,CACF,CAAC,EAED,MAAO,IAAM,CACXM,GAAA,MAAAA,GACF,CACF,EAAG,CAACJ,EAAS,eAAe,CAAC,CAC/B,CCrEO,SAASK,GAAmB,CACjC,KAAAC,EACA,UAAAC,CACF,EAGG,CACDC,EAAe,CACb,UAAW,OACX,KAAAF,EACA,OAAQC,EACJ,CAAC,CAAE,wBAAAE,EAAyB,KAAAH,CAAK,IAAM,CACrC,OAAQG,OACD,aAAc,CACjBH,EAAK,QAASI,GAAQ,CAChB,CAACA,EAAI,UAITA,EAAI,QAAQ,MAAM,QAAU,OAC9B,CAAC,EACD,KACF,SACS,CACPJ,EAAK,QAASI,GAAQ,CAChB,CAACA,EAAI,UAITA,EAAI,QAAQ,MAAM,QAAU,GAC9B,CAAC,EACD,KACF,EAEJ,EACA,MACN,CAAC,CACH,CCtCO,IAAMC,GAAoB,GACpBC,EAAsB,GAE5B,SAASC,GAAqB,CACnC,KAAAC,EACA,MAAAC,EACA,UAAAC,CACF,EAIG,CACDC,EAAe,CACb,UAAW,SACX,KAAAH,EACA,OAAQE,EACJ,CAAC,CAAE,wBAAAE,EAAyB,KAAAJ,CAAK,IAAM,CACrC,IAAMK,EACJJ,IAAU,YACN,eAAeH,EAAsB,SACrC,eAAeD,GAAoB,SAEzC,OAAQO,OACD,mBACA,aAAc,CACjBJ,EAAK,QAASM,GAAQ,CAChB,CAACA,EAAI,UAITA,EAAI,QAAQ,MAAM,WAAa,uCAC/BA,EAAI,QAAQ,MAAM,UAAYD,EAChC,CAAC,EACD,KACF,KACK,kBACA,YAAa,CAChBE,EAAiB,IAAM,CACrBP,EAAK,QAASM,GAAQ,CACpB,GAAI,CAACA,EAAI,QACP,OAGF,IAAME,EAAMF,EAAI,QAEhBE,EAAI,MAAM,UAAY,GAEtBC,EAAWD,EAAK,gBAAiB,IAAM,CACrCA,EAAI,MAAM,WAAa,EACzB,CAAC,CACH,CAAC,CACH,CAAC,EACD,KACF,SAEE,MAGN,EACA,MACN,CAAC,CACH,CC5DO,SAASE,GAAwB,CACtC,MAAAC,EACA,OAAAC,EACA,QAAAC,EACA,SAAAC,EACA,UAAAC,EACA,SAAAC,CACF,EAOG,CACDC,EAAe,CACb,UAAW,aACX,KAAM,CAACH,CAAQ,EACf,OAAQC,EACJ,CAAC,CAAE,KAAAG,CAAK,IAAM,CACZ,GAAIP,IAAU,YACZ,MAAO,IAAM,CAAC,EAGhB,GAAI,CAACC,EAAO,SAAW,CAACC,EAAQ,SAAW,CAACC,EAAS,QACnD,MAAO,IAAM,CAAC,EAGhB,IAAMK,EAAOP,EAAO,QACdQ,EAAQP,EAAQ,QAChBQ,EAASP,EAAS,QAEpBQ,EAAoB,KACpBC,EAAoB,KACpBC,EAAmB,KAEnBC,EAUC,CAAC,EAEAC,EAAa,IAAM,CACvBJ,EAAK,KACLC,EAAK,KACLC,EAAI,KACJC,EAAa,CAAC,CAChB,EAEIE,EAAW,GAEf,SAASC,EAAUC,EAAY,CACxBF,IACHA,EAAW,GAEX,sBAAsB,IAAM,CAC1B,IAAMG,EAAID,EAAKR,EAAO,YAEtBF,EAAK,MAAM,QAAU,GAAG,EAAIW,IAC5BX,EAAK,MAAM,WAAa,KAExBE,EAAO,MAAM,UAAY,SACzBA,EAAO,MAAM,UAAY,cAAcQ,OACvCR,EAAO,MAAM,WAAa,KAE1BH,EAAK,QAASa,GAAQ,CA7EtC,IAAAC,EA8EsB,CAACD,EAAI,UAITA,EAAI,QAAQ,MAAM,UAAY,cAC5B,IAAM,EAAID,GAAKG,OAEjBF,EAAI,QAAQ,MAAM,WAAa,OAE3BC,EAAAD,EAAI,QAAQ,gBAAZ,YAAAC,EAA2B,MAAM,WAAY,SAC/CD,EAAI,QAAQ,cAAc,MAAM,QAAU,SAE9C,CAAC,EAEDJ,EAAW,EACb,CAAC,EAEL,CAEA,SAASO,EAAW,CAAE,OAAAC,CAAO,EAAwB,CACnD,sBAAsB,IAAM,CAC1BhB,EAAK,MAAM,QAAU,GAAGgB,EAAS,EAAI,IACrChB,EAAK,MAAM,WAAa,uCAExBE,EAAO,MAAM,UAAY,SACzBA,EAAO,MAAM,UAAY,cAAcc,EAAS,OAAS,OACzDd,EAAO,MAAM,WAAa,uCAE1BH,EAAK,QAASa,GAAQ,CAChB,CAACA,EAAI,UAITA,EAAI,QAAQ,MAAM,WAAa,uCAC/BA,EAAI,QAAQ,MAAM,UAAY,cAC5BI,EAAS,IAAM,IAAIF,EAAsB,WAE7C,CAAC,EAEDG,EAAWf,EAAQ,gBAAiB,IAAM,CACxCF,EAAK,MAAM,QAAU,GACrBE,EAAO,MAAM,UAAY,GACzBA,EAAO,MAAM,UAAY,GAEzBH,EAAK,QAAQ,CAACa,EAAKM,IAAM,CACvB,GAAI,CAACN,EAAI,QACP,OAGF,IAAMO,EAAYb,EAAWY,GAEzBF,GACFJ,EAAI,QAAQ,MAAM,WAAa,GAC/BA,EAAI,QAAQ,MAAM,UAAY,GAE1BA,EAAI,QAAQ,gBACdA,EAAI,QAAQ,cAAc,MAAM,QAAU,KAEnCO,IACTP,EAAI,QAAQ,MAAM,WAAaO,EAAU,MAAM,WAC/CP,EAAI,QAAQ,MAAM,UAAYO,EAAU,MAAM,UAE1CP,EAAI,QAAQ,eAAiBO,EAAU,gBACzCP,EAAI,QAAQ,cAAc,MAAM,QAC9BO,EAAU,cAAc,MAAM,SAGtC,CAAC,CACH,CAAC,CACH,CAAC,CACH,CAEA,IAAMC,EAAgBC,GAAkB,CAtJlD,IAAAR,EAuJY,GAAM,CAAE,cAAAS,CAAc,EAAI,UAE1BT,EAAAS,GAAA,YAAAA,EAAe,OAAf,MAAAT,EAAA,KAAAS,GAEAnB,EAAKE,EAAIgB,EAAE,QAAQ,GAAG,QACtBjB,EAAK,KAAK,IAAI,EAEdE,EAAaP,EAAK,IAAKa,GAChBA,EAAI,QASF,CACL,MAAO,CACL,UAAWA,EAAI,QAAQ,MAAM,UAC7B,WAAYA,EAAI,QAAQ,MAAM,UAChC,EACA,cAAeA,EAAI,QAAQ,cACvB,CACE,MAAO,CACL,QAASA,EAAI,QAAQ,cAAc,MAAM,OAC3C,CACF,EACA,MACN,EApBS,CACL,MAAO,CACL,UAAW,GACX,WAAY,EACd,CACF,CAgBH,CACH,EAEMW,EAAeF,GAAkB,CACrC,GAAI,CAAClB,EAAI,CACPI,EAAW,EACX,MACF,CAEAF,EAAIgB,EAAE,QAAQ,GAAG,QAEjBZ,EAAUJ,EAAIF,CAAE,CAClB,EAEMqB,EAAa,IAAM,CACvB,GAAI,CAACrB,GAAM,CAACC,GAAM,CAACC,EAAG,CACpBE,EAAW,EACX,MACF,CAEA,IAAMkB,EAAI,KAAK,IAAI,EAEbT,GADKX,EAAIF,IAAOsB,EAAIrB,GACP,GAAKC,EAAIH,EAAO,YAAc,GAE7Cc,IACFnB,GAAA,MAAAA,KAGFU,EAAW,EACXQ,EAAW,CAAE,OAAAC,CAAO,CAAC,CACvB,EAEA,OAAAf,EAAM,iBAAiB,aAAcmB,EAAc,CAAE,QAAS,EAAK,CAAC,EACpEnB,EAAM,iBAAiB,YAAasB,EAAa,CAAE,QAAS,EAAK,CAAC,EAClEtB,EAAM,iBAAiB,WAAYuB,EAAY,CAAE,QAAS,EAAK,CAAC,EAChEvB,EAAM,iBAAiB,cAAeuB,EAAY,CAAE,QAAS,EAAK,CAAC,EAE5D,IAAM,CACXvB,EAAM,oBAAoB,aAAcmB,CAAY,EACpDnB,EAAM,oBAAoB,YAAasB,CAAW,EAClDtB,EAAM,oBAAoB,WAAYuB,CAAU,EAChDvB,EAAM,oBAAoB,cAAeuB,CAAU,CACrD,CACF,EACA,MACN,CAAC,CACH,CCnOA,OAAS,cAAAE,GAAY,eAAAC,OAAmB,mBACxC,OAAS,oBAAAC,OAAwB,2BACjC,OAAOC,GAAS,UAAAC,OAAc,QCF9B,OAAOC,OAAW,QAElB,IAAMC,GAEAC,GACJF,GAAA,cAAC,OACC,UAAWE,EAAM,UACjB,MAAM,KACN,OAAO,KACP,QAAQ,YACR,KAAK,OACL,MAAM,8BAENF,GAAA,cAAC,QACC,EAAE,iaACF,KAAK,eACP,CACF,EAGKG,EAAQF,GCpBf,OAAOG,MAAW,QAElB,IAAMC,GAEAC,GACJF,EAAA,cAAC,OACC,UAAWE,EAAM,UACjB,MAAM,KACN,OAAO,KACP,QAAQ,YACR,KAAK,OACL,MAAM,8BAENF,EAAA,cAAC,QACC,EAAE,wgBACF,KAAK,eACP,EACAA,EAAA,cAAC,QACC,EAAE,wgBACF,KAAK,eACP,CACF,EAGKG,EAAQF,GCpBf,OAAS,mBAAmBG,OAAc,2CACnC,IAAIC,GAASD,GAAO,CAAC,iBAAiB,8DAA8D,kBAAkB,CAAC,OAAO,CAAC,KAAK,WAAW,CAAC,EAAE,gBAAgB,CAAC,EAAE,iBAAiB,CAAC,CAAC,CAAC,EACrLE,EAAa,oDACbC,GAAS,4BACTC,GAAaJ,GAAO,CAAC,iBAAiB,YAAY,kBAAkB,CAAC,QAAQ,CAAC,KAAK,WAAW,CAAC,EAAE,gBAAgB,CAAC,EAAE,iBAAiB,CAAC,CAAC,CAAC,EACxIK,GAAiB,4CACjBC,GAAa,oCACbC,GAAc,oDACdC,GAAO,oCACPC,GAAQ,4CCVnB,OAAS,mBAAmBC,MAAc,2CAEnC,IAAIC,GAAYC,EAAO,CAAC,iBAAiB,kDAAkD,kBAAkB,CAAC,gBAAgB,CAAC,eAAe,YAAY,aAAa,YAAY,cAAc,YAAY,YAAY,WAAW,CAAC,EAAE,gBAAgB,CAAC,EAAE,iBAAiB,CAAC,CAAC,CAAC,EAE9Q,IAAIC,GAAM,wEACNC,GAAOC,EAAO,CAAC,iBAAiB,4CAA4C,kBAAkB,CAAC,UAAU,CAAC,KAAK,WAAW,CAAC,EAAE,gBAAgB,CAAC,EAAE,iBAAiB,CAAC,CAAC,CAAC,EAKxK,IAAIC,GAAQC,EAAO,CAAC,iBAAiB,wEAAwE,kBAAkB,CAAC,UAAU,CAAC,KAAK,mBAAmB,CAAC,EAAE,gBAAgB,CAAC,EAAE,iBAAiB,CAAC,CAAC,CAAC,EACzMC,EAAO,CAAC,mBAAmB,mBAAmB,SAAS,CAAC,IAAI,mBAAmB,MAAM,mBAAmB,KAAK,mBAAmB,OAAO,kBAAkB,EAAE,OAAO,CAAC,OAAO,CAAC,UAAU,kBAAkB,CAAC,CAAC,EJiCpN,IAAMC,GAASC,EAAM,WACnB,CACE,CACE,MAAAC,EACA,WAAAC,EACA,YAAAC,EACA,WAAAC,EACA,YAAAC,EACA,oBAAAC,EAAsB,OACtB,OAAAC,EAAS,GACT,UAAAC,EACA,UAAAC,EACA,YAAAC,EACA,WAAAC,EACA,OAAAC,EACA,gBAAAC,EACA,WAAAC,CACF,EACAC,IACG,CAlEP,IAAAC,EAmEI,IAAMC,EAAUC,GAAW,EACrBC,EAAWC,GAAY,EAEvBC,EAAgBC,EAAiB,EACjCC,GAAoBP,EAAAK,EAAc,SAAd,YAAAL,EAAsB,YAE1CQ,EAAYC,GAAY,IAAI,EAE5B,CAAE,SAAAC,CAAS,EAAIC,GAAY,CAC/B,SAAUZ,EACV,SAAUS,EACV,OAAQH,EAAc,QAAU,WAClC,CAAC,EAEKO,EAAeC,GAA2C,CAC1DzB,GAAc,YAAaA,GAAcA,EAAW,SACtDA,EAAW,QAAQyB,CAAC,EAGjBA,EAAE,kBACLZ,EAAQ,IAAI,CAEhB,EAEMa,EAAmB,IAAM,CA3FnC,IAAAd,EA4FM,OAAIG,EAAS,OACJ,KAGJf,EAYD,WAAYA,GAAcA,EAAW,QAChCY,EAAAZ,EAAW,SAAX,YAAAY,EAAA,KAAAZ,GAIPJ,EAAA,cAAC,UAAO,KAAK,SAAS,UAAeI,EAAY,QAASwB,GACvD,eAAgBxB,GAAcA,EAAW,WACxCA,EAAW,WAAW,EAEtBJ,EAAA,cAAC+B,EAAA,IAAS,CAEd,EArBE/B,EAAA,cAAC,UACC,KAAK,SACL,UAAeI,EACf,QAASwB,GAET5B,EAAA,cAAC+B,EAAA,IAAS,CACZ,CAiBN,EAEMC,EAAgBH,GAA2C,CA3HrE,IAAAb,EA4HUX,GAAe,YAAaA,GAAeA,EAAY,SACzDA,EAAY,QAAQwB,CAAC,EAIrB,CAACA,EAAE,kBACHN,GACA,YAAaA,KAEbP,EAAAO,EAAkB,UAAlB,MAAAP,EAAA,KAAAO,EAA4BM,GAEhC,EAEMI,EAAoB,IAAM,CAzIpC,IAAAjB,EA0IM,MACG,CAACX,GAAe,GAACW,EAAAK,EAAc,SAAd,MAAAL,EAAsB,cACxC,CAACG,EAAS,OAEH,KAELd,GAAe,WAAYA,GAAeA,EAAY,OACjDA,EAAY,OAAO,EAG1BkB,GACA,WAAYA,GACZA,EAAkB,OAEXA,EAAkB,OAAO,EAIhCvB,EAAA,cAAC,UACC,KAAK,SACL,UAAeK,GACf,QAAS2B,IAEP,IAEE3B,GACA,eAAgBA,GAChBA,EAAY,WAELA,EAAY,WAAW,EAG9BkB,GACA,eAAgBA,GAChBA,EAAkB,WAEXA,EAAkB,WAAW,EAG/BvB,EAAA,cAACkC,EAAA,IAAU,GACjB,CACL,CAEJ,EAEMC,EAAU,CAAC,EACd7B,IAAwB,QAAUD,GACnCD,GACAF,GAGF,OACEF,EAAA,cAAC,OACC,IAAKe,EACL,UAAeqB,GAAO,CACpB,OAAA7B,CACF,CAAC,EACD,MAAO8B,GACLC,EAAW,CACT,CAACC,EAAW,OAAO,WAAY/B,EAC/B,CAAC+B,EAAW,OAAO,WAAY9B,EAC/B,CAAC8B,EAAW,OAAO,aAAc7B,EACjC,CAAC6B,EAAW,OAAO,YAAa5B,EAChC,CAAC4B,EAAW,OAAO,QAAS3B,EAC5B,CAAC2B,EAAW,OAAO,iBACjB1B,GAAmB0B,EAAW,gBAChC,CAAcC,EAAK,OAAO,OAAO,WAAY,GAAGd,KAClD,CAAC,CACH,GAEA1B,EAAA,cAAC,OAAI,UAAeyC,IACjBnC,IAAwB,QAAU2B,EAAkB,EACpDH,EAAiB,EACjB5B,GAAA,YAAAA,GACH,EACAF,EAAA,cAAC,OAAI,IAAKwB,EAAW,UAAekB,IAClC1C,EAAA,cAAC,OACC,UAAe2C,GAAW,CACxB,QAAAR,CACF,CAAC,GAEA,OAAOlC,GAAU,SAChBD,EAAA,cAAC,OAAI,UAAe4C,IAAa3C,CAAM,EAEvCA,EAEFD,EAAA,cAAC,UACC,UAAe6C,GACf,KAAK,SACL,cAAY,OACZ,QAAS/B,EACX,CACF,CACF,EACAd,EAAA,cAAC,OAAI,UAAe8C,IACjB3C,GAAA,YAAAA,IACAG,IAAwB,SAAW2B,EAAkB,CACxD,CACF,CAEJ,CACF,EAEOc,GAAQhD,GPpNf,IAAMiD,GAAsC,CAAC,CAC3C,gBAAAC,EACA,mBAAAC,EACA,OAAAC,EACA,WAAAC,EAAa,CAAC,CAACD,EACf,6BAAAE,EACA,iBAAAC,EACA,SAAAC,CACF,IAAM,CACJ,IAAMC,EAAgBC,EAAiB,EACjCC,EAAWC,GAAY,EACvB,CAAE,IAAAC,CAAI,EAAIC,GAAW,EAErBC,EAAeC,EAAuB,IAAI,EAC1CC,EAASD,EAAuB,IAAI,EACpCE,EAAWF,EAAuB,IAAI,EACtCG,EAAUH,EAAuB,IAAI,EACrCI,EAAYJ,EAAuB,IAAI,EAE7CK,GAAmB,CACjB,KAAM,CAACN,CAAY,EACnB,UAAW,EACb,CAAC,EACDO,GAAqB,CACnB,MAAOb,EAAc,MACrB,KACEA,EAAc,QAAU,YAAc,CAACS,CAAQ,EAAI,CAACA,EAAUE,CAAS,EACzE,UAAW,EACb,CAAC,EACDG,GAAwB,CACtB,MAAOd,EAAc,MACrB,OAAAQ,EACA,QAAAE,EACA,SAAAD,EACA,UAAW,GACX,UAAW,CACTL,EAAI,CACN,CACF,CAAC,EAED,IAAMW,EAAY,CAAC,CAACpB,EAEdqB,EAAad,EAAS,OAAS,EAC/Be,EAAYD,EACZE,EACJF,GAAchB,EAAc,QAAU,aAAee,EAAY,EAAI,GACjEI,EAAaH,EAAa,EAC1BI,EAAeJ,EAAa,EAE5B,CAAE,gBAAAK,CAAgB,EAAInB,EACtBoB,EAAsBC,EAAQF,CAAe,EAE7CG,EAA6CC,GAAM,CAjF3D,IAAAC,EAAAC,GAkFID,EAAA/B,GAAA,YAAAA,EAAQ,aAAR,MAAA+B,EAAA,KAAA/B,EAAqB8B,GAEhBA,EAAE,mBACLE,EAAAlB,EAAS,UAAT,MAAAkB,EAAkB,OAAO,CACvB,IAAK,EACL,SAAU,QACZ,EAEJ,EAEA,OACEC,EAAA,cAAC,OACC,IAAKtB,EACL,UAAeuB,GAAU,CACvB,gBACER,IAAoB,cAAgBA,IAAoB,YACpDA,EACAC,CACR,CAAC,EACD,MAAOQ,GACLC,EAAW,CACT,CAACC,EAAW,iBAAkBvC,EAC9B,CAACuC,EAAW,oBAAqBtC,EACjC,CAACsC,EAAW,OAAO,QAASpC,EAAaD,GAAA,YAAAA,EAAQ,OAAS,IAC1D,CAACqC,EAAW,OAAO,wBACjBnC,EACF,CAAKoC,EAAK,SAAS,KAAM,GAAGhB,IAC5B,CAAKgB,EAAK,SAAS,OAAQ,GAAGf,IAC9B,CAAKe,EAAK,SAAS,MAAO,GAAGd,IAC7B,CAAKc,EAAK,SAAS,QAAS,GAAGb,IAC/B,CAAKa,EAAK,oBACR/B,EAAS,kBAAoB,gBAC7BA,EAAS,kBAAoB,cACzB,uCACA,KACR,CAAC,CACH,GAEA0B,EAAA,cAAC,OAAI,UAAeM,GAAK,IAAK1B,EAAQ,EACtCoB,EAAA,cAAC,OACC,IAAK1B,EAAS,GACd,UAAeiC,GAAM,CACnB,UAAApB,CACF,CAAC,EACD,IAAKN,GAEJV,CACH,EACC,CAACG,EAAS,QACTF,EAAc,QAAU,aACxB,CAACF,GACC8B,EAAA,cAAC,OAAI,UAAeQ,GAAK,CAAE,UAAArB,CAAU,CAAC,EAAG,IAAKL,EAAS,EAE1Df,GACCiC,EAAA,cAACS,GAAAC,GAAAC,GAAA,GAAW5C,GAAX,CAAmB,IAAKgB,EAAW,WAAYa,GAAkB,CAEtE,CAEJ,EAEOgB,GAAQhD,GY5If,OAAS,cAAAiD,GAAY,eAAAC,OAAmB,mBACxC,OAAS,oBAAAC,OAAwB,2BACjC,OAAOC,GAAS,UAAAC,MAAc,QCD9B,OAAS,mBAAmBC,OAAc,2CACnC,IAAIC,GAAYD,GAAO,CAAC,iBAAiB,kDAAkD,kBAAkB,CAAC,gBAAgB,CAAC,eAAe,YAAY,aAAa,YAAY,cAAc,YAAY,YAAY,WAAW,CAAC,EAAE,gBAAgB,CAAC,EAAE,iBAAiB,CAAC,CAAC,CAAC,EAC1QE,GAAM,sFAKV,IAAIC,GAAQ,8BACRC,EAAO,CAAC,mBAAmB,mBAAmB,SAAS,CAAC,IAAI,mBAAmB,MAAM,kBAAkB,CAAC,EDQnH,IAAMC,GAA0C,CAAC,CAC/C,aAAAC,EAAe,OACf,gBAAAC,EACA,mBAAAC,EACA,eAAAC,EACA,SAAAC,CACF,IAAM,CACJ,IAAMC,EAAWC,GAAY,EACvB,CAAE,IAAAC,CAAI,EAAIC,GAAW,EAErBC,EAAeC,EAAuB,IAAI,EAC1CC,EAAWD,EAAuB,IAAI,EAE5CE,EAAe,CACb,UAAW,OACX,KAAM,CAACH,CAAY,CACrB,CAAC,EACDG,EAAe,CACb,UAAW,SACX,KAAM,CAACD,CAAQ,CACjB,CAAC,EACDC,EAAe,CACb,UAAW,aACX,KAAM,CAACD,CAAQ,CACjB,CAAC,EAED,IAAME,EAAUH,EAAO,EAAK,EAEtBI,EAAuCC,GAAM,CACjDZ,GAAA,MAAAA,EAAiBY,GAEb,CAAAA,EAAE,mBAIFF,EAAQ,UAGZA,EAAQ,QAAU,GAElBN,EAAI,GACN,EACMS,EAAyCD,GAAM,CACnDA,EAAE,gBAAgB,CACpB,EAEME,EAAaZ,EAAS,OAAS,EAAI,EACnCa,EAAcb,EAAS,OAAS,EAAI,EAE1C,OACEc,EAAA,cAAC,OACC,UAAeC,GAAU,CACvB,gBAAiBC,EAAQhB,EAAS,eAAe,CACnD,CAAC,EACD,IAAKI,EACL,MAAOa,GACLC,EAAW,CACT,CAACC,EAAW,YAAY,cAAexB,EACvC,CAACwB,EAAW,iBAAkBvB,EAC9B,CAACuB,EAAW,oBAAqBtB,EACjC,CAAKuB,EAAK,SAAS,KAAM,GAAGR,IAC5B,CAAKQ,EAAK,SAAS,OAAQ,GAAGP,IAC9B,CAAKO,EAAK,oBACRpB,EAAS,kBAAoB,gBAC7BA,EAAS,kBAAoB,cACzB,uCACA,KACR,CAAC,CACH,GAEAc,EAAA,cAAC,OAAI,UAAeO,GAAK,IAAKf,EAAU,QAASG,GAC/CK,EAAA,cAAC,OAAI,UAAeQ,GAAO,QAASX,GACjCZ,CACH,CACF,CACF,CAEJ,EAEOwB,GAAQ7B,GEhGf,OAAS,cAAA8B,GAAY,eAAAC,OAAmB,mBACxC,OAAS,oBAAAC,OAAwB,2BACjC,OAAOC,GAAS,UAAAC,MAAc,QCD9B,OAAS,mBAAmBC,OAAc,2CACnC,IAAIC,GAAYD,GAAO,CAAC,iBAAiB,kDAAkD,kBAAkB,CAAC,gBAAgB,CAAC,eAAe,WAAW,aAAa,WAAW,cAAc,WAAW,YAAY,UAAU,CAAC,EAAE,gBAAgB,CAAC,EAAE,iBAAiB,CAAC,CAAC,CAAC,EACtQE,GAAM,4FAKV,IAAIC,GAAQ,4BACRC,EAAO,CAAC,mBAAmB,kBAAkB,SAAS,CAAC,IAAI,kBAAkB,MAAM,iBAAiB,CAAC,EDQhH,IAAMC,GAA8B,CAAC,CACnC,gBAAAC,EACA,mBAAAC,EACA,aAAAC,EAAe,OACf,eAAAC,EACA,SAAAC,CACF,IAAM,CACJ,IAAMC,EAAWC,GAAY,EACvB,CAAE,IAAAC,CAAI,EAAIC,GAAW,EAErBC,EAAeC,EAAuB,IAAI,EAC1CC,EAAWD,EAAuB,IAAI,EAE5CE,EAAe,CACb,UAAW,OACX,KAAM,CAACH,CAAY,CACrB,CAAC,EACDG,EAAe,CACb,UAAW,SACX,KAAM,CAACD,CAAQ,CACjB,CAAC,EACDC,EAAe,CACb,UAAW,aACX,KAAM,CAACD,CAAQ,CACjB,CAAC,EAED,IAAME,EAAUH,EAAO,EAAK,EAEtBI,EAAuCC,GAAM,CACjDZ,GAAA,MAAAA,EAAiBY,GAEb,CAAAA,EAAE,mBAIFF,EAAQ,UAGZA,EAAQ,QAAU,GAElBN,EAAI,GACN,EACMS,EAAyCD,GAAM,CACnDA,EAAE,gBAAgB,CACpB,EAEME,EAAaZ,EAAS,OAAS,EAAI,EACnCa,EAAcb,EAAS,OAAS,EAAI,EAE1C,OACEc,EAAA,cAAC,OACC,UAAeC,GAAU,CACvB,gBAAiBC,EAAQhB,EAAS,eAAe,CACnD,CAAC,EACD,IAAKI,EACL,MAAOa,GACLC,EAAW,CACT,CAACC,EAAW,YAAY,cAAetB,EACvC,CAACsB,EAAW,iBAAkBxB,EAC9B,CAACwB,EAAW,oBAAqBvB,EACjC,CAAKwB,EAAK,SAAS,KAAM,GAAGR,IAC5B,CAAKQ,EAAK,SAAS,OAAQ,GAAGP,IAC9B,CAAKO,EAAK,oBACRpB,EAAS,kBAAoB,gBAC7BA,EAAS,kBAAoB,cACzB,uCACA,KACR,CAAC,CACH,GAEAc,EAAA,cAAC,OAAI,UAAeO,GAAK,IAAKf,EAAU,QAASG,GAC/CK,EAAA,cAAC,OAAI,UAAeQ,GAAO,QAASX,GACjCZ,CACH,CACF,CACF,CAEJ,EAEOwB,GAAQ7B",
6
- "names": ["assignInlineVars", "React", "createContext", "useContext", "theme_css_exports", "__export", "android", "cupertino", "globalVars", "rootAndroid", "rootCupertino", "android", "cupertino", "globalVars", "rootAndroid", "rootCupertino", "compactMap", "obj", "acc", "key", "value", "listenOnce", "el", "type", "cb", "listener", "listenResize", "cb", "noop", "requestNextFrame", "cb", "GlobalOptionsContext", "createContext", "GlobalOptionsProvider", "useGlobalOptions", "useContext", "basicUIPlugin", "options", "stack", "_a", "_b", "_c", "_d", "_e", "_f", "_g", "React", "theme_css_exports", "assignInlineVars", "compactMap", "globalVars", "useActions", "useActivity", "assignInlineVars", "React", "useRef", "useEffect", "useState", "useLazy", "value", "state", "setState", "useState", "useEffect", "requestNextFrame", "useEffect", "useState", "useMaxWidth", "outerRef", "innerRef", "enable", "maxWidth", "setMaxWidth", "useState", "useEffect", "$outer", "$inner", "noop", "listenResize", "screenWidth", "leftWidth", "centerWidth", "rightWidth", "sideMargin", "useActivity", "useEffect", "connections", "useStyleEffect", "styleName", "refs", "effect", "activity", "arr", "i", "connection", "cleanup", "useStyleEffectHide", "refs", "hasEffect", "useStyleEffect", "activityTransitionState", "ref", "OFFSET_PX_ANDROID", "OFFSET_PX_CUPERTINO", "useStyleEffectOffset", "refs", "theme", "hasEffect", "useStyleEffect", "activityTransitionState", "transform", "ref", "requestNextFrame", "$el", "listenOnce", "useStyleEffectSwipeBack", "theme", "dimRef", "edgeRef", "paperRef", "hasEffect", "onSwiped", "useStyleEffect", "refs", "$dim", "$edge", "$paper", "x0", "t0", "x", "cachedRefs", "resetState", "_rAFLock", "movePaper", "dx", "p", "ref", "_a", "OFFSET_PX_CUPERTINO", "resetPaper", "swiped", "listenOnce", "i", "cachedRef", "onTouchStart", "e", "activeElement", "onTouchMove", "onTouchEnd", "t", "useActions", "useActivity", "assignInlineVars", "React", "useRef", "React", "IconBack", "props", "IconBack_default", "React", "IconClose", "props", "IconClose_default", "_7a468", "appBar", "backButton", "center", "centerMain", "centerMainEdge", "centerText", "closeButton", "left", "right", "_7a468", "appScreen", "_7a468", "dim", "edge", "_7a468", "paper", "_7a468", "vars", "AppBar", "React", "title", "appendLeft", "appendRight", "backButton", "closeButton", "closeButtonLocation", "border", "iconColor", "textColor", "borderColor", "borderSize", "height", "backgroundColor", "onTopClick", "ref", "_a", "actions", "useActions", "activity", "useActivity", "globalOptions", "useGlobalOptions", "globalCloseButton", "centerRef", "useRef", "maxWidth", "useMaxWidth", "onBackClick", "e", "renderBackButton", "IconBack_default", "onCloseClick", "renderCloseButton", "IconClose_default", "hasLeft", "appBar", "assignInlineVars", "compactMap", "globalVars", "vars", "left", "center", "centerMain", "centerText", "centerMainEdge", "right", "AppBar_default", "AppScreen", "backgroundColor", "dimBackgroundColor", "appBar", "showAppBar", "showAppBarTransitionDuration", "preventSwipeBack", "children", "globalOptions", "useGlobalOptions", "activity", "useActivity", "pop", "useActions", "appScreenRef", "useRef", "dimRef", "paperRef", "edgeRef", "appBarRef", "useStyleEffectHide", "useStyleEffectOffset", "useStyleEffectSwipeBack", "hasAppBar", "zIndexBase", "zIndexDim", "zIndexPaper", "zIndexEdge", "zIndexAppBar", "transitionState", "lazyTransitionState", "useLazy", "onAppBarTopClick", "e", "_a", "_b", "React", "appScreen", "assignInlineVars", "compactMap", "globalVars", "vars", "dim", "paper", "edge", "AppBar_default", "__spreadProps", "__spreadValues", "AppScreen_default", "useActions", "useActivity", "assignInlineVars", "React", "useRef", "_7a468", "container", "dim", "paper", "vars", "BottomSheet", "borderRadius", "backgroundColor", "dimBackgroundColor", "onOutsideClick", "children", "activity", "useActivity", "pop", "useActions", "containerRef", "useRef", "paperRef", "useStyleEffect", "popLock", "onDimClick", "e", "onPaperClick", "zIndexBase", "zIndexPaper", "React", "container", "useLazy", "assignInlineVars", "compactMap", "globalVars", "vars", "dim", "paper", "BottomSheet_default", "useActions", "useActivity", "assignInlineVars", "React", "useRef", "_7a468", "container", "dim", "paper", "vars", "Modal", "backgroundColor", "dimBackgroundColor", "borderRadius", "onOutsideClick", "children", "activity", "useActivity", "pop", "useActions", "containerRef", "useRef", "paperRef", "useStyleEffect", "popLock", "onDimClick", "e", "onPaperClick", "zIndexBase", "zIndexPaper", "React", "container", "useLazy", "assignInlineVars", "compactMap", "globalVars", "vars", "dim", "paper", "Modal_default"]
4
+ "sourcesContent": ["import type { StackflowReactPlugin } from \"@stackflow/react\";\nimport { assignInlineVars } from \"@vanilla-extract/dynamic\";\nimport React, { createContext, useContext } from \"react\";\n\nimport * as theme from \"./theme.css\";\nimport type { RecursivePartial } from \"./utils\";\nimport { compactMap } from \"./utils\";\n\ntype BasicUIPluginOptions = RecursivePartial<theme.GlobalVars> & {\n theme: \"android\" | \"cupertino\";\n appBar?: {\n closeButton?:\n | {\n renderIcon?: () => React.ReactNode;\n onClick?: (e: React.MouseEvent<HTMLButtonElement>) => void;\n }\n | {\n render?: () => React.ReactNode;\n };\n };\n};\n\nconst GlobalOptionsContext = createContext<BasicUIPluginOptions>({\n theme: \"android\",\n});\n\nexport const GlobalOptionsProvider = GlobalOptionsContext.Provider;\n\nexport function useGlobalOptions() {\n return useContext(GlobalOptionsContext);\n}\n\nexport const basicUIPlugin: (\n options: BasicUIPluginOptions,\n) => StackflowReactPlugin = (options) => () => ({\n key: \"basic-ui\",\n wrapStack({ stack }) {\n return (\n <GlobalOptionsProvider value={options}>\n <div\n className={\n typeof window !== \"undefined\" ? theme[options.theme] : undefined\n }\n style={assignInlineVars(\n compactMap({\n [theme.globalVars.backgroundColor]: options.backgroundColor,\n [theme.globalVars.dimBackgroundColor]: options.dimBackgroundColor,\n [theme.globalVars.appBar.borderColor]:\n options.appBar?.borderColor,\n [theme.globalVars.appBar.borderSize]: options.appBar?.borderSize,\n [theme.globalVars.appBar.height]: options.appBar?.height,\n [theme.globalVars.appBar.iconColor]: options.appBar?.iconColor,\n [theme.globalVars.appBar.textColor]: options.appBar?.textColor,\n [theme.globalVars.bottomSheet.borderRadius]:\n options.bottomSheet?.borderRadius,\n [theme.globalVars.modal.borderRadius]:\n options.modal?.borderRadius,\n }),\n )}\n >\n {stack.render()}\n </div>\n </GlobalOptionsProvider>\n );\n },\n});\n", "import 'src/theme.css.ts.vanilla.css?source=#H4sIAAAAAAAAE+2UwUrEMBCG7/sUAS8Km9JWS6Hik4hImqRtsMmEyQSXFd/drLie1LbrYQ9bEkjC5P8Jfz6mQQDasuawPCpBggcS8qUb4ZX7MfbG8VYEI3k0nAZt9YNwCsGoJ/a2YYz/cb1NhR4hOsUljIANu+q67n5CpYz9QYl9K67zLfuaWVHdTBkJ79MBeQuoNP5mlNdLjYLZ64YVfjdXN2jTD9Sw26xCbeeqjAT3nVtZpHE3V0p6RydKT/uzozoMqUgoXDBk0vNVRHHYNKysKxumbFogAptctKZj2iiUiSHl/Rnd+2YBqDJ6jWQcXDiqeVYth7XM6pXWf9OaPRcSvLf7/LIRXLvlmfkrLpu/tQWeC8EPWtPMuWAKAAA=';\nexport var android = '_1coppmz0';\nexport var cupertino = '_1coppmz1';\nexport var globalVars = {backgroundColor:'var(--stackflow-plugin-basic-ui-background-color)',dimBackgroundColor:'var(--stackflow-plugin-basic-ui-dim-background-color)',appBar:{borderColor:'var(--stackflow-plugin-basic-ui-app-bar-border-color)',borderSize:'var(--stackflow-plugin-basic-ui-app-bar-border-size)',height:'var(--stackflow-plugin-basic-ui-app-bar-height)',iconColor:'var(--stackflow-plugin-basic-ui-app-bar-icon-color)',textColor:'var(--stackflow-plugin-basic-ui-app-bar-text-color)',backgroundColor:'var(--stackflow-plugin-basic-ui-app-bar-background-color)',showTransitionDuration:'var(--stackflow-plugin-basic-ui-app-bar-show-transition-duration)'},bottomSheet:{borderRadius:'var(--stackflow-plugin-basic-ui-bottom-sheet-border-radius)'},modal:{borderRadius:'var(--stackflow-plugin-basic-ui-bottom-sheet-border-radius)'}};\nexport var rootAndroid = ':root[data-stackflow-plugin-basic-ui-theme=android]';\nexport var rootCupertino = ':root[data-stackflow-plugin-basic-ui-theme=cupertino]';", "export function compactMap<T extends {}>(\n obj: T,\n): {\n [key in keyof T]: NonNullable<T[key]>;\n} {\n return Object.entries(obj).reduce<any>((acc, [key, value]) => {\n if (value !== null && value !== undefined) {\n acc[key] = value;\n }\n\n return acc;\n }, {});\n}\n", "export function listenOnce<T extends HTMLElement>(\n el: T,\n type: keyof HTMLElementEventMap,\n cb: () => void,\n) {\n const listener = () => {\n el.removeEventListener(type, listener);\n cb();\n };\n\n el.addEventListener(type, listener);\n}\n", "export const listenResize = (cb: () => void) => {\n cb();\n window.addEventListener(\"resize\", cb);\n\n return () => {\n window.removeEventListener(\"resize\", cb);\n };\n};\n", "export const noop = () => {};\n", "// https://github.com/MingruiZhang/react-animate-mount/blob/32300c04a4fdfa97724b70aaaf0c0f403d6da247/src/Animate.js#L171-L179\nexport function requestNextFrame(cb: () => void) {\n requestAnimationFrame(() => {\n requestAnimationFrame(() => {\n cb();\n });\n });\n}\n", "/* eslint-disable no-param-reassign */\n\nimport { useActions, useActivity } from \"@stackflow/react\";\nimport { assignInlineVars } from \"@vanilla-extract/dynamic\";\nimport React, { useRef } from \"react\";\n\nimport { useGlobalOptions } from \"../basicUIPlugin\";\nimport {\n useLazy,\n useStyleEffectHide,\n useStyleEffectOffset,\n useStyleEffectSwipeBack,\n} from \"../hooks\";\nimport type { GlobalVars } from \"../theme.css\";\nimport { globalVars } from \"../theme.css\";\nimport type { PropOf } from \"../utils\";\nimport { compactMap } from \"../utils\";\nimport AppBar from \"./AppBar\";\nimport * as css from \"./AppScreen.css\";\n\ntype AppScreenProps = Partial<\n Pick<GlobalVars, \"backgroundColor\" | \"dimBackgroundColor\">\n> & {\n appBar?: Omit<PropOf<typeof AppBar>, \"theme\" | \"ref\" | \"key\">;\n showAppBar?: boolean;\n showAppBarTransitionDuration?: string;\n preventSwipeBack?: boolean;\n children: React.ReactNode;\n};\nconst AppScreen: React.FC<AppScreenProps> = ({\n backgroundColor,\n dimBackgroundColor,\n appBar,\n showAppBar = !!appBar,\n showAppBarTransitionDuration,\n preventSwipeBack,\n children,\n}) => {\n const globalOptions = useGlobalOptions();\n const activity = useActivity();\n const { pop } = useActions();\n\n const appScreenRef = useRef<HTMLDivElement>(null);\n const dimRef = useRef<HTMLDivElement>(null);\n const paperRef = useRef<HTMLDivElement>(null);\n const edgeRef = useRef<HTMLDivElement>(null);\n const appBarRef = useRef<HTMLDivElement>(null);\n\n useStyleEffectHide({\n refs: [appScreenRef],\n hasEffect: true,\n });\n useStyleEffectOffset({\n theme: globalOptions.theme,\n refs:\n globalOptions.theme === \"cupertino\" ? [paperRef] : [paperRef, appBarRef],\n hasEffect: true,\n });\n useStyleEffectSwipeBack({\n theme: globalOptions.theme,\n dimRef,\n edgeRef,\n paperRef,\n hasEffect: true,\n onSwiped() {\n pop();\n },\n });\n\n const hasAppBar = !!appBar && showAppBar;\n\n const zIndexBase = activity.zIndex * 5;\n const zIndexDim = zIndexBase;\n const zIndexPaper =\n zIndexBase + (globalOptions.theme === \"cupertino\" && hasAppBar ? 1 : 3);\n const zIndexEdge = zIndexBase + 4;\n const zIndexAppBar = zIndexBase + 7;\n\n const { transitionState } = activity;\n const lazyTransitionState = useLazy(transitionState);\n\n 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 <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]: showAppBar ? appBar?.height : \"0\",\n [globalVars.appBar.showTransitionDuration]:\n showAppBarTransitionDuration,\n [css.vars.zIndexes.dim]: `${zIndexDim}`,\n [css.vars.zIndexes.paper]: `${zIndexPaper}`,\n [css.vars.zIndexes.edge]: `${zIndexEdge}`,\n [css.vars.zIndexes.appBar]: `${zIndexAppBar}`,\n [css.vars.transitionDuration]:\n activity.transitionState === \"enter-active\" ||\n activity.transitionState === \"exit-active\"\n ? `var(--stackflow-transition-duration)`\n : \"0ms\",\n }),\n )}\n >\n <div className={css.dim} ref={dimRef} />\n <div\n key={activity.id}\n className={css.paper({\n hasAppBar,\n })}\n ref={paperRef}\n >\n {children}\n </div>\n {!activity.isRoot &&\n globalOptions.theme === \"cupertino\" &&\n !preventSwipeBack && (\n <div className={css.edge({ hasAppBar })} ref={edgeRef} />\n )}\n {appBar && (\n <AppBar {...appBar} ref={appBarRef} onTopClick={onAppBarTopClick} />\n )}\n </div>\n );\n};\n\nexport default AppScreen;\n", "import { useEffect, useState } from \"react\";\n\nimport { requestNextFrame } from \"../utils\";\n\nexport function useLazy<T>(value: T) {\n const [state, setState] = useState<T | undefined>(undefined);\n\n useEffect(() => {\n requestNextFrame(() => {\n setState(value);\n });\n }, [value]);\n\n return state;\n}\n", "import type React from \"react\";\nimport { useEffect, useState } from \"react\";\n\nimport { listenResize, noop } from \"../utils\";\n\nexport function useMaxWidth({\n outerRef,\n innerRef,\n enable,\n}: {\n outerRef: React.ForwardedRef<any>;\n innerRef: React.MutableRefObject<any>;\n enable: boolean;\n}) {\n const [maxWidth, setMaxWidth] = useState<number | undefined>(undefined);\n\n useEffect(() => {\n const $outer = outerRef && \"current\" in outerRef && outerRef.current;\n const $inner = innerRef.current;\n\n if (!enable || !$outer || !$inner) {\n return noop;\n }\n\n const dispose = listenResize(() => {\n const screenWidth = $outer.clientWidth;\n\n const leftWidth = $inner.offsetLeft;\n const centerWidth = $inner.clientWidth;\n const rightWidth = screenWidth - leftWidth - centerWidth;\n\n const sideMargin = Math.max(leftWidth, rightWidth);\n\n setMaxWidth(screenWidth - 2 * sideMargin);\n });\n\n return dispose;\n }, []);\n\n return {\n maxWidth,\n };\n}\n", "import type { ActivityTransitionState } from \"@stackflow/core\";\nimport { useActivity } from \"@stackflow/react\";\nimport type React from \"react\";\nimport { useEffect } from \"react\";\n\nconst connections: {\n [styleName: string]: Map<\n number,\n {\n refs: Array<React.RefObject<any>>;\n hasEffect: boolean;\n }\n >;\n} = {};\n\nexport function useStyleEffect({\n styleName,\n refs,\n effect,\n}: {\n styleName: string;\n refs: Array<React.RefObject<any>>;\n effect?: (params: {\n activityTransitionState: ActivityTransitionState;\n refs: Array<React.RefObject<HTMLElement>>;\n }) => (() => void) | void;\n}) {\n const activity = useActivity();\n\n useEffect(() => {\n if (!connections[styleName]) {\n connections[styleName] = new Map();\n }\n\n connections[styleName].set(activity.zIndex, {\n refs,\n hasEffect: !!effect,\n });\n\n return () => {\n connections[styleName].delete(activity.zIndex);\n };\n }, [activity.id, refs, effect]);\n\n useEffect(() => {\n if (!effect) {\n return () => {};\n }\n\n const refs = (() => {\n let arr: Array<React.RefObject<any>> = [];\n\n for (let i = 1; i <= activity.zIndex; i += 1) {\n const connection = connections[styleName].get(activity.zIndex - i);\n\n if (connection?.refs) {\n arr = [...arr, ...connection.refs];\n }\n if (connection?.hasEffect) {\n break;\n }\n }\n\n return arr;\n })();\n\n const cleanup = effect({\n activityTransitionState: activity.transitionState,\n refs,\n });\n\n return () => {\n cleanup?.();\n };\n }, [activity.transitionState]);\n}\n", "/* eslint-disable no-param-reassign */\n\nimport type React from \"react\";\n\nimport { useStyleEffect } from \"./useStyleEffect\";\n\nexport function useStyleEffectHide({\n refs,\n hasEffect,\n}: {\n refs: Array<React.RefObject<any>>;\n hasEffect?: boolean;\n}) {\n useStyleEffect({\n styleName: \"hide\",\n refs,\n effect: hasEffect\n ? ({ activityTransitionState, refs }) => {\n 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 ? `translateX(-${OFFSET_PX_CUPERTINO / 16}rem)`\n : `translateY(-${OFFSET_PX_ANDROID / 16}rem)`;\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 onSwiped,\n}: {\n theme: \"android\" | \"cupertino\";\n dimRef: React.RefObject<HTMLDivElement>;\n edgeRef: React.RefObject<HTMLDivElement>;\n paperRef: React.RefObject<HTMLDivElement>;\n hasEffect?: boolean;\n onSwiped?: () => void;\n}) {\n useStyleEffect({\n styleName: \"swipe-back\",\n refs: [paperRef],\n effect: hasEffect\n ? ({ refs }) => {\n if (theme !== \"cupertino\") {\n return () => {};\n }\n\n if (!dimRef.current || !edgeRef.current || !paperRef.current) {\n return () => {};\n }\n\n const $dim = dimRef.current;\n const $edge = edgeRef.current;\n const $paper = paperRef.current;\n\n let x0: number | null = null;\n let t0: number | null = null;\n let x: number | null = null;\n\n let cachedRefs: Array<{\n style: {\n transform: string;\n transition: string;\n };\n parentElement?: {\n style: {\n display: string;\n };\n };\n }> = [];\n\n const resetState = () => {\n x0 = null;\n t0 = null;\n x = null;\n cachedRefs = [];\n };\n\n let _rAFLock = false;\n\n function movePaper(dx: number) {\n if (!_rAFLock) {\n _rAFLock = true;\n\n requestAnimationFrame(() => {\n const p = dx / $paper.clientWidth;\n\n $dim.style.opacity = `${1 - p}`;\n $dim.style.transition = \"0s\";\n\n $paper.style.overflowY = \"hidden\";\n $paper.style.transform = `translateX(${dx}px)`;\n $paper.style.transition = \"0s\";\n\n refs.forEach((ref) => {\n if (!ref.current) {\n return;\n }\n\n ref.current.style.transform = `translateX(${\n -1 * (1 - p) * OFFSET_PX_CUPERTINO\n }px)`;\n ref.current.style.transition = \"0s\";\n\n if (ref.current.parentElement?.style.display === \"none\") {\n ref.current.parentElement.style.display = \"block\";\n }\n });\n\n _rAFLock = false;\n });\n }\n }\n\n function resetPaper({ swiped }: { swiped: boolean }): 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 = `translateX(${\n swiped ? \"0\" : `-${OFFSET_PX_CUPERTINO / 16}rem`\n })`;\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 });\n}\n", "import { useActions, useActivity } from \"@stackflow/react\";\nimport { assignInlineVars } from \"@vanilla-extract/dynamic\";\nimport React, { useRef } from \"react\";\n\nimport { IconBack, IconClose } from \"../assets\";\nimport { useGlobalOptions } from \"../basicUIPlugin\";\nimport { useMaxWidth } from \"../hooks\";\nimport type { GlobalVars } from \"../theme.css\";\nimport { globalVars } from \"../theme.css\";\nimport { compactMap, noop } from \"../utils\";\nimport * as css from \"./AppBar.css\";\nimport * as appScreenCss from \"./AppScreen.css\";\n\ntype AppBarProps = Partial<\n Pick<\n GlobalVars[\"appBar\"],\n | \"borderColor\"\n | \"borderSize\"\n | \"height\"\n | \"iconColor\"\n | \"textColor\"\n | \"backgroundColor\"\n >\n> & {\n title?: React.ReactNode;\n appendLeft?: () => React.ReactNode;\n appendRight?: () => React.ReactNode;\n backButton?:\n | {\n renderIcon?: () => React.ReactNode;\n onClick?: (e: React.MouseEvent<HTMLButtonElement>) => void;\n }\n | {\n render?: () => React.ReactNode;\n };\n closeButton?:\n | {\n renderIcon?: () => React.ReactNode;\n onClick?: (e: React.MouseEvent<HTMLButtonElement>) => void;\n }\n | {\n render?: () => React.ReactNode;\n };\n closeButtonLocation?: \"left\" | \"right\";\n border?: boolean;\n 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 = useActivity();\n\n const globalOptions = useGlobalOptions();\n const globalCloseButton = globalOptions.appBar?.closeButton;\n\n const centerRef = useRef<any>(null);\n\n const { maxWidth } = useMaxWidth({\n outerRef: ref,\n innerRef: centerRef,\n enable: globalOptions.theme === \"cupertino\",\n });\n\n const onBackClick = (e: React.MouseEvent<HTMLButtonElement>) => {\n if (backButton && \"onClick\" in backButton && backButton.onClick) {\n backButton.onClick(e);\n }\n\n if (!e.defaultPrevented) {\n actions.pop();\n }\n };\n\n const renderBackButton = () => {\n if (activity.isRoot) {\n return null;\n }\n\n if (!backButton) {\n return (\n <button\n type=\"button\"\n className={css.backButton}\n onClick={onBackClick}\n >\n <IconBack />\n </button>\n );\n }\n\n if (\"render\" in backButton && backButton.render) {\n return backButton.render?.();\n }\n\n return (\n <button type=\"button\" className={css.backButton} onClick={onBackClick}>\n {\"renderIcon\" in backButton && backButton.renderIcon ? (\n backButton.renderIcon()\n ) : (\n <IconBack />\n )}\n </button>\n );\n };\n\n const onCloseClick = (e: React.MouseEvent<HTMLButtonElement>) => {\n if (closeButton && \"onClick\" in closeButton && closeButton.onClick) {\n closeButton.onClick(e);\n }\n\n if (\n !e.defaultPrevented &&\n globalCloseButton &&\n \"onClick\" in globalCloseButton\n ) {\n globalCloseButton.onClick?.(e);\n }\n };\n\n const renderCloseButton = () => {\n if (\n (!closeButton && !globalOptions.appBar?.closeButton) ||\n !activity.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 onClick={onCloseClick}\n >\n {(() => {\n if (\n closeButton &&\n \"renderIcon\" in closeButton &&\n closeButton.renderIcon\n ) {\n return closeButton.renderIcon();\n }\n if (\n globalCloseButton &&\n \"renderIcon\" in globalCloseButton &&\n globalCloseButton.renderIcon\n ) {\n return globalCloseButton.renderIcon();\n }\n\n return <IconClose />;\n })()}\n </button>\n );\n };\n\n const hasLeft = !!(\n (closeButtonLocation === \"left\" && closeButton) ||\n backButton ||\n appendLeft\n );\n\n return (\n <div\n ref={ref}\n className={css.appBar({\n border,\n })}\n style={assignInlineVars(\n compactMap({\n [globalVars.appBar.iconColor]: iconColor,\n [globalVars.appBar.textColor]: textColor,\n [globalVars.appBar.borderColor]: borderColor,\n [globalVars.appBar.borderSize]: borderSize,\n [globalVars.appBar.height]: height,\n [globalVars.appBar.backgroundColor]:\n backgroundColor || globalVars.backgroundColor,\n [appScreenCss.vars.appBar.center.mainWidth]: `${maxWidth}px`,\n }),\n )}\n >\n <div className={css.left}>\n {closeButtonLocation === \"left\" && renderCloseButton()}\n {renderBackButton()}\n {appendLeft?.()}\n </div>\n <div ref={centerRef} className={css.center}>\n <div\n className={css.centerMain({\n hasLeft,\n })}\n >\n {typeof title === \"string\" ? (\n <div className={css.centerText}>{title}</div>\n ) : (\n title\n )}\n <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 );\n },\n);\n\nexport default AppBar;\n", "import React from \"react\";\n\nconst IconBack: React.FC<{\n className?: string;\n}> = (props) => (\n <svg\n className={props.className}\n width=\"24\"\n height=\"24\"\n viewBox=\"0 0 24 24\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <path\n d=\"M11.5659 5.56564C11.8783 5.25322 11.8783 4.74669 11.5659 4.43427C11.2535 4.12185 10.7469 4.12185 10.4345 4.43427L3.43451 11.4343C3.12209 11.7467 3.12209 12.2532 3.43451 12.5656L10.4345 19.5656C10.7469 19.8781 11.2535 19.8781 11.5659 19.5656C11.8783 19.2532 11.8783 18.7467 11.5659 18.4343L5.93157 12.8H20.0002C20.442 12.8 20.8002 12.4418 20.8002 12C20.8002 11.5581 20.442 11.2 20.0002 11.2H5.93157L11.5659 5.56564Z\"\n fill=\"currentColor\"\n />\n </svg>\n);\n\nexport default IconBack;\n", "import React from \"react\";\n\nconst IconClose: React.FC<{\n className?: string;\n}> = (props) => (\n <svg\n className={props.className}\n width=\"24\"\n height=\"24\"\n viewBox=\"0 0 24 24\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <path\n d=\"M6.56588 5.43433C6.25346 5.12191 5.74693 5.12191 5.43451 5.43433C5.12209 5.74675 5.12209 6.25328 5.43451 6.5657L10.8688 12L5.43451 17.4343C5.12209 17.7467 5.12209 18.2533 5.43451 18.5657C5.74693 18.8781 6.25346 18.8781 6.56588 18.5657L12.0002 13.1314L17.4345 18.5657C17.7469 18.8781 18.2535 18.8781 18.5659 18.5657C18.8783 18.2533 18.8783 17.7467 18.5659 17.4343L13.1316 12L18.5659 6.5657C18.8783 6.25328 18.8783 5.74675 18.5659 5.43433C18.2535 5.12191 17.7469 5.12191 17.4345 5.43433L12.0002 10.8686L6.56588 5.43433Z\"\n fill=\"currentColor\"\n />\n <path\n d=\"M6.56588 5.43433C6.25346 5.12191 5.74693 5.12191 5.43451 5.43433C5.12209 5.74675 5.12209 6.25328 5.43451 6.5657L10.8688 12L5.43451 17.4343C5.12209 17.7467 5.12209 18.2533 5.43451 18.5657C5.74693 18.8781 6.25346 18.8781 6.56588 18.5657L12.0002 13.1314L17.4345 18.5657C17.7469 18.8781 18.2535 18.8781 18.5659 18.5657C18.8783 18.2533 18.8783 17.7467 18.5659 17.4343L13.1316 12L18.5659 6.5657C18.8783 6.25328 18.8783 5.74675 18.5659 5.43433C18.2535 5.12191 17.7469 5.12191 17.4345 5.43433L12.0002 10.8686L6.56588 5.43433Z\"\n fill=\"currentColor\"\n />\n </svg>\n);\n\nexport default IconClose;\n", "import 'src/styles/f.css.ts.vanilla.css?source=LmRodGh4cTAgewogIHdpZHRoOiAxMDAlOwp9Ci5kaHRoeHExIHsKICBoZWlnaHQ6IDEwMCU7Cn0KLmRodGh4cTIgewogIHRvcDogMDsKfQouZGh0aHhxMyB7CiAgbGVmdDogMDsKfQouZGh0aHhxNCB7CiAgcG9zaXRpb246IGFic29sdXRlOwp9Ci5kaHRoeHE1IHsKICBwb3NpdGlvbjogcmVsYXRpdmU7Cn0KLmRodGh4cTcgewogIGRpc3BsYXk6IGZsZXg7Cn0KLmRodGh4cTggewogIGFsaWduLWl0ZW1zOiBjZW50ZXI7Cn0KLmRodGh4cTkgewogIGFsaWduLWl0ZW1zOiBmbGV4LWVuZDsKfQouZGh0aHhxYSB7CiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7Cn0KLmRodGh4cWIgewogIG92ZXJmbG93OiBoaWRkZW47Cn0KLmRodGh4cWMgewogIHdoaXRlLXNwYWNlOiBub3dyYXA7Cn0KLmRodGh4cWQgewogIHRleHQtYWxpZ246IGNlbnRlcjsKfQouZGh0aHhxZSB7CiAgY3Vyc29yOiBwb2ludGVyOwogIC13ZWJraXQtdGFwLWhpZ2hsaWdodC1jb2xvcjogdHJhbnNwYXJlbnQ7Cn0KLmRodGh4cWYgewogIGJveC1zaXppbmc6IGJvcmRlci1ib3g7Cn0KLmRodGh4cWcgewogIGJveC1zaXppbmc6IGNvbnRlbnQtYm94Owp9Ci5kaHRoeHFoIHsKICBhcHBlYXJhbmNlOiBub25lOwogIGJvcmRlcjogMDsKICBwYWRkaW5nOiAwOwogIGJhY2tncm91bmQ6IG5vbmU7Cn0=';\nimport 'src/theme.css.ts.vanilla.css?source=#H4sIAAAAAAAAE+2UwUrEMBCG7/sUAS8Km9JWS6Hik4hImqRtsMmEyQSXFd/drLie1LbrYQ9bEkjC5P8Jfz6mQQDasuawPCpBggcS8qUb4ZX7MfbG8VYEI3k0nAZt9YNwCsGoJ/a2YYz/cb1NhR4hOsUljIANu+q67n5CpYz9QYl9K67zLfuaWVHdTBkJ79MBeQuoNP5mlNdLjYLZ64YVfjdXN2jTD9Sw26xCbeeqjAT3nVtZpHE3V0p6RydKT/uzozoMqUgoXDBk0vNVRHHYNKysKxumbFogAptctKZj2iiUiSHl/Rnd+2YBqDJ6jWQcXDiqeVYth7XM6pXWf9OaPRcSvLf7/LIRXLvlmfkrLpu/tQWeC8EPWtPMuWAKAAA=';\nimport 'src/components/AppScreen.css.ts.vanilla.css?source=#H4sIAAAAAAAAE62V246bMBCG7/MUvqkEKo5gd7ttHPU9WlVVNdgOmBgbGZO0W/Xda06bAEs2QZG4MJrxP59nxuP1r4jJ3dPj0zP6u0IoBrpPjK4Uw1RLbQg6gPEwLq0z7KQ+4kJWiVA4hlJQXAnMRI7Hu/zt6t9q3St/Xqh8WfVLo2oNqFJYoRVp1ztt8k659wz9AOkCqLB/JpaBJD1J1jKdogTLv3lRGH4YeovGuxMmKNy6vxcsFOO/yShO1O+kuijylxCdRAJEjNb2BwMLF3JhU57zr6CY0YL9RCOIlIsktQRFoeH5dpBsgqRQHAxODDDBlfUWFTRAJonBCwPUff4wGZsx0mteooEfXOkXz/qFo5Jd55e1xgM3zZmdvaRGS1knCx95vBcWv1pbk1CJ6wBd0fRCZR+GacgI6dVakRhME5mJspDgwiqt+KAZotMJspuagVYFN1YofdYO2ZUdPAm9uSfF5jqgcJYG7kkDi2jCpQjTO5q9MSjeYvjuNfd3lmNxjaZIkwqdX8M5uvkMLa7XlGxSrZvI2o37uzwNQTdW332noCjcj8Fl6oynqJhVBuqFX4MXwJibKNjqgiAKkr47h3vZlsJHHxHVyrm7EV7CjmMwHNxQKrmtRf27ReHqMBfgLMeyyfFRMJu60qwfPnUvz8ycfBzuztsK1ZQ3Am7PnrvmgPVYQ/hWmRrnP7J8FI77CAAA';\nimport 'src/components/AppBar.css.ts.vanilla.css?source=#H4sIAAAAAAAAE7VWy47bIBTd9yvYVEqqwcJ5TDIeddNFd11106qqRsTgmAaDBTiTpOq/F7Cd+BHPZJp0Z3Mf3Hvu4UDwFO43UzybI/D7HQArHG/WShaCwFhyqSKwxWoEoTbWkHD5DHNerJmAK6xZDAsGcZ7bHwW7keNHmy6lbJ2ay5OU/j5UbqlyvhFIGSFUuDWjsNDMMCmiKvXFmXVqjad4SAqF3YffK8eEMLGGRuYRiKWw6YQZaZxQiBXFkAlNjbP2vanYDjoe7D+hu7r9p5DwZDadzazxz7vgKYxlnmeHEATHGdyBSElpfhBs8AtNmZRm9GNc5FQZJuTPRgY/xVzWKOGVlrwwtL9jWcvqNpv3k/k6PN6JVFlUfnJs6LdRiND7NgToX6vAgijJSA8AmeOYmX0E0ONAGd9tGYpm4y6tjr6doaHxXZ31jOV2ZOyiUu7xcAuA+qnaWIXDWKHByvDtKsNXVVYGhqWKyZ3FGBOnHv5IApTvQIx5PLpYzqQi1E6KHegYfAAwHAN0uRaWwbUONuqblOezVBBLT4CCuaVh2yeiWW5p5jwJ0znHFgIhBW15Tb39jSLNrLg15LlJ/JrcU4Qy7YzPjJg0ApNgUlZ4UvNJsOgVPY1wbNiWdo5fMBnaB+lW/NwHJtzJZdiy3HtLVU376M19F2/EwNCdGcDg/x3jqpUrxa0FhZNR18CvQhuW7G1LwlBhx+NAdMmVad5WnCbWFlajTKyzJ7ddCsLloh4xZ4LCes5hMD/6PldrK8nJY33E2MGzuKK7XRq62N7W+LmL7X7wYmscEte5W8CcrQVkhmba3ucWFKrOInUyeVL4sOaq7zzBGeM2uRs7p1Dvtc17Bz5ZqDZfcPzV/3+2nj2s7hHqYl3D7IcxLwd4TthGcO4vyaueUJc9Z155xpxn8uJKJi+aOlhxEwXTvq4svWMLrxM9j8r0MoQZ3sHq0NQBHV19QV/OE3p5NaGXbX1fcRlvWp0/lE8oR8zTW5hyznLNdIdXTKRUsT4Dj+uNvHjoCnJAKVd9iTYujGwHvnIv9UiCryTJQKXuw275F88Qvlq6DAAA';\nimport { createRuntimeFn as _7a468 } from '@vanilla-extract/recipes/createRuntimeFn';\nexport var appBar = _7a468({defaultClassName:'_1yk3a450 dhthxq4 dhthxq8 dhthxq7 dhthxq0 dhthxqg _1dlf4347',variantClassNames:{border:{true:'_1yk3a451'}},defaultVariants:{},compoundVariants:[]});\nexport var backButton = '_1yk3a453 dhthxq8 dhthxq7 dhthxqa dhthxqe dhthxqh';\nexport var center = '_1yk3a455 dhthxq8 dhthxq7';\nexport var centerMain = _7a468({defaultClassName:'_1yk3a456',variantClassNames:{hasLeft:{true:'_1yk3a457'}},defaultVariants:{},compoundVariants:[]});\nexport var centerMainEdge = '_1yk3a458 dhthxqh dhthxq4 dhthxq2 dhthxqe';\nexport var centerText = '_1yk3a459 dhthxqb dhthxqc dhthxq0';\nexport var closeButton = '_1yk3a453 dhthxq8 dhthxq7 dhthxqa dhthxqe dhthxqh';\nexport var left = '_1yk3a452 dhthxq8 dhthxq7 dhthxq1';\nexport var right = '_1yk3a45a dhthxq8 dhthxq7 dhthxq1 dhthxq5';", "import 'src/styles/f.css.ts.vanilla.css?source=LmRodGh4cTAgewogIHdpZHRoOiAxMDAlOwp9Ci5kaHRoeHExIHsKICBoZWlnaHQ6IDEwMCU7Cn0KLmRodGh4cTIgewogIHRvcDogMDsKfQouZGh0aHhxMyB7CiAgbGVmdDogMDsKfQouZGh0aHhxNCB7CiAgcG9zaXRpb246IGFic29sdXRlOwp9Ci5kaHRoeHE1IHsKICBwb3NpdGlvbjogcmVsYXRpdmU7Cn0KLmRodGh4cTcgewogIGRpc3BsYXk6IGZsZXg7Cn0KLmRodGh4cTggewogIGFsaWduLWl0ZW1zOiBjZW50ZXI7Cn0KLmRodGh4cTkgewogIGFsaWduLWl0ZW1zOiBmbGV4LWVuZDsKfQouZGh0aHhxYSB7CiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7Cn0KLmRodGh4cWIgewogIG92ZXJmbG93OiBoaWRkZW47Cn0KLmRodGh4cWMgewogIHdoaXRlLXNwYWNlOiBub3dyYXA7Cn0KLmRodGh4cWQgewogIHRleHQtYWxpZ246IGNlbnRlcjsKfQouZGh0aHhxZSB7CiAgY3Vyc29yOiBwb2ludGVyOwogIC13ZWJraXQtdGFwLWhpZ2hsaWdodC1jb2xvcjogdHJhbnNwYXJlbnQ7Cn0KLmRodGh4cWYgewogIGJveC1zaXppbmc6IGJvcmRlci1ib3g7Cn0KLmRodGh4cWcgewogIGJveC1zaXppbmc6IGNvbnRlbnQtYm94Owp9Ci5kaHRoeHFoIHsKICBhcHBlYXJhbmNlOiBub25lOwogIGJvcmRlcjogMDsKICBwYWRkaW5nOiAwOwogIGJhY2tncm91bmQ6IG5vbmU7Cn0=';\nimport 'src/theme.css.ts.vanilla.css?source=#H4sIAAAAAAAAE+2UwUrEMBCG7/sUAS8Km9JWS6Hik4hImqRtsMmEyQSXFd/drLie1LbrYQ9bEkjC5P8Jfz6mQQDasuawPCpBggcS8qUb4ZX7MfbG8VYEI3k0nAZt9YNwCsGoJ/a2YYz/cb1NhR4hOsUljIANu+q67n5CpYz9QYl9K67zLfuaWVHdTBkJ79MBeQuoNP5mlNdLjYLZ64YVfjdXN2jTD9Sw26xCbeeqjAT3nVtZpHE3V0p6RydKT/uzozoMqUgoXDBk0vNVRHHYNKysKxumbFogAptctKZj2iiUiSHl/Rnd+2YBqDJ6jWQcXDiqeVYth7XM6pXWf9OaPRcSvLf7/LIRXLvlmfkrLpu/tQWeC8EPWtPMuWAKAAA=';\nimport 'src/components/AppScreen.css.ts.vanilla.css?source=#H4sIAAAAAAAAE62V246bMBCG7/MUvqkEKo5gd7ttHPU9WlVVNdgOmBgbGZO0W/Xda06bAEs2QZG4MJrxP59nxuP1r4jJ3dPj0zP6u0IoBrpPjK4Uw1RLbQg6gPEwLq0z7KQ+4kJWiVA4hlJQXAnMRI7Hu/zt6t9q3St/Xqh8WfVLo2oNqFJYoRVp1ztt8k659wz9AOkCqLB/JpaBJD1J1jKdogTLv3lRGH4YeovGuxMmKNy6vxcsFOO/yShO1O+kuijylxCdRAJEjNb2BwMLF3JhU57zr6CY0YL9RCOIlIsktQRFoeH5dpBsgqRQHAxODDDBlfUWFTRAJonBCwPUff4wGZsx0mteooEfXOkXz/qFo5Jd55e1xgM3zZmdvaRGS1knCx95vBcWv1pbk1CJ6wBd0fRCZR+GacgI6dVakRhME5mJspDgwiqt+KAZotMJspuagVYFN1YofdYO2ZUdPAm9uSfF5jqgcJYG7kkDi2jCpQjTO5q9MSjeYvjuNfd3lmNxjaZIkwqdX8M5uvkMLa7XlGxSrZvI2o37uzwNQTdW332noCjcj8Fl6oynqJhVBuqFX4MXwJibKNjqgiAKkr47h3vZlsJHHxHVyrm7EV7CjmMwHNxQKrmtRf27ReHqMBfgLMeyyfFRMJu60qwfPnUvz8ycfBzuztsK1ZQ3Am7PnrvmgPVYQ/hWmRrnP7J8FI77CAAA';\nimport { createRuntimeFn as _7a468 } from '@vanilla-extract/recipes/createRuntimeFn';\nexport var allTransitions = '_1dlf4348';\nexport var appScreen = _7a468({defaultClassName:'dhthxq4 dhthxq0 dhthxq1 dhthxq2 dhthxq3 dhthxqb',variantClassNames:{transitionState:{'enter-active':'_1dlf4349','enter-done':'_1dlf434a','exit-active':'_1dlf434b','exit-done':'_1dlf434c'}},defaultVariants:{},compoundVariants:[]});\nexport var background = '_1dlf4347';\nexport var dim = '_1dlf434i dhthxq4 dhthxq0 dhthxq1 dhthxq2 dhthxq3 _1dlf4346 _1dlf4348';\nexport var edge = _7a468({defaultClassName:'_1dlf434l dhthxq4 dhthxq2 dhthxq3 dhthxq1',variantClassNames:{hasAppBar:{true:'_1dlf434m'}},defaultVariants:{},compoundVariants:[]});\nexport var enterActive = '_1dlf4349';\nexport var enterDone = '_1dlf434a';\nexport var exitActive = '_1dlf434b';\nexport var exitDone = '_1dlf434c';\nexport var paper = _7a468({defaultClassName:'_1dlf434j dhthxq4 dhthxq0 dhthxq1 dhthxq2 dhthxq3 _1dlf4347 _1dlf4348',variantClassNames:{hasAppBar:{true:'_1dlf434k dhthxqf'}},defaultVariants:{},compoundVariants:[]});\nexport var vars = {transitionDuration:'var(--_1dlf4340)',zIndexes:{dim:'var(--_1dlf4341)',paper:'var(--_1dlf4342)',edge:'var(--_1dlf4343)',appBar:'var(--_1dlf4344)'},appBar:{center:{mainWidth:'var(--_1dlf4345)'}}};", "/* eslint-disable jsx-a11y/no-static-element-interactions, jsx-a11y/click-events-have-key-events */\n\nimport { useActions, useActivity } from \"@stackflow/react\";\nimport { assignInlineVars } from \"@vanilla-extract/dynamic\";\nimport React, { useRef } from \"react\";\n\nimport { useLazy, useStyleEffect } from \"../hooks\";\nimport type { GlobalVars } from \"../theme.css\";\nimport { globalVars } from \"../theme.css\";\nimport { compactMap } from \"../utils\";\nimport * as css from \"./BottomSheet.css\";\n\ntype BottomSheetProps = Partial<\n Pick<GlobalVars, \"backgroundColor\" | \"dimBackgroundColor\">\n> &\n Partial<GlobalVars[\"bottomSheet\"]> & {\n onOutsideClick?: React.MouseEventHandler;\n children: React.ReactNode;\n };\nconst BottomSheet: React.FC<BottomSheetProps> = ({\n borderRadius = \"1rem\",\n backgroundColor,\n dimBackgroundColor,\n onOutsideClick,\n children,\n}) => {\n const activity = useActivity();\n const { pop } = useActions();\n\n const containerRef = useRef<HTMLDivElement>(null);\n const paperRef = useRef<HTMLDivElement>(null);\n\n useStyleEffect({\n styleName: \"hide\",\n refs: [containerRef],\n });\n useStyleEffect({\n styleName: \"offset\",\n refs: [paperRef],\n });\n useStyleEffect({\n styleName: \"swipe-back\",\n refs: [paperRef],\n });\n\n const popLock = useRef(false);\n\n const onDimClick: React.MouseEventHandler = (e) => {\n onOutsideClick?.(e);\n\n if (e.defaultPrevented) {\n return;\n }\n\n if (popLock.current) {\n return;\n }\n popLock.current = true;\n\n pop();\n };\n const onPaperClick: React.MouseEventHandler = (e) => {\n e.stopPropagation();\n };\n\n const zIndexBase = activity.zIndex * 5 + 3;\n const zIndexPaper = activity.zIndex * 5 + 4;\n\n return (\n <div\n className={css.container({\n transitionState: useLazy(activity.transitionState),\n })}\n ref={containerRef}\n style={assignInlineVars(\n compactMap({\n [globalVars.bottomSheet.borderRadius]: borderRadius,\n [globalVars.backgroundColor]: backgroundColor,\n [globalVars.dimBackgroundColor]: dimBackgroundColor,\n [css.vars.zIndexes.dim]: `${zIndexBase}`,\n [css.vars.zIndexes.paper]: `${zIndexPaper}`,\n [css.vars.transitionDuration]:\n activity.transitionState === \"enter-active\" ||\n activity.transitionState === \"exit-active\"\n ? `var(--stackflow-transition-duration)`\n : \"0ms\",\n }),\n )}\n >\n <div className={css.dim} ref={paperRef} onClick={onDimClick}>\n <div className={css.paper} onClick={onPaperClick}>\n {children}\n </div>\n </div>\n </div>\n );\n};\n\nexport default BottomSheet;\n", "import 'src/styles/f.css.ts.vanilla.css?source=LmRodGh4cTAgewogIHdpZHRoOiAxMDAlOwp9Ci5kaHRoeHExIHsKICBoZWlnaHQ6IDEwMCU7Cn0KLmRodGh4cTIgewogIHRvcDogMDsKfQouZGh0aHhxMyB7CiAgbGVmdDogMDsKfQouZGh0aHhxNCB7CiAgcG9zaXRpb246IGFic29sdXRlOwp9Ci5kaHRoeHE1IHsKICBwb3NpdGlvbjogcmVsYXRpdmU7Cn0KLmRodGh4cTcgewogIGRpc3BsYXk6IGZsZXg7Cn0KLmRodGh4cTggewogIGFsaWduLWl0ZW1zOiBjZW50ZXI7Cn0KLmRodGh4cTkgewogIGFsaWduLWl0ZW1zOiBmbGV4LWVuZDsKfQouZGh0aHhxYSB7CiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7Cn0KLmRodGh4cWIgewogIG92ZXJmbG93OiBoaWRkZW47Cn0KLmRodGh4cWMgewogIHdoaXRlLXNwYWNlOiBub3dyYXA7Cn0KLmRodGh4cWQgewogIHRleHQtYWxpZ246IGNlbnRlcjsKfQouZGh0aHhxZSB7CiAgY3Vyc29yOiBwb2ludGVyOwogIC13ZWJraXQtdGFwLWhpZ2hsaWdodC1jb2xvcjogdHJhbnNwYXJlbnQ7Cn0KLmRodGh4cWYgewogIGJveC1zaXppbmc6IGJvcmRlci1ib3g7Cn0KLmRodGh4cWcgewogIGJveC1zaXppbmc6IGNvbnRlbnQtYm94Owp9Ci5kaHRoeHFoIHsKICBhcHBlYXJhbmNlOiBub25lOwogIGJvcmRlcjogMDsKICBwYWRkaW5nOiAwOwogIGJhY2tncm91bmQ6IG5vbmU7Cn0=';\nimport 'src/theme.css.ts.vanilla.css?source=#H4sIAAAAAAAAE+2UwUrEMBCG7/sUAS8Km9JWS6Hik4hImqRtsMmEyQSXFd/drLie1LbrYQ9bEkjC5P8Jfz6mQQDasuawPCpBggcS8qUb4ZX7MfbG8VYEI3k0nAZt9YNwCsGoJ/a2YYz/cb1NhR4hOsUljIANu+q67n5CpYz9QYl9K67zLfuaWVHdTBkJ79MBeQuoNP5mlNdLjYLZ64YVfjdXN2jTD9Sw26xCbeeqjAT3nVtZpHE3V0p6RydKT/uzozoMqUgoXDBk0vNVRHHYNKysKxumbFogAptctKZj2iiUiSHl/Rnd+2YBqDJ6jWQcXDiqeVYth7XM6pXWf9OaPRcSvLf7/LIRXLvlmfkrLpu/tQWeC8EPWtPMuWAKAAA=';\nimport 'src/components/BottomSheet.css.ts.vanilla.css?source=Ll8xaHQzOGgwMyB7CiAgdHJhbnNpdGlvbjogdmFyKC0tXzFodDM4aDAwKTsKfQouXzFodDM4aDA3IHsKICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMTAwJSk7Cn0KLl8xaHQzOGgwZCB7CiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tc3RhY2tmbG93LXBsdWdpbi1iYXNpYy11aS1kaW0tYmFja2dyb3VuZC1jb2xvcik7CiAgei1pbmRleDogdmFyKC0tXzFodDM4aDAxKTsKICBvcGFjaXR5OiAwOwp9Ci5fMWh0MzhoMDQgLl8xaHQzOGgwZCwgLl8xaHQzOGgwNSAuXzFodDM4aDBkIHsKICBvcGFjaXR5OiAxOwp9Ci5fMWh0MzhoMDYgLl8xaHQzOGgwZCwgLl8xaHQzOGgwNyAuXzFodDM4aDBkIHsKICBvcGFjaXR5OiAwOwp9Ci5fMWh0MzhoMGUgewogIGJhY2tncm91bmQtY29sb3I6IHZhcigtLXN0YWNrZmxvdy1wbHVnaW4tYmFzaWMtdWktYmFja2dyb3VuZC1jb2xvcik7CiAgd2lkdGg6IDEwMCU7CiAgYm9yZGVyLXJhZGl1czogdmFyKC0tc3RhY2tmbG93LXBsdWdpbi1iYXNpYy11aS1ib3R0b20tc2hlZXQtYm9yZGVyLXJhZGl1cykgdmFyKC0tc3RhY2tmbG93LXBsdWdpbi1iYXNpYy11aS1ib3R0b20tc2hlZXQtYm9yZGVyLXJhZGl1cykgMCAwOwogIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgxMDAlKTsKICBvcGFjaXR5OiAwOwp9Ci5fMWh0MzhoMDQgLl8xaHQzOGgwZSwgLl8xaHQzOGgwNSAuXzFodDM4aDBlIHsKICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7CiAgb3BhY2l0eTogMTsKfQouXzFodDM4aDA2IC5fMWh0MzhoMGUsIC5fMWh0MzhoMDcgLl8xaHQzOGgwZSB7CiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDEwMCUpOwogIG9wYWNpdHk6IDA7Cn0=';\nimport { createRuntimeFn as _7a468 } from '@vanilla-extract/recipes/createRuntimeFn';\nexport var container = _7a468({defaultClassName:'dhthxq4 dhthxq0 dhthxq1 dhthxq2 dhthxq3 dhthxqb',variantClassNames:{transitionState:{'enter-active':'_1ht38h04','enter-done':'_1ht38h05','exit-active':'_1ht38h06','exit-done':'_1ht38h07'}},defaultVariants:{},compoundVariants:[]});\nexport var dim = '_1ht38h0d dhthxq4 dhthxq0 dhthxq1 dhthxq2 dhthxq3 dhthxqb dhthxq9 dhthxq7 _1ht38h03';\nexport var enterActive = '_1ht38h04';\nexport var enterDone = '_1ht38h05';\nexport var exitActive = '_1ht38h06';\nexport var exitDone = '_1ht38h07';\nexport var paper = '_1ht38h0e dhthxqb _1ht38h03';\nexport var vars = {transitionDuration:'var(--_1ht38h00)',zIndexes:{dim:'var(--_1ht38h01)',paper:'var(--_1ht38h02)'}};", "/* eslint-disable jsx-a11y/no-static-element-interactions, jsx-a11y/click-events-have-key-events */\n\nimport { useActions, useActivity } from \"@stackflow/react\";\nimport { assignInlineVars } from \"@vanilla-extract/dynamic\";\nimport React, { useRef } from \"react\";\n\nimport { useLazy, useStyleEffect } from \"../hooks\";\nimport type { GlobalVars } from \"../theme.css\";\nimport { globalVars } from \"../theme.css\";\nimport { compactMap } from \"../utils\";\nimport * as css from \"./Modal.css\";\n\ntype ModalProps = Partial<\n Pick<GlobalVars, \"backgroundColor\" | \"dimBackgroundColor\">\n> &\n Partial<GlobalVars[\"modal\"]> & {\n onOutsideClick?: React.MouseEventHandler;\n children: React.ReactNode;\n };\nconst Modal: React.FC<ModalProps> = ({\n backgroundColor,\n dimBackgroundColor,\n borderRadius = \"1rem\",\n onOutsideClick,\n children,\n}) => {\n const activity = useActivity();\n const { pop } = useActions();\n\n const containerRef = useRef<HTMLDivElement>(null);\n const paperRef = useRef<HTMLDivElement>(null);\n\n useStyleEffect({\n styleName: \"hide\",\n refs: [containerRef],\n });\n useStyleEffect({\n styleName: \"offset\",\n refs: [paperRef],\n });\n useStyleEffect({\n styleName: \"swipe-back\",\n refs: [paperRef],\n });\n\n const popLock = useRef(false);\n\n const onDimClick: React.MouseEventHandler = (e) => {\n onOutsideClick?.(e);\n\n if (e.defaultPrevented) {\n return;\n }\n\n if (popLock.current) {\n return;\n }\n popLock.current = true;\n\n pop();\n };\n const onPaperClick: React.MouseEventHandler = (e) => {\n e.stopPropagation();\n };\n\n const zIndexBase = activity.zIndex * 5 + 3;\n const zIndexPaper = activity.zIndex * 5 + 4;\n\n return (\n <div\n className={css.container({\n transitionState: useLazy(activity.transitionState),\n })}\n ref={containerRef}\n style={assignInlineVars(\n compactMap({\n [globalVars.bottomSheet.borderRadius]: borderRadius,\n [globalVars.backgroundColor]: backgroundColor,\n [globalVars.dimBackgroundColor]: dimBackgroundColor,\n [css.vars.zIndexes.dim]: `${zIndexBase}`,\n [css.vars.zIndexes.paper]: `${zIndexPaper}`,\n [css.vars.transitionDuration]:\n activity.transitionState === \"enter-active\" ||\n activity.transitionState === \"exit-active\"\n ? `var(--stackflow-transition-duration)`\n : \"0ms\",\n }),\n )}\n >\n <div className={css.dim} ref={paperRef} onClick={onDimClick}>\n <div className={css.paper} onClick={onPaperClick}>\n {children}\n </div>\n </div>\n </div>\n );\n};\n\nexport default Modal;\n", "import 'src/styles/f.css.ts.vanilla.css?source=LmRodGh4cTAgewogIHdpZHRoOiAxMDAlOwp9Ci5kaHRoeHExIHsKICBoZWlnaHQ6IDEwMCU7Cn0KLmRodGh4cTIgewogIHRvcDogMDsKfQouZGh0aHhxMyB7CiAgbGVmdDogMDsKfQouZGh0aHhxNCB7CiAgcG9zaXRpb246IGFic29sdXRlOwp9Ci5kaHRoeHE1IHsKICBwb3NpdGlvbjogcmVsYXRpdmU7Cn0KLmRodGh4cTcgewogIGRpc3BsYXk6IGZsZXg7Cn0KLmRodGh4cTggewogIGFsaWduLWl0ZW1zOiBjZW50ZXI7Cn0KLmRodGh4cTkgewogIGFsaWduLWl0ZW1zOiBmbGV4LWVuZDsKfQouZGh0aHhxYSB7CiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7Cn0KLmRodGh4cWIgewogIG92ZXJmbG93OiBoaWRkZW47Cn0KLmRodGh4cWMgewogIHdoaXRlLXNwYWNlOiBub3dyYXA7Cn0KLmRodGh4cWQgewogIHRleHQtYWxpZ246IGNlbnRlcjsKfQouZGh0aHhxZSB7CiAgY3Vyc29yOiBwb2ludGVyOwogIC13ZWJraXQtdGFwLWhpZ2hsaWdodC1jb2xvcjogdHJhbnNwYXJlbnQ7Cn0KLmRodGh4cWYgewogIGJveC1zaXppbmc6IGJvcmRlci1ib3g7Cn0KLmRodGh4cWcgewogIGJveC1zaXppbmc6IGNvbnRlbnQtYm94Owp9Ci5kaHRoeHFoIHsKICBhcHBlYXJhbmNlOiBub25lOwogIGJvcmRlcjogMDsKICBwYWRkaW5nOiAwOwogIGJhY2tncm91bmQ6IG5vbmU7Cn0=';\nimport 'src/theme.css.ts.vanilla.css?source=#H4sIAAAAAAAAE+2UwUrEMBCG7/sUAS8Km9JWS6Hik4hImqRtsMmEyQSXFd/drLie1LbrYQ9bEkjC5P8Jfz6mQQDasuawPCpBggcS8qUb4ZX7MfbG8VYEI3k0nAZt9YNwCsGoJ/a2YYz/cb1NhR4hOsUljIANu+q67n5CpYz9QYl9K67zLfuaWVHdTBkJ79MBeQuoNP5mlNdLjYLZ64YVfjdXN2jTD9Sw26xCbeeqjAT3nVtZpHE3V0p6RydKT/uzozoMqUgoXDBk0vNVRHHYNKysKxumbFogAptctKZj2iiUiSHl/Rnd+2YBqDJ6jWQcXDiqeVYth7XM6pXWf9OaPRcSvLf7/LIRXLvlmfkrLpu/tQWeC8EPWtPMuWAKAAA=';\nimport 'src/components/Modal.css.ts.vanilla.css?source=Ll81b3pnOGMzIHsKICB0cmFuc2l0aW9uOiB2YXIoLS1fNW96ZzhjMCk7Cn0KLl81b3pnOGM3IHsKICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMTAwJSk7Cn0KLl81b3pnOGNkIHsKICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1zdGFja2Zsb3ctcGx1Z2luLWJhc2ljLXVpLWRpbS1iYWNrZ3JvdW5kLWNvbG9yKTsKICB6LWluZGV4OiB2YXIoLS1fNW96ZzhjMSk7CiAgb3BhY2l0eTogMDsKfQouXzVvemc4YzQgLl81b3pnOGNkLCAuXzVvemc4YzUgLl81b3pnOGNkIHsKICBvcGFjaXR5OiAxOwp9Ci5fNW96ZzhjNiAuXzVvemc4Y2QsIC5fNW96ZzhjNyAuXzVvemc4Y2QgewogIG9wYWNpdHk6IDA7Cn0KLl81b3pnOGNlIHsKICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1zdGFja2Zsb3ctcGx1Z2luLWJhc2ljLXVpLWJhY2tncm91bmQtY29sb3IpOwogIHdpZHRoOiAxMDAlOwogIG1hcmdpbjogMCAyLjVyZW07CiAgYm94LXNoYWRvdzogMHB4IDAuNjI1cmVtIDIuMzc1cmVtIHJnYmEoMCwgMCwgMCwgMC4xNSksIDBweCAuNTYyNXJlbSAyLjg3NXJlbSByZ2JhKDAsIDAsIDAsIDAuMTIpLCAwcHggLjMxMjVyZW0gLjkzNzVyZW0gcmdiYSgwLCAwLCAwLCAwLjEpOwogIGJvcmRlci1yYWRpdXM6IHZhcigtLXN0YWNrZmxvdy1wbHVnaW4tYmFzaWMtdWktYm90dG9tLXNoZWV0LWJvcmRlci1yYWRpdXMpOwogIHRyYW5zZm9ybTogc2NhbGUoMS4xKTsKICBvcGFjaXR5OiAwOwp9Ci5fNW96ZzhjNCAuXzVvemc4Y2UsIC5fNW96ZzhjNSAuXzVvemc4Y2UgewogIHRyYW5zZm9ybTogc2NhbGUoMSk7CiAgb3BhY2l0eTogMTsKfQouXzVvemc4YzYgLl81b3pnOGNlLCAuXzVvemc4YzcgLl81b3pnOGNlIHsKICB0cmFuc2Zvcm06IHNjYWxlKDEuMSk7CiAgb3BhY2l0eTogMDsKfQ==';\nimport { createRuntimeFn as _7a468 } from '@vanilla-extract/recipes/createRuntimeFn';\nexport var container = _7a468({defaultClassName:'dhthxq4 dhthxq0 dhthxq1 dhthxq2 dhthxq3 dhthxqb',variantClassNames:{transitionState:{'enter-active':'_5ozg8c4','enter-done':'_5ozg8c5','exit-active':'_5ozg8c6','exit-done':'_5ozg8c7'}},defaultVariants:{},compoundVariants:[]});\nexport var dim = '_5ozg8cd dhthxq4 dhthxq0 dhthxq1 dhthxq2 dhthxq3 dhthxqb dhthxq8 dhthxq7 dhthxqa _5ozg8c3';\nexport var enterActive = '_5ozg8c4';\nexport var enterDone = '_5ozg8c5';\nexport var exitActive = '_5ozg8c6';\nexport var exitDone = '_5ozg8c7';\nexport var paper = '_5ozg8ce dhthxqb _5ozg8c3';\nexport var vars = {transitionDuration:'var(--_5ozg8c0)',zIndexes:{dim:'var(--_5ozg8c1)',paper:'var(--_5ozg8c2)'}};"],
5
+ "mappings": "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",
6
+ "names": ["assignInlineVars", "React", "createContext", "useContext", "theme_css_exports", "__export", "android", "cupertino", "globalVars", "rootAndroid", "rootCupertino", "android", "cupertino", "globalVars", "rootAndroid", "rootCupertino", "compactMap", "obj", "acc", "key", "value", "listenOnce", "el", "type", "cb", "listener", "listenResize", "cb", "noop", "requestNextFrame", "cb", "GlobalOptionsContext", "createContext", "GlobalOptionsProvider", "useGlobalOptions", "useContext", "basicUIPlugin", "options", "stack", "_a", "_b", "_c", "_d", "_e", "_f", "_g", "React", "theme_css_exports", "assignInlineVars", "compactMap", "globalVars", "useActions", "useActivity", "assignInlineVars", "React", "useRef", "useEffect", "useState", "useLazy", "value", "state", "setState", "useState", "useEffect", "requestNextFrame", "useEffect", "useState", "useMaxWidth", "outerRef", "innerRef", "enable", "maxWidth", "setMaxWidth", "useState", "useEffect", "$outer", "$inner", "noop", "listenResize", "screenWidth", "leftWidth", "centerWidth", "rightWidth", "sideMargin", "useActivity", "useEffect", "connections", "useStyleEffect", "styleName", "refs", "effect", "activity", "arr", "connection", "cleanup", "useStyleEffectHide", "refs", "hasEffect", "useStyleEffect", "activityTransitionState", "cleanup", "ref", "$ref", "OFFSET_PX_ANDROID", "OFFSET_PX_CUPERTINO", "useStyleEffectOffset", "refs", "theme", "hasEffect", "useStyleEffect", "activityTransitionState", "transform", "cleanup", "requestNextFrame", "ref", "$el", "listenOnce", "useStyleEffectSwipeBack", "theme", "dimRef", "edgeRef", "paperRef", "hasEffect", "onSwiped", "useStyleEffect", "refs", "$dim", "$edge", "$paper", "x0", "t0", "x", "cachedRefs", "resetState", "_rAFLock", "movePaper", "dx", "p", "ref", "_a", "OFFSET_PX_CUPERTINO", "resetPaper", "swiped", "resolve", "_cachedRefs", "listenOnce", "i", "_cachedRef", "onTouchStart", "e", "activeElement", "onTouchMove", "onTouchEnd", "t", "useActions", "useActivity", "assignInlineVars", "React", "useRef", "React", "IconBack", "props", "IconBack_default", "React", "IconClose", "props", "IconClose_default", "_7a468", "appBar", "backButton", "center", "centerMain", "centerMainEdge", "centerText", "closeButton", "left", "right", "_7a468", "appScreen", "_7a468", "dim", "edge", "_7a468", "paper", "_7a468", "vars", "AppBar", "React", "title", "appendLeft", "appendRight", "backButton", "closeButton", "closeButtonLocation", "border", "iconColor", "textColor", "borderColor", "borderSize", "height", "backgroundColor", "onTopClick", "ref", "_a", "actions", "useActions", "activity", "useActivity", "globalOptions", "useGlobalOptions", "globalCloseButton", "centerRef", "useRef", "maxWidth", "useMaxWidth", "onBackClick", "e", "renderBackButton", "IconBack_default", "onCloseClick", "renderCloseButton", "IconClose_default", "hasLeft", "appBar", "assignInlineVars", "compactMap", "globalVars", "vars", "left", "center", "centerMain", "centerText", "centerMainEdge", "right", "AppBar_default", "AppScreen", "backgroundColor", "dimBackgroundColor", "appBar", "showAppBar", "showAppBarTransitionDuration", "preventSwipeBack", "children", "globalOptions", "useGlobalOptions", "activity", "useActivity", "pop", "useActions", "appScreenRef", "useRef", "dimRef", "paperRef", "edgeRef", "appBarRef", "useStyleEffectHide", "useStyleEffectOffset", "useStyleEffectSwipeBack", "hasAppBar", "zIndexBase", "zIndexDim", "zIndexPaper", "zIndexEdge", "zIndexAppBar", "transitionState", "lazyTransitionState", "useLazy", "onAppBarTopClick", "e", "_a", "_b", "React", "appScreen", "assignInlineVars", "compactMap", "globalVars", "vars", "dim", "paper", "edge", "AppBar_default", "__spreadProps", "__spreadValues", "AppScreen_default", "useActions", "useActivity", "assignInlineVars", "React", "useRef", "_7a468", "container", "dim", "paper", "vars", "BottomSheet", "borderRadius", "backgroundColor", "dimBackgroundColor", "onOutsideClick", "children", "activity", "useActivity", "pop", "useActions", "containerRef", "useRef", "paperRef", "useStyleEffect", "popLock", "onDimClick", "e", "onPaperClick", "zIndexBase", "zIndexPaper", "React", "container", "useLazy", "assignInlineVars", "compactMap", "globalVars", "vars", "dim", "paper", "BottomSheet_default", "useActions", "useActivity", "assignInlineVars", "React", "useRef", "_7a468", "container", "dim", "paper", "vars", "Modal", "backgroundColor", "dimBackgroundColor", "borderRadius", "onOutsideClick", "children", "activity", "useActivity", "pop", "useActions", "containerRef", "useRef", "paperRef", "useStyleEffect", "popLock", "onDimClick", "e", "onPaperClick", "zIndexBase", "zIndexPaper", "React", "container", "useLazy", "assignInlineVars", "compactMap", "globalVars", "vars", "dim", "paper", "Modal_default"]
7
7
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@stackflow/plugin-basic-ui",
3
- "version": "0.19.2-alpha.3+0e188812",
3
+ "version": "0.19.2",
4
4
  "license": "MIT",
5
5
  "exports": {
6
6
  ".": {
@@ -69,5 +69,5 @@
69
69
  "build"
70
70
  ]
71
71
  },
72
- "gitHead": "0e1888124d8ef2ed9bb193b33bdcd409866d1a9e"
72
+ "gitHead": "14fbdfe7fc610c57baaf1b838ff517d39c71909c"
73
73
  }
@@ -67,7 +67,7 @@ const AppScreen: React.FC<AppScreenProps> = ({
67
67
  },
68
68
  });
69
69
 
70
- const hasAppBar = !!appBar;
70
+ const hasAppBar = !!appBar && showAppBar;
71
71
 
72
72
  const zIndexBase = activity.zIndex * 5;
73
73
  const zIndexDim = zIndexBase;
@@ -16,26 +16,36 @@ export function useStyleEffectHide({
16
16
  refs,
17
17
  effect: hasEffect
18
18
  ? ({ activityTransitionState, refs }) => {
19
+ const cleanup = () => {
20
+ refs.forEach((ref) => {
21
+ if (!ref.current) {
22
+ return;
23
+ }
24
+ const $ref = ref.current;
25
+
26
+ $ref.style.display = "";
27
+ });
28
+ };
29
+
19
30
  switch (activityTransitionState) {
20
31
  case "enter-done": {
21
32
  refs.forEach((ref) => {
22
33
  if (!ref.current) {
23
34
  return;
24
35
  }
36
+ const $ref = ref.current;
25
37
 
26
- ref.current.style.display = "none";
38
+ $ref.style.display = "none";
27
39
  });
28
- break;
40
+
41
+ return () => {
42
+ cleanup();
43
+ };
29
44
  }
30
45
  default: {
31
- refs.forEach((ref) => {
32
- if (!ref.current) {
33
- return;
34
- }
46
+ cleanup();
35
47
 
36
- ref.current.style.display = "";
37
- });
38
- break;
48
+ return () => {};
39
49
  }
40
50
  }
41
51
  }
@@ -25,6 +25,24 @@ export function useStyleEffectOffset({
25
25
  ? `translateX(-${OFFSET_PX_CUPERTINO / 16}rem)`
26
26
  : `translateY(-${OFFSET_PX_ANDROID / 16}rem)`;
27
27
 
28
+ const cleanup = () => {
29
+ requestNextFrame(() => {
30
+ refs.forEach((ref) => {
31
+ if (!ref.current) {
32
+ return;
33
+ }
34
+
35
+ const $el = ref.current;
36
+
37
+ $el.style.transform = "";
38
+
39
+ listenOnce($el, "transitionend", () => {
40
+ $el.style.transition = "";
41
+ });
42
+ });
43
+ });
44
+ };
45
+
28
46
  switch (activityTransitionState) {
29
47
  case "enter-active":
30
48
  case "enter-done": {
@@ -36,29 +54,27 @@ export function useStyleEffectOffset({
36
54
  ref.current.style.transition = `var(--stackflow-transition-duration)`;
37
55
  ref.current.style.transform = transform;
38
56
  });
39
- break;
57
+
58
+ switch (activityTransitionState) {
59
+ case "enter-done":
60
+ return () => {
61
+ cleanup();
62
+ };
63
+ case "enter-active":
64
+ default:
65
+ return () => {};
66
+ }
40
67
  }
41
68
  case "exit-active":
42
69
  case "exit-done": {
43
70
  requestNextFrame(() => {
44
- refs.forEach((ref) => {
45
- if (!ref.current) {
46
- return;
47
- }
48
-
49
- const $el = ref.current;
50
-
51
- $el.style.transform = "";
52
-
53
- listenOnce($el, "transitionend", () => {
54
- $el.style.transition = "";
55
- });
56
- });
71
+ cleanup();
57
72
  });
58
- break;
73
+
74
+ return () => {};
59
75
  }
60
76
  default: {
61
- break;
77
+ return () => {};
62
78
  }
63
79
  }
64
80
  }