@stackflow/plugin-basic-ui 1.9.2-canary.0 → 1.9.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.
package/dist/index.js.map CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
- "sources": ["../src/index.ts", "../src/assets/IconBack.tsx", "../src/assets/IconClose.tsx", "../src/basicUIPlugin.tsx", "../src/basicUIPlugin.css.ts", "../src/components/RootStyles.ts", "../src/utils/compactMap.ts", "../src/components/AppScreen.tsx", "../src/components/AppBar.tsx", "../src/components/AppBar.css.ts", "../src/components/AppScreen.css.ts", "../src/components/BottomSheet.tsx", "../src/components/BottomSheet.css.ts", "../src/components/Modal.tsx", "../src/components/Modal.css.ts"],
4
- "sourcesContent": ["export { IconBack, IconClose } from \"./assets\";\nexport { basicUIPlugin } from \"./basicUIPlugin\";\nexport { globalVars as cssVars } from \"./basicUIPlugin.css\";\nexport {\n default as AppScreen,\n AppScreenContext,\n AppScreenProps,\n useAppScreen,\n} from \"./components/AppScreen\";\nexport { vars as appScreenVars } from \"./components/AppScreen.css\";\nexport {\n default as BottomSheet,\n BottomSheetProps,\n} from \"./components/BottomSheet\";\nexport { vars as bottomSheetVars } from \"./components/BottomSheet.css\";\nexport { default as Modal, ModalProps } from \"./components/Modal\";\nexport { vars as modalVars } from \"./components/Modal.css\";\n", "const 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=\"M16.66 3.23C16.96 3.53 16.96 4.02 16.66 4.32L8.97999 12L16.66 19.68C16.96 19.98 16.96 20.47 16.66 20.77C16.36 21.07 15.87 21.07 15.57 20.77L7.33999 12.55C7.03999 12.25 7.03999 11.76 7.33999 11.46L15.56 3.23C15.86 2.93 16.35 2.93 16.65 3.23H16.66Z\"\n fill=\"currentColor\"\n />\n </svg>\n);\n\nexport default IconBack;\n", "const 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 type { StackflowReactPlugin } from \"@stackflow/react\";\nimport { assignInlineVars } from \"@vanilla-extract/dynamic\";\nimport { createContext, useContext } from \"react\";\n\nimport * as css from \"./basicUIPlugin.css\";\nimport { RootStyles } from \"./components/RootStyles\";\nimport type { RecursivePartial } from \"./utils\";\nimport { compactMap } from \"./utils\";\n\ntype BasicUIPluginOptions = RecursivePartial<css.GlobalVars> & {\n theme: \"android\" | \"cupertino\";\n rootClassName?: string;\n appBar?: {\n backButton?:\n | {\n renderIcon?: () => React.ReactNode;\n ariaLabel?: string;\n }\n | {\n render?: () => React.ReactNode;\n };\n closeButton?:\n | {\n renderIcon?: () => React.ReactNode;\n ariaLabel?: string;\n onClick?: (e: React.MouseEvent<HTMLButtonElement>) => void;\n }\n | {\n render?: () => React.ReactNode;\n };\n };\n};\n\nconst GlobalOptionsContext = createContext<BasicUIPluginOptions>({\n theme: \"android\",\n});\n\nexport const GlobalOptionsProvider = GlobalOptionsContext.Provider;\n\nexport function useGlobalOptions() {\n return useContext(GlobalOptionsContext);\n}\n\nexport const basicUIPlugin: (\n options:\n | BasicUIPluginOptions\n | ((args: { initialContext?: any }) => BasicUIPluginOptions),\n) => StackflowReactPlugin = (options) => () => ({\n key: \"basic-ui\",\n wrapStack({ stack, initialContext }) {\n const _options =\n typeof options === \"function\" ? options({ initialContext }) : options;\n\n /**\n * Assign CSS Variables\n */\n const styles: { [key: string]: string | undefined } = assignInlineVars(\n compactMap({\n [css.globalVars.backgroundColor]: _options.backgroundColor,\n [css.globalVars.dimBackgroundColor]: _options.dimBackgroundColor,\n [css.globalVars.transitionDuration]: `${stack.transitionDuration}ms`,\n [css.globalVars.computedTransitionDuration]:\n stack.globalTransitionState === \"loading\"\n ? `${stack.transitionDuration}ms`\n : \"0ms\",\n [css.globalVars.appBar.borderColor]: _options.appBar?.borderColor,\n [css.globalVars.appBar.borderSize]: _options.appBar?.borderSize,\n [css.globalVars.appBar.height]: _options.appBar?.height,\n [css.globalVars.appBar.iconColor]: _options.appBar?.iconColor,\n [css.globalVars.appBar.textColor]: _options.appBar?.textColor,\n [css.globalVars.appBar.minSafeAreaInsetTop]:\n _options.appBar?.minSafeAreaInsetTop,\n [css.globalVars.bottomSheet.borderRadius]:\n _options.bottomSheet?.borderRadius,\n [css.globalVars.modal.borderRadius]: _options.modal?.borderRadius,\n }),\n );\n\n /**\n * Prevent pointer events when transitioning\n */\n styles[\"pointer-events\"] =\n stack.globalTransitionState === \"loading\" ? \"none\" : \"auto\";\n\n return (\n <GlobalOptionsProvider\n value={{\n ...options,\n theme: initialContext?.theme ?? _options.theme,\n }}\n >\n <RootStyles theme={_options.theme} styles={styles} />\n {stack.render()}\n </GlobalOptionsProvider>\n );\n },\n});\n", "import 'src/basicUIPlugin.css.ts.vanilla.css?source=#H4sIAAAAAAAAE+2UTUvEMBCG7/srAl4UTGmry0IWf4l4mDbTdthtpkymuij+d1nx47Jrt60gwkIOOeRJXsg7jxNmvfegYKNCuam2/GS7bV9TsAVEKm1PVhts8a7sOxSlwA/mZWGM/QEooNzUwn3wtuQtizMXVVWtByhP7QFS6gIu02vzsZJseTV0kQqESEocrO8F9htn0jiEldx2vaKfykPX2QLEFiwe5Vj+dDWY/9BFvxQq0jM6kybLbncq2SDVjTqTJ6ulYDsOmxu7pTA1AJUcvuqXZ3mW345H5+ZX3OnEEN/o7L+fNI7H6Llp+BFlf8CZhrzHMKYKESq0IAiWQkS1yp0z6XCXC1bl1sYGUT9HQcBTH53J3jv1unCnqxCCFyZ/FuF/F2E2XoM3yd9acNz7ZwmeJThCgm880j1GDwoAAA==';\nexport var globalVars = {backgroundColor:'var(--stackflow-plugin-basic-ui-background-color)',dimBackgroundColor:'var(--stackflow-plugin-basic-ui-dim-background-color)',transitionDuration:'var(--stackflow-plugin-basic-ui-transition-duration)',computedTransitionDuration:'var(--stackflow-plugin-basic-ui-computed-transition-duration)',appBar:{borderColor:'var(--stackflow-plugin-basic-ui-app-bar-border-color)',borderColorTransitionDuration:'var(--stackflow-plugin-basic-ui-app-bar-border-color-transition-duration)',borderSize:'var(--stackflow-plugin-basic-ui-app-bar-border-size)',height:'var(--stackflow-plugin-basic-ui-app-bar-height)',heightTransitionDuration:'var(--stackflow-plugin-basic-ui-app-bar-height-transition-duration)',minHeight:'var(--stackflow-plugin-basic-ui-app-bar-min-height)',iconColor:'var(--stackflow-plugin-basic-ui-app-bar-icon-color)',iconColorTransitionDuration:'var(--stackflow-plugin-basic-ui-app-bar-icon-color-transition-duration)',textColor:'var(--stackflow-plugin-basic-ui-app-bar-text-color)',textColorTransitionDuration:'var(--stackflow-plugin-basic-ui-app-bar-text-color-transition-duration)',backgroundColor:'var(--stackflow-plugin-basic-ui-app-bar-background-color)',backgroundColorTransitionDuration:'var(--stackflow-plugin-basic-ui-app-bar-background-color-transition-duration)',overflow:'var(--stackflow-plugin-basic-ui-app-bar-overflow)',minSafeAreaInsetTop:'var(--stackflow-plugin-basic-ui-app-bar-min-safe-area-inset-top)'},bottomSheet:{borderRadius:'var(--stackflow-plugin-basic-ui-bottom-sheet-border-radius)'},modal:{borderRadius:'var(--stackflow-plugin-basic-ui-bottom-sheet-border-radius)'}};", "import { useLayoutEffect } from \"react\";\n\nexport type RootStylesProps = {\n theme: \"android\" | \"cupertino\";\n styles: {\n [cssVarName: string]: string | undefined;\n };\n};\nexport function RootStyles({ theme, styles }: RootStylesProps) {\n useLayoutEffect(() => {\n const root = document.querySelector(\":root\") as HTMLHtmlElement;\n\n if (!root) {\n return;\n }\n\n for (const [key, value] of Object.entries(styles)) {\n if (value) {\n root.style.setProperty(key, value);\n }\n }\n\n root.dataset.stackflowPluginBasicUiTheme = theme;\n }, [styles, theme]);\n\n return null;\n}\n", "export function compactMap<T extends {}>(\n obj: T,\n): {\n [key in keyof T]: NonNullable<T[key]>;\n} {\n return Object.entries(obj).reduce<any>((acc, [key, value]) => {\n if (value !== null && value !== undefined) {\n acc[key] = value;\n }\n\n return acc;\n }, {});\n}\n", "import { useActions } from \"@stackflow/react\";\nimport { assignInlineVars } from \"@vanilla-extract/dynamic\";\nimport { createContext, useContext, useMemo, useRef } from \"react\";\n\nimport {\n useLazy,\n useMounted,\n useNullableActivity,\n useStyleEffectHide,\n useStyleEffectOffset,\n useStyleEffectSwipeBack,\n useZIndexBase,\n} from \"@stackflow/react-ui-core\";\nimport { useGlobalOptions } from \"../basicUIPlugin\";\nimport type { GlobalVars } from \"../basicUIPlugin.css\";\nimport { globalVars } from \"../basicUIPlugin.css\";\nimport type { PropOf } from \"../utils\";\nimport { compactMap } from \"../utils\";\nimport AppBar from \"./AppBar\";\nimport * as css from \"./AppScreen.css\";\n\nexport const OFFSET_PX_ANDROID = 32;\nexport const OFFSET_PX_CUPERTINO = 80;\n\nexport type AppScreenContext = {\n scroll: (args: { top: number }) => void;\n};\nconst Context = createContext<AppScreenContext>(null as any);\n\nexport function useAppScreen() {\n return useContext(Context);\n}\n\nexport type AppScreenProps = Partial<\n Pick<GlobalVars, \"backgroundColor\" | \"dimBackgroundColor\">\n> & {\n appBar?: Omit<\n PropOf<typeof AppBar>,\n \"theme\" | \"modalPresentationStyle\" | \"ref\" | \"key\"\n >;\n preventSwipeBack?: boolean;\n CUPERTINO_ONLY_modalPresentationStyle?: \"fullScreen\";\n ANDROID_ONLY_activityEnterStyle?: \"slideInLeft\";\n children: React.ReactNode;\n};\nconst AppScreen: React.FC<AppScreenProps> = ({\n backgroundColor,\n dimBackgroundColor,\n appBar,\n preventSwipeBack,\n CUPERTINO_ONLY_modalPresentationStyle,\n ANDROID_ONLY_activityEnterStyle,\n children,\n}) => {\n const globalOptions = useGlobalOptions();\n const activity = useNullableActivity();\n const mounted = useMounted();\n\n const { pop } = useActions();\n\n const appScreenRef = useRef<HTMLDivElement>(null);\n const dimRef = useRef<HTMLDivElement>(null);\n const paperRef = useRef<HTMLDivElement>(null);\n const edgeRef = useRef<HTMLDivElement>(null);\n const appBarRef = useRef<HTMLDivElement>(null);\n\n const modalPresentationStyle =\n globalOptions.theme === \"cupertino\"\n ? CUPERTINO_ONLY_modalPresentationStyle\n : undefined;\n const activityEnterStyle =\n globalOptions.theme === \"android\"\n ? ANDROID_ONLY_activityEnterStyle\n : undefined;\n\n const isSwipeBackPrevented =\n preventSwipeBack || modalPresentationStyle === \"fullScreen\";\n\n const hasAppBar = !!appBar;\n\n const zIndexBase = useZIndexBase();\n\n let zIndexDim: number;\n let zIndexPaper: number;\n let zIndexEdge: number;\n let zIndexAppBar: number;\n\n switch (globalOptions.theme) {\n case \"cupertino\": {\n zIndexDim =\n zIndexBase + (modalPresentationStyle === \"fullScreen\" ? 2 : 0);\n zIndexPaper =\n zIndexBase +\n (hasAppBar && modalPresentationStyle !== \"fullScreen\" ? 1 : 3);\n zIndexEdge = zIndexBase + 4;\n zIndexAppBar = zIndexBase + 7;\n break;\n }\n default: {\n zIndexDim = zIndexBase;\n zIndexPaper = zIndexBase + (activityEnterStyle === \"slideInLeft\" ? 1 : 3);\n zIndexEdge = zIndexBase + 4;\n zIndexAppBar =\n zIndexBase + (activityEnterStyle === \"slideInLeft\" ? 7 : 4);\n break;\n }\n }\n\n const transitionState = activity?.transitionState ?? \"enter-done\";\n const lazyTransitionState = useLazy(transitionState);\n\n useStyleEffectHide({\n refs: [appScreenRef],\n });\n useStyleEffectOffset({\n refs:\n globalOptions.theme === \"cupertino\" ||\n activityEnterStyle === \"slideInLeft\"\n ? [paperRef]\n : [paperRef, appBarRef],\n offsetStyles:\n globalOptions.theme === \"cupertino\"\n ? {\n transform: `translate3d(-${OFFSET_PX_CUPERTINO / 16}rem, 0, 0)`,\n opacity: \"1\",\n }\n : activityEnterStyle === \"slideInLeft\"\n ? {\n transform: \"translate3d(-50%, 0, 0)\",\n opacity: \"0\",\n }\n : {\n transform: `translate3d(0, -${OFFSET_PX_ANDROID / 16}rem, 0)`,\n opacity: \"1\",\n },\n transitionDuration: globalVars.computedTransitionDuration,\n hasEffect: modalPresentationStyle !== \"fullScreen\",\n });\n useStyleEffectSwipeBack({\n dimRef,\n edgeRef,\n paperRef,\n offset: OFFSET_PX_CUPERTINO,\n transitionDuration: globalVars.transitionDuration,\n preventSwipeBack:\n isSwipeBackPrevented || globalOptions.theme !== \"cupertino\",\n getActivityTransitionState() {\n const $paper = paperRef.current;\n const $appScreen = $paper?.parentElement;\n\n if (!$appScreen) {\n return null;\n }\n\n if ($appScreen.classList.contains(css.enterActive)) {\n return \"enter-active\";\n }\n if ($appScreen.classList.contains(css.enterDone)) {\n return \"enter-done\";\n }\n if ($appScreen.classList.contains(css.exitActive)) {\n return \"exit-active\";\n }\n if ($appScreen.classList.contains(css.exitDone)) {\n return \"exit-done\";\n }\n\n return null;\n },\n onSwiped() {\n pop();\n },\n });\n\n const onAppBarTopClick: React.MouseEventHandler = (e) => {\n appBar?.onTopClick?.(e);\n\n if (!e.defaultPrevented) {\n paperRef.current?.scroll({\n top: 0,\n behavior: \"smooth\",\n });\n }\n };\n\n return (\n <Context.Provider\n value={useMemo(\n () => ({\n scroll({ top }) {\n paperRef?.current?.scroll({\n top,\n behavior: \"smooth\",\n });\n },\n }),\n [paperRef],\n )}\n >\n <div\n ref={appScreenRef}\n className={css.appScreen({\n transitionState:\n transitionState === \"enter-done\" || transitionState === \"exit-done\"\n ? transitionState\n : lazyTransitionState,\n })}\n style={assignInlineVars(\n compactMap({\n [globalVars.backgroundColor]: backgroundColor,\n [globalVars.dimBackgroundColor]: dimBackgroundColor,\n [globalVars.appBar.height]: appBar?.height,\n [globalVars.appBar.heightTransitionDuration]:\n appBar?.heightTransitionDuration,\n [css.vars.zIndexes.dim]: `${zIndexDim}`,\n [css.vars.zIndexes.paper]: `${zIndexPaper}`,\n [css.vars.zIndexes.edge]: `${zIndexEdge}`,\n [css.vars.zIndexes.appBar]: `${zIndexAppBar}`,\n [css.vars.transitionDuration]:\n transitionState === \"enter-active\" ||\n transitionState === \"exit-active\"\n ? globalVars.computedTransitionDuration\n : \"0ms\",\n }),\n )}\n data-stackflow-component-name=\"AppScreen\"\n data-stackflow-activity-id={mounted ? activity?.id : undefined}\n data-stackflow-activity-is-active={\n mounted ? activity?.isActive : undefined\n }\n >\n {activityEnterStyle !== \"slideInLeft\" && (\n <div className={css.dim} ref={dimRef} />\n )}\n {appBar && (\n <AppBar\n {...appBar}\n ref={appBarRef}\n modalPresentationStyle={modalPresentationStyle}\n activityEnterStyle={activityEnterStyle}\n onTopClick={onAppBarTopClick}\n />\n )}\n <div\n key={activity?.id}\n className={css.paper({\n hasAppBar,\n modalPresentationStyle,\n activityEnterStyle,\n })}\n ref={paperRef}\n >\n {children}\n </div>\n {!activity?.isRoot &&\n globalOptions.theme === \"cupertino\" &&\n !isSwipeBackPrevented && (\n <div className={css.edge({ hasAppBar })} ref={edgeRef} />\n )}\n </div>\n </Context.Provider>\n );\n};\n\nexport default AppScreen;\n", "import { useActions } from \"@stackflow/react\";\nimport { assignInlineVars } from \"@vanilla-extract/dynamic\";\nimport { forwardRef, useRef } from \"react\";\n\nimport {\n useAppBarTitleMaxWidth,\n useNullableActivity,\n} from \"@stackflow/react-ui-core\";\nimport { IconBack, IconClose } from \"../assets\";\nimport { useGlobalOptions } from \"../basicUIPlugin\";\nimport type { GlobalVars } from \"../basicUIPlugin.css\";\nimport { globalVars } from \"../basicUIPlugin.css\";\n\nimport { compactMap } from \"../utils\";\nimport * as css from \"./AppBar.css\";\nimport * as appScreenCss from \"./AppScreen.css\";\n\ntype AppBarProps = Partial<\n Pick<\n GlobalVars[\"appBar\"],\n | \"borderColor\"\n | \"borderColorTransitionDuration\"\n | \"borderSize\"\n | \"height\"\n | \"heightTransitionDuration\"\n | \"overflow\"\n | \"iconColor\"\n | \"iconColorTransitionDuration\"\n | \"textColor\"\n | \"textColorTransitionDuration\"\n | \"backgroundColor\"\n | \"backgroundColorTransitionDuration\"\n >\n> & {\n title?: React.ReactNode;\n renderLeft?: () => React.ReactNode;\n renderRight?: () => React.ReactNode;\n backButton?:\n | {\n renderIcon?: () => React.ReactNode;\n ariaLabel?: string;\n onClick?: (e: React.MouseEvent<HTMLButtonElement>) => void;\n }\n | {\n render?: () => React.ReactNode;\n };\n closeButton?:\n | {\n renderIcon?: () => React.ReactNode;\n ariaLabel?: string;\n onClick?: (e: React.MouseEvent<HTMLButtonElement>) => void;\n }\n | {\n render?: () => React.ReactNode;\n };\n closeButtonLocation?: \"left\" | \"right\";\n border?: boolean;\n modalPresentationStyle?: \"fullScreen\";\n activityEnterStyle?: \"slideInLeft\";\n onTopClick?: (e: React.MouseEvent) => void;\n};\nconst AppBar = forwardRef<HTMLDivElement, AppBarProps>(\n (\n {\n title,\n renderLeft,\n renderRight,\n backButton,\n closeButton,\n closeButtonLocation = \"left\",\n border = true,\n modalPresentationStyle,\n activityEnterStyle,\n iconColor,\n iconColorTransitionDuration,\n textColor,\n textColorTransitionDuration,\n borderColor,\n borderColorTransitionDuration,\n borderSize,\n height,\n heightTransitionDuration,\n overflow,\n backgroundColor,\n backgroundColorTransitionDuration,\n onTopClick,\n },\n ref,\n ) => {\n const actions = useActions();\n const activity = useNullableActivity();\n\n const globalOptions = useGlobalOptions();\n const globalCloseButton = globalOptions.appBar?.closeButton;\n const globalBackButton = globalOptions.appBar?.backButton;\n\n const centerRef = useRef<any>(null);\n\n const { maxWidth } = useAppBarTitleMaxWidth({\n outerRef: ref,\n innerRef: centerRef,\n enable: globalOptions.theme === \"cupertino\",\n });\n\n const onBackClick = (e: React.MouseEvent<HTMLButtonElement>) => {\n if (backButton && \"onClick\" in backButton && backButton.onClick) {\n backButton.onClick(e);\n }\n\n if (!e.defaultPrevented) {\n actions.pop();\n }\n };\n\n const renderBackButton = () => {\n if (!activity) {\n return null;\n }\n if (activity.isRoot) {\n return null;\n }\n\n if (!backButton && !globalBackButton) {\n return (\n <button\n type=\"button\"\n aria-label=\"Go Back\"\n className={css.backButton}\n onClick={onBackClick}\n >\n <IconBack />\n </button>\n );\n }\n\n if (backButton && \"render\" in backButton && backButton.render) {\n return backButton.render?.();\n }\n if (\n globalBackButton &&\n \"render\" in globalBackButton &&\n globalBackButton.render\n ) {\n return globalBackButton.render?.();\n }\n\n return (\n <button\n type=\"button\"\n className={css.backButton}\n aria-label={\n backButton && \"ariaLabel\" in backButton\n ? backButton.ariaLabel\n : globalBackButton && \"ariaLabel\" in globalBackButton\n ? globalBackButton.ariaLabel\n : undefined\n }\n onClick={onBackClick}\n >\n {(() => {\n if (\n backButton &&\n \"renderIcon\" in backButton &&\n backButton.renderIcon\n ) {\n return backButton.renderIcon();\n }\n if (\n globalBackButton &&\n \"renderIcon\" in globalBackButton &&\n globalBackButton.renderIcon\n ) {\n return globalBackButton.renderIcon();\n }\n\n if (modalPresentationStyle === \"fullScreen\") {\n return <IconClose />;\n }\n\n return <IconBack />;\n })()}\n </button>\n );\n };\n\n const onCloseClick = (e: React.MouseEvent<HTMLButtonElement>) => {\n if (closeButton && \"onClick\" in closeButton && closeButton.onClick) {\n closeButton.onClick(e);\n }\n\n if (\n !e.defaultPrevented &&\n globalCloseButton &&\n \"onClick\" in globalCloseButton\n ) {\n globalCloseButton.onClick?.(e);\n }\n };\n\n const renderCloseButton = () => {\n const isRoot = !activity || activity.isRoot;\n\n const showCloseButton = (closeButton: AppBarProps[\"closeButton\"]) =>\n (closeButton && \"render\" in closeButton && closeButton.render) ||\n (closeButton &&\n \"renderIcon\" in closeButton &&\n closeButton.renderIcon) ||\n (closeButton && \"onClick\" in closeButton && closeButton.onClick);\n\n if (\n !(\n showCloseButton(closeButton) ||\n showCloseButton(globalOptions.appBar?.closeButton)\n ) ||\n !isRoot\n ) {\n return null;\n }\n if (closeButton && \"render\" in closeButton && closeButton.render) {\n return closeButton.render();\n }\n if (\n globalCloseButton &&\n \"render\" in globalCloseButton &&\n globalCloseButton.render\n ) {\n return globalCloseButton.render();\n }\n\n return (\n <button\n type=\"button\"\n className={css.closeButton}\n aria-label={\n closeButton && \"ariaLabel\" in closeButton\n ? closeButton.ariaLabel\n : globalCloseButton && \"ariaLabel\" in globalCloseButton\n ? globalCloseButton.ariaLabel\n : undefined\n }\n onClick={onCloseClick}\n >\n {(() => {\n if (\n closeButton &&\n \"renderIcon\" in closeButton &&\n closeButton.renderIcon\n ) {\n return closeButton.renderIcon();\n }\n if (\n globalCloseButton &&\n \"renderIcon\" in globalCloseButton &&\n globalCloseButton.renderIcon\n ) {\n return globalCloseButton.renderIcon();\n }\n\n return <IconClose />;\n })()}\n </button>\n );\n };\n\n const hasLeft = !!(\n (closeButtonLocation === \"left\" && closeButton) ||\n backButton ||\n renderLeft\n );\n\n return (\n <div\n ref={ref}\n className={css.appBar({\n border,\n modalPresentationStyle,\n activityEnterStyle,\n })}\n style={assignInlineVars(\n compactMap({\n [globalVars.appBar.iconColor]: iconColor,\n [globalVars.appBar.iconColorTransitionDuration]:\n iconColorTransitionDuration,\n [globalVars.appBar.textColor]: textColor,\n [globalVars.appBar.textColorTransitionDuration]:\n textColorTransitionDuration,\n [globalVars.appBar.borderColor]: borderColor,\n [globalVars.appBar.borderColorTransitionDuration]:\n borderColorTransitionDuration,\n [globalVars.appBar.borderSize]: borderSize,\n [globalVars.appBar.height]: height,\n [globalVars.appBar.heightTransitionDuration]:\n heightTransitionDuration,\n [globalVars.appBar.overflow]: overflow,\n [globalVars.appBar.backgroundColor]:\n backgroundColor || globalVars.backgroundColor,\n [globalVars.appBar.backgroundColorTransitionDuration]:\n backgroundColorTransitionDuration,\n [appScreenCss.vars.appBar.center.mainWidth]: `${maxWidth}px`,\n }),\n )}\n >\n <div className={css.safeArea} />\n <div className={css.container}>\n <div className={css.left}>\n {closeButtonLocation === \"left\" && renderCloseButton()}\n {renderBackButton()}\n {renderLeft?.()}\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 onClick={onTopClick}\n />\n </div>\n </div>\n <div className={css.right}>\n {renderRight?.()}\n {closeButtonLocation === \"right\" && renderCloseButton()}\n </div>\n </div>\n </div>\n );\n },\n);\n\nAppBar.displayName = \"AppBar\";\n\nexport default AppBar;\n", "import 'src/basicUIPlugin.css.ts.vanilla.css?source=#H4sIAAAAAAAAE+2UTUvEMBCG7/srAl4UTGmry0IWf4l4mDbTdthtpkymuij+d1nx47Jrt60gwkIOOeRJXsg7jxNmvfegYKNCuam2/GS7bV9TsAVEKm1PVhts8a7sOxSlwA/mZWGM/QEooNzUwn3wtuQtizMXVVWtByhP7QFS6gIu02vzsZJseTV0kQqESEocrO8F9htn0jiEldx2vaKfykPX2QLEFiwe5Vj+dDWY/9BFvxQq0jM6kybLbncq2SDVjTqTJ6ulYDsOmxu7pTA1AJUcvuqXZ3mW345H5+ZX3OnEEN/o7L+fNI7H6Llp+BFlf8CZhrzHMKYKESq0IAiWQkS1yp0z6XCXC1bl1sYGUT9HQcBTH53J3jv1unCnqxCCFyZ/FuF/F2E2XoM3yd9acNz7ZwmeJThCgm880j1GDwoAAA==';\nimport 'src/styles/f.css.ts.vanilla.css?source=LmRodGh4cTAgewogIHdpZHRoOiAxMDAlOwp9Ci5kaHRoeHExIHsKICBoZWlnaHQ6IDEwMCU7Cn0KLmRodGh4cTIgewogIHRvcDogMDsKfQouZGh0aHhxMyB7CiAgbGVmdDogMDsKfQouZGh0aHhxNCB7CiAgcG9zaXRpb246IGFic29sdXRlOwp9Ci5kaHRoeHE1IHsKICBwb3NpdGlvbjogcmVsYXRpdmU7Cn0KLmRodGh4cTcgewogIGRpc3BsYXk6IGZsZXg7Cn0KLmRodGh4cTggewogIGZsZXg6IDE7Cn0KLmRodGh4cTkgewogIGFsaWduLWl0ZW1zOiBjZW50ZXI7Cn0KLmRodGh4cWEgewogIGFsaWduLWl0ZW1zOiBmbGV4LWVuZDsKfQouZGh0aHhxYiB7CiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7Cn0KLmRodGh4cWMgewogIG92ZXJmbG93OiBoaWRkZW47Cn0KLmRodGh4cWQgewogIHdoaXRlLXNwYWNlOiBub3dyYXA7Cn0KLmRodGh4cWUgewogIHRleHQtYWxpZ246IGNlbnRlcjsKfQouZGh0aHhxZiB7CiAgY3Vyc29yOiBwb2ludGVyOwogIC13ZWJraXQtdGFwLWhpZ2hsaWdodC1jb2xvcjogdHJhbnNwYXJlbnQ7Cn0KLmRodGh4cWcgewogIGJveC1zaXppbmc6IGJvcmRlci1ib3g7Cn0KLmRodGh4cWggewogIGJveC1zaXppbmc6IGNvbnRlbnQtYm94Owp9Ci5kaHRoeHFpIHsKICBhcHBlYXJhbmNlOiBub25lOwogIGJvcmRlcjogMDsKICBwYWRkaW5nOiAwOwogIGJhY2tncm91bmQ6IG5vbmU7Cn0=';\nimport 'src/components/AppScreen.css.ts.vanilla.css?source=#H4sIAAAAAAAAE9WVzY6bMBDH73mKuVQiKo5gs9G2jir1PaqqGmyHuICNjEk2rfbdKwwkhAQSNnspJ6RhfvOfTxa/Qp5unpfPL/B3BhAhS2KjS8UJ06k2FHZoPEIKiyzZpHpP8rSMpSIRFpKRUhIuM9L3mq9nb7NFS/7yTvI49aujWoOqkFZqRev3jTZZQ26/DOY+6ByZtIcLyxmSn5AVpiGmaMWSe2EQfPIh8KHn9Ns5NXwKwXoG8IdIxcUr7YULnSc1WtsfHC2O5G63IhPfUHGjJf8JvWhbIeOtpRAGRmTrs+JSSKUSaEhskEuhrPeuBvpg4gi9oM64Stppn4F7jnKwo8zvG6OOsbadVSq8BmRjQD4ODM76ktTGnTAu6wOFghmdplW5yF5EibTkaK1NUsUUrC7ZdqSJT+ftTyhtaTUkQuMic1nkKR4oKK3ExL6zMhfGSqU7nU8mDGdTOIAHY3bam/gfBe2MRdIyR1ILOnk9tDrJlUUdjulW65F6Xgp4uJqXyKFadpfsrsoeManzP4376vadxjwnERpSX6X5+gPOsg8ZmiqI1fnE+OQUm/DSYPXiNJ2I/ZVeOXt7VBmmzC0UkIvvpk7htfnPbkx7s8uPD7waC7S6/jfTzmcvud1SCBdPq+YHM3AMl+feeR3xVOFJQzPcgLsxTs73osxzbWwBXrfnTKvCorJegRtB0AgkUhXCVtb53CnvbUFvD5yuiYLgM2T4erdXJhW5Js+/od7V7204d6F2/2fag8LbjP8Bysq4QcAKAAA=';\nimport 'src/components/AppBar.css.ts.vanilla.css?source=#H4sIAAAAAAAAE+1YS4/bIBC+51dwqZRUxsJ57MNRLz301lOPVbXCGCc0GCwgr632v1fG8TOxFSdWD9vNyQHzDfPNx8xg98U7bmZ4vkDgzwiAmAm4pmy1Nj7YYTWGUBtMNhGXe5jw7YoJGGDNCNwyiJMEBljBcs1kOXobuTmiZxHljqp0+fV4+Yo62tSiBZhsVkpuRQiJ5FJdj9pcOVmOAHiFTIT0kKO8eCGP5rP53E4ahYVmhknhn9m92SwsUWG4VTh9mDggkAeo1ziU++uRpQqp6kBN6fOVlOZniA3uQDRrGtMvZJtQZZiQv0CD9ETmNOBAS7419C7ojGPStGJdiKSK/eyRY0Nn4dhD6JMDkAPQuwiKU/oJkO7JIxahkiw8C5BMMGHm6AO0bCcSOcBDisbvkcn68UUTJ6fkbCZlfAROvxupz7BwJQrOMJBBBTJHrMXX647v6ZRUsuYsy5oF/T5gQlMDUHIABHMyhh743Dcmmr3SyQSgm2I5RFqadyUMq3O0W3/ovBBlL1leStYVrc+d4WArep+XqN2xLTQ+XP35kNNVcrqrUC1uS2R3pVPSNP+/thgFDQ+WhrzBj/Fh3KfJ1ziiECuKoS0i0Mhk4gAihTZYmPGlaUvosPao2LWZqnj6WPP0WqvFNaaugmy4J0prT17s8SnrrnEYMrHyAQLIXSga19/xaZyYo30zZDrh+OgDIQWtvfVs53veiBiRonIXqjqcp4EZQrF2QD/pl7gtFACwZ6FZ+2DqTjOHy0hN3cczDp59TAzb0Uav607bto2G33NlO8Tu4+RCPVE+WO96xsHQg2mJw3DC60tIuakh7pbn9aBGYpqAU9d/b7Vh0RESKQwVxgcRp4cUXJlleVIgp5HxgXdSTiSFsS2pDzzXe3rMFcWZoMW3DM9dFO/uT2OB5OEy747Zqz2Dp+QayMMAbSppvT1XznLqYjqAOVsJyAyNtQ8IFYaqi5SUUzZEdll11LoY4Zjxow/ScHIK9VGb9OL3lTOx+Y7JD/v/mxTmjJQHhJqk5nxa1hdZpC5V0jFcoE+1hH9L2pXJvytMAxrrrEp3nZSwWiVO2kfu7DxNZvmxFqZS/kWi7Y5cjA/wdCjzBY2q05H57j4wtF7mAi7JpuZilLVxqfDL74qUc5Zophu6ZWJNFTtXeDFewV21VeKUEZXuPqMVb42sL+wqz3eFvWVL6cNy9PYXAN1I+bcVAAA=';\nimport { createRuntimeFn as _7a468 } from '@vanilla-extract/recipes/createRuntimeFn';\nexport var appBar = _7a468({defaultClassName:'_1yk3a452 dhthxq4 dhthxq0 dhthxqh _1dlf4348 _1yk3a451',variantClassNames:{border:{true:'_1yk3a453'},modalPresentationStyle:{fullScreen:'_1yk3a454'},activityEnterStyle:{slideInLeft:'_1yk3a455'}},defaultVariants:{},compoundVariants:[]});\nexport var backButton = '_1yk3a459 dhthxq9 dhthxq7 dhthxqb dhthxqf dhthxqi';\nexport var center = 'dhthxq9 dhthxq7 dhthxq8 _1yk3a450';\nexport var centerMain = _7a468({defaultClassName:'_1yk3a45c',variantClassNames:{hasLeft:{true:'_1yk3a45d'}},defaultVariants:{},compoundVariants:[]});\nexport var centerMainEdge = '_1yk3a45e dhthxqi dhthxq4 dhthxq2 dhthxqf';\nexport var centerText = '_1yk3a45f dhthxqc dhthxqd dhthxq0';\nexport var closeButton = '_1yk3a459 dhthxq9 dhthxq7 dhthxqb dhthxqf dhthxqi';\nexport var container = '_1yk3a457 dhthxqa dhthxq7 _1yk3a451';\nexport var left = '_1yk3a458 dhthxq9 dhthxq7 dhthxq1 _1yk3a450';\nexport var right = '_1yk3a45g dhthxq9 dhthxq7 dhthxq1 dhthxq5 _1yk3a450';\nexport var safeArea = '_1yk3a456';", "import 'src/basicUIPlugin.css.ts.vanilla.css?source=#H4sIAAAAAAAAE+2UTUvEMBCG7/srAl4UTGmry0IWf4l4mDbTdthtpkymuij+d1nx47Jrt60gwkIOOeRJXsg7jxNmvfegYKNCuam2/GS7bV9TsAVEKm1PVhts8a7sOxSlwA/mZWGM/QEooNzUwn3wtuQtizMXVVWtByhP7QFS6gIu02vzsZJseTV0kQqESEocrO8F9htn0jiEldx2vaKfykPX2QLEFiwe5Vj+dDWY/9BFvxQq0jM6kybLbncq2SDVjTqTJ6ulYDsOmxu7pTA1AJUcvuqXZ3mW345H5+ZX3OnEEN/o7L+fNI7H6Llp+BFlf8CZhrzHMKYKESq0IAiWQkS1yp0z6XCXC1bl1sYGUT9HQcBTH53J3jv1unCnqxCCFyZ/FuF/F2E2XoM3yd9acNz7ZwmeJThCgm880j1GDwoAAA==';\nimport 'src/styles/f.css.ts.vanilla.css?source=LmRodGh4cTAgewogIHdpZHRoOiAxMDAlOwp9Ci5kaHRoeHExIHsKICBoZWlnaHQ6IDEwMCU7Cn0KLmRodGh4cTIgewogIHRvcDogMDsKfQouZGh0aHhxMyB7CiAgbGVmdDogMDsKfQouZGh0aHhxNCB7CiAgcG9zaXRpb246IGFic29sdXRlOwp9Ci5kaHRoeHE1IHsKICBwb3NpdGlvbjogcmVsYXRpdmU7Cn0KLmRodGh4cTcgewogIGRpc3BsYXk6IGZsZXg7Cn0KLmRodGh4cTggewogIGZsZXg6IDE7Cn0KLmRodGh4cTkgewogIGFsaWduLWl0ZW1zOiBjZW50ZXI7Cn0KLmRodGh4cWEgewogIGFsaWduLWl0ZW1zOiBmbGV4LWVuZDsKfQouZGh0aHhxYiB7CiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7Cn0KLmRodGh4cWMgewogIG92ZXJmbG93OiBoaWRkZW47Cn0KLmRodGh4cWQgewogIHdoaXRlLXNwYWNlOiBub3dyYXA7Cn0KLmRodGh4cWUgewogIHRleHQtYWxpZ246IGNlbnRlcjsKfQouZGh0aHhxZiB7CiAgY3Vyc29yOiBwb2ludGVyOwogIC13ZWJraXQtdGFwLWhpZ2hsaWdodC1jb2xvcjogdHJhbnNwYXJlbnQ7Cn0KLmRodGh4cWcgewogIGJveC1zaXppbmc6IGJvcmRlci1ib3g7Cn0KLmRodGh4cWggewogIGJveC1zaXppbmc6IGNvbnRlbnQtYm94Owp9Ci5kaHRoeHFpIHsKICBhcHBlYXJhbmNlOiBub25lOwogIGJvcmRlcjogMDsKICBwYWRkaW5nOiAwOwogIGJhY2tncm91bmQ6IG5vbmU7Cn0=';\nimport 'src/components/AppScreen.css.ts.vanilla.css?source=#H4sIAAAAAAAAE9WVzY6bMBDH73mKuVQiKo5gs9G2jir1PaqqGmyHuICNjEk2rfbdKwwkhAQSNnspJ6RhfvOfTxa/Qp5unpfPL/B3BhAhS2KjS8UJ06k2FHZoPEIKiyzZpHpP8rSMpSIRFpKRUhIuM9L3mq9nb7NFS/7yTvI49aujWoOqkFZqRev3jTZZQ26/DOY+6ByZtIcLyxmSn5AVpiGmaMWSe2EQfPIh8KHn9Ns5NXwKwXoG8IdIxcUr7YULnSc1WtsfHC2O5G63IhPfUHGjJf8JvWhbIeOtpRAGRmTrs+JSSKUSaEhskEuhrPeuBvpg4gi9oM64Stppn4F7jnKwo8zvG6OOsbadVSq8BmRjQD4ODM76ktTGnTAu6wOFghmdplW5yF5EibTkaK1NUsUUrC7ZdqSJT+ftTyhtaTUkQuMic1nkKR4oKK3ExL6zMhfGSqU7nU8mDGdTOIAHY3bam/gfBe2MRdIyR1ILOnk9tDrJlUUdjulW65F6Xgp4uJqXyKFadpfsrsoeManzP4376vadxjwnERpSX6X5+gPOsg8ZmiqI1fnE+OQUm/DSYPXiNJ2I/ZVeOXt7VBmmzC0UkIvvpk7htfnPbkx7s8uPD7waC7S6/jfTzmcvud1SCBdPq+YHM3AMl+feeR3xVOFJQzPcgLsxTs73osxzbWwBXrfnTKvCorJegRtB0AgkUhXCVtb53CnvbUFvD5yuiYLgM2T4erdXJhW5Js+/od7V7204d6F2/2fag8LbjP8Bysq4QcAKAAA=';\nimport { createRuntimeFn as _7a468 } from '@vanilla-extract/recipes/createRuntimeFn';\nexport var allTransitions = '_1dlf4349';\nexport var appScreen = _7a468({defaultClassName:'dhthxq4 dhthxq0 dhthxq1 dhthxq2 dhthxq3 dhthxqc',variantClassNames:{transitionState:{'enter-active':'_1dlf434a','enter-done':'_1dlf434b','exit-active':'_1dlf434c','exit-done':'_1dlf434d'}},defaultVariants:{},compoundVariants:[]});\nexport var background = '_1dlf4348';\nexport var dim = '_1dlf434j dhthxq4 dhthxq0 dhthxq1 dhthxq2 dhthxq3 _1dlf4347 _1dlf4349';\nexport var edge = _7a468({defaultClassName:'_1dlf434o dhthxq4 dhthxq2 dhthxq3 dhthxq1',variantClassNames:{hasAppBar:{true:'_1dlf434p'}},defaultVariants:{},compoundVariants:[]});\nexport var enterActive = '_1dlf434a';\nexport var enterDone = '_1dlf434b';\nexport var exitActive = '_1dlf434c';\nexport var exitDone = '_1dlf434d';\nexport var paper = _7a468({defaultClassName:'_1dlf434k dhthxq4 dhthxq0 dhthxq1 dhthxq2 dhthxq3 _1dlf4348 _1dlf4349',variantClassNames:{hasAppBar:{true:'_1dlf434l dhthxqg'},modalPresentationStyle:{fullScreen:'_1dlf434m'},activityEnterStyle:{slideInLeft:'_1dlf434n'}},defaultVariants:{},compoundVariants:[]});\nexport var vars = {transitionDuration:'var(--_1dlf4340)',zIndexes:{dim:'var(--_1dlf4341)',paper:'var(--_1dlf4342)',edge:'var(--_1dlf4343)',appBar:'var(--_1dlf4344)'},appBar:{topMargin:'var(--_1dlf4345)',center:{mainWidth:'var(--_1dlf4346)'}}};", "import { useActions } from \"@stackflow/react\";\nimport { assignInlineVars } from \"@vanilla-extract/dynamic\";\nimport { useRef } from \"react\";\n\nimport {\n useLazy,\n useNullableActivity,\n useStyleEffect,\n useZIndexBase,\n} from \"@stackflow/react-ui-core\";\nimport type { GlobalVars } from \"../basicUIPlugin.css\";\nimport { globalVars } from \"../basicUIPlugin.css\";\nimport { compactMap } from \"../utils\";\nimport * as css from \"./BottomSheet.css\";\n\nexport type BottomSheetProps = Partial<\n Pick<GlobalVars, \"backgroundColor\" | \"dimBackgroundColor\">\n> &\n Partial<GlobalVars[\"bottomSheet\"]> & {\n paperRef?: React.Ref<HTMLDivElement>;\n onOutsideClick?: React.MouseEventHandler;\n children: React.ReactNode;\n };\nconst BottomSheet: React.FC<BottomSheetProps> = ({\n borderRadius = \"1rem\",\n backgroundColor,\n dimBackgroundColor,\n paperRef,\n onOutsideClick,\n children,\n}) => {\n const activity = useNullableActivity();\n const { pop } = useActions();\n\n const containerRef = useRef<HTMLDivElement>(null);\n const dimRef = useRef<HTMLDivElement>(null);\n\n useStyleEffect({\n styleName: \"hide\",\n refs: [containerRef],\n });\n useStyleEffect({\n styleName: \"offset\",\n refs: [dimRef],\n });\n useStyleEffect({\n styleName: \"swipe-back\",\n refs: [dimRef],\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 = useZIndexBase() + 3;\n const zIndexPaper = useZIndexBase() + 4;\n const transitionState = activity?.transitionState ?? \"enter-done\";\n\n return (\n <div\n className={css.container({\n transitionState: useLazy(transitionState),\n })}\n ref={containerRef}\n style={assignInlineVars(\n compactMap({\n [globalVars.bottomSheet.borderRadius]: borderRadius,\n [globalVars.backgroundColor]: backgroundColor,\n [globalVars.dimBackgroundColor]: dimBackgroundColor,\n [css.vars.zIndexes.dim]: `${zIndexBase}`,\n [css.vars.zIndexes.paper]: `${zIndexPaper}`,\n [css.vars.transitionDuration]:\n transitionState === \"enter-active\" ||\n transitionState === \"exit-active\"\n ? globalVars.computedTransitionDuration\n : \"0ms\",\n }),\n )}\n data-stackflow-component-name=\"BottomSheet\"\n data-stackflow-activity-id={activity?.id}\n data-stackflow-activity-is-active={activity?.isActive}\n >\n <div className={css.dim} ref={dimRef} onClick={onDimClick}>\n <div className={css.paper} ref={paperRef} onClick={onPaperClick}>\n {children}\n </div>\n </div>\n </div>\n );\n};\n\nBottomSheet.displayName = \"BottomSheet\";\n\nexport default BottomSheet;\n", "import 'src/basicUIPlugin.css.ts.vanilla.css?source=#H4sIAAAAAAAAE+2UTUvEMBCG7/srAl4UTGmry0IWf4l4mDbTdthtpkymuij+d1nx47Jrt60gwkIOOeRJXsg7jxNmvfegYKNCuam2/GS7bV9TsAVEKm1PVhts8a7sOxSlwA/mZWGM/QEooNzUwn3wtuQtizMXVVWtByhP7QFS6gIu02vzsZJseTV0kQqESEocrO8F9htn0jiEldx2vaKfykPX2QLEFiwe5Vj+dDWY/9BFvxQq0jM6kybLbncq2SDVjTqTJ6ulYDsOmxu7pTA1AJUcvuqXZ3mW345H5+ZX3OnEEN/o7L+fNI7H6Llp+BFlf8CZhrzHMKYKESq0IAiWQkS1yp0z6XCXC1bl1sYGUT9HQcBTH53J3jv1unCnqxCCFyZ/FuF/F2E2XoM3yd9acNz7ZwmeJThCgm880j1GDwoAAA==';\nimport 'src/styles/f.css.ts.vanilla.css?source=LmRodGh4cTAgewogIHdpZHRoOiAxMDAlOwp9Ci5kaHRoeHExIHsKICBoZWlnaHQ6IDEwMCU7Cn0KLmRodGh4cTIgewogIHRvcDogMDsKfQouZGh0aHhxMyB7CiAgbGVmdDogMDsKfQouZGh0aHhxNCB7CiAgcG9zaXRpb246IGFic29sdXRlOwp9Ci5kaHRoeHE1IHsKICBwb3NpdGlvbjogcmVsYXRpdmU7Cn0KLmRodGh4cTcgewogIGRpc3BsYXk6IGZsZXg7Cn0KLmRodGh4cTggewogIGZsZXg6IDE7Cn0KLmRodGh4cTkgewogIGFsaWduLWl0ZW1zOiBjZW50ZXI7Cn0KLmRodGh4cWEgewogIGFsaWduLWl0ZW1zOiBmbGV4LWVuZDsKfQouZGh0aHhxYiB7CiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7Cn0KLmRodGh4cWMgewogIG92ZXJmbG93OiBoaWRkZW47Cn0KLmRodGh4cWQgewogIHdoaXRlLXNwYWNlOiBub3dyYXA7Cn0KLmRodGh4cWUgewogIHRleHQtYWxpZ246IGNlbnRlcjsKfQouZGh0aHhxZiB7CiAgY3Vyc29yOiBwb2ludGVyOwogIC13ZWJraXQtdGFwLWhpZ2hsaWdodC1jb2xvcjogdHJhbnNwYXJlbnQ7Cn0KLmRodGh4cWcgewogIGJveC1zaXppbmc6IGJvcmRlci1ib3g7Cn0KLmRodGh4cWggewogIGJveC1zaXppbmc6IGNvbnRlbnQtYm94Owp9Ci5kaHRoeHFpIHsKICBhcHBlYXJhbmNlOiBub25lOwogIGJvcmRlcjogMDsKICBwYWRkaW5nOiAwOwogIGJhY2tncm91bmQ6IG5vbmU7Cn0=';\nimport 'src/components/BottomSheet.css.ts.vanilla.css?source=Ll8xaHQzOGgwMyB7CiAgdHJhbnNpdGlvbjogdmFyKC0tXzFodDM4aDAwKTsKfQouXzFodDM4aDA3IHsKICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDEwMCUsIDAsIDApOwp9Ci5fMWh0MzhoMGQgewogIGJhY2tncm91bmQtY29sb3I6IHZhcigtLXN0YWNrZmxvdy1wbHVnaW4tYmFzaWMtdWktZGltLWJhY2tncm91bmQtY29sb3IpOwogIHotaW5kZXg6IHZhcigtLV8xaHQzOGgwMSk7CiAgb3BhY2l0eTogMDsKfQouXzFodDM4aDA0IC5fMWh0MzhoMGQsIC5fMWh0MzhoMDUgLl8xaHQzOGgwZCB7CiAgb3BhY2l0eTogMTsKfQouXzFodDM4aDA2IC5fMWh0MzhoMGQsIC5fMWh0MzhoMDcgLl8xaHQzOGgwZCB7CiAgb3BhY2l0eTogMDsKfQouXzFodDM4aDBlIHsKICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1zdGFja2Zsb3ctcGx1Z2luLWJhc2ljLXVpLWJhY2tncm91bmQtY29sb3IpOwogIHdpZHRoOiAxMDAlOwogIGJvcmRlci1yYWRpdXM6IHZhcigtLXN0YWNrZmxvdy1wbHVnaW4tYmFzaWMtdWktYm90dG9tLXNoZWV0LWJvcmRlci1yYWRpdXMpIHZhcigtLXN0YWNrZmxvdy1wbHVnaW4tYmFzaWMtdWktYm90dG9tLXNoZWV0LWJvcmRlci1yYWRpdXMpIDAgMDsKICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDEwMCUsIDApOwogIG9wYWNpdHk6IDA7Cn0KLl8xaHQzOGgwNCAuXzFodDM4aDBlLCAuXzFodDM4aDA1IC5fMWh0MzhoMGUgewogIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7CiAgb3BhY2l0eTogMTsKfQouXzFodDM4aDA2IC5fMWh0MzhoMGUsIC5fMWh0MzhoMDcgLl8xaHQzOGgwZSB7CiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAxMDAlLCAwKSAhaW1wb3J0YW50OwogIG9wYWNpdHk6IDAgIWltcG9ydGFudDsKfQ==';\nimport { createRuntimeFn as _7a468 } from '@vanilla-extract/recipes/createRuntimeFn';\nexport var container = _7a468({defaultClassName:'dhthxq4 dhthxq0 dhthxq1 dhthxq2 dhthxq3 dhthxqc',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 dhthxqc dhthxqa dhthxq7 _1ht38h03';\nexport var enterActive = '_1ht38h04';\nexport var enterDone = '_1ht38h05';\nexport var exitActive = '_1ht38h06';\nexport var exitDone = '_1ht38h07';\nexport var paper = '_1ht38h0e dhthxqc _1ht38h03';\nexport var vars = {transitionDuration:'var(--_1ht38h00)',zIndexes:{dim:'var(--_1ht38h01)',paper:'var(--_1ht38h02)'}};", "import { useActions } from \"@stackflow/react\";\nimport { assignInlineVars } from \"@vanilla-extract/dynamic\";\nimport { useRef } from \"react\";\n\nimport {\n useLazy,\n useNullableActivity,\n useStyleEffect,\n useZIndexBase,\n} from \"@stackflow/react-ui-core\";\nimport type { GlobalVars } from \"../basicUIPlugin.css\";\nimport { globalVars } from \"../basicUIPlugin.css\";\nimport { compactMap } from \"../utils\";\nimport * as css from \"./Modal.css\";\n\nexport type ModalProps = Partial<\n Pick<GlobalVars, \"backgroundColor\" | \"dimBackgroundColor\">\n> &\n Partial<GlobalVars[\"modal\"]> & {\n onOutsideClick?: React.MouseEventHandler;\n children: React.ReactNode;\n };\nconst Modal: React.FC<ModalProps> = ({\n backgroundColor,\n dimBackgroundColor,\n borderRadius = \"1rem\",\n onOutsideClick,\n children,\n}) => {\n const activity = useNullableActivity();\n const { pop } = useActions();\n\n const containerRef = useRef<HTMLDivElement>(null);\n const paperRef = useRef<HTMLDivElement>(null);\n\n useStyleEffect({\n styleName: \"hide\",\n refs: [containerRef],\n });\n useStyleEffect({\n styleName: \"offset\",\n refs: [paperRef],\n });\n useStyleEffect({\n styleName: \"swipe-back\",\n refs: [paperRef],\n });\n\n const popLock = useRef(false);\n\n const onDimClick: React.MouseEventHandler = (e) => {\n onOutsideClick?.(e);\n\n if (e.defaultPrevented) {\n return;\n }\n\n if (popLock.current) {\n return;\n }\n popLock.current = true;\n\n pop();\n };\n const onPaperClick: React.MouseEventHandler = (e) => {\n e.stopPropagation();\n };\n\n const zIndexBase = useZIndexBase() + 3;\n const zIndexPaper = useZIndexBase() + 4;\n const transitionState = activity?.transitionState ?? \"enter-done\";\n\n return (\n <div\n className={css.container({\n transitionState: useLazy(transitionState),\n })}\n ref={containerRef}\n style={assignInlineVars(\n compactMap({\n [globalVars.bottomSheet.borderRadius]: borderRadius,\n [globalVars.backgroundColor]: backgroundColor,\n [globalVars.dimBackgroundColor]: dimBackgroundColor,\n [css.vars.zIndexes.dim]: `${zIndexBase}`,\n [css.vars.zIndexes.paper]: `${zIndexPaper}`,\n [css.vars.transitionDuration]:\n transitionState === \"enter-active\" ||\n transitionState === \"exit-active\"\n ? globalVars.computedTransitionDuration\n : \"0ms\",\n }),\n )}\n data-stackflow-component-name=\"Modal\"\n data-stackflow-activity-id={activity?.id}\n data-stackflow-activity-is-active={activity?.isActive}\n >\n <div className={css.dim} ref={paperRef} onClick={onDimClick}>\n <div className={css.paper} onClick={onPaperClick}>\n {children}\n </div>\n </div>\n </div>\n );\n};\n\nModal.displayName = \"Modal\";\n\nexport default Modal;\n", "import 'src/basicUIPlugin.css.ts.vanilla.css?source=#H4sIAAAAAAAAE+2UTUvEMBCG7/srAl4UTGmry0IWf4l4mDbTdthtpkymuij+d1nx47Jrt60gwkIOOeRJXsg7jxNmvfegYKNCuam2/GS7bV9TsAVEKm1PVhts8a7sOxSlwA/mZWGM/QEooNzUwn3wtuQtizMXVVWtByhP7QFS6gIu02vzsZJseTV0kQqESEocrO8F9htn0jiEldx2vaKfykPX2QLEFiwe5Vj+dDWY/9BFvxQq0jM6kybLbncq2SDVjTqTJ6ulYDsOmxu7pTA1AJUcvuqXZ3mW345H5+ZX3OnEEN/o7L+fNI7H6Llp+BFlf8CZhrzHMKYKESq0IAiWQkS1yp0z6XCXC1bl1sYGUT9HQcBTH53J3jv1unCnqxCCFyZ/FuF/F2E2XoM3yd9acNz7ZwmeJThCgm880j1GDwoAAA==';\nimport 'src/styles/f.css.ts.vanilla.css?source=LmRodGh4cTAgewogIHdpZHRoOiAxMDAlOwp9Ci5kaHRoeHExIHsKICBoZWlnaHQ6IDEwMCU7Cn0KLmRodGh4cTIgewogIHRvcDogMDsKfQouZGh0aHhxMyB7CiAgbGVmdDogMDsKfQouZGh0aHhxNCB7CiAgcG9zaXRpb246IGFic29sdXRlOwp9Ci5kaHRoeHE1IHsKICBwb3NpdGlvbjogcmVsYXRpdmU7Cn0KLmRodGh4cTcgewogIGRpc3BsYXk6IGZsZXg7Cn0KLmRodGh4cTggewogIGZsZXg6IDE7Cn0KLmRodGh4cTkgewogIGFsaWduLWl0ZW1zOiBjZW50ZXI7Cn0KLmRodGh4cWEgewogIGFsaWduLWl0ZW1zOiBmbGV4LWVuZDsKfQouZGh0aHhxYiB7CiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7Cn0KLmRodGh4cWMgewogIG92ZXJmbG93OiBoaWRkZW47Cn0KLmRodGh4cWQgewogIHdoaXRlLXNwYWNlOiBub3dyYXA7Cn0KLmRodGh4cWUgewogIHRleHQtYWxpZ246IGNlbnRlcjsKfQouZGh0aHhxZiB7CiAgY3Vyc29yOiBwb2ludGVyOwogIC13ZWJraXQtdGFwLWhpZ2hsaWdodC1jb2xvcjogdHJhbnNwYXJlbnQ7Cn0KLmRodGh4cWcgewogIGJveC1zaXppbmc6IGJvcmRlci1ib3g7Cn0KLmRodGh4cWggewogIGJveC1zaXppbmc6IGNvbnRlbnQtYm94Owp9Ci5kaHRoeHFpIHsKICBhcHBlYXJhbmNlOiBub25lOwogIGJvcmRlcjogMDsKICBwYWRkaW5nOiAwOwogIGJhY2tncm91bmQ6IG5vbmU7Cn0=';\nimport 'src/components/Modal.css.ts.vanilla.css?source=Ll81b3pnOGMzIHsKICB0cmFuc2l0aW9uOiB2YXIoLS1fNW96ZzhjMCk7Cn0KLl81b3pnOGM3IHsKICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDEwMCUsIDAsIDApOwp9Ci5fNW96ZzhjZCB7CiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tc3RhY2tmbG93LXBsdWdpbi1iYXNpYy11aS1kaW0tYmFja2dyb3VuZC1jb2xvcik7CiAgei1pbmRleDogdmFyKC0tXzVvemc4YzEpOwogIG9wYWNpdHk6IDA7Cn0KLl81b3pnOGM0IC5fNW96ZzhjZCwgLl81b3pnOGM1IC5fNW96ZzhjZCB7CiAgb3BhY2l0eTogMTsKfQouXzVvemc4YzYgLl81b3pnOGNkLCAuXzVvemc4YzcgLl81b3pnOGNkIHsKICBvcGFjaXR5OiAwOwp9Ci5fNW96ZzhjZSB7CiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tc3RhY2tmbG93LXBsdWdpbi1iYXNpYy11aS1iYWNrZ3JvdW5kLWNvbG9yKTsKICB3aWR0aDogMTAwJTsKICBtYXJnaW46IDAgMi41cmVtOwogIGJveC1zaGFkb3c6IDBweCAwLjYyNXJlbSAyLjM3NXJlbSByZ2JhKDAsIDAsIDAsIDAuMTUpLCAwcHggLjU2MjVyZW0gMi44NzVyZW0gcmdiYSgwLCAwLCAwLCAwLjEyKSwgMHB4IC4zMTI1cmVtIC45Mzc1cmVtIHJnYmEoMCwgMCwgMCwgMC4xKTsKICBib3JkZXItcmFkaXVzOiB2YXIoLS1zdGFja2Zsb3ctcGx1Z2luLWJhc2ljLXVpLWJvdHRvbS1zaGVldC1ib3JkZXItcmFkaXVzKTsKICB0cmFuc2Zvcm06IHNjYWxlKDEuMSk7CiAgb3BhY2l0eTogMDsKfQouXzVvemc4YzQgLl81b3pnOGNlLCAuXzVvemc4YzUgLl81b3pnOGNlIHsKICB0cmFuc2Zvcm06IHNjYWxlKDEpOwogIG9wYWNpdHk6IDE7Cn0KLl81b3pnOGM2IC5fNW96ZzhjZSwgLl81b3pnOGM3IC5fNW96ZzhjZSB7CiAgdHJhbnNmb3JtOiBzY2FsZSgxLjEpOwogIG9wYWNpdHk6IDA7Cn0=';\nimport { createRuntimeFn as _7a468 } from '@vanilla-extract/recipes/createRuntimeFn';\nexport var container = _7a468({defaultClassName:'dhthxq4 dhthxq0 dhthxq1 dhthxq2 dhthxq3 dhthxqc',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 dhthxqc dhthxq9 dhthxq7 dhthxqb _5ozg8c3';\nexport var enterActive = '_5ozg8c4';\nexport var enterDone = '_5ozg8c5';\nexport var exitActive = '_5ozg8c6';\nexport var exitDone = '_5ozg8c7';\nexport var paper = '_5ozg8ce dhthxqc _5ozg8c3';\nexport var vars = {transitionDuration:'var(--_5ozg8c0)',zIndexes:{dim:'var(--_5ozg8c1)',paper:'var(--_5ozg8c2)'}};"],
5
- "mappings": "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",
6
- "names": ["vars", "import_jsx_runtime", "import_react", "import_jsx_runtime", "import_react", "import_dynamic", "import_react_ui_core", "import_react", "import_dynamic", "_7a468", "import_createRuntimeFn", "_7a468", "_7a468", "import_jsx_runtime", "backButton", "closeButton", "_a", "_b", "import_jsx_runtime", "appBar", "_a", "import_react", "import_dynamic", "import_react_ui_core", "import_createRuntimeFn", "container", "_7a468", "dim", "paper", "vars", "import_jsx_runtime", "container", "vars", "dim", "paper", "import_react", "import_dynamic", "import_react_ui_core", "import_createRuntimeFn", "container", "_7a468", "dim", "paper", "vars", "import_jsx_runtime", "container", "vars", "dim", "paper"]
3
+ "sources": ["../src/index.ts", "../src/assets/IconBack.tsx", "../src/assets/IconClose.tsx", "../src/basicUIPlugin.tsx", "../src/basicUIPlugin.css.ts", "../src/utils/compact.ts", "../src/utils/compactMap.ts", "../src/components/AppScreen.tsx", "../src/components/AppBar.tsx", "../src/components/AppBar.css.ts", "../src/components/AppScreen.css.ts", "../src/components/BottomSheet.tsx", "../src/components/BottomSheet.css.ts", "../src/components/Modal.tsx", "../src/components/Modal.css.ts"],
4
+ "sourcesContent": ["export { IconBack, IconClose } from \"./assets\";\nexport { basicUIPlugin } from \"./basicUIPlugin\";\nexport { globalVars as cssVars } from \"./basicUIPlugin.css\";\nexport {\n default as AppScreen,\n AppScreenContext,\n AppScreenProps,\n useAppScreen,\n} from \"./components/AppScreen\";\nexport { vars as appScreenVars } from \"./components/AppScreen.css\";\nexport {\n default as BottomSheet,\n BottomSheetProps,\n} from \"./components/BottomSheet\";\nexport { vars as bottomSheetVars } from \"./components/BottomSheet.css\";\nexport { default as Modal, ModalProps } from \"./components/Modal\";\nexport { vars as modalVars } from \"./components/Modal.css\";\n", "const 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=\"M16.66 3.23C16.96 3.53 16.96 4.02 16.66 4.32L8.97999 12L16.66 19.68C16.96 19.98 16.96 20.47 16.66 20.77C16.36 21.07 15.87 21.07 15.57 20.77L7.33999 12.55C7.03999 12.25 7.03999 11.76 7.33999 11.46L15.56 3.23C15.86 2.93 16.35 2.93 16.65 3.23H16.66Z\"\n fill=\"currentColor\"\n />\n </svg>\n);\n\nexport default IconBack;\n", "const 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 type { StackflowReactPlugin } from \"@stackflow/react\";\nimport { assignInlineVars } from \"@vanilla-extract/dynamic\";\nimport { createContext, useContext } from \"react\";\n\nimport * as css from \"./basicUIPlugin.css\";\nimport type { RecursivePartial } from \"./utils\";\nimport { compact, compactMap, isBrowser } from \"./utils\";\n\ntype BasicUIPluginOptions = RecursivePartial<css.GlobalVars> & {\n theme: \"android\" | \"cupertino\";\n rootClassName?: string;\n appBar?: {\n backButton?:\n | {\n renderIcon?: () => React.ReactNode;\n ariaLabel?: string;\n }\n | {\n render?: () => React.ReactNode;\n };\n closeButton?:\n | {\n renderIcon?: () => React.ReactNode;\n ariaLabel?: string;\n onClick?: (e: React.MouseEvent<HTMLButtonElement>) => void;\n }\n | {\n render?: () => React.ReactNode;\n };\n };\n};\n\nconst GlobalOptionsContext = createContext<BasicUIPluginOptions>({\n theme: \"android\",\n});\n\nexport const GlobalOptionsProvider = GlobalOptionsContext.Provider;\n\nexport function useGlobalOptions() {\n return useContext(GlobalOptionsContext);\n}\n\nexport const basicUIPlugin: (\n options:\n | BasicUIPluginOptions\n | ((args: { initialContext?: any }) => BasicUIPluginOptions),\n) => StackflowReactPlugin = (options) => () => ({\n key: \"basic-ui\",\n wrapStack({ stack, initialContext }) {\n const _options =\n typeof options === \"function\" ? options({ initialContext }) : options;\n\n return (\n <GlobalOptionsProvider\n value={{\n ...options,\n theme: initialContext?.theme ?? _options.theme,\n }}\n >\n <div\n className={compact([\n css.stackWrapper({\n theme: initialContext?.theme ?? _options.theme,\n loading: stack.globalTransitionState === \"loading\",\n }),\n _options.rootClassName,\n ]).join(\" \")}\n style={assignInlineVars(\n compactMap({\n [css.globalVars.backgroundColor]: _options.backgroundColor,\n [css.globalVars.dimBackgroundColor]: _options.dimBackgroundColor,\n [css.globalVars.transitionDuration]:\n `${stack.transitionDuration}ms`,\n [css.globalVars.computedTransitionDuration]:\n stack.globalTransitionState === \"loading\"\n ? `${stack.transitionDuration}ms`\n : \"0ms\",\n [css.globalVars.appBar.borderColor]: _options.appBar?.borderColor,\n [css.globalVars.appBar.borderSize]: _options.appBar?.borderSize,\n [css.globalVars.appBar.height]: _options.appBar?.height,\n [css.globalVars.appBar.iconColor]: _options.appBar?.iconColor,\n [css.globalVars.appBar.textColor]: _options.appBar?.textColor,\n [css.globalVars.appBar.minSafeAreaInsetTop]:\n _options.appBar?.minSafeAreaInsetTop,\n [css.globalVars.bottomSheet.borderRadius]:\n _options.bottomSheet?.borderRadius,\n [css.globalVars.modal.borderRadius]: _options.modal?.borderRadius,\n }),\n )}\n >\n {stack.render()}\n </div>\n </GlobalOptionsProvider>\n );\n },\n});\n", "import 'src/basicUIPlugin.css.ts.vanilla.css?source=#H4sIAAAAAAAAA+3X0UrDMBQG4Ps9RcAbBVPaah1k+CQikjan7dnWnJqczqHs3WXD6c1m7SrIMNCLXvRPf8jJB4mekuc7M0/nsXibCCGlZ10syiW9yHbZVWhlrj0WskOZ62JROeqskQUtySlxUZblrCdlsDmQdFWuL+Nr8fFESXbVtxA7bT0ykpWmc3r7okTs+2IFNW3HYE7N67aVuXYyJ2fAHesfT3v7H1rol0p5fAUlknb901wNWNWsxE2UOWiGpcZ2btCe+H8syH6OXpqkSXo7PDq2PsOaTyzxFR297ycdxWPpsW1oBW77gRI1GgN2yCR4XYLUDrRE64ElU6tE3D/JOTFTI30NwPtj4LTBziuR7GZqM4n2tiXBtjO3LY6y4bql0fRveRtYIPgWfBvim3JE/GA06+9oqaGB+6JrwTFaegwUBgoDhYHCf0uhtsYRmgDhuUMY7rsBwYDgoftutrOtJbQMTsIKLHslLFmYTTbvJq/pt/ITAAA=';\nimport { createRuntimeFn as _7a468 } from '@vanilla-extract/recipes/createRuntimeFn';\nexport var android = '_1q6dj2j0';\nexport var cupertino = '_1q6dj2j1';\nexport var globalVars = {backgroundColor:'var(--stackflow-plugin-basic-ui-background-color)',dimBackgroundColor:'var(--stackflow-plugin-basic-ui-dim-background-color)',transitionDuration:'var(--stackflow-plugin-basic-ui-transition-duration)',computedTransitionDuration:'var(--stackflow-plugin-basic-ui-computed-transition-duration)',appBar:{borderColor:'var(--stackflow-plugin-basic-ui-app-bar-border-color)',borderColorTransitionDuration:'var(--stackflow-plugin-basic-ui-app-bar-border-color-transition-duration)',borderSize:'var(--stackflow-plugin-basic-ui-app-bar-border-size)',height:'var(--stackflow-plugin-basic-ui-app-bar-height)',heightTransitionDuration:'var(--stackflow-plugin-basic-ui-app-bar-height-transition-duration)',minHeight:'var(--stackflow-plugin-basic-ui-app-bar-min-height)',iconColor:'var(--stackflow-plugin-basic-ui-app-bar-icon-color)',iconColorTransitionDuration:'var(--stackflow-plugin-basic-ui-app-bar-icon-color-transition-duration)',textColor:'var(--stackflow-plugin-basic-ui-app-bar-text-color)',textColorTransitionDuration:'var(--stackflow-plugin-basic-ui-app-bar-text-color-transition-duration)',backgroundColor:'var(--stackflow-plugin-basic-ui-app-bar-background-color)',backgroundColorTransitionDuration:'var(--stackflow-plugin-basic-ui-app-bar-background-color-transition-duration)',overflow:'var(--stackflow-plugin-basic-ui-app-bar-overflow)',minSafeAreaInsetTop:'var(--stackflow-plugin-basic-ui-app-bar-min-safe-area-inset-top)'},bottomSheet:{borderRadius:'var(--stackflow-plugin-basic-ui-bottom-sheet-border-radius)'},modal:{borderRadius:'var(--stackflow-plugin-basic-ui-bottom-sheet-border-radius)'}};\nexport var stackWrapper = _7a468({defaultClassName:'_1q6dj2j2',variantClassNames:{theme:{android:'_1q6dj2j0',cupertino:'_1q6dj2j1'},loading:{true:'_1q6dj2j5'}},defaultVariants:{},compoundVariants:[]});", "export function compact<T>(arr: Array<T>): Array<NonNullable<T>> {\n return arr.filter(\n (item): item is NonNullable<typeof item> =>\n item !== undefined && item !== null,\n );\n}\n", "export function compactMap<T extends {}>(\n obj: T,\n): {\n [key in keyof T]: NonNullable<T[key]>;\n} {\n return Object.entries(obj).reduce<any>((acc, [key, value]) => {\n if (value !== null && value !== undefined) {\n acc[key] = value;\n }\n\n return acc;\n }, {});\n}\n", "import { useActions } from \"@stackflow/react\";\nimport { assignInlineVars } from \"@vanilla-extract/dynamic\";\nimport { createContext, useContext, useMemo, useRef } from \"react\";\n\nimport {\n useLazy,\n useMounted,\n useNullableActivity,\n useStyleEffectHide,\n useStyleEffectOffset,\n useStyleEffectSwipeBack,\n useZIndexBase,\n} from \"@stackflow/react-ui-core\";\nimport { useGlobalOptions } from \"../basicUIPlugin\";\nimport type { GlobalVars } from \"../basicUIPlugin.css\";\nimport { globalVars } from \"../basicUIPlugin.css\";\nimport type { PropOf } from \"../utils\";\nimport { compactMap } from \"../utils\";\nimport AppBar from \"./AppBar\";\nimport * as css from \"./AppScreen.css\";\n\nexport const OFFSET_PX_ANDROID = 32;\nexport const OFFSET_PX_CUPERTINO = 80;\n\nexport type AppScreenContext = {\n scroll: (args: { top: number }) => void;\n};\nconst Context = createContext<AppScreenContext>(null as any);\n\nexport function useAppScreen() {\n return useContext(Context);\n}\n\nexport type AppScreenProps = Partial<\n Pick<GlobalVars, \"backgroundColor\" | \"dimBackgroundColor\">\n> & {\n appBar?: Omit<\n PropOf<typeof AppBar>,\n \"theme\" | \"modalPresentationStyle\" | \"ref\" | \"key\"\n >;\n preventSwipeBack?: boolean;\n CUPERTINO_ONLY_modalPresentationStyle?: \"fullScreen\";\n ANDROID_ONLY_activityEnterStyle?: \"slideInLeft\";\n children: React.ReactNode;\n};\nconst AppScreen: React.FC<AppScreenProps> = ({\n backgroundColor,\n dimBackgroundColor,\n appBar,\n preventSwipeBack,\n CUPERTINO_ONLY_modalPresentationStyle,\n ANDROID_ONLY_activityEnterStyle,\n children,\n}) => {\n const globalOptions = useGlobalOptions();\n const activity = useNullableActivity();\n const mounted = useMounted();\n\n const { pop } = useActions();\n\n const appScreenRef = useRef<HTMLDivElement>(null);\n const dimRef = useRef<HTMLDivElement>(null);\n const paperRef = useRef<HTMLDivElement>(null);\n const edgeRef = useRef<HTMLDivElement>(null);\n const appBarRef = useRef<HTMLDivElement>(null);\n\n const modalPresentationStyle =\n globalOptions.theme === \"cupertino\"\n ? CUPERTINO_ONLY_modalPresentationStyle\n : undefined;\n const activityEnterStyle =\n globalOptions.theme === \"android\"\n ? ANDROID_ONLY_activityEnterStyle\n : undefined;\n\n const isSwipeBackPrevented =\n preventSwipeBack || modalPresentationStyle === \"fullScreen\";\n\n const hasAppBar = !!appBar;\n\n const zIndexBase = useZIndexBase();\n\n let zIndexDim: number;\n let zIndexPaper: number;\n let zIndexEdge: number;\n let zIndexAppBar: number;\n\n switch (globalOptions.theme) {\n case \"cupertino\": {\n zIndexDim =\n zIndexBase + (modalPresentationStyle === \"fullScreen\" ? 2 : 0);\n zIndexPaper =\n zIndexBase +\n (hasAppBar && modalPresentationStyle !== \"fullScreen\" ? 1 : 3);\n zIndexEdge = zIndexBase + 4;\n zIndexAppBar = zIndexBase + 7;\n break;\n }\n default: {\n zIndexDim = zIndexBase;\n zIndexPaper = zIndexBase + (activityEnterStyle === \"slideInLeft\" ? 1 : 3);\n zIndexEdge = zIndexBase + 4;\n zIndexAppBar =\n zIndexBase + (activityEnterStyle === \"slideInLeft\" ? 7 : 4);\n break;\n }\n }\n\n const transitionState = activity?.transitionState ?? \"enter-done\";\n const lazyTransitionState = useLazy(transitionState);\n\n useStyleEffectHide({\n refs: [appScreenRef],\n });\n useStyleEffectOffset({\n refs:\n globalOptions.theme === \"cupertino\" ||\n activityEnterStyle === \"slideInLeft\"\n ? [paperRef]\n : [paperRef, appBarRef],\n offsetStyles:\n globalOptions.theme === \"cupertino\"\n ? {\n transform: `translate3d(-${OFFSET_PX_CUPERTINO / 16}rem, 0, 0)`,\n opacity: \"1\",\n }\n : activityEnterStyle === \"slideInLeft\"\n ? {\n transform: \"translate3d(-50%, 0, 0)\",\n opacity: \"0\",\n }\n : {\n transform: `translate3d(0, -${OFFSET_PX_ANDROID / 16}rem, 0)`,\n opacity: \"1\",\n },\n transitionDuration: globalVars.computedTransitionDuration,\n hasEffect: modalPresentationStyle !== \"fullScreen\",\n });\n useStyleEffectSwipeBack({\n dimRef,\n edgeRef,\n paperRef,\n offset: OFFSET_PX_CUPERTINO,\n transitionDuration: globalVars.transitionDuration,\n preventSwipeBack:\n isSwipeBackPrevented || globalOptions.theme !== \"cupertino\",\n getActivityTransitionState() {\n const $paper = paperRef.current;\n const $appScreen = $paper?.parentElement;\n\n if (!$appScreen) {\n return null;\n }\n\n if ($appScreen.classList.contains(css.enterActive)) {\n return \"enter-active\";\n }\n if ($appScreen.classList.contains(css.enterDone)) {\n return \"enter-done\";\n }\n if ($appScreen.classList.contains(css.exitActive)) {\n return \"exit-active\";\n }\n if ($appScreen.classList.contains(css.exitDone)) {\n return \"exit-done\";\n }\n\n return null;\n },\n onSwiped() {\n pop();\n },\n });\n\n const onAppBarTopClick: React.MouseEventHandler = (e) => {\n appBar?.onTopClick?.(e);\n\n if (!e.defaultPrevented) {\n paperRef.current?.scroll({\n top: 0,\n behavior: \"smooth\",\n });\n }\n };\n\n return (\n <Context.Provider\n value={useMemo(\n () => ({\n scroll({ top }) {\n paperRef?.current?.scroll({\n top,\n behavior: \"smooth\",\n });\n },\n }),\n [paperRef],\n )}\n >\n <div\n ref={appScreenRef}\n className={css.appScreen({\n transitionState:\n transitionState === \"enter-done\" || transitionState === \"exit-done\"\n ? transitionState\n : lazyTransitionState,\n })}\n style={assignInlineVars(\n compactMap({\n [globalVars.backgroundColor]: backgroundColor,\n [globalVars.dimBackgroundColor]: dimBackgroundColor,\n [globalVars.appBar.height]: appBar?.height,\n [globalVars.appBar.heightTransitionDuration]:\n appBar?.heightTransitionDuration,\n [css.vars.zIndexes.dim]: `${zIndexDim}`,\n [css.vars.zIndexes.paper]: `${zIndexPaper}`,\n [css.vars.zIndexes.edge]: `${zIndexEdge}`,\n [css.vars.zIndexes.appBar]: `${zIndexAppBar}`,\n [css.vars.transitionDuration]:\n transitionState === \"enter-active\" ||\n transitionState === \"exit-active\"\n ? globalVars.computedTransitionDuration\n : \"0ms\",\n }),\n )}\n data-stackflow-component-name=\"AppScreen\"\n data-stackflow-activity-id={mounted ? activity?.id : undefined}\n data-stackflow-activity-is-active={\n mounted ? activity?.isActive : undefined\n }\n >\n {activityEnterStyle !== \"slideInLeft\" && (\n <div className={css.dim} ref={dimRef} />\n )}\n {appBar && (\n <AppBar\n {...appBar}\n ref={appBarRef}\n modalPresentationStyle={modalPresentationStyle}\n activityEnterStyle={activityEnterStyle}\n onTopClick={onAppBarTopClick}\n />\n )}\n <div\n key={activity?.id}\n className={css.paper({\n hasAppBar,\n modalPresentationStyle,\n activityEnterStyle,\n })}\n ref={paperRef}\n >\n {children}\n </div>\n {!activity?.isRoot &&\n globalOptions.theme === \"cupertino\" &&\n !isSwipeBackPrevented && (\n <div className={css.edge({ hasAppBar })} ref={edgeRef} />\n )}\n </div>\n </Context.Provider>\n );\n};\n\nexport default AppScreen;\n", "import { useActions } from \"@stackflow/react\";\nimport { assignInlineVars } from \"@vanilla-extract/dynamic\";\nimport { forwardRef, useRef } from \"react\";\n\nimport {\n useAppBarTitleMaxWidth,\n useNullableActivity,\n} from \"@stackflow/react-ui-core\";\nimport { IconBack, IconClose } from \"../assets\";\nimport { useGlobalOptions } from \"../basicUIPlugin\";\nimport type { GlobalVars } from \"../basicUIPlugin.css\";\nimport { globalVars } from \"../basicUIPlugin.css\";\n\nimport { compactMap } from \"../utils\";\nimport * as css from \"./AppBar.css\";\nimport * as appScreenCss from \"./AppScreen.css\";\n\ntype AppBarProps = Partial<\n Pick<\n GlobalVars[\"appBar\"],\n | \"borderColor\"\n | \"borderColorTransitionDuration\"\n | \"borderSize\"\n | \"height\"\n | \"heightTransitionDuration\"\n | \"overflow\"\n | \"iconColor\"\n | \"iconColorTransitionDuration\"\n | \"textColor\"\n | \"textColorTransitionDuration\"\n | \"backgroundColor\"\n | \"backgroundColorTransitionDuration\"\n >\n> & {\n title?: React.ReactNode;\n renderLeft?: () => React.ReactNode;\n renderRight?: () => React.ReactNode;\n backButton?:\n | {\n renderIcon?: () => React.ReactNode;\n ariaLabel?: string;\n onClick?: (e: React.MouseEvent<HTMLButtonElement>) => void;\n }\n | {\n render?: () => React.ReactNode;\n };\n closeButton?:\n | {\n renderIcon?: () => React.ReactNode;\n ariaLabel?: string;\n onClick?: (e: React.MouseEvent<HTMLButtonElement>) => void;\n }\n | {\n render?: () => React.ReactNode;\n };\n closeButtonLocation?: \"left\" | \"right\";\n border?: boolean;\n modalPresentationStyle?: \"fullScreen\";\n activityEnterStyle?: \"slideInLeft\";\n onTopClick?: (e: React.MouseEvent) => void;\n};\nconst AppBar = forwardRef<HTMLDivElement, AppBarProps>(\n (\n {\n title,\n renderLeft,\n renderRight,\n backButton,\n closeButton,\n closeButtonLocation = \"left\",\n border = true,\n modalPresentationStyle,\n activityEnterStyle,\n iconColor,\n iconColorTransitionDuration,\n textColor,\n textColorTransitionDuration,\n borderColor,\n borderColorTransitionDuration,\n borderSize,\n height,\n heightTransitionDuration,\n overflow,\n backgroundColor,\n backgroundColorTransitionDuration,\n onTopClick,\n },\n ref,\n ) => {\n const actions = useActions();\n const activity = useNullableActivity();\n\n const globalOptions = useGlobalOptions();\n const globalCloseButton = globalOptions.appBar?.closeButton;\n const globalBackButton = globalOptions.appBar?.backButton;\n\n const centerRef = useRef<any>(null);\n\n const { maxWidth } = useAppBarTitleMaxWidth({\n outerRef: ref,\n innerRef: centerRef,\n enable: globalOptions.theme === \"cupertino\",\n });\n\n const onBackClick = (e: React.MouseEvent<HTMLButtonElement>) => {\n if (backButton && \"onClick\" in backButton && backButton.onClick) {\n backButton.onClick(e);\n }\n\n if (!e.defaultPrevented) {\n actions.pop();\n }\n };\n\n const renderBackButton = () => {\n if (!activity) {\n return null;\n }\n if (activity.isRoot) {\n return null;\n }\n\n if (!backButton && !globalBackButton) {\n return (\n <button\n type=\"button\"\n aria-label=\"Go Back\"\n className={css.backButton}\n onClick={onBackClick}\n >\n <IconBack />\n </button>\n );\n }\n\n if (backButton && \"render\" in backButton && backButton.render) {\n return backButton.render?.();\n }\n if (\n globalBackButton &&\n \"render\" in globalBackButton &&\n globalBackButton.render\n ) {\n return globalBackButton.render?.();\n }\n\n return (\n <button\n type=\"button\"\n className={css.backButton}\n aria-label={\n backButton && \"ariaLabel\" in backButton\n ? backButton.ariaLabel\n : globalBackButton && \"ariaLabel\" in globalBackButton\n ? globalBackButton.ariaLabel\n : undefined\n }\n onClick={onBackClick}\n >\n {(() => {\n if (\n backButton &&\n \"renderIcon\" in backButton &&\n backButton.renderIcon\n ) {\n return backButton.renderIcon();\n }\n if (\n globalBackButton &&\n \"renderIcon\" in globalBackButton &&\n globalBackButton.renderIcon\n ) {\n return globalBackButton.renderIcon();\n }\n\n if (modalPresentationStyle === \"fullScreen\") {\n return <IconClose />;\n }\n\n return <IconBack />;\n })()}\n </button>\n );\n };\n\n const onCloseClick = (e: React.MouseEvent<HTMLButtonElement>) => {\n if (closeButton && \"onClick\" in closeButton && closeButton.onClick) {\n closeButton.onClick(e);\n }\n\n if (\n !e.defaultPrevented &&\n globalCloseButton &&\n \"onClick\" in globalCloseButton\n ) {\n globalCloseButton.onClick?.(e);\n }\n };\n\n const renderCloseButton = () => {\n const isRoot = !activity || activity.isRoot;\n\n const showCloseButton = (closeButton: AppBarProps[\"closeButton\"]) =>\n (closeButton && \"render\" in closeButton && closeButton.render) ||\n (closeButton &&\n \"renderIcon\" in closeButton &&\n closeButton.renderIcon) ||\n (closeButton && \"onClick\" in closeButton && closeButton.onClick);\n\n if (\n !(\n showCloseButton(closeButton) ||\n showCloseButton(globalOptions.appBar?.closeButton)\n ) ||\n !isRoot\n ) {\n return null;\n }\n if (closeButton && \"render\" in closeButton && closeButton.render) {\n return closeButton.render();\n }\n if (\n globalCloseButton &&\n \"render\" in globalCloseButton &&\n globalCloseButton.render\n ) {\n return globalCloseButton.render();\n }\n\n return (\n <button\n type=\"button\"\n className={css.closeButton}\n aria-label={\n closeButton && \"ariaLabel\" in closeButton\n ? closeButton.ariaLabel\n : globalCloseButton && \"ariaLabel\" in globalCloseButton\n ? globalCloseButton.ariaLabel\n : undefined\n }\n onClick={onCloseClick}\n >\n {(() => {\n if (\n closeButton &&\n \"renderIcon\" in closeButton &&\n closeButton.renderIcon\n ) {\n return closeButton.renderIcon();\n }\n if (\n globalCloseButton &&\n \"renderIcon\" in globalCloseButton &&\n globalCloseButton.renderIcon\n ) {\n return globalCloseButton.renderIcon();\n }\n\n return <IconClose />;\n })()}\n </button>\n );\n };\n\n const hasLeft = !!(\n (closeButtonLocation === \"left\" && closeButton) ||\n backButton ||\n renderLeft\n );\n\n return (\n <div\n ref={ref}\n className={css.appBar({\n border,\n modalPresentationStyle,\n activityEnterStyle,\n })}\n style={assignInlineVars(\n compactMap({\n [globalVars.appBar.iconColor]: iconColor,\n [globalVars.appBar.iconColorTransitionDuration]:\n iconColorTransitionDuration,\n [globalVars.appBar.textColor]: textColor,\n [globalVars.appBar.textColorTransitionDuration]:\n textColorTransitionDuration,\n [globalVars.appBar.borderColor]: borderColor,\n [globalVars.appBar.borderColorTransitionDuration]:\n borderColorTransitionDuration,\n [globalVars.appBar.borderSize]: borderSize,\n [globalVars.appBar.height]: height,\n [globalVars.appBar.heightTransitionDuration]:\n heightTransitionDuration,\n [globalVars.appBar.overflow]: overflow,\n [globalVars.appBar.backgroundColor]:\n backgroundColor || globalVars.backgroundColor,\n [globalVars.appBar.backgroundColorTransitionDuration]:\n backgroundColorTransitionDuration,\n [appScreenCss.vars.appBar.center.mainWidth]: `${maxWidth}px`,\n }),\n )}\n >\n <div className={css.safeArea} />\n <div className={css.container}>\n <div className={css.left}>\n {closeButtonLocation === \"left\" && renderCloseButton()}\n {renderBackButton()}\n {renderLeft?.()}\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 onClick={onTopClick}\n />\n </div>\n </div>\n <div className={css.right}>\n {renderRight?.()}\n {closeButtonLocation === \"right\" && renderCloseButton()}\n </div>\n </div>\n </div>\n );\n },\n);\n\nAppBar.displayName = \"AppBar\";\n\nexport default AppBar;\n", "import 'src/basicUIPlugin.css.ts.vanilla.css?source=#H4sIAAAAAAAAA+3X0UrDMBQG4Ps9RcAbBVPaah1k+CQikjan7dnWnJqczqHs3WXD6c1m7SrIMNCLXvRPf8jJB4mekuc7M0/nsXibCCGlZ10syiW9yHbZVWhlrj0WskOZ62JROeqskQUtySlxUZblrCdlsDmQdFWuL+Nr8fFESXbVtxA7bT0ykpWmc3r7okTs+2IFNW3HYE7N67aVuXYyJ2fAHesfT3v7H1rol0p5fAUlknb901wNWNWsxE2UOWiGpcZ2btCe+H8syH6OXpqkSXo7PDq2PsOaTyzxFR297ycdxWPpsW1oBW77gRI1GgN2yCR4XYLUDrRE64ElU6tE3D/JOTFTI30NwPtj4LTBziuR7GZqM4n2tiXBtjO3LY6y4bql0fRveRtYIPgWfBvim3JE/GA06+9oqaGB+6JrwTFaegwUBgoDhYHCf0uhtsYRmgDhuUMY7rsBwYDgoftutrOtJbQMTsIKLHslLFmYTTbvJq/pt/ITAAA=';\nimport 'src/styles/f.css.ts.vanilla.css?source=LmRodGh4cTAgewogIHdpZHRoOiAxMDAlOwp9Ci5kaHRoeHExIHsKICBoZWlnaHQ6IDEwMCU7Cn0KLmRodGh4cTIgewogIHRvcDogMDsKfQouZGh0aHhxMyB7CiAgbGVmdDogMDsKfQouZGh0aHhxNCB7CiAgcG9zaXRpb246IGFic29sdXRlOwp9Ci5kaHRoeHE1IHsKICBwb3NpdGlvbjogcmVsYXRpdmU7Cn0KLmRodGh4cTcgewogIGRpc3BsYXk6IGZsZXg7Cn0KLmRodGh4cTggewogIGZsZXg6IDE7Cn0KLmRodGh4cTkgewogIGFsaWduLWl0ZW1zOiBjZW50ZXI7Cn0KLmRodGh4cWEgewogIGFsaWduLWl0ZW1zOiBmbGV4LWVuZDsKfQouZGh0aHhxYiB7CiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7Cn0KLmRodGh4cWMgewogIG92ZXJmbG93OiBoaWRkZW47Cn0KLmRodGh4cWQgewogIHdoaXRlLXNwYWNlOiBub3dyYXA7Cn0KLmRodGh4cWUgewogIHRleHQtYWxpZ246IGNlbnRlcjsKfQouZGh0aHhxZiB7CiAgY3Vyc29yOiBwb2ludGVyOwogIC13ZWJraXQtdGFwLWhpZ2hsaWdodC1jb2xvcjogdHJhbnNwYXJlbnQ7Cn0KLmRodGh4cWcgewogIGJveC1zaXppbmc6IGJvcmRlci1ib3g7Cn0KLmRodGh4cWggewogIGJveC1zaXppbmc6IGNvbnRlbnQtYm94Owp9Ci5kaHRoeHFpIHsKICBhcHBlYXJhbmNlOiBub25lOwogIGJvcmRlcjogMDsKICBwYWRkaW5nOiAwOwogIGJhY2tncm91bmQ6IG5vbmU7Cn0=';\nimport 'src/components/AppScreen.css.ts.vanilla.css?source=#H4sIAAAAAAAAA9WUz46bMBDG73mKuVQCFUcm2fSPc+mbVAN2iAPY1Jhk02rfvcLABkggyaqXcrI0nt98M/Ph5c+QZ7uX9ctX+LMAiDBOE6MrxUmsM20YHNF4hJQW43SX6RMpsiqRikRYyphUknCZk3GWv128LZYd+dsHyfPU745qDapSWqkVa847bfKW3N2kfgC6wFja81VkgOQXZI1piRlaseZeSOmnAGgAo6SDS2r5DOh2AfCbSMXFKxuVC7vMX1/4YXWgMILshUz2lkFIjci3g5kxyKQSaEhikEuhrPehvQRgkgg92jRS9+IkLcB973KwpywYB6NesIkNBhDeAsZzQD4PpINxp03wKIzr+sygjI3Osnpc5CSiVFryHm1CUiUMrK7i/cxuVsOtpox1tAYSoXGVuSyLDM8MlFZisM4QRiIfM1I7DTePK1BvEWkwe7O3lbS7OCOCDq18Zcj0hqunUc6w0w3Rhxui9xvqG+3R9hpM5vIvK9/cf4KwKEiEhjR/pr/9By9OADmauojVxZP1yaU24ZXB+uA0XYhjW29cvHtYYsxi5z8gV/f8KTPnd3zU+nnSSmouf3P7UdUu5yS53TMIl6tN+yBO/LzrYXbRVLxM46kFTw/rYYyT86OsikIbW4LX30+sVWlRWa/EnSBoBBKpSmHrqO875SPHjjzrdD0pCD5Djq8PZ+VSkVvygjvq3fzepnsX6vh/tj0pvOv4L/aSeA1HCQAA';\nimport 'src/components/AppBar.css.ts.vanilla.css?source=#H4sIAAAAAAAAA+1YTXPbIBC9+1dwyYzdERrkryTyrYfeeuoPyCCEbGIEKmBbTif/vSMkWV+WbGc8PaTJSYFl2X37eCx2X7zjdobnCwT+jACImYAbytYb44M9VmMItcFkG3F5gAnfrZmAAdaMwB2DOElggBWs1kxWo/eRW3r0rEe5pypbfr2/ckXT29R6CzDZrpXciRASyaW63mt75WQ1AuANMhHStPTy4oU8ms/mcztpFBaaGSaF39n3w9vCyisMdwpnHxMHBDKFeoNDebjes1QhVQNeC/h+L8PX6asHWkgmsswNB1rynaFd+xwN0l5qN4ukiv38k2NDZ+HYQ+jBAcgB6FPA51R5AqQb4KA2IjLBhJmjD9CqHx/kAA8pGn9GgJrnB02cEpLOTAbkCBR/TURzE1wD1xm0DGqWpWGjGt5wNQqq1kRmlovMCSwfMKGpAShJAcGcjKEHvt2KoGZvdDIB6EPI957i+dBRtFRD+80X1U4EqlHIO0u2uXPBtka3eWU6XIU6xYaE9auaV1XznAIvPnzmO4JC2l7/45suh2FpYSg7whin41u6Qo0jCrGiGFoZhUYmEwcQKbTBwozPTVtA77sfFfu+rWqZPjYyvXbXU9/bZEE+fKOXoSYuj/Ep79xwGDKx9gECyF0oGjdtfBon5mgtQ6YTjo8+EFLQhtWznb+xhWZEilrzXE+4PLQzhGLtgNuoX/ntgQCAAwvNxgdTd5onXFVq6j52MHj2MTFsT1u9mTvtCxvdP+ZaOMTGUaTQlLWlze7GOhiamp463I94twJSBXX5MVJT7wY2ma5mGb3utGHRERIpDBXGBxGnaRaDMqvqAEBOI+MDryBEJIWxvZYPPNd7eiyJwpmgpzet5y5OtodiLJA8XJVtH3uzR6vQzECmff0X6X1F1c5dFnc2gDlbC8gMjbUPCBWGqrN5VlMWTrusPmrjjnDM+NEHGfScQn3UJntUfOdMbH9i8sv+/0MK08l0iVAbqRIkC+Uih//crTeGC/TQEOePSKRM/t0lcsfNLt0gHVaHdaEueIrcWVepcolqoF9R9aR1wwWJcQqLA1QuaAn/gPicJzdtXh8Bl2TbiDvK26OMpNUPPJRzlmimWxxjYkMV67LxNF7zu+674bI0VVa2HCu8M7K58MK11ylRz07Zx2r0/hdD7wNuFxMAAA==';\nimport { createRuntimeFn as _7a468 } from '@vanilla-extract/recipes/createRuntimeFn';\nexport var appBar = _7a468({defaultClassName:'_1yk3a452 dhthxq4 dhthxq0 dhthxqh _1dlf4348 _1yk3a451',variantClassNames:{border:{true:'_1yk3a453'},modalPresentationStyle:{fullScreen:'_1yk3a454'},activityEnterStyle:{slideInLeft:'_1yk3a455'}},defaultVariants:{},compoundVariants:[]});\nexport var backButton = '_1yk3a459 dhthxq9 dhthxq7 dhthxqb dhthxqf dhthxqi';\nexport var center = 'dhthxq9 dhthxq7 dhthxq8 _1yk3a450';\nexport var centerMain = _7a468({defaultClassName:'_1yk3a45c',variantClassNames:{hasLeft:{true:'_1yk3a45d'}},defaultVariants:{},compoundVariants:[]});\nexport var centerMainEdge = '_1yk3a45e dhthxqi dhthxq4 dhthxq2 dhthxqf';\nexport var centerText = '_1yk3a45f dhthxqc dhthxqd dhthxq0';\nexport var closeButton = '_1yk3a459 dhthxq9 dhthxq7 dhthxqb dhthxqf dhthxqi';\nexport var container = '_1yk3a457 dhthxqa dhthxq7 _1yk3a451';\nexport var left = '_1yk3a458 dhthxq9 dhthxq7 dhthxq1 _1yk3a450';\nexport var right = '_1yk3a45g dhthxq9 dhthxq7 dhthxq1 dhthxq5 _1yk3a450';\nexport var safeArea = '_1yk3a456';", "import 'src/basicUIPlugin.css.ts.vanilla.css?source=#H4sIAAAAAAAAA+3X0UrDMBQG4Ps9RcAbBVPaah1k+CQikjan7dnWnJqczqHs3WXD6c1m7SrIMNCLXvRPf8jJB4mekuc7M0/nsXibCCGlZ10syiW9yHbZVWhlrj0WskOZ62JROeqskQUtySlxUZblrCdlsDmQdFWuL+Nr8fFESXbVtxA7bT0ykpWmc3r7okTs+2IFNW3HYE7N67aVuXYyJ2fAHesfT3v7H1rol0p5fAUlknb901wNWNWsxE2UOWiGpcZ2btCe+H8syH6OXpqkSXo7PDq2PsOaTyzxFR297ycdxWPpsW1oBW77gRI1GgN2yCR4XYLUDrRE64ElU6tE3D/JOTFTI30NwPtj4LTBziuR7GZqM4n2tiXBtjO3LY6y4bql0fRveRtYIPgWfBvim3JE/GA06+9oqaGB+6JrwTFaegwUBgoDhYHCf0uhtsYRmgDhuUMY7rsBwYDgoftutrOtJbQMTsIKLHslLFmYTTbvJq/pt/ITAAA=';\nimport 'src/styles/f.css.ts.vanilla.css?source=LmRodGh4cTAgewogIHdpZHRoOiAxMDAlOwp9Ci5kaHRoeHExIHsKICBoZWlnaHQ6IDEwMCU7Cn0KLmRodGh4cTIgewogIHRvcDogMDsKfQouZGh0aHhxMyB7CiAgbGVmdDogMDsKfQouZGh0aHhxNCB7CiAgcG9zaXRpb246IGFic29sdXRlOwp9Ci5kaHRoeHE1IHsKICBwb3NpdGlvbjogcmVsYXRpdmU7Cn0KLmRodGh4cTcgewogIGRpc3BsYXk6IGZsZXg7Cn0KLmRodGh4cTggewogIGZsZXg6IDE7Cn0KLmRodGh4cTkgewogIGFsaWduLWl0ZW1zOiBjZW50ZXI7Cn0KLmRodGh4cWEgewogIGFsaWduLWl0ZW1zOiBmbGV4LWVuZDsKfQouZGh0aHhxYiB7CiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7Cn0KLmRodGh4cWMgewogIG92ZXJmbG93OiBoaWRkZW47Cn0KLmRodGh4cWQgewogIHdoaXRlLXNwYWNlOiBub3dyYXA7Cn0KLmRodGh4cWUgewogIHRleHQtYWxpZ246IGNlbnRlcjsKfQouZGh0aHhxZiB7CiAgY3Vyc29yOiBwb2ludGVyOwogIC13ZWJraXQtdGFwLWhpZ2hsaWdodC1jb2xvcjogdHJhbnNwYXJlbnQ7Cn0KLmRodGh4cWcgewogIGJveC1zaXppbmc6IGJvcmRlci1ib3g7Cn0KLmRodGh4cWggewogIGJveC1zaXppbmc6IGNvbnRlbnQtYm94Owp9Ci5kaHRoeHFpIHsKICBhcHBlYXJhbmNlOiBub25lOwogIGJvcmRlcjogMDsKICBwYWRkaW5nOiAwOwogIGJhY2tncm91bmQ6IG5vbmU7Cn0=';\nimport 'src/components/AppScreen.css.ts.vanilla.css?source=#H4sIAAAAAAAAA9WUz46bMBDG73mKuVQCFUcm2fSPc+mbVAN2iAPY1Jhk02rfvcLABkggyaqXcrI0nt98M/Ph5c+QZ7uX9ctX+LMAiDBOE6MrxUmsM20YHNF4hJQW43SX6RMpsiqRikRYyphUknCZk3GWv128LZYd+dsHyfPU745qDapSWqkVa847bfKW3N2kfgC6wFja81VkgOQXZI1piRlaseZeSOmnAGgAo6SDS2r5DOh2AfCbSMXFKxuVC7vMX1/4YXWgMILshUz2lkFIjci3g5kxyKQSaEhikEuhrPehvQRgkgg92jRS9+IkLcB973KwpywYB6NesIkNBhDeAsZzQD4PpINxp03wKIzr+sygjI3Osnpc5CSiVFryHm1CUiUMrK7i/cxuVsOtpox1tAYSoXGVuSyLDM8MlFZisM4QRiIfM1I7DTePK1BvEWkwe7O3lbS7OCOCDq18Zcj0hqunUc6w0w3Rhxui9xvqG+3R9hpM5vIvK9/cf4KwKEiEhjR/pr/9By9OADmauojVxZP1yaU24ZXB+uA0XYhjW29cvHtYYsxi5z8gV/f8KTPnd3zU+nnSSmouf3P7UdUu5yS53TMIl6tN+yBO/LzrYXbRVLxM46kFTw/rYYyT86OsikIbW4LX30+sVWlRWa/EnSBoBBKpSmHrqO875SPHjjzrdD0pCD5Djq8PZ+VSkVvygjvq3fzepnsX6vh/tj0pvOv4L/aSeA1HCQAA';\nimport { createRuntimeFn as _7a468 } from '@vanilla-extract/recipes/createRuntimeFn';\nexport var allTransitions = '_1dlf4349';\nexport var appScreen = _7a468({defaultClassName:'dhthxq4 dhthxq0 dhthxq1 dhthxq2 dhthxq3 dhthxqc',variantClassNames:{transitionState:{'enter-active':'_1dlf434a','enter-done':'_1dlf434b','exit-active':'_1dlf434c','exit-done':'_1dlf434d'}},defaultVariants:{},compoundVariants:[]});\nexport var background = '_1dlf4348';\nexport var dim = '_1dlf434j dhthxq4 dhthxq0 dhthxq1 dhthxq2 dhthxq3 _1dlf4347 _1dlf4349';\nexport var edge = _7a468({defaultClassName:'_1dlf434o dhthxq4 dhthxq2 dhthxq3 dhthxq1',variantClassNames:{hasAppBar:{true:'_1dlf434p'}},defaultVariants:{},compoundVariants:[]});\nexport var enterActive = '_1dlf434a';\nexport var enterDone = '_1dlf434b';\nexport var exitActive = '_1dlf434c';\nexport var exitDone = '_1dlf434d';\nexport var paper = _7a468({defaultClassName:'_1dlf434k dhthxq4 dhthxq0 dhthxq1 dhthxq2 dhthxq3 _1dlf4348 _1dlf4349',variantClassNames:{hasAppBar:{true:'_1dlf434l dhthxqg'},modalPresentationStyle:{fullScreen:'_1dlf434m'},activityEnterStyle:{slideInLeft:'_1dlf434n'}},defaultVariants:{},compoundVariants:[]});\nexport var vars = {transitionDuration:'var(--_1dlf4340)',zIndexes:{dim:'var(--_1dlf4341)',paper:'var(--_1dlf4342)',edge:'var(--_1dlf4343)',appBar:'var(--_1dlf4344)'},appBar:{topMargin:'var(--_1dlf4345)',center:{mainWidth:'var(--_1dlf4346)'}}};", "import { useActions } from \"@stackflow/react\";\nimport { assignInlineVars } from \"@vanilla-extract/dynamic\";\nimport { useRef } from \"react\";\n\nimport {\n useLazy,\n useNullableActivity,\n useStyleEffect,\n useZIndexBase,\n} from \"@stackflow/react-ui-core\";\nimport type { GlobalVars } from \"../basicUIPlugin.css\";\nimport { globalVars } from \"../basicUIPlugin.css\";\nimport { compactMap } from \"../utils\";\nimport * as css from \"./BottomSheet.css\";\n\nexport type BottomSheetProps = Partial<\n Pick<GlobalVars, \"backgroundColor\" | \"dimBackgroundColor\">\n> &\n Partial<GlobalVars[\"bottomSheet\"]> & {\n paperRef?: React.Ref<HTMLDivElement>;\n onOutsideClick?: React.MouseEventHandler;\n children: React.ReactNode;\n };\nconst BottomSheet: React.FC<BottomSheetProps> = ({\n borderRadius = \"1rem\",\n backgroundColor,\n dimBackgroundColor,\n paperRef,\n onOutsideClick,\n children,\n}) => {\n const activity = useNullableActivity();\n const { pop } = useActions();\n\n const containerRef = useRef<HTMLDivElement>(null);\n const dimRef = useRef<HTMLDivElement>(null);\n\n useStyleEffect({\n styleName: \"hide\",\n refs: [containerRef],\n });\n useStyleEffect({\n styleName: \"offset\",\n refs: [dimRef],\n });\n useStyleEffect({\n styleName: \"swipe-back\",\n refs: [dimRef],\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 = useZIndexBase() + 3;\n const zIndexPaper = useZIndexBase() + 4;\n const transitionState = activity?.transitionState ?? \"enter-done\";\n\n return (\n <div\n className={css.container({\n transitionState: useLazy(transitionState),\n })}\n ref={containerRef}\n style={assignInlineVars(\n compactMap({\n [globalVars.bottomSheet.borderRadius]: borderRadius,\n [globalVars.backgroundColor]: backgroundColor,\n [globalVars.dimBackgroundColor]: dimBackgroundColor,\n [css.vars.zIndexes.dim]: `${zIndexBase}`,\n [css.vars.zIndexes.paper]: `${zIndexPaper}`,\n [css.vars.transitionDuration]:\n transitionState === \"enter-active\" ||\n transitionState === \"exit-active\"\n ? globalVars.computedTransitionDuration\n : \"0ms\",\n }),\n )}\n data-stackflow-component-name=\"BottomSheet\"\n data-stackflow-activity-id={activity?.id}\n data-stackflow-activity-is-active={activity?.isActive}\n >\n <div className={css.dim} ref={dimRef} onClick={onDimClick}>\n <div className={css.paper} ref={paperRef} onClick={onPaperClick}>\n {children}\n </div>\n </div>\n </div>\n );\n};\n\nBottomSheet.displayName = \"BottomSheet\";\n\nexport default BottomSheet;\n", "import 'src/basicUIPlugin.css.ts.vanilla.css?source=#H4sIAAAAAAAAA+3X0UrDMBQG4Ps9RcAbBVPaah1k+CQikjan7dnWnJqczqHs3WXD6c1m7SrIMNCLXvRPf8jJB4mekuc7M0/nsXibCCGlZ10syiW9yHbZVWhlrj0WskOZ62JROeqskQUtySlxUZblrCdlsDmQdFWuL+Nr8fFESXbVtxA7bT0ykpWmc3r7okTs+2IFNW3HYE7N67aVuXYyJ2fAHesfT3v7H1rol0p5fAUlknb901wNWNWsxE2UOWiGpcZ2btCe+H8syH6OXpqkSXo7PDq2PsOaTyzxFR297ycdxWPpsW1oBW77gRI1GgN2yCR4XYLUDrRE64ElU6tE3D/JOTFTI30NwPtj4LTBziuR7GZqM4n2tiXBtjO3LY6y4bql0fRveRtYIPgWfBvim3JE/GA06+9oqaGB+6JrwTFaegwUBgoDhYHCf0uhtsYRmgDhuUMY7rsBwYDgoftutrOtJbQMTsIKLHslLFmYTTbvJq/pt/ITAAA=';\nimport 'src/styles/f.css.ts.vanilla.css?source=LmRodGh4cTAgewogIHdpZHRoOiAxMDAlOwp9Ci5kaHRoeHExIHsKICBoZWlnaHQ6IDEwMCU7Cn0KLmRodGh4cTIgewogIHRvcDogMDsKfQouZGh0aHhxMyB7CiAgbGVmdDogMDsKfQouZGh0aHhxNCB7CiAgcG9zaXRpb246IGFic29sdXRlOwp9Ci5kaHRoeHE1IHsKICBwb3NpdGlvbjogcmVsYXRpdmU7Cn0KLmRodGh4cTcgewogIGRpc3BsYXk6IGZsZXg7Cn0KLmRodGh4cTggewogIGZsZXg6IDE7Cn0KLmRodGh4cTkgewogIGFsaWduLWl0ZW1zOiBjZW50ZXI7Cn0KLmRodGh4cWEgewogIGFsaWduLWl0ZW1zOiBmbGV4LWVuZDsKfQouZGh0aHhxYiB7CiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7Cn0KLmRodGh4cWMgewogIG92ZXJmbG93OiBoaWRkZW47Cn0KLmRodGh4cWQgewogIHdoaXRlLXNwYWNlOiBub3dyYXA7Cn0KLmRodGh4cWUgewogIHRleHQtYWxpZ246IGNlbnRlcjsKfQouZGh0aHhxZiB7CiAgY3Vyc29yOiBwb2ludGVyOwogIC13ZWJraXQtdGFwLWhpZ2hsaWdodC1jb2xvcjogdHJhbnNwYXJlbnQ7Cn0KLmRodGh4cWcgewogIGJveC1zaXppbmc6IGJvcmRlci1ib3g7Cn0KLmRodGh4cWggewogIGJveC1zaXppbmc6IGNvbnRlbnQtYm94Owp9Ci5kaHRoeHFpIHsKICBhcHBlYXJhbmNlOiBub25lOwogIGJvcmRlcjogMDsKICBwYWRkaW5nOiAwOwogIGJhY2tncm91bmQ6IG5vbmU7Cn0=';\nimport 'src/components/BottomSheet.css.ts.vanilla.css?source=Ll8xaHQzOGgwMyB7CiAgdHJhbnNpdGlvbjogdmFyKC0tXzFodDM4aDAwKTsKfQouXzFodDM4aDA3IHsKICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDEwMCUsIDAsIDApOwp9Ci5fMWh0MzhoMGQgewogIGJhY2tncm91bmQtY29sb3I6IHZhcigtLXN0YWNrZmxvdy1wbHVnaW4tYmFzaWMtdWktZGltLWJhY2tncm91bmQtY29sb3IpOwogIHotaW5kZXg6IHZhcigtLV8xaHQzOGgwMSk7CiAgb3BhY2l0eTogMDsKfQouXzFodDM4aDA0IC5fMWh0MzhoMGQsIC5fMWh0MzhoMDUgLl8xaHQzOGgwZCB7CiAgb3BhY2l0eTogMTsKfQouXzFodDM4aDA2IC5fMWh0MzhoMGQsIC5fMWh0MzhoMDcgLl8xaHQzOGgwZCB7CiAgb3BhY2l0eTogMDsKfQouXzFodDM4aDBlIHsKICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1zdGFja2Zsb3ctcGx1Z2luLWJhc2ljLXVpLWJhY2tncm91bmQtY29sb3IpOwogIHdpZHRoOiAxMDAlOwogIGJvcmRlci1yYWRpdXM6IHZhcigtLXN0YWNrZmxvdy1wbHVnaW4tYmFzaWMtdWktYm90dG9tLXNoZWV0LWJvcmRlci1yYWRpdXMpIHZhcigtLXN0YWNrZmxvdy1wbHVnaW4tYmFzaWMtdWktYm90dG9tLXNoZWV0LWJvcmRlci1yYWRpdXMpIDAgMDsKICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDEwMCUsIDApOwogIG9wYWNpdHk6IDA7Cn0KLl8xaHQzOGgwNCAuXzFodDM4aDBlLCAuXzFodDM4aDA1IC5fMWh0MzhoMGUgewogIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7CiAgb3BhY2l0eTogMTsKfQouXzFodDM4aDA2IC5fMWh0MzhoMGUsIC5fMWh0MzhoMDcgLl8xaHQzOGgwZSB7CiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAxMDAlLCAwKSAhaW1wb3J0YW50OwogIG9wYWNpdHk6IDAgIWltcG9ydGFudDsKfQ==';\nimport { createRuntimeFn as _7a468 } from '@vanilla-extract/recipes/createRuntimeFn';\nexport var container = _7a468({defaultClassName:'dhthxq4 dhthxq0 dhthxq1 dhthxq2 dhthxq3 dhthxqc',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 dhthxqc dhthxqa dhthxq7 _1ht38h03';\nexport var enterActive = '_1ht38h04';\nexport var enterDone = '_1ht38h05';\nexport var exitActive = '_1ht38h06';\nexport var exitDone = '_1ht38h07';\nexport var paper = '_1ht38h0e dhthxqc _1ht38h03';\nexport var vars = {transitionDuration:'var(--_1ht38h00)',zIndexes:{dim:'var(--_1ht38h01)',paper:'var(--_1ht38h02)'}};", "import { useActions } from \"@stackflow/react\";\nimport { assignInlineVars } from \"@vanilla-extract/dynamic\";\nimport { useRef } from \"react\";\n\nimport {\n useLazy,\n useNullableActivity,\n useStyleEffect,\n useZIndexBase,\n} from \"@stackflow/react-ui-core\";\nimport type { GlobalVars } from \"../basicUIPlugin.css\";\nimport { globalVars } from \"../basicUIPlugin.css\";\nimport { compactMap } from \"../utils\";\nimport * as css from \"./Modal.css\";\n\nexport type ModalProps = Partial<\n Pick<GlobalVars, \"backgroundColor\" | \"dimBackgroundColor\">\n> &\n Partial<GlobalVars[\"modal\"]> & {\n onOutsideClick?: React.MouseEventHandler;\n children: React.ReactNode;\n };\nconst Modal: React.FC<ModalProps> = ({\n backgroundColor,\n dimBackgroundColor,\n borderRadius = \"1rem\",\n onOutsideClick,\n children,\n}) => {\n const activity = useNullableActivity();\n const { pop } = useActions();\n\n const containerRef = useRef<HTMLDivElement>(null);\n const paperRef = useRef<HTMLDivElement>(null);\n\n useStyleEffect({\n styleName: \"hide\",\n refs: [containerRef],\n });\n useStyleEffect({\n styleName: \"offset\",\n refs: [paperRef],\n });\n useStyleEffect({\n styleName: \"swipe-back\",\n refs: [paperRef],\n });\n\n const popLock = useRef(false);\n\n const onDimClick: React.MouseEventHandler = (e) => {\n onOutsideClick?.(e);\n\n if (e.defaultPrevented) {\n return;\n }\n\n if (popLock.current) {\n return;\n }\n popLock.current = true;\n\n pop();\n };\n const onPaperClick: React.MouseEventHandler = (e) => {\n e.stopPropagation();\n };\n\n const zIndexBase = useZIndexBase() + 3;\n const zIndexPaper = useZIndexBase() + 4;\n const transitionState = activity?.transitionState ?? \"enter-done\";\n\n return (\n <div\n className={css.container({\n transitionState: useLazy(transitionState),\n })}\n ref={containerRef}\n style={assignInlineVars(\n compactMap({\n [globalVars.bottomSheet.borderRadius]: borderRadius,\n [globalVars.backgroundColor]: backgroundColor,\n [globalVars.dimBackgroundColor]: dimBackgroundColor,\n [css.vars.zIndexes.dim]: `${zIndexBase}`,\n [css.vars.zIndexes.paper]: `${zIndexPaper}`,\n [css.vars.transitionDuration]:\n transitionState === \"enter-active\" ||\n transitionState === \"exit-active\"\n ? globalVars.computedTransitionDuration\n : \"0ms\",\n }),\n )}\n data-stackflow-component-name=\"Modal\"\n data-stackflow-activity-id={activity?.id}\n data-stackflow-activity-is-active={activity?.isActive}\n >\n <div className={css.dim} ref={paperRef} onClick={onDimClick}>\n <div className={css.paper} onClick={onPaperClick}>\n {children}\n </div>\n </div>\n </div>\n );\n};\n\nModal.displayName = \"Modal\";\n\nexport default Modal;\n", "import 'src/basicUIPlugin.css.ts.vanilla.css?source=#H4sIAAAAAAAAA+3X0UrDMBQG4Ps9RcAbBVPaah1k+CQikjan7dnWnJqczqHs3WXD6c1m7SrIMNCLXvRPf8jJB4mekuc7M0/nsXibCCGlZ10syiW9yHbZVWhlrj0WskOZ62JROeqskQUtySlxUZblrCdlsDmQdFWuL+Nr8fFESXbVtxA7bT0ykpWmc3r7okTs+2IFNW3HYE7N67aVuXYyJ2fAHesfT3v7H1rol0p5fAUlknb901wNWNWsxE2UOWiGpcZ2btCe+H8syH6OXpqkSXo7PDq2PsOaTyzxFR297ycdxWPpsW1oBW77gRI1GgN2yCR4XYLUDrRE64ElU6tE3D/JOTFTI30NwPtj4LTBziuR7GZqM4n2tiXBtjO3LY6y4bql0fRveRtYIPgWfBvim3JE/GA06+9oqaGB+6JrwTFaegwUBgoDhYHCf0uhtsYRmgDhuUMY7rsBwYDgoftutrOtJbQMTsIKLHslLFmYTTbvJq/pt/ITAAA=';\nimport 'src/styles/f.css.ts.vanilla.css?source=LmRodGh4cTAgewogIHdpZHRoOiAxMDAlOwp9Ci5kaHRoeHExIHsKICBoZWlnaHQ6IDEwMCU7Cn0KLmRodGh4cTIgewogIHRvcDogMDsKfQouZGh0aHhxMyB7CiAgbGVmdDogMDsKfQouZGh0aHhxNCB7CiAgcG9zaXRpb246IGFic29sdXRlOwp9Ci5kaHRoeHE1IHsKICBwb3NpdGlvbjogcmVsYXRpdmU7Cn0KLmRodGh4cTcgewogIGRpc3BsYXk6IGZsZXg7Cn0KLmRodGh4cTggewogIGZsZXg6IDE7Cn0KLmRodGh4cTkgewogIGFsaWduLWl0ZW1zOiBjZW50ZXI7Cn0KLmRodGh4cWEgewogIGFsaWduLWl0ZW1zOiBmbGV4LWVuZDsKfQouZGh0aHhxYiB7CiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7Cn0KLmRodGh4cWMgewogIG92ZXJmbG93OiBoaWRkZW47Cn0KLmRodGh4cWQgewogIHdoaXRlLXNwYWNlOiBub3dyYXA7Cn0KLmRodGh4cWUgewogIHRleHQtYWxpZ246IGNlbnRlcjsKfQouZGh0aHhxZiB7CiAgY3Vyc29yOiBwb2ludGVyOwogIC13ZWJraXQtdGFwLWhpZ2hsaWdodC1jb2xvcjogdHJhbnNwYXJlbnQ7Cn0KLmRodGh4cWcgewogIGJveC1zaXppbmc6IGJvcmRlci1ib3g7Cn0KLmRodGh4cWggewogIGJveC1zaXppbmc6IGNvbnRlbnQtYm94Owp9Ci5kaHRoeHFpIHsKICBhcHBlYXJhbmNlOiBub25lOwogIGJvcmRlcjogMDsKICBwYWRkaW5nOiAwOwogIGJhY2tncm91bmQ6IG5vbmU7Cn0=';\nimport 'src/components/Modal.css.ts.vanilla.css?source=Ll81b3pnOGMzIHsKICB0cmFuc2l0aW9uOiB2YXIoLS1fNW96ZzhjMCk7Cn0KLl81b3pnOGM3IHsKICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDEwMCUsIDAsIDApOwp9Ci5fNW96ZzhjZCB7CiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tc3RhY2tmbG93LXBsdWdpbi1iYXNpYy11aS1kaW0tYmFja2dyb3VuZC1jb2xvcik7CiAgei1pbmRleDogdmFyKC0tXzVvemc4YzEpOwogIG9wYWNpdHk6IDA7Cn0KLl81b3pnOGM0IC5fNW96ZzhjZCwgLl81b3pnOGM1IC5fNW96ZzhjZCB7CiAgb3BhY2l0eTogMTsKfQouXzVvemc4YzYgLl81b3pnOGNkLCAuXzVvemc4YzcgLl81b3pnOGNkIHsKICBvcGFjaXR5OiAwOwp9Ci5fNW96ZzhjZSB7CiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tc3RhY2tmbG93LXBsdWdpbi1iYXNpYy11aS1iYWNrZ3JvdW5kLWNvbG9yKTsKICB3aWR0aDogMTAwJTsKICBtYXJnaW46IDAgMi41cmVtOwogIGJveC1zaGFkb3c6IDBweCAwLjYyNXJlbSAyLjM3NXJlbSByZ2JhKDAsIDAsIDAsIDAuMTUpLCAwcHggLjU2MjVyZW0gMi44NzVyZW0gcmdiYSgwLCAwLCAwLCAwLjEyKSwgMHB4IC4zMTI1cmVtIC45Mzc1cmVtIHJnYmEoMCwgMCwgMCwgMC4xKTsKICBib3JkZXItcmFkaXVzOiB2YXIoLS1zdGFja2Zsb3ctcGx1Z2luLWJhc2ljLXVpLWJvdHRvbS1zaGVldC1ib3JkZXItcmFkaXVzKTsKICB0cmFuc2Zvcm06IHNjYWxlKDEuMSk7CiAgb3BhY2l0eTogMDsKfQouXzVvemc4YzQgLl81b3pnOGNlLCAuXzVvemc4YzUgLl81b3pnOGNlIHsKICB0cmFuc2Zvcm06IHNjYWxlKDEpOwogIG9wYWNpdHk6IDE7Cn0KLl81b3pnOGM2IC5fNW96ZzhjZSwgLl81b3pnOGM3IC5fNW96ZzhjZSB7CiAgdHJhbnNmb3JtOiBzY2FsZSgxLjEpOwogIG9wYWNpdHk6IDA7Cn0=';\nimport { createRuntimeFn as _7a468 } from '@vanilla-extract/recipes/createRuntimeFn';\nexport var container = _7a468({defaultClassName:'dhthxq4 dhthxq0 dhthxq1 dhthxq2 dhthxq3 dhthxqc',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 dhthxqc dhthxq9 dhthxq7 dhthxqb _5ozg8c3';\nexport var enterActive = '_5ozg8c4';\nexport var enterDone = '_5ozg8c5';\nexport var exitActive = '_5ozg8c6';\nexport var exitDone = '_5ozg8c7';\nexport var paper = '_5ozg8ce dhthxqc _5ozg8c3';\nexport var vars = {transitionDuration:'var(--_5ozg8c0)',zIndexes:{dim:'var(--_5ozg8c1)',paper:'var(--_5ozg8c2)'}};"],
5
+ "mappings": "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",
6
+ "names": ["vars", "import_jsx_runtime", "_7a468", "import_jsx_runtime", "import_react", "import_dynamic", "import_react_ui_core", "import_react", "import_dynamic", "import_createRuntimeFn", "_7a468", "import_createRuntimeFn", "_7a468", "_7a468", "import_jsx_runtime", "backButton", "closeButton", "_a", "_b", "import_jsx_runtime", "appBar", "_a", "import_react", "import_dynamic", "import_react_ui_core", "import_createRuntimeFn", "container", "_7a468", "dim", "paper", "vars", "import_jsx_runtime", "container", "vars", "dim", "paper", "import_react", "import_dynamic", "import_react_ui_core", "import_createRuntimeFn", "container", "_7a468", "dim", "paper", "vars", "import_jsx_runtime", "container", "vars", "dim", "paper"]
7
7
  }
