@stackflow/plugin-basic-ui 1.9.1 → 1.9.2-canary.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/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/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"]
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"]
7
7
  }
package/dist/index.mjs CHANGED
@@ -76,15 +76,24 @@ 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";
80
79
  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: [] });
82
80
 
83
- // src/utils/compact.ts
84
- function compact(arr) {
85
- return arr.filter(
86
- (item) => item !== void 0 && item !== null
87
- );
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;
88
97
  }
89
98
 
90
99
  // src/utils/compactMap.ts
@@ -98,7 +107,7 @@ function compactMap(obj) {
98
107
  }
99
108
 
100
109
  // src/basicUIPlugin.tsx
101
- import { jsx as jsx3 } from "react/jsx-runtime";
110
+ import { jsx as jsx3, jsxs as jsxs2 } from "react/jsx-runtime";
102
111
  var GlobalOptionsContext = createContext({
103
112
  theme: "android"
104
113
  });
@@ -109,43 +118,35 @@ function useGlobalOptions() {
109
118
  var basicUIPlugin = (options) => () => ({
110
119
  key: "basic-ui",
111
120
  wrapStack({ stack, initialContext }) {
112
- var _a, _b, _c, _d, _e, _f, _g, _h, _i, _j;
121
+ var _a, _b, _c, _d, _e, _f, _g, _h, _i;
113
122
  const _options = typeof options === "function" ? options({ initialContext }) : options;
114
- return /* @__PURE__ */ jsx3(
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(
115
141
  GlobalOptionsProvider,
116
142
  {
117
143
  value: __spreadProps(__spreadValues({}, options), {
118
- theme: (_a = initialContext == null ? void 0 : initialContext.theme) != null ? _a : _options.theme
144
+ theme: (_i = initialContext == null ? void 0 : initialContext.theme) != null ? _i : _options.theme
119
145
  }),
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
- )
146
+ children: [
147
+ /* @__PURE__ */ jsx3(RootStyles, { theme: _options.theme, styles }),
148
+ stack.render()
149
+ ]
149
150
  }
150
151
  );
151
152
  }
@@ -175,11 +176,11 @@ import {
175
176
  } from "@stackflow/react-ui-core";
176
177
 
177
178
  // src/components/AppBar.css.ts
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: [] });
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: [] });
180
181
  var backButton = "_1yk3a459 dhthxq9 dhthxq7 dhthxqb dhthxqf dhthxqi";
181
182
  var center = "dhthxq9 dhthxq7 dhthxq8 _1yk3a450";
182
- var centerMain = _7a4682({ defaultClassName: "_1yk3a45c", variantClassNames: { hasLeft: { true: "_1yk3a45d" } }, defaultVariants: {}, compoundVariants: [] });
183
+ var centerMain = _7a468({ defaultClassName: "_1yk3a45c", variantClassNames: { hasLeft: { true: "_1yk3a45d" } }, defaultVariants: {}, compoundVariants: [] });
183
184
  var centerMainEdge = "_1yk3a45e dhthxqi dhthxq4 dhthxq2 dhthxqf";
184
185
  var centerText = "_1yk3a45f dhthxqc dhthxqd dhthxq0";
185
186
  var closeButton = "_1yk3a459 dhthxq9 dhthxq7 dhthxqb dhthxqf dhthxqi";
@@ -189,19 +190,19 @@ var right = "_1yk3a45g dhthxq9 dhthxq7 dhthxq1 dhthxq5 _1yk3a450";
189
190
  var safeArea = "_1yk3a456";
190
191
 
191
192
  // src/components/AppScreen.css.ts
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: [] });
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: [] });
194
195
  var dim = "_1dlf434j dhthxq4 dhthxq0 dhthxq1 dhthxq2 dhthxq3 _1dlf4347 _1dlf4349";
195
- var edge = _7a4683({ defaultClassName: "_1dlf434o dhthxq4 dhthxq2 dhthxq3 dhthxq1", variantClassNames: { hasAppBar: { true: "_1dlf434p" } }, defaultVariants: {}, compoundVariants: [] });
196
+ var edge = _7a4682({ defaultClassName: "_1dlf434o dhthxq4 dhthxq2 dhthxq3 dhthxq1", variantClassNames: { hasAppBar: { true: "_1dlf434p" } }, defaultVariants: {}, compoundVariants: [] });
196
197
  var enterActive = "_1dlf434a";
197
198
  var enterDone = "_1dlf434b";
198
199
  var exitActive = "_1dlf434c";
199
200
  var exitDone = "_1dlf434d";
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: [] });
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: [] });
201
202
  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)" } } };
202
203
 
203
204
  // src/components/AppBar.tsx
204
- import { jsx as jsx4, jsxs as jsxs2 } from "react/jsx-runtime";
205
+ import { jsx as jsx4, jsxs as jsxs3 } from "react/jsx-runtime";
205
206
  var AppBar = forwardRef(
206
207
  ({
207
208
  title,
@@ -337,7 +338,7 @@ var AppBar = forwardRef(
337
338
  );
338
339
  };
339
340
  const hasLeft = !!(closeButtonLocation === "left" && closeButton2 || backButton2 || renderLeft);
340
- return /* @__PURE__ */ jsxs2(
341
+ return /* @__PURE__ */ jsxs3(
341
342
  "div",
342
343
  {
343
344
  ref,
@@ -365,13 +366,13 @@ var AppBar = forwardRef(
365
366
  ),
366
367
  children: [
367
368
  /* @__PURE__ */ jsx4("div", { className: safeArea }),
368
- /* @__PURE__ */ jsxs2("div", { className: container, children: [
369
- /* @__PURE__ */ jsxs2("div", { className: left, children: [
369
+ /* @__PURE__ */ jsxs3("div", { className: container, children: [
370
+ /* @__PURE__ */ jsxs3("div", { className: left, children: [
370
371
  closeButtonLocation === "left" && renderCloseButton(),
371
372
  renderBackButton(),
372
373
  renderLeft == null ? void 0 : renderLeft()
373
374
  ] }),
374
- /* @__PURE__ */ jsx4("div", { ref: centerRef, className: center, children: /* @__PURE__ */ jsxs2(
375
+ /* @__PURE__ */ jsx4("div", { ref: centerRef, className: center, children: /* @__PURE__ */ jsxs3(
375
376
  "div",
376
377
  {
377
378
  className: centerMain({
@@ -390,7 +391,7 @@ var AppBar = forwardRef(
390
391
  ]
391
392
  }
392
393
  ) }),
393
- /* @__PURE__ */ jsxs2("div", { className: right, children: [
394
+ /* @__PURE__ */ jsxs3("div", { className: right, children: [
394
395
  renderRight == null ? void 0 : renderRight(),
395
396
  closeButtonLocation === "right" && renderCloseButton()
396
397
  ] })
@@ -404,7 +405,7 @@ AppBar.displayName = "AppBar";
404
405
  var AppBar_default = AppBar;
405
406
 
406
407
  // src/components/AppScreen.tsx
407
- import { jsx as jsx5, jsxs as jsxs3 } from "react/jsx-runtime";
408
+ import { jsx as jsx5, jsxs as jsxs4 } from "react/jsx-runtime";
408
409
  var OFFSET_PX_ANDROID = 32;
409
410
  var OFFSET_PX_CUPERTINO = 80;
410
411
  var Context = createContext2(null);
@@ -531,7 +532,7 @@ var AppScreen = ({
531
532
  }),
532
533
  [paperRef]
533
534
  ),
534
- children: /* @__PURE__ */ jsxs3(
535
+ children: /* @__PURE__ */ jsxs4(
535
536
  "div",
536
537
  {
537
538
  ref: appScreenRef,
@@ -599,8 +600,8 @@ import {
599
600
  } from "@stackflow/react-ui-core";
600
601
 
601
602
  // src/components/BottomSheet.css.ts
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: [] });
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: [] });
604
605
  var dim2 = "_1ht38h0d dhthxq4 dhthxq0 dhthxq1 dhthxq2 dhthxq3 dhthxqc dhthxqa dhthxq7 _1ht38h03";
605
606
  var paper2 = "_1ht38h0e dhthxqc _1ht38h03";
606
607
  var vars2 = { transitionDuration: "var(--_1ht38h00)", zIndexes: { dim: "var(--_1ht38h01)", paper: "var(--_1ht38h02)" } };
@@ -689,8 +690,8 @@ import {
689
690
  } from "@stackflow/react-ui-core";
690
691
 
691
692
  // src/components/Modal.css.ts
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: [] });
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: [] });
694
695
  var dim3 = "_5ozg8cd dhthxq4 dhthxq0 dhthxq1 dhthxq2 dhthxq3 dhthxqc dhthxq9 dhthxq7 dhthxqb _5ozg8c3";
695
696
  var paper3 = "_5ozg8ce dhthxqc _5ozg8c3";
696
697
  var vars3 = { transitionDuration: "var(--_5ozg8c0)", zIndexes: { dim: "var(--_5ozg8c1)", paper: "var(--_5ozg8c2)" } };