package/dist/index.mjs CHANGED
@@ -76,24 +76,15 @@ import { assignInlineVars } from "@vanilla-extract/dynamic";
76
76
  import { createContext, useContext } from "react";
77
77
 
78
78
  // src/basicUIPlugin.css.ts
79
+ import { createRuntimeFn as _7a468 } from "@vanilla-extract/recipes/createRuntimeFn";
79
80
  var globalVars = { backgroundColor: "var(--stackflow-plugin-basic-ui-background-color)", dimBackgroundColor: "var(--stackflow-plugin-basic-ui-dim-background-color)", transitionDuration: "var(--stackflow-plugin-basic-ui-transition-duration)", computedTransitionDuration: "var(--stackflow-plugin-basic-ui-computed-transition-duration)", appBar: { borderColor: "var(--stackflow-plugin-basic-ui-app-bar-border-color)", borderColorTransitionDuration: "var(--stackflow-plugin-basic-ui-app-bar-border-color-transition-duration)", borderSize: "var(--stackflow-plugin-basic-ui-app-bar-border-size)", height: "var(--stackflow-plugin-basic-ui-app-bar-height)", heightTransitionDuration: "var(--stackflow-plugin-basic-ui-app-bar-height-transition-duration)", minHeight: "var(--stackflow-plugin-basic-ui-app-bar-min-height)", iconColor: "var(--stackflow-plugin-basic-ui-app-bar-icon-color)", iconColorTransitionDuration: "var(--stackflow-plugin-basic-ui-app-bar-icon-color-transition-duration)", textColor: "var(--stackflow-plugin-basic-ui-app-bar-text-color)", textColorTransitionDuration: "var(--stackflow-plugin-basic-ui-app-bar-text-color-transition-duration)", backgroundColor: "var(--stackflow-plugin-basic-ui-app-bar-background-color)", backgroundColorTransitionDuration: "var(--stackflow-plugin-basic-ui-app-bar-background-color-transition-duration)", overflow: "var(--stackflow-plugin-basic-ui-app-bar-overflow)", minSafeAreaInsetTop: "var(--stackflow-plugin-basic-ui-app-bar-min-safe-area-inset-top)" }, bottomSheet: { borderRadius: "var(--stackflow-plugin-basic-ui-bottom-sheet-border-radius)" }, modal: { borderRadius: "var(--stackflow-plugin-basic-ui-bottom-sheet-border-radius)" } };
81
+ var stackWrapper = _7a468({ defaultClassName: "_1q6dj2j2", variantClassNames: { theme: { android: "_1q6dj2j0", cupertino: "_1q6dj2j1" }, loading: { true: "_1q6dj2j5" } }, defaultVariants: {}, compoundVariants: [] });
80
82
 
81
- // src/components/RootStyles.ts
82
- import { useLayoutEffect } from "react";
83
- function RootStyles({ theme, styles }) {
84
- useLayoutEffect(() => {
85
- const root = document.querySelector(":root");
86
- if (!root) {
87
- return;
88
- }
89
- for (const [key, value] of Object.entries(styles)) {
90
- if (value) {
91
- root.style.setProperty(key, value);
92
- }
93
- }
94
- root.dataset.stackflowPluginBasicUiTheme = theme;
95
- }, [styles, theme]);
96
- return null;
83
+ // src/utils/compact.ts
84
+ function compact(arr) {
85
+ return arr.filter(
86
+ (item) => item !== void 0 && item !== null
87
+ );
97
88
  }
98
89
 
99
90
  // src/utils/compactMap.ts
@@ -107,7 +98,7 @@ function compactMap(obj) {
107
98
  }
108
99
 
109
100
  // src/basicUIPlugin.tsx
110
- import { jsx as jsx3, jsxs as jsxs2 } from "react/jsx-runtime";
101
+ import { jsx as jsx3 } from "react/jsx-runtime";
111
102
  var GlobalOptionsContext = createContext({
112
103
  theme: "android"
113
104
  });
@@ -118,35 +109,43 @@ function useGlobalOptions() {
118
109
  var basicUIPlugin = (options) => () => ({
119
110
  key: "basic-ui",
120
111
  wrapStack({ stack, initialContext }) {
121
- var _a, _b, _c, _d, _e, _f, _g, _h, _i;
112
+ var _a, _b, _c, _d, _e, _f, _g, _h, _i, _j;
122
113
  const _options = typeof options === "function" ? options({ initialContext }) : options;
123
- const styles = assignInlineVars(
124
- compactMap({
125
- [globalVars.backgroundColor]: _options.backgroundColor,
126
- [globalVars.dimBackgroundColor]: _options.dimBackgroundColor,
127
- [globalVars.transitionDuration]: `${stack.transitionDuration}ms`,
128
- [globalVars.computedTransitionDuration]: stack.globalTransitionState === "loading" ? `${stack.transitionDuration}ms` : "0ms",
129
- [globalVars.appBar.borderColor]: (_a = _options.appBar) == null ? void 0 : _a.borderColor,
130
- [globalVars.appBar.borderSize]: (_b = _options.appBar) == null ? void 0 : _b.borderSize,
131
- [globalVars.appBar.height]: (_c = _options.appBar) == null ? void 0 : _c.height,
132
- [globalVars.appBar.iconColor]: (_d = _options.appBar) == null ? void 0 : _d.iconColor,
133
- [globalVars.appBar.textColor]: (_e = _options.appBar) == null ? void 0 : _e.textColor,
134
- [globalVars.appBar.minSafeAreaInsetTop]: (_f = _options.appBar) == null ? void 0 : _f.minSafeAreaInsetTop,
135
- [globalVars.bottomSheet.borderRadius]: (_g = _options.bottomSheet) == null ? void 0 : _g.borderRadius,
136
- [globalVars.modal.borderRadius]: (_h = _options.modal) == null ? void 0 : _h.borderRadius
137
- })
138
- );
139
- styles["pointer-events"] = stack.globalTransitionState === "loading" ? "none" : "auto";
140
- return /* @__PURE__ */ jsxs2(
114
+ return /* @__PURE__ */ jsx3(
141
115
  GlobalOptionsProvider,
142
116
  {
143
117
  value: __spreadProps(__spreadValues({}, options), {
144
- theme: (_i = initialContext == null ? void 0 : initialContext.theme) != null ? _i : _options.theme
118
+ theme: (_a = initialContext == null ? void 0 : initialContext.theme) != null ? _a : _options.theme
145
119
  }),
146
- children: [
147
- /* @__PURE__ */ jsx3(RootStyles, { theme: _options.theme, styles }),
148
- stack.render()
149
- ]
120
+ children: /* @__PURE__ */ jsx3(
121
+ "div",
122
+ {
123
+ className: compact([
124
+ stackWrapper({
125
+ theme: (_b = initialContext == null ? void 0 : initialContext.theme) != null ? _b : _options.theme,
126
+ loading: stack.globalTransitionState === "loading"
127
+ }),
128
+ _options.rootClassName
129
+ ]).join(" "),
130
+ style: assignInlineVars(
131
+ compactMap({
132
+ [globalVars.backgroundColor]: _options.backgroundColor,
133
+ [globalVars.dimBackgroundColor]: _options.dimBackgroundColor,
134
+ [globalVars.transitionDuration]: `${stack.transitionDuration}ms`,
135
+ [globalVars.computedTransitionDuration]: stack.globalTransitionState === "loading" ? `${stack.transitionDuration}ms` : "0ms",
136
+ [globalVars.appBar.borderColor]: (_c = _options.appBar) == null ? void 0 : _c.borderColor,
137
+ [globalVars.appBar.borderSize]: (_d = _options.appBar) == null ? void 0 : _d.borderSize,
138
+ [globalVars.appBar.height]: (_e = _options.appBar) == null ? void 0 : _e.height,
139
+ [globalVars.appBar.iconColor]: (_f = _options.appBar) == null ? void 0 : _f.iconColor,
140
+ [globalVars.appBar.textColor]: (_g = _options.appBar) == null ? void 0 : _g.textColor,
141
+ [globalVars.appBar.minSafeAreaInsetTop]: (_h = _options.appBar) == null ? void 0 : _h.minSafeAreaInsetTop,
142
+ [globalVars.bottomSheet.borderRadius]: (_i = _options.bottomSheet) == null ? void 0 : _i.borderRadius,
143
+ [globalVars.modal.borderRadius]: (_j = _options.modal) == null ? void 0 : _j.borderRadius
144
+ })
145
+ ),
146
+ children: stack.render()
147
+ }
148
+ )
150
149
  }
151
150
  );
152
151
  }
@@ -176,11 +175,11 @@ import {
176
175
  } from "@stackflow/react-ui-core";
177
176
 
178
177
  // src/components/AppBar.css.ts
179
- import { createRuntimeFn as _7a468 } from "@vanilla-extract/recipes/createRuntimeFn";
180
- var appBar = _7a468({ defaultClassName: "_1yk3a452 dhthxq4 dhthxq0 dhthxqh _1dlf4348 _1yk3a451", variantClassNames: { border: { true: "_1yk3a453" }, modalPresentationStyle: { fullScreen: "_1yk3a454" }, activityEnterStyle: { slideInLeft: "_1yk3a455" } }, defaultVariants: {}, compoundVariants: [] });
178
+ import { createRuntimeFn as _7a4682 } from "@vanilla-extract/recipes/createRuntimeFn";
179
+ var appBar = _7a4682({ defaultClassName: "_1yk3a452 dhthxq4 dhthxq0 dhthxqh _1dlf4348 _1yk3a451", variantClassNames: { border: { true: "_1yk3a453" }, modalPresentationStyle: { fullScreen: "_1yk3a454" }, activityEnterStyle: { slideInLeft: "_1yk3a455" } }, defaultVariants: {}, compoundVariants: [] });
181
180
  var backButton = "_1yk3a459 dhthxq9 dhthxq7 dhthxqb dhthxqf dhthxqi";
182
181
  var center = "dhthxq9 dhthxq7 dhthxq8 _1yk3a450";
183
- var centerMain = _7a468({ defaultClassName: "_1yk3a45c", variantClassNames: { hasLeft: { true: "_1yk3a45d" } }, defaultVariants: {}, compoundVariants: [] });
182
+ var centerMain = _7a4682({ defaultClassName: "_1yk3a45c", variantClassNames: { hasLeft: { true: "_1yk3a45d" } }, defaultVariants: {}, compoundVariants: [] });
184
183
  var centerMainEdge = "_1yk3a45e dhthxqi dhthxq4 dhthxq2 dhthxqf";
185
184
  var centerText = "_1yk3a45f dhthxqc dhthxqd dhthxq0";
186
185
  var closeButton = "_1yk3a459 dhthxq9 dhthxq7 dhthxqb dhthxqf dhthxqi";
@@ -190,19 +189,19 @@ var right = "_1yk3a45g dhthxq9 dhthxq7 dhthxq1 dhthxq5 _1yk3a450";
190
189
  var safeArea = "_1yk3a456";
191
190
 
192
191
  // src/components/AppScreen.css.ts
193
- import { createRuntimeFn as _7a4682 } from "@vanilla-extract/recipes/createRuntimeFn";
194
- var appScreen = _7a4682({ defaultClassName: "dhthxq4 dhthxq0 dhthxq1 dhthxq2 dhthxq3 dhthxqc", variantClassNames: { transitionState: { "enter-active": "_1dlf434a", "enter-done": "_1dlf434b", "exit-active": "_1dlf434c", "exit-done": "_1dlf434d" } }, defaultVariants: {}, compoundVariants: [] });
192
+ import { createRuntimeFn as _7a4683 } from "@vanilla-extract/recipes/createRuntimeFn";
193
+ var appScreen = _7a4683({ defaultClassName: "dhthxq4 dhthxq0 dhthxq1 dhthxq2 dhthxq3 dhthxqc", variantClassNames: { transitionState: { "enter-active": "_1dlf434a", "enter-done": "_1dlf434b", "exit-active": "_1dlf434c", "exit-done": "_1dlf434d" } }, defaultVariants: {}, compoundVariants: [] });
195
194
  var dim = "_1dlf434j dhthxq4 dhthxq0 dhthxq1 dhthxq2 dhthxq3 _1dlf4347 _1dlf4349";
196
- var edge = _7a4682({ defaultClassName: "_1dlf434o dhthxq4 dhthxq2 dhthxq3 dhthxq1", variantClassNames: { hasAppBar: { true: "_1dlf434p" } }, defaultVariants: {}, compoundVariants: [] });
195
+ var edge = _7a4683({ defaultClassName: "_1dlf434o dhthxq4 dhthxq2 dhthxq3 dhthxq1", variantClassNames: { hasAppBar: { true: "_1dlf434p" } }, defaultVariants: {}, compoundVariants: [] });
197
196
  var enterActive = "_1dlf434a";
198
197
  var enterDone = "_1dlf434b";
199
198
  var exitActive = "_1dlf434c";
200
199
  var exitDone = "_1dlf434d";
201
- var paper = _7a4682({ defaultClassName: "_1dlf434k dhthxq4 dhthxq0 dhthxq1 dhthxq2 dhthxq3 _1dlf4348 _1dlf4349", variantClassNames: { hasAppBar: { true: "_1dlf434l dhthxqg" }, modalPresentationStyle: { fullScreen: "_1dlf434m" }, activityEnterStyle: { slideInLeft: "_1dlf434n" } }, defaultVariants: {}, compoundVariants: [] });
200
+ var paper = _7a4683({ defaultClassName: "_1dlf434k dhthxq4 dhthxq0 dhthxq1 dhthxq2 dhthxq3 _1dlf4348 _1dlf4349", variantClassNames: { hasAppBar: { true: "_1dlf434l dhthxqg" }, modalPresentationStyle: { fullScreen: "_1dlf434m" }, activityEnterStyle: { slideInLeft: "_1dlf434n" } }, defaultVariants: {}, compoundVariants: [] });
202
201
  var vars = { transitionDuration: "var(--_1dlf4340)", zIndexes: { dim: "var(--_1dlf4341)", paper: "var(--_1dlf4342)", edge: "var(--_1dlf4343)", appBar: "var(--_1dlf4344)" }, appBar: { topMargin: "var(--_1dlf4345)", center: { mainWidth: "var(--_1dlf4346)" } } };
203
202
 
204
203
  // src/components/AppBar.tsx
205
- import { jsx as jsx4, jsxs as jsxs3 } from "react/jsx-runtime";
204
+ import { jsx as jsx4, jsxs as jsxs2 } from "react/jsx-runtime";
206
205
  var AppBar = forwardRef(
207
206
  ({
208
207
  title,
@@ -338,7 +337,7 @@ var AppBar = forwardRef(
338
337
  );
339
338
  };
340
339
  const hasLeft = !!(closeButtonLocation === "left" && closeButton2 || backButton2 || renderLeft);
341
- return /* @__PURE__ */ jsxs3(
340
+ return /* @__PURE__ */ jsxs2(
342
341
  "div",
343
342
  {
344
343
  ref,
@@ -366,13 +365,13 @@ var AppBar = forwardRef(
366
365
  ),
367
366
  children: [
368
367
  /* @__PURE__ */ jsx4("div", { className: safeArea }),
369
- /* @__PURE__ */ jsxs3("div", { className: container, children: [
370
- /* @__PURE__ */ jsxs3("div", { className: left, children: [
368
+ /* @__PURE__ */ jsxs2("div", { className: container, children: [
369
+ /* @__PURE__ */ jsxs2("div", { className: left, children: [
371
370
  closeButtonLocation === "left" && renderCloseButton(),
372
371
  renderBackButton(),
373
372
  renderLeft == null ? void 0 : renderLeft()
374
373
  ] }),
375
- /* @__PURE__ */ jsx4("div", { ref: centerRef, className: center, children: /* @__PURE__ */ jsxs3(
374
+ /* @__PURE__ */ jsx4("div", { ref: centerRef, className: center, children: /* @__PURE__ */ jsxs2(
376
375
  "div",
377
376
  {
378
377
  className: centerMain({
@@ -391,7 +390,7 @@ var AppBar = forwardRef(
391
390
  ]
392
391
  }
393
392
  ) }),
394
- /* @__PURE__ */ jsxs3("div", { className: right, children: [
393
+ /* @__PURE__ */ jsxs2("div", { className: right, children: [
395
394
  renderRight == null ? void 0 : renderRight(),
396
395
  closeButtonLocation === "right" && renderCloseButton()
397
396
  ] })
@@ -405,7 +404,7 @@ AppBar.displayName = "AppBar";
405
404
  var AppBar_default = AppBar;
406
405
 
407
406
  // src/components/AppScreen.tsx
408
- import { jsx as jsx5, jsxs as jsxs4 } from "react/jsx-runtime";
407
+ import { jsx as jsx5, jsxs as jsxs3 } from "react/jsx-runtime";
409
408
  var OFFSET_PX_ANDROID = 32;
410
409
  var OFFSET_PX_CUPERTINO = 80;
411
410
  var Context = createContext2(null);
@@ -532,7 +531,7 @@ var AppScreen = ({
532
531
  }),
533
532
  [paperRef]
534
533
  ),
535
- children: /* @__PURE__ */ jsxs4(
534
+ children: /* @__PURE__ */ jsxs3(
536
535
  "div",
537
536
  {
538
537
  ref: appScreenRef,
@@ -600,8 +599,8 @@ import {
600
599
  } from "@stackflow/react-ui-core";
601
600
 
602
601
  // src/components/BottomSheet.css.ts
603
- import { createRuntimeFn as _7a4683 } from "@vanilla-extract/recipes/createRuntimeFn";
604
- var container2 = _7a4683({ defaultClassName: "dhthxq4 dhthxq0 dhthxq1 dhthxq2 dhthxq3 dhthxqc", variantClassNames: { transitionState: { "enter-active": "_1ht38h04", "enter-done": "_1ht38h05", "exit-active": "_1ht38h06", "exit-done": "_1ht38h07" } }, defaultVariants: {}, compoundVariants: [] });
602
+ import { createRuntimeFn as _7a4684 } from "@vanilla-extract/recipes/createRuntimeFn";
603
+ var container2 = _7a4684({ defaultClassName: "dhthxq4 dhthxq0 dhthxq1 dhthxq2 dhthxq3 dhthxqc", variantClassNames: { transitionState: { "enter-active": "_1ht38h04", "enter-done": "_1ht38h05", "exit-active": "_1ht38h06", "exit-done": "_1ht38h07" } }, defaultVariants: {}, compoundVariants: [] });
605
604
  var dim2 = "_1ht38h0d dhthxq4 dhthxq0 dhthxq1 dhthxq2 dhthxq3 dhthxqc dhthxqa dhthxq7 _1ht38h03";
606
605
  var paper2 = "_1ht38h0e dhthxqc _1ht38h03";
607
606
  var vars2 = { transitionDuration: "var(--_1ht38h00)", zIndexes: { dim: "var(--_1ht38h01)", paper: "var(--_1ht38h02)" } };
@@ -690,8 +689,8 @@ import {
690
689
  } from "@stackflow/react-ui-core";
691
690
 
692
691
  // src/components/Modal.css.ts
693
- import { createRuntimeFn as _7a4684 } from "@vanilla-extract/recipes/createRuntimeFn";
694
- var container3 = _7a4684({ defaultClassName: "dhthxq4 dhthxq0 dhthxq1 dhthxq2 dhthxq3 dhthxqc", variantClassNames: { transitionState: { "enter-active": "_5ozg8c4", "enter-done": "_5ozg8c5", "exit-active": "_5ozg8c6", "exit-done": "_5ozg8c7" } }, defaultVariants: {}, compoundVariants: [] });
692
+ import { createRuntimeFn as _7a4685 } from "@vanilla-extract/recipes/createRuntimeFn";
693
+ var container3 = _7a4685({ defaultClassName: "dhthxq4 dhthxq0 dhthxq1 dhthxq2 dhthxq3 dhthxqc", variantClassNames: { transitionState: { "enter-active": "_5ozg8c4", "enter-done": "_5ozg8c5", "exit-active": "_5ozg8c6", "exit-done": "_5ozg8c7" } }, defaultVariants: {}, compoundVariants: [] });
695
694
  var dim3 = "_5ozg8cd dhthxq4 dhthxq0 dhthxq1 dhthxq2 dhthxq3 dhthxqc dhthxq9 dhthxq7 dhthxqb _5ozg8c3";
696
695
  var paper3 = "_5ozg8ce dhthxqc _5ozg8c3";
697
696
  var vars3 = { transitionDuration: "var(--_5ozg8c0)", zIndexes: { dim: "var(--_5ozg8c1)", paper: "var(--_5ozg8c2)" } };