alouette 18.2.0 → 18.3.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.
@@ -1 +1 @@
1
- {"version":3,"file":"index-node22.cjs","sources":["../src/ui/stacks/utils/absoluteFillStyle.ts","../src/ui/containers/createVariants.ts","../src/ui/containers/variants.ts","../src/ui/containers/Box.tsx","../src/ui/data/PressableBox.tsx","../src/ui/primitives/Icon.tsx","../src/ui/actions/IconButton.tsx","../src/ui/primitives/Text.tsx","../src/ui/actions/Button.tsx","../src/ui/containers/Surface.tsx","../src/ui/feedback/Message.tsx","../src/ui/inputs/inputStyle.ts","../src/ui/inputs/PlatformInputText.tsx","../src/ui/inputs/InputText.tsx","../src/ui/inputs/TextArea.tsx","../src/ui/primitives/ScrollView.ts","../src/ui/stacks/stacks.ts","../src/ui/story-components/StoryTitle.tsx","../src/ui/story-components/Story.tsx","../src/ui/story-components/StoryContainer.tsx","../src/ui/story-components/StoryDecorator.tsx","../src/ui/story-components/StoryGrid.tsx","../src/config/Breakpoints.ts","../src/windowSize/useCurrentBreakpointName.ts","../src/windowSize/SwitchBreakpoints.tsx","../src/core/AlouetteProvider.tsx","../src/core/AlouetteDecorator.tsx","../src/ui/stacks/Separator.tsx","../src/ui/data/PressableListItem.tsx","../src/ui/layout/GradientBackground.tsx","../src/ui/layout/GradientScrollView.tsx","../src/ui/inputs/Switch.tsx"],"sourcesContent":["export const absoluteFillStyle = {\n position: \"absolute\",\n top: 0,\n left: 0,\n right: 0,\n bottom: 0,\n} as const;\n","import type { VariantSpreadExtras } from \"@tamagui/core\";\n\nexport const absoluteFillStyle = {\n position: \"absolute\",\n top: 0,\n left: 0,\n right: 0,\n bottom: 0,\n} as const;\n\nexport type InternalPseudoState = \"focus\" | \"hover\" | \"press\";\n\nexport const getInteractionStyles = (\n name: \"backgroundColor\" | \"borderColor\" | \"outlineColor\" | \"shadowColor\",\n {\n disabled,\n interactive,\n variant = name === \"borderColor\" ? \"outlined\" : \"contained\",\n tint,\n }: VariantSpreadExtras<any>[\"props\"],\n) => {\n const isGhost = variant?.startsWith(\"ghost-\");\n const prefix =\n interactive === \"text\"\n ? \"interactive.forms\"\n : // eslint-disable-next-line @typescript-eslint/restrict-template-expressions\n `interactive${tint === \"accent\" ? \"-accent\" : \"\"}.${isGhost ? variant.slice(6) : variant}`;\n\n if (disabled) {\n return { [name]: `$${prefix}.${name}:disabled` } as const;\n }\n\n if (name === \"shadowColor\") {\n // no need to add :hover, :focus, :press, and causes issues because all of the box-shadow is set and resets width etc\n return { [name]: `$${prefix}.${name}` } as const;\n }\n\n if (name === \"outlineColor\") {\n return {\n focusVisibleStyle: {\n outlineWidth: interactive === \"text\" ? 0 : 2,\n outlineStyle: \"solid\",\n outlineOffset:\n variant === \"outlined\" || variant === \"ghost-outlined\" ? 2 : 0,\n outlineColor: `$${prefix}.${name}:focus`,\n },\n } as const;\n }\n\n return {\n [name]: isGhost ? \"transparent\" : `$${prefix}.${name}`,\n hoverStyle: { [name]: `$${prefix}.${name}:hover` },\n focusStyle: { [name]: `$${prefix}.${name}:focus` },\n pressStyle: { [name]: `$${prefix}.${name}:press` },\n disabledStyle: { [name]: `$${prefix}.${name}:disabled` },\n } as const;\n};\n","import type { SizeTokens, VariantSpreadExtras, ViewProps } from \"@tamagui/core\";\nimport { absoluteFillStyle } from \"../stacks/utils/absoluteFillStyle\";\nimport { getInteractionStyles } from \"./createVariants\";\n\nexport const absoluteFill = {\n true: absoluteFillStyle,\n} as const;\n\nexport const center = {\n true: {\n justifyContent: \"center\",\n alignItems: \"center\",\n },\n} as const;\n\nexport const tint = {\n accent: {}, // used in interactive variant\n} as const;\n\nexport function interactive(\n isInteractiveOrInteractiveCursorType: ViewProps[\"cursor\"] | boolean,\n { props }: VariantSpreadExtras<any>,\n) {\n if (!isInteractiveOrInteractiveCursorType) return null;\n\n if (isInteractiveOrInteractiveCursorType === true) {\n return {\n cursor: \"pointer\",\n\n pressStyle: {\n transform: [{ scale: 0.975 }],\n },\n\n disabledStyle: {\n cursor: \"not-allowed\",\n opacity: \"$opacity.disabled\",\n transform: [{ scale: 1 }],\n },\n };\n }\n\n return {\n cursor: isInteractiveOrInteractiveCursorType,\n\n disabledStyle: {\n cursor: \"not-allowed\",\n opacity: \"$opacity.disabled\",\n },\n } as const;\n}\n\nexport const layer = {\n surface: {\n backgroundColor: \"$bg-surface\",\n },\n highlight: {\n backgroundColor: \"$bg-highlight\",\n },\n \"highlight-accent\": {\n backgroundColor: \"$bg-highlight-accent\",\n },\n lowered: {\n backgroundColor: \"$bg-lowered\",\n },\n} as const;\n\nexport const shadow = {\n none: {\n boxShadow: \"none\",\n elevationAndroid: 0,\n },\n s: {\n boxShadow:\n \"inset 0 1px 2px #ffffff40, 0 1px 2px #00000040, 0 2px 4px #00000025\",\n elevationAndroid: 2,\n },\n\n m: {\n boxShadow:\n \"inset 0 1px 2px #ffffff40, 0 2px 4px #00000040, 0 4px 8px #00000025\",\n elevationAndroid: 4,\n },\n\n l: {\n boxShadow:\n \"inset 0 1px 2px #ffffff40, 0 4px 6px #00000040, 0 6px 10px #00000025\",\n elevationAndroid: 6,\n },\n\n lowered: {\n boxShadow: \"inset 0 1px 2px #00000040, inset 0 -2px 2px #ffffff15\",\n },\n} as const;\n\nexport const size = (val: number) => {\n return { width: val, height: val };\n};\n\nexport const withBorder = (\n val: SizeTokens,\n { props }: VariantSpreadExtras<any>,\n) => {\n if (props.shadow && props.shadow !== \"lowered\") {\n throw new Error(\"Cannot use border with shadow variant\");\n }\n\n return {\n borderWidth: val,\n\n ...(props.interactive\n ? getInteractionStyles(\"borderColor\", props)\n : { borderColor: \"$border-sharp\" }),\n } as const;\n};\n\nexport const withFocusVisibleOutline = (\n val: boolean,\n { props }: VariantSpreadExtras<any>,\n) => {\n if (!val) return null;\n return {\n ...(props.interactive\n ? getInteractionStyles(\"outlineColor\", props)\n : { outlineColor: \"$outlineColor\" }),\n\n disabledStyle: {\n outlineWidth: 0,\n },\n } as const;\n};\n\nexport const withBackground = (\n val: \"highlight\" | \"interactive\" | \"surface\",\n { props }: VariantSpreadExtras<any>,\n) => {\n return props.interactive && val === \"interactive\"\n ? getInteractionStyles(\"backgroundColor\", props)\n : ({\n backgroundColor: val === \"surface\" ? \"$bg-surface\" : \"$bg-highlight\",\n } as const);\n};\n","import type { GetProps } from \"@tamagui/core\";\nimport { View, styled } from \"@tamagui/core\";\nimport type { ComponentType } from \"react\";\nimport { useSafeAreaInsets } from \"../../core/useSafeAreaInsets\";\nimport * as variants from \"./variants\";\n\nconst BoxFrame = styled(View, {\n // never apply overflow hidden here, as it will break shadows\n\n flexShrink: 1, // allow to shrink by default, as Box is often used in VSTack and HStack. See button for an example.\n\n variants,\n});\n\ntype BoxFrameProps = GetProps<typeof BoxFrame>;\n\nconst InteractiveBoxFrame = styled(BoxFrame, {\n interactive: true,\n tabIndex: 0,\n transition: \"fast\",\n variants: {\n disabled: {\n true: {\n tabIndex: -1 as const,\n },\n },\n } as const,\n});\n\nexport type BoxProps = Pick<\n BoxFrameProps,\n \"absoluteFill\" | \"children\" | \"layer\" | \"shadow\"\n>;\n\nexport const Box: ComponentType<BoxFrameProps> =\n process.env.NODE_ENV !== \"production\"\n ? (props) => {\n if (\n process.env.NODE_ENV !== \"production\" &&\n props.shadow === \"lowered\" &&\n props.layer !== \"lowered\"\n ) {\n throw new Error(\n 'shadow=\"lowered\" must only be used with layer=\"lowered\"',\n );\n }\n\n return <BoxFrame {...props} />;\n }\n : BoxFrame;\n\nexport const InteractiveBox: ComponentType<BoxFrameProps> = InteractiveBoxFrame;\n\nexport const SafeAreaBoxFrame = BoxFrame.styleable<{\n padding?: never;\n paddingTop?: never;\n paddingBottom?: never;\n paddingLeft?: never;\n paddingRight?: never;\n}>((props) => {\n const insets = useSafeAreaInsets();\n return (\n <Box\n {...props}\n paddingTop={insets.top}\n paddingBottom={insets.bottom}\n paddingLeft={insets.left}\n paddingRight={insets.right}\n />\n );\n});\n\ntype SafeAreaBoxFrameProps = GetProps<typeof SafeAreaBoxFrame>;\n\nexport type SafeAreaBoxProps = Pick<\n SafeAreaBoxFrameProps,\n \"children\" | \"layer\" | \"shadow\"\n>;\n\nexport const SafeAreaBox: ComponentType<SafeAreaBoxProps> = SafeAreaBoxFrame;\n","import type { GetProps } from \"@tamagui/core\";\nimport { styled } from \"@tamagui/core\";\nimport { InteractiveBox } from \"../containers/Box\";\n\nexport const PressableBox = styled(InteractiveBox, {\n role: \"button\",\n overflow: \"hidden\",\n\n withFocusVisibleOutline: true,\n\n variants: {\n variant: {\n contained: {\n withBackground: \"interactive\",\n shadow: \"s\",\n borderRadius: \"$sm\",\n },\n outlined: {\n // withBackground: \"highlight\",\n withBorder: 1,\n },\n \"ghost-contained\": {\n withBackground: \"interactive\",\n backgroundColor: \"transparent\",\n },\n \"ghost-outlined\": {\n // withBackground: \"surface\",\n withBorder: 1,\n backgroundColor: \"transparent\",\n borderColor: \"transparent\",\n },\n },\n } as const,\n\n defaultVariants: {\n variant: \"contained\",\n },\n});\n\nexport type PressableBoxProps = GetProps<typeof PressableBox>;\n","import type { ColorTokens } from \"@tamagui/core\";\nimport { Text, usePropsAndStyle } from \"@tamagui/core\";\nimport { cloneElement } from \"react\";\nimport type { ReactElement, ReactNode, SVGProps } from \"react\";\n\nexport type SVGIconElement = ReactElement<SVGProps<SVGSVGElement>>;\n\nexport interface IconProps {\n icon: SVGIconElement;\n disabled?: boolean;\n disabledSharp?: boolean;\n tint?:\n | \"accent-muted\"\n | \"accent\"\n | \"muted\"\n | \"onAccent-muted\"\n | \"onAccent\"\n | \"sharp\";\n size?: number;\n}\n\nconst getDefaultColor = (\n disabled?: boolean,\n disabledSharp?: boolean,\n tint?: IconProps[\"tint\"],\n): ColorTokens => {\n if (disabled) {\n return disabledSharp ? \"$text-disabled-sharp\" : \"$text-disabled-muted\";\n }\n if (tint === \"accent\") return \"$text-accent\";\n if (tint === \"accent-muted\") return \"$text-accent-muted\";\n if (tint === \"muted\") return \"$text-muted\";\n if (tint === \"onAccent\") return \"$text-onAccent\";\n if (tint === \"onAccent-muted\") return \"$text-onAccent-muted\";\n return \"$text-sharp\";\n};\n\nexport function Icon({\n icon,\n // TODO should size be normalized ?\n size = 20,\n disabled,\n disabledSharp,\n tint,\n}: IconProps): ReactNode {\n const [props, style] = usePropsAndStyle(\n {\n color: getDefaultColor(disabled, disabledSharp, tint),\n width: size,\n height: size,\n },\n { forComponent: Text },\n );\n return cloneElement(icon, { style, ...props } as any);\n}\n","import type { GetProps } from \"@tamagui/core\";\nimport { styled } from \"@tamagui/core\";\nimport type { ReactNode } from \"react\";\nimport type { SetRequired } from \"type-fest\";\nimport { PressableBox } from \"../data/PressableBox\";\nimport type { SVGIconElement } from \"../primitives/Icon\";\nimport { Icon } from \"../primitives/Icon\";\n\nconst IconButtonFrame = styled(PressableBox, {\n name: \"IconButtonFrame\",\n role: \"button\",\n center: true,\n borderRadius: 10_000,\n});\n\ntype IconButtonFrameProps = GetProps<typeof IconButtonFrame>;\n\nexport interface IconButtonProps\n extends SetRequired<IconButtonFrameProps, \"aria-label\"> {\n icon: NonNullable<SVGIconElement>;\n iconSize?: \"fill\";\n}\n\nexport function IconButton({\n icon,\n disabled,\n size = 40,\n iconSize,\n variant = \"contained\",\n ...pressableBoxProps\n}: IconButtonProps): ReactNode {\n return (\n <IconButtonFrame\n size={size}\n variant={variant}\n disabled={disabled}\n {...pressableBoxProps}\n >\n <Icon\n size={iconSize === \"fill\" ? size * 0.8 : size * 0.5}\n disabled={disabled}\n icon={icon}\n />\n </IconButtonFrame>\n );\n}\n","import type { GetProps } from \"@tamagui/core\";\nimport { Text as CoreText, styled } from \"@tamagui/core\";\nimport type { FunctionComponent } from \"react\";\n\nexport const TextStyled = styled(CoreText, {\n variants: {\n inherit: {\n false: {\n size: \"$md\",\n weight: \"$regular\",\n fontFamily: \"$body\",\n tint: \"sharp\",\n },\n },\n size: {\n \"...fontSize\": (size) => ({\n fontSize: size,\n lineHeight: size,\n }),\n },\n weight: {\n $regular: { fontWeight: \"$regular\" },\n $bold: { fontWeight: \"$bold\" },\n $extraBold: { fontWeight: \"$extraBold\" },\n },\n family: {\n $heading: { fontFamily: \"$heading\" },\n $body: { fontFamily: \"$body\" },\n \"$body-monospace\": { fontFamily: \"$body-monospace\" },\n },\n tint: {\n sharp: {\n color: \"$text-sharp\",\n\n disabledStyle: {\n color: \"$text-disabled-muted\",\n },\n },\n muted: {\n color: \"$text-muted\",\n\n disabledStyle: {\n color: \"$text-disabled-muted\",\n },\n },\n accent: {\n color: \"$text-accent\",\n },\n onAccent: {\n color: \"$text-onAccent\",\n },\n },\n disabledSharp: {\n true: {\n disabledStyle: {\n color: \"$text-disabled-sharp\",\n },\n },\n },\n },\n\n defaultVariants: {\n inherit: false,\n },\n} as const);\n\nexport type TextProps = Pick<\n GetProps<typeof TextStyled>,\n | \"children\"\n | \"disabledSharp\"\n | \"family\"\n | \"inherit\"\n | \"numberOfLines\"\n | \"size\"\n | \"textAlign\"\n | \"theme\"\n | \"tint\"\n | \"weight\"\n>;\nexport const Text: FunctionComponent<TextProps> = TextStyled;\n\nconst ParagraphStyled = styled(TextStyled, {\n render: \"p\",\n userSelect: \"auto\",\n inherit: false,\n});\n\nexport type ParagraphProps = Pick<\n GetProps<typeof ParagraphStyled>,\n \"children\" | \"size\" | \"theme\" | \"tint\"\n>;\n\nexport const Paragraph: FunctionComponent<ParagraphProps> = ParagraphStyled;\n","import type { GetProps } from \"@tamagui/core\";\nimport { styled } from \"@tamagui/core\";\nimport type { ReactNode } from \"react\";\nimport type { Except } from \"type-fest\";\nimport { PressableBox } from \"../data/PressableBox\";\nimport { Icon } from \"../primitives/Icon\";\nimport type { SVGIconElement } from \"../primitives/Icon\";\nimport { Text } from \"../primitives/Text\";\n\nconst ButtonFrame = styled(PressableBox, {\n name: \"ButtonFrame\",\n render: \"button\",\n // @ts-expect-error missing type definition\n type: \"button\",\n center: true,\n flexDirection: \"row\",\n\n variants: {\n size: {\n sm: {\n paddingHorizontal: \"$0.5\",\n gap: \"$0.25\",\n borderRadius: \"$sm\",\n minHeight: 38,\n },\n md: {\n paddingHorizontal: \"$1.0\",\n gap: \"$0.5\",\n borderRadius: \"$sm\",\n minHeight: 44,\n },\n },\n },\n\n defaultVariants: {\n size: \"md\",\n },\n} as const);\n\nconst ButtonText = styled(Text, {\n textAlign: \"center\",\n weight: \"$bold\",\n flexShrink: 1,\n\n variants: {\n \"button-size\": {\n sm: {\n paddingVertical: \"$0.25\",\n size: \"$sm\",\n },\n md: {\n paddingVertical: \"$0.5\",\n size: \"$md\",\n },\n },\n },\n});\n\ntype ButtonFrameProps = GetProps<typeof ButtonFrame>;\n\nexport interface ButtonProps extends Except<ButtonFrameProps, \"size\"> {\n icon?: NonNullable<SVGIconElement>;\n text: ReactNode;\n size?: \"md\" | \"sm\";\n}\n\nexport function Button({\n icon,\n text,\n disabled,\n variant = \"contained\",\n size = \"md\",\n ...pressableProps\n}: ButtonProps): ReactNode {\n return (\n <ButtonFrame\n variant={variant}\n size={size}\n disabled={disabled}\n {...pressableProps}\n >\n {icon && (\n <Icon\n tint={variant === \"contained\" ? \"onAccent\" : undefined}\n disabled={disabled}\n disabledSharp={variant === \"contained\"}\n icon={icon}\n size={size === \"sm\" ? 16 : 20}\n />\n )}\n <ButtonText\n tint={variant === \"contained\" ? \"onAccent\" : undefined}\n button-size={size}\n disabled={disabled}\n disabledSharp={variant === \"contained\"}\n textAlign={icon ? \"left\" : \"center\"}\n >\n {text}\n </ButtonText>\n </ButtonFrame>\n );\n}\n\nexport function ExternalLinkButton(\n props: Except<ButtonProps, \"render\" | \"role\"> & { href: string },\n): ReactNode {\n return (\n <Button\n {...props}\n render=\"a\"\n role=\"link\"\n target=\"_blank\"\n rel=\"noopener noreferrer\"\n style={{ textDecorationLine: \"none\" }}\n />\n );\n}\n\nexport function InternalLinkButton(\n props: Except<ButtonProps, \"render\" | \"role\"> & { href: string },\n): ReactNode {\n return <Button {...props} render=\"a\" role=\"link\" />;\n}\n","import type { GetProps } from \"@tamagui/core\";\nimport { styled } from \"@tamagui/core\";\nimport type { ComponentType } from \"react\";\nimport { Box } from \"./Box\";\n\nexport const SurfaceFrame = styled(Box, {\n shadow: \"s\",\n\n overflow: \"hidden\", // make sure the boxshadow respects the borderRadius.\n\n variants: {\n size: {\n sm: {\n padding: \"$1.0\",\n borderRadius: \"$sm\",\n },\n md: {\n padding: \"$2.0\",\n borderRadius: \"$md\",\n },\n lg: {\n padding: \"$3.0\",\n borderRadius: \"$lg\",\n },\n },\n\n highlight: {\n true: {\n layer: \"highlight\",\n },\n false: {\n layer: \"surface\",\n },\n accent: {\n layer: \"highlight-accent\",\n },\n },\n lowered: {\n true: {\n layer: \"lowered\",\n shadow: \"lowered\",\n },\n },\n } as const,\n\n defaultVariants: {\n highlight: false,\n size: \"md\",\n },\n});\n\ntype SurfaceFrameProps = GetProps<typeof SurfaceFrame>;\n\nexport type SurfaceProps = Pick<\n SurfaceFrameProps,\n | \"children\"\n | \"highlight\"\n | \"lowered\"\n | \"marginBottom\"\n | \"marginTop\"\n | \"shadow\"\n | \"size\"\n | \"theme\"\n>;\n\nexport const Surface: ComponentType<SurfaceProps> = SurfaceFrame;\n","import { View, styled } from \"@tamagui/core\";\nimport { CheckRegularIcon } from \"alouette-icons/phosphor-icons/CheckRegularIcon\";\nimport { InfoRegularIcon } from \"alouette-icons/phosphor-icons/InfoRegularIcon\";\nimport { WarningRegularIcon } from \"alouette-icons/phosphor-icons/WarningRegularIcon\";\nimport { XRegularIcon } from \"alouette-icons/phosphor-icons/XRegularIcon\";\nimport type { ReactNode } from \"react\";\nimport type { Except } from \"type-fest\";\nimport { IconButton } from \"../actions/IconButton\";\nimport type { SurfaceProps } from \"../containers/Surface\";\nimport { Surface } from \"../containers/Surface\";\nimport type { IconProps } from \"../primitives/Icon\";\nimport { Icon } from \"../primitives/Icon\";\nimport { Text } from \"../primitives/Text\";\n\nexport const MessageFrame = styled(Surface, {\n name: \"MessageFrame\",\n alignItems: \"center\",\n flexDirection: \"row\",\n highlight: \"accent\",\n\n variants: {\n size: {\n sm: {\n gap: \"$0.5\",\n },\n md: {\n gap: \"$1.0\",\n },\n lg: {\n gap: \"$1.5\",\n },\n },\n },\n\n defaultVariants: {\n size: \"md\",\n },\n} as const);\n\nexport const MessageText = styled(Text, {\n size: \"$md\",\n flexGrow: 1,\n tint: \"accent\",\n} as const);\n\nconst MessageIconContainer = styled(View, {\n alignItems: \"center\",\n});\n\nconst MessageDismissButtonContainer = styled(View, {\n position: \"relative\",\n alignItems: \"center\",\n justifyContent: \"center\",\n\n variants: {\n size: {\n sm: {\n height: 24,\n width: 24,\n },\n md: {\n height: 40,\n width: 40,\n },\n lg: {\n height: 40,\n width: 40,\n },\n },\n } as const,\n\n defaultVariants: {\n size: \"md\",\n },\n});\n\ninterface MessageBaseProps {\n theme: NonNullable<SurfaceProps[\"theme\"]>;\n size?: NonNullable<SurfaceProps[\"size\"]>;\n icon: IconProps[\"icon\"];\n children?: ReactNode;\n}\ninterface MessagePropsWithDismiss extends MessageBaseProps {\n onDismiss: () => void;\n dismissIconAriaLabel: string;\n}\n\ninterface MessagePropsWithoutDismiss extends MessageBaseProps {\n onDismiss?: undefined;\n dismissIconAriaLabel?: undefined;\n}\n\nexport type MessageProps = MessagePropsWithDismiss | MessagePropsWithoutDismiss;\n\nexport function Message({\n icon,\n size = \"md\",\n theme,\n children,\n onDismiss,\n dismissIconAriaLabel,\n}: MessageProps): ReactNode {\n return (\n <MessageFrame theme={theme} size={size}>\n <MessageIconContainer>\n <Icon size={size === \"sm\" ? 20 : 24} icon={icon} tint=\"accent\" />\n </MessageIconContainer>\n <MessageText>{children}</MessageText>\n {onDismiss ? (\n <MessageDismissButtonContainer size={size}>\n <IconButton\n icon={<XRegularIcon />}\n iconSize={size === \"sm\" ? \"fill\" : undefined}\n size={size === \"sm\" ? 24 : 40}\n variant=\"outlined\"\n tint=\"accent\"\n aria-label={dismissIconAriaLabel}\n />\n </MessageDismissButtonContainer>\n ) : null}\n </MessageFrame>\n );\n}\n\ntype SemanticMessageProps = Except<MessageProps, \"icon\" | \"theme\">;\n\nexport function InfoMessage(props: SemanticMessageProps): ReactNode {\n return <Message {...props} theme=\"info\" icon={<InfoRegularIcon />} />;\n}\n\nexport function ConfirmationMessage(props: SemanticMessageProps): ReactNode {\n return <Message {...props} theme=\"success\" icon={<CheckRegularIcon />} />;\n}\n\nexport function WarningMessage(props: SemanticMessageProps): ReactNode {\n return <Message {...props} theme=\"warning\" icon={<WarningRegularIcon />} />;\n}\n","export const inputStyle = {\n fontFamily: \"$body\",\n fontSize: \"$md\",\n color: \"$text-sharp\",\n\n paddingHorizontal: \"$1.0\",\n paddingVertical: \"$0.5\",\n borderRadius: \"$md\",\n} as const;\n","import { Text, styled } from \"@tamagui/core\";\nimport { TextInput } from \"react-native\";\nimport { inputStyle } from \"./inputStyle\";\n\nexport const PlatformInputText = styled(\n TextInput,\n {\n ...inputStyle,\n focusable: true,\n\n variants: {\n mode: {\n password: {\n secureTextEntry: true,\n },\n number: {\n inputMode: \"numeric\",\n keyboardType: \"numeric\",\n },\n tel: {\n inputMode: \"tel\",\n autoComplete: \"tel\",\n keyboardType: \"phone-pad\",\n },\n email: {\n inputMode: \"email\",\n autoComplete: \"email\",\n keyboardType: \"email-address\",\n },\n url: {\n inputMode: \"url\",\n keyboardType: \"url\",\n },\n search: {\n inputMode: \"search\",\n },\n webSearch: {\n inputMode: \"search\",\n keyboardType: \"web-search\",\n },\n },\n } as const,\n },\n {\n isInput: true,\n validStyles: Text.staticConfig.validStyles,\n } as const,\n);\n","import type { GetProps } from \"@tamagui/core\";\nimport { styled } from \"@tamagui/core\";\nimport type { FunctionComponent } from \"react\";\nimport * as containerVariants from \"../containers/variants\";\nimport { PlatformInputText } from \"./PlatformInputText\";\n\nconst NativeInputText = styled(PlatformInputText, {\n render: \"input\",\n theme: \"brand\",\n\n variants: {\n ...containerVariants,\n\n disabled: {\n true: {\n color: \"$text-disabled-muted\",\n cursor: \"not-allowed\",\n opacity: \"$opacity.disabled\",\n },\n },\n } as const,\n\n // @ts-expect-error -- variants not working when isInput is true\n interactive: \"text\",\n withBackground: \"interactive\",\n withBorder: 1,\n\n outlineWidth: 1,\n outlineOffset: 0,\n outlineStyle: \"solid\",\n outlineColor: \"transparent\",\n\n focusVisibleStyle: {\n outlineWidth: 1,\n outlineOffset: 0,\n outlineStyle: \"solid\",\n outlineColor: \"$interactive.forms.outlineColor:focus\",\n },\n\n focusStyle: {\n outlineWidth: 1,\n outlineOffset: 0,\n outlineStyle: \"solid\",\n outlineColor: \"$interactive.forms.outlineColor:focus\",\n },\n});\n\nexport type InputTextProps = Pick<\n GetProps<typeof NativeInputText>,\n | \"aria-labelledby\"\n | \"autoCapitalize\"\n | \"autoCorrect\"\n | \"defaultValue\"\n | \"disabled\"\n | \"forceStyle\"\n | \"id\"\n | \"mode\"\n /** @internal use Textarea */\n | \"multiline\"\n | \"onChange\"\n | \"placeholder\"\n | \"readOnly\"\n | \"size\"\n | \"theme\"\n | \"value\"\n>;\n\nexport const InputText: FunctionComponent<InputTextProps> = NativeInputText;\n","import type { GetProps } from \"@tamagui/core\";\nimport { styled } from \"@tamagui/core\";\nimport type { FunctionComponent } from \"react\";\nimport type { InputTextProps } from \"./InputText\";\nimport { InputText } from \"./InputText\";\n\nconst TextAreaFrame = styled(InputText, {\n render: \"textarea\",\n multiline: true,\n\n height: \"auto\",\n minHeight: 80,\n borderRadius: \"$1.0\",\n paddingHorizontal: \"$0.75\",\n});\n\nexport type TextAreaProps = Pick<\n GetProps<typeof TextAreaFrame>,\n keyof InputTextProps\n>;\n\nexport const TextArea: FunctionComponent<TextAreaProps> = TextAreaFrame;\n","import type { GetProps } from \"@tamagui/core\";\nimport { styled } from \"@tamagui/core\";\nimport { ScrollView as ScrollViewNative } from \"react-native\";\n\nexport const ScrollView = styled(\n ScrollViewNative,\n {} as const,\n {\n accept: {\n contentContainerStyle: \"style\",\n },\n } as const,\n);\n\nexport type ScrollView = Pick<ScrollViewNative, \"scrollTo\">;\n\nexport type ScrollViewProps = GetProps<typeof ScrollView>;\n","import { View, styled } from \"@tamagui/core\";\nimport type { GetProps } from \"@tamagui/core\";\nimport type { ComponentType } from \"react\";\nimport { absoluteFillStyle } from \"./utils/absoluteFillStyle\";\n\nconst variants = {\n absoluteFill: {\n true: absoluteFillStyle,\n },\n} as const;\n\nexport const Stack = styled(View, {\n name: \"Stack\",\n flexDirection: \"row\",\n flexWrap: \"wrap\",\n variants,\n});\n\nexport type StackProps = GetProps<typeof Stack>;\n\nexport const HStack = styled(View, {\n name: \"HStack\",\n flexDirection: \"row\",\n variants,\n});\n\nexport type HStackProps = GetProps<typeof HStack>;\n\nexport const VStack = styled(View, {\n name: \"VStack\",\n flexDirection: \"column\",\n});\n\nexport type VStackProps = GetProps<typeof VStack>;\n\nconst CenterFrame = styled(View, {\n justifyContent: \"center\",\n alignItems: \"center\",\n variants,\n});\n\nexport type CenterProps = Pick<\n GetProps<typeof CenterFrame>,\n \"absoluteFill\" | \"children\" | \"flexGrow\" | \"flexShrink\"\n>;\n\nexport const Center: ComponentType<CenterProps> = CenterFrame;\n","import type { GetProps } from \"@tamagui/core\";\nimport { styled } from \"@tamagui/core\";\nimport { Text } from \"../primitives/Text\";\n\nexport const StoryTitle = styled(Text, {\n family: \"$heading\",\n weight: \"$extraBold\",\n variants: {\n level: {\n 1: { size: \"$xl\", marginBottom: \"$2.0\" },\n 2: { size: \"$lg\", marginBottom: \"$2.0\" },\n 3: { size: \"$md\", marginBottom: \"$1.0\" },\n 4: { size: \"$sm\", marginBottom: \"$1.0\" },\n },\n } as const,\n\n defaultVariants: {\n level: 1,\n },\n} as const);\n\nexport type StoryTitleProps = GetProps<typeof StoryTitle>;\n","import { isWeb, styled } from \"@tamagui/core\";\nimport { Fragment } from \"react\";\nimport type { ReactNode } from \"react\";\nimport type { Except } from \"type-fest\";\nimport { Box } from \"../containers/Box\";\nimport { Surface } from \"../containers/Surface\";\nimport { ScrollView } from \"../primitives/ScrollView\";\nimport { VStack } from \"../stacks/stacks\";\nimport type { VStackProps } from \"../stacks/stacks\";\nimport { StoryTitle } from \"./StoryTitle\";\n\nconst InternalStorySection = styled(VStack, {\n marginBottom: \"$2.0\",\n marginHorizontal: \"$-1.0\",\n paddingHorizontal: \"$1.0\",\n});\n\nexport type StorySectionProps = Except<VStackProps, \"marginBottom\"> & {\n title: ReactNode;\n children: ReactNode;\n level?: 1 | 2;\n withSurface?: boolean;\n};\n\nfunction StorySection({\n title,\n children,\n level = 1,\n withSurface = false,\n ...props\n}: StorySectionProps): ReactNode {\n return (\n <InternalStorySection {...props}>\n <StoryTitle level={(level + 1) as 2 | 3}>{title}</StoryTitle>\n {withSurface ? (\n <Surface>{children}</Surface>\n ) : (\n <VStack gap=\"$1.0\">{children}</VStack>\n )}\n </InternalStorySection>\n );\n}\n\nfunction SubSection({\n title,\n children,\n withSurface = false,\n ...props\n}: StorySectionProps): ReactNode {\n return (\n <InternalStorySection marginBottom=\"$1.0\" {...props}>\n <StoryTitle level={3}>{title}</StoryTitle>\n {withSurface ? (\n <Surface>{children}</Surface>\n ) : (\n <VStack gap=\"$1.0\">{children}</VStack>\n )}\n </InternalStorySection>\n );\n}\n\nconst ScrollViewNative = isWeb ? Fragment : ScrollView;\n\nexport interface StoryProps {\n documentation?: NonNullable<ReactNode>;\n children?: NonNullable<ReactNode>;\n noDarkTheme?: boolean;\n}\n\nexport function Story({\n documentation,\n children,\n noDarkTheme,\n}: StoryProps): ReactNode {\n return (\n <ScrollViewNative>\n {documentation && (\n <Surface highlight shadow=\"s\" theme=\"brand\" marginBottom=\"$3.0\">\n {documentation}\n </Surface>\n )}\n {[\"light\", ...(noDarkTheme ? [] : [\"dark\"])].map((theme) => (\n <Box\n key={theme}\n theme={theme}\n backgroundColor=\"$bg-screen\"\n padding=\"$2.0\"\n >\n {children}\n </Box>\n ))}\n </ScrollViewNative>\n );\n}\n\nStory.Section = StorySection;\nStory.SubSection = SubSection;\n","import type { ReactNode } from \"react\";\nimport { ScrollView } from \"../primitives/ScrollView\";\nimport { StoryTitle } from \"./StoryTitle\";\n\nexport interface StoryContainerProps {\n title: ReactNode;\n children: NonNullable<ReactNode>;\n}\n\nexport function StoryContainer({\n title,\n children,\n}: StoryContainerProps): ReactNode {\n return (\n <ScrollView theme=\"light\" backgroundColor=\"#fff\" padding=\"$4\">\n <StoryTitle level={1}>{title}</StoryTitle>\n {children}\n </ScrollView>\n );\n}\n","import type { Decorator } from \"@storybook/react-vite\";\nimport { StoryContainer } from \"./StoryContainer\";\n\n// eslint-disable-next-line react/function-component-definition -- not a component, it's a decorator for storybook.\nexport const StoryDecorator: Decorator = (storyFn, { name, container }) => {\n if (container === false) return storyFn();\n return <StoryContainer title={name}>{storyFn()}</StoryContainer>;\n};\n","import { View } from \"@tamagui/core\";\nimport type { ReactNode } from \"react\";\nimport { Children } from \"react\";\nimport { Platform } from \"react-native\";\nimport { VStack } from \"../stacks/stacks\";\nimport { StoryTitle } from \"./StoryTitle\";\n\nexport interface StoryGridRowProps {\n children: NonNullable<ReactNode>;\n breakpoint?: \"medium\" | \"small\";\n flexWrap?: boolean;\n}\n\nfunction StoryGridRow({\n children,\n breakpoint = \"small\",\n flexWrap,\n}: StoryGridRowProps): ReactNode {\n return (\n <View\n flexDirection=\"column\"\n {...{\n [`$${breakpoint}`]: {\n flexDirection: \"row\",\n marginBottom: \"$2.0\",\n flexWrap: flexWrap ? \"wrap\" : undefined,\n gap: flexWrap ? \"$1.0\" : undefined,\n },\n }}\n >\n {Children.map(children, (child) => (\n <View\n paddingTop=\"$1.0\"\n paddingBottom=\"$2.0\"\n {...{\n [`$${breakpoint}`]: {\n flexGrow: 1,\n flexShrink: 1,\n flexBasis: flexWrap ? undefined : 0,\n paddingTop: 0,\n paddingBottom: 0,\n marginVertical: \"$0.25\",\n },\n }}\n >\n {child}\n </View>\n ))}\n </View>\n );\n}\n\nexport interface StoryGridColProps {\n children: NonNullable<ReactNode>;\n title?: string;\n platform?: \"all\" | \"native\" | \"web\";\n}\n\nfunction StoryGridCol({\n title,\n children,\n platform = \"all\",\n}: StoryGridColProps): ReactNode {\n const isNative = Platform.OS === \"ios\" || Platform.OS === \"android\";\n\n if (Platform.OS === \"web\" && platform === \"native\") {\n return null;\n }\n\n if (isNative && platform === \"web\") {\n return null;\n }\n\n return title ? (\n <VStack>\n <StoryTitle level={4} numberOfLines={1}>\n {title}\n </StoryTitle>\n {children}\n </VStack>\n ) : (\n children\n );\n}\n\nexport const StoryGrid = {\n Row: StoryGridRow,\n Col: StoryGridCol,\n};\n","export const Breakpoints = {\n /**\n * min-width: 0\n */\n BASE: 0,\n /**\n * min-width: 480px\n */\n SMALL: 480,\n /**\n * min-width: 768px\n */\n MEDIUM: 768,\n /**\n * min-width: 1024px\n */\n LARGE: 1024,\n /**\n * min-width: 1280px\n */\n WIDE: 1280,\n} as const;\n\nexport type Breakpoint = (typeof Breakpoints)[keyof typeof Breakpoints];\nexport type BreakpointNames = \"base\" | \"large\" | \"medium\" | \"small\" | \"wide\";\n\nexport enum BreakpointNameEnum {\n BASE = \"base\",\n SMALL = \"small\",\n MEDIUM = \"medium\",\n LARGE = \"large\",\n WIDE = \"wide\",\n}\n","import { useMedia } from \"@tamagui/core\";\nimport type { BreakpointNames } from \"../config/Breakpoints\";\nimport { BreakpointNameEnum } from \"../config/Breakpoints\";\n\nexport function useCurrentBreakpointName(): BreakpointNameEnum {\n const media = useMedia();\n\n if (media.wide) return BreakpointNameEnum.WIDE;\n if (media.large) return BreakpointNameEnum.LARGE;\n if (media.medium) return BreakpointNameEnum.MEDIUM;\n if (media.small) return BreakpointNameEnum.SMALL;\n return BreakpointNameEnum.BASE;\n}\n\nexport function useCurrentBreakpointNameFiltered<\n Names extends BreakpointNames[],\n>(names: Names): Names[number] {\n const media = useMedia();\n\n if (names.includes(BreakpointNameEnum.WIDE) && media.wide) {\n return BreakpointNameEnum.WIDE;\n }\n if (names.includes(BreakpointNameEnum.LARGE) && media.large) {\n return BreakpointNameEnum.LARGE;\n }\n if (names.includes(BreakpointNameEnum.MEDIUM) && media.medium) {\n return BreakpointNameEnum.MEDIUM;\n }\n if (names.includes(BreakpointNameEnum.SMALL) && media.small) {\n return BreakpointNameEnum.SMALL;\n }\n return BreakpointNameEnum.BASE;\n}\n","import type { ReactNode } from \"react\";\nimport type { SetRequired } from \"type-fest\";\nimport type { BreakpointNames } from \"../config/Breakpoints\";\nimport { View } from \"../ui/primitives/View\";\nimport { useCurrentBreakpointNameFiltered } from \"./useCurrentBreakpointName\";\n\ntype SwitchBreakpointsProps = SetRequired<\n Partial<Record<BreakpointNames, ReactNode>>,\n \"base\"\n> & { children?: never };\n\n/**\n * Display based on current breakpoint\n *\n * This mode is SSR friendly\n */\nexport function SwitchBreakpointsUsingDisplayNone({\n ...breakpoints\n}: SwitchBreakpointsProps): ReactNode {\n const entries = Object.entries(breakpoints);\n\n return entries.map(([name, node], index) => {\n return (\n <View\n key={name}\n display={name === \"base\" ? \"flex\" : \"none\"}\n {...(name === \"base\"\n ? undefined\n : { display: \"none\", [`$${name}`]: { display: \"flex\" } })}\n {...(index + 1 in entries\n ? { [`$${entries[index + 1]![0]}`]: { display: \"none\" } }\n : undefined)}\n >\n {node}\n </View>\n );\n });\n}\n\n/**\n * Display based on current breakpoint\n *\n * This mode is not SSR friendly\n */\nexport function SwitchBreakpointsUsingNull({\n children,\n ...breakpoints\n}: SwitchBreakpointsProps): ReactNode {\n const currentBreakpointName = useCurrentBreakpointNameFiltered(\n Object.keys(breakpoints) as (keyof typeof breakpoints)[],\n );\n\n return breakpoints[currentBreakpointName] ?? null;\n}\n","import type { TamaguiProviderProps } from \"@tamagui/core\";\nimport { TamaguiProvider } from \"@tamagui/core\";\nimport type { ReactNode } from \"react\";\nimport { useColorScheme } from \"react-native\";\nimport \"./reset\";\n\nexport interface AlouetteProviderProps\n extends Pick<TamaguiProviderProps, \"disableInjectCSS\"> {\n children: ReactNode;\n tamaguiConfig: NonNullable<TamaguiProviderProps[\"config\"]>;\n defaultTheme?: \"dark\" | \"light\";\n}\n\nexport const useDefaultThemeFromColorScheme = () => {\n const colorScheme = useColorScheme();\n return colorScheme || \"light\";\n};\n\nexport function AlouetteProvider({\n children,\n tamaguiConfig,\n defaultTheme = \"light\",\n disableInjectCSS,\n}: AlouetteProviderProps): ReactNode {\n return (\n <TamaguiProvider\n config={tamaguiConfig}\n defaultTheme={defaultTheme}\n disableInjectCSS={disableInjectCSS}\n >\n {children}\n </TamaguiProvider>\n );\n}\n","/* eslint-disable react/destructuring-assignment */\nimport type { Decorator } from \"@storybook/react-vite\";\nimport type { TamaguiProviderProps } from \"@tamagui/core\";\nimport { createContext, useEffect, useState } from \"react\";\nimport { useColorScheme } from \"react-native\";\nimport { AlouetteProvider } from \"./AlouetteProvider\";\nimport { SafeAreaProvider } from \"./SafeAreaProvider\";\n\nexport const AlouetteTamaguiConfigContext = createContext<\n TamaguiProviderProps[\"config\"] | null\n>(null);\n\n// eslint-disable-next-line react/function-component-definition -- not a component\nexport const AlouetteDecorator: Decorator = (storyFn, context) => {\n const systemColorScheme = useColorScheme();\n const [theme, setTheme] = useState(systemColorScheme || \"light\");\n\n useEffect(() => {\n const backgroundColor = context.globals.backgrounds?.value;\n if (backgroundColor === \"#000000\") {\n setTheme(\"dark\");\n } else {\n setTheme(\"light\");\n }\n }, [context.globals.backgrounds?.value]);\n\n return (\n <SafeAreaProvider>\n <AlouetteProvider\n tamaguiConfig={context.parameters.tamaguiConfig}\n defaultTheme={theme}\n >\n <AlouetteTamaguiConfigContext.Provider\n value={context.parameters.tamaguiConfig}\n >\n {storyFn(context)}\n </AlouetteTamaguiConfigContext.Provider>\n </AlouetteProvider>\n </SafeAreaProvider>\n );\n};\n","import type { GetProps } from \"@tamagui/core\";\nimport { View, styled } from \"@tamagui/core\";\n\nexport const Separator = styled(View, {\n flexGrow: 1,\n flexShrink: 0,\n height: 0,\n maxHeight: 0,\n borderColor: \"$border-sharp\",\n borderWidth: 0,\n borderBottomWidth: 1,\n y: -0.5,\n\n variants: {\n vertical: {\n true: {\n height: \"auto\",\n maxHeight: \"auto\",\n width: 0,\n maxWidth: 0,\n borderBottomWidth: 0,\n borderRightWidth: 1,\n y: 0,\n x: -0.5,\n },\n },\n } as const,\n} as const);\n\nexport type SeparatorProps = GetProps<typeof Separator>;\n","import { styled } from \"@tamagui/core\";\nimport type { PressableBoxProps } from \"alouette\";\nimport { CaretRightRegularIcon } from \"alouette-icons/phosphor-icons/CaretRightRegularIcon\";\nimport type { ReactNode } from \"react\";\nimport { Icon } from \"../primitives/Icon\";\nimport { View } from \"../primitives/View\";\nimport { VStack } from \"../stacks/stacks\";\nimport { PressableBox } from \"./PressableBox\";\n\nconst PressableListItemFrame = styled(PressableBox, {\n variant: \"contained\",\n marginHorizontal: \"$0.5\",\n marginVertical: \"$0.25\",\n flexDirection: \"row\",\n justifyContent: \"space-between\",\n alignItems: \"center\",\n paddingHorizontal: \"$1.0\",\n paddingVertical: \"$1.0\",\n});\n\nexport interface PressableListItemProps {\n theme?: PressableBoxProps[\"theme\"];\n role?: PressableBoxProps[\"role\"];\n variant?: PressableBoxProps[\"variant\"];\n children: ReactNode;\n onPress: () => void;\n}\n\nexport function PressableListItem({\n theme,\n role = \"button\",\n children,\n onPress,\n}: PressableListItemProps): ReactNode {\n return (\n <PressableListItemFrame theme={theme} role={role} onPress={onPress}>\n <View flex={1}>{children}</View>\n <VStack justifyContent=\"center\">\n <Icon\n tint=\"onAccent-muted\"\n icon={<CaretRightRegularIcon />}\n size={18}\n />\n </VStack>\n </PressableListItemFrame>\n );\n}\n","import type { ThemeProps } from \"@tamagui/core\";\nimport { styled } from \"@tamagui/core\";\nimport type { ReactNode } from \"react\";\nimport { Box } from \"../containers/Box\";\n\nexport interface GradientBackgroundProps {\n theme?: ThemeProps[\"name\"];\n children?: ReactNode;\n}\n\nexport const GradientBackground = styled(Box, {\n absoluteFill: true,\n backgroundImage:\n \"linear-gradient(0deg, $bg-screen-gradient-end 5%, $bg-screen-gradient-middle 80%, $bg-screen-gradient-start 98%)\",\n position: \"absolute\", // needed to override \"static\" position for backgroundImage tamagui\n});\n","import type { GetProps } from \"@tamagui/core\";\nimport { View, styled } from \"@tamagui/core\";\nimport type { ScrollViewProps } from \"../primitives/ScrollView\";\nimport { ScrollView } from \"../primitives/ScrollView\";\nimport { GradientBackground } from \"./GradientBackground\";\n\nconst TopScrollOffset = styled(View, {\n backgroundColor: \"$bg-screen\",\n position: \"absolute\",\n top: -600,\n left: 0,\n right: 0,\n height: 600,\n});\n\n// We could have used scrollview's background color if it was the same theme as the gradient, but this allows us to have a different theme for the scrollview and the gradient, but it's not always the case\nconst BottomScrollOffset = styled(View, {\n backgroundColor: \"$bg-screen\",\n position: \"absolute\",\n bottom: -600,\n left: 0,\n right: 0,\n height: 600,\n});\n\nexport const GradientScrollView = ScrollView.styleable<{\n gradientTheme?: ScrollViewProps[\"theme\"];\n}>(({ gradientTheme, children, ...scrollViewProps }) => (\n <ScrollView {...scrollViewProps}>\n <TopScrollOffset\n theme={gradientTheme}\n backgroundColor=\"$bg-screen-gradient-start\"\n />\n <BottomScrollOffset\n theme={gradientTheme}\n backgroundColor=\"$bg-screen-gradient-end\"\n />\n <GradientBackground theme={gradientTheme} />\n {children}\n </ScrollView>\n));\n\nexport type GradientScrollViewProps = GetProps<typeof GradientScrollView>;\n","import { Theme, type ThemeName, useTheme } from \"@tamagui/core\";\nimport type { ComponentProps, ReactNode } from \"react\";\nimport { Switch as NativeSwitch } from \"react-native\";\n\nexport type SwitchProps = Pick<\n ComponentProps<typeof NativeSwitch>,\n \"aria-labelledby\" | \"disabled\" | \"onValueChange\"\n> & {\n theme?: ThemeName;\n checked?: boolean;\n // checkedTheme?: ThemeName;\n};\nfunction ThemedNativeSwitch({\n checked,\n ...rest\n}: Omit<SwitchProps, \"theme\">): ReactNode {\n const theme = useTheme();\n const backgroundColor = rest.disabled\n ? theme[\"$interactive.forms.backgroundColor:disabled\"]?.get()\n : theme[\"$bg-lowered\"]?.get();\n\n const thumbColor = rest.disabled\n ? theme[\"$text-disabled-muted\"]?.get()\n : theme[\"$bg-highlight\"]?.get();\n\n return (\n <NativeSwitch\n ios_backgroundColor={backgroundColor}\n trackColor={{\n false: backgroundColor,\n true: backgroundColor,\n }}\n thumbColor={thumbColor}\n value={checked}\n {...rest}\n />\n );\n}\n\nexport function Switch({\n // checkedTheme,\n theme,\n ...rest\n}: SwitchProps): ReactNode {\n return (\n <Theme name={theme}>\n <ThemedNativeSwitch {...rest} />\n </Theme>\n );\n}\n"],"names":["styled","View","variants","jsx","useSafeAreaInsets","usePropsAndStyle","Text","cloneElement","CoreText","jsxs","XRegularIcon","TextInput","ScrollViewNative","isWeb","Fragment","Children","Platform","BreakpointNameEnum","useMedia","useColorScheme","TamaguiProvider","createContext","useState","useEffect","SafeAreaProvider","CaretRightRegularIcon","useTheme","NativeSwitch","Theme"],"mappings":"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"}
1
+ {"version":3,"file":"index-node22.cjs","sources":["../src/ui/stacks/utils/absoluteFillStyle.ts","../src/ui/containers/createVariants.ts","../src/ui/containers/variants.ts","../src/ui/containers/Box.tsx","../src/ui/data/PressableBox.tsx","../src/ui/primitives/Icon.tsx","../src/ui/actions/IconButton.tsx","../src/ui/primitives/Text.tsx","../src/ui/actions/Button.tsx","../src/ui/containers/Surface.tsx","../src/ui/feedback/Message.tsx","../src/ui/inputs/inputStyle.ts","../src/ui/inputs/PlatformInputText.tsx","../src/ui/inputs/InputText.tsx","../src/ui/inputs/TextArea.tsx","../src/ui/primitives/ScrollView.ts","../src/ui/stacks/stacks.ts","../src/ui/story-components/StoryTitle.tsx","../src/ui/story-components/Story.tsx","../src/ui/story-components/StoryContainer.tsx","../src/ui/story-components/StoryDecorator.tsx","../src/ui/story-components/StoryGrid.tsx","../src/config/Breakpoints.ts","../src/windowSize/useCurrentBreakpointName.ts","../src/windowSize/SwitchBreakpoints.tsx","../src/core/AlouetteProvider.tsx","../src/core/AlouetteDecorator.tsx","../src/ui/stacks/Separator.tsx","../src/ui/data/PressableListItem.tsx","../src/ui/layout/GradientBackground.tsx","../src/ui/layout/GradientScrollView.tsx","../src/ui/inputs/Switch.tsx"],"sourcesContent":["export const absoluteFillStyle = {\n position: \"absolute\",\n top: 0,\n left: 0,\n right: 0,\n bottom: 0,\n} as const;\n","import type { VariantSpreadExtras } from \"@tamagui/core\";\n\nexport const absoluteFillStyle = {\n position: \"absolute\",\n top: 0,\n left: 0,\n right: 0,\n bottom: 0,\n} as const;\n\nexport type InternalPseudoState = \"focus\" | \"hover\" | \"press\";\n\nexport const getInteractionStyles = (\n name: \"backgroundColor\" | \"borderColor\" | \"outlineColor\" | \"shadowColor\",\n {\n disabled,\n interactive,\n variant = name === \"borderColor\" ? \"outlined\" : \"contained\",\n tint,\n }: VariantSpreadExtras<any>[\"props\"],\n) => {\n const isGhost = variant?.startsWith(\"ghost-\");\n const prefix =\n interactive === \"text\"\n ? \"interactive.forms\"\n : // eslint-disable-next-line @typescript-eslint/restrict-template-expressions\n `interactive${tint === \"accent\" ? \"-accent\" : \"\"}.${isGhost ? variant.slice(6) : variant}`;\n\n if (disabled) {\n return { [name]: `$${prefix}.${name}:disabled` } as const;\n }\n\n if (name === \"shadowColor\") {\n // no need to add :hover, :focus, :press, and causes issues because all of the box-shadow is set and resets width etc\n return { [name]: `$${prefix}.${name}` } as const;\n }\n\n if (name === \"outlineColor\") {\n return {\n focusVisibleStyle: {\n outlineWidth: interactive === \"text\" ? 0 : 2,\n outlineStyle: \"solid\",\n outlineOffset:\n variant === \"outlined\" || variant === \"ghost-outlined\" ? 2 : 0,\n outlineColor: `$${prefix}.${name}:focus`,\n },\n } as const;\n }\n\n return {\n [name]: isGhost ? \"transparent\" : `$${prefix}.${name}`,\n hoverStyle: { [name]: `$${prefix}.${name}:hover` },\n focusStyle: { [name]: `$${prefix}.${name}:focus` },\n pressStyle: { [name]: `$${prefix}.${name}:press` },\n disabledStyle: { [name]: `$${prefix}.${name}:disabled` },\n } as const;\n};\n","import type { SizeTokens, VariantSpreadExtras, ViewProps } from \"@tamagui/core\";\nimport { absoluteFillStyle } from \"../stacks/utils/absoluteFillStyle\";\nimport { getInteractionStyles } from \"./createVariants\";\n\nexport const absoluteFill = {\n true: absoluteFillStyle,\n} as const;\n\nexport const center = {\n true: {\n justifyContent: \"center\",\n alignItems: \"center\",\n },\n} as const;\n\nexport const tint = {\n accent: {}, // used in interactive variant\n} as const;\n\nexport function interactive(\n isInteractiveOrInteractiveCursorType: ViewProps[\"cursor\"] | boolean,\n { props }: VariantSpreadExtras<any>,\n) {\n if (!isInteractiveOrInteractiveCursorType) return null;\n\n if (isInteractiveOrInteractiveCursorType === true) {\n return {\n cursor: \"pointer\",\n\n pressStyle: {\n transform: [{ scale: 0.975 }],\n },\n\n disabledStyle: {\n cursor: \"not-allowed\",\n opacity: \"$opacity.disabled\",\n transform: [{ scale: 1 }],\n },\n };\n }\n\n return {\n cursor: isInteractiveOrInteractiveCursorType,\n\n disabledStyle: {\n cursor: \"not-allowed\",\n opacity: \"$opacity.disabled\",\n },\n } as const;\n}\n\nexport const layer = {\n surface: {\n backgroundColor: \"$bg-surface\",\n },\n highlight: {\n backgroundColor: \"$bg-highlight\",\n },\n \"highlight-accent\": {\n backgroundColor: \"$bg-highlight-accent\",\n },\n lowered: {\n backgroundColor: \"$bg-lowered\",\n },\n} as const;\n\nexport const shadow = {\n none: {\n boxShadow: \"none\",\n elevationAndroid: 0,\n },\n s: {\n boxShadow:\n \"inset 0 1px 2px #ffffff40, 0 1px 2px #00000040, 0 2px 4px #00000025\",\n elevationAndroid: 2,\n },\n\n m: {\n boxShadow:\n \"inset 0 1px 2px #ffffff40, 0 2px 4px #00000040, 0 4px 8px #00000025\",\n elevationAndroid: 4,\n },\n\n l: {\n boxShadow:\n \"inset 0 1px 2px #ffffff40, 0 4px 6px #00000040, 0 6px 10px #00000025\",\n elevationAndroid: 6,\n },\n\n lowered: {\n boxShadow: \"inset 0 1px 2px #00000040, inset 0 -2px 2px #ffffff15\",\n },\n} as const;\n\nexport const size = (val: number) => {\n return { width: val, height: val };\n};\n\nexport const withBorder = (\n val: SizeTokens,\n { props }: VariantSpreadExtras<any>,\n) => {\n if (props.shadow && props.shadow !== \"lowered\") {\n throw new Error(\"Cannot use border with shadow variant\");\n }\n\n return {\n borderWidth: val,\n\n ...(props.interactive\n ? getInteractionStyles(\"borderColor\", props)\n : { borderColor: \"$border-sharp\" }),\n } as const;\n};\n\nexport const withFocusVisibleOutline = (\n val: boolean,\n { props }: VariantSpreadExtras<any>,\n) => {\n if (!val) return null;\n return {\n ...(props.interactive\n ? getInteractionStyles(\"outlineColor\", props)\n : { outlineColor: \"$outlineColor\" }),\n\n disabledStyle: {\n outlineWidth: 0,\n },\n } as const;\n};\n\nexport const withBackground = (\n val: \"highlight\" | \"interactive\" | \"surface\",\n { props }: VariantSpreadExtras<any>,\n) => {\n return props.interactive && val === \"interactive\"\n ? getInteractionStyles(\"backgroundColor\", props)\n : ({\n backgroundColor: val === \"surface\" ? \"$bg-surface\" : \"$bg-highlight\",\n } as const);\n};\n","import type { GetProps } from \"@tamagui/core\";\nimport { View, styled } from \"@tamagui/core\";\nimport type { ComponentType } from \"react\";\nimport { useSafeAreaInsets } from \"../../core/useSafeAreaInsets\";\nimport * as variants from \"./variants\";\n\nconst BoxFrame = styled(View, {\n // never apply overflow hidden here, as it will break shadows\n\n flexShrink: 1, // allow to shrink by default, as Box is often used in VSTack and HStack. See button for an example.\n\n variants,\n});\n\ntype BoxFrameProps = GetProps<typeof BoxFrame>;\n\nconst InteractiveBoxFrame = styled(BoxFrame, {\n interactive: true,\n tabIndex: 0,\n transition: \"fast\",\n variants: {\n disabled: {\n true: {\n tabIndex: -1 as const,\n },\n },\n } as const,\n});\n\nexport type BoxProps = Pick<\n BoxFrameProps,\n \"absoluteFill\" | \"children\" | \"layer\" | \"shadow\"\n>;\n\nexport const Box: ComponentType<BoxFrameProps> =\n process.env.NODE_ENV !== \"production\"\n ? (props) => {\n if (\n process.env.NODE_ENV !== \"production\" &&\n props.shadow === \"lowered\" &&\n props.layer !== \"lowered\"\n ) {\n throw new Error(\n 'shadow=\"lowered\" must only be used with layer=\"lowered\"',\n );\n }\n\n return <BoxFrame {...props} />;\n }\n : BoxFrame;\n\nexport const InteractiveBox: ComponentType<BoxFrameProps> = InteractiveBoxFrame;\n\nexport const SafeAreaBox = BoxFrame.styleable<{\n padding?: never;\n paddingTop?: never;\n paddingBottom?: never;\n paddingLeft?: never;\n paddingRight?: never;\n}>((props) => {\n const insets = useSafeAreaInsets();\n return (\n <Box\n {...props}\n paddingTop={insets.top}\n paddingBottom={insets.bottom}\n paddingLeft={insets.left}\n paddingRight={insets.right}\n />\n );\n});\n\nexport type SafeAreaBoxProps = GetProps<typeof SafeAreaBox>;\n","import type { GetProps } from \"@tamagui/core\";\nimport { styled } from \"@tamagui/core\";\nimport { InteractiveBox } from \"../containers/Box\";\n\nexport const PressableBox = styled(InteractiveBox, {\n role: \"button\",\n overflow: \"hidden\",\n\n withFocusVisibleOutline: true,\n\n variants: {\n variant: {\n contained: {\n withBackground: \"interactive\",\n shadow: \"s\",\n borderRadius: \"$sm\",\n },\n outlined: {\n // withBackground: \"highlight\",\n withBorder: 1,\n },\n \"ghost-contained\": {\n withBackground: \"interactive\",\n backgroundColor: \"transparent\",\n },\n \"ghost-outlined\": {\n // withBackground: \"surface\",\n withBorder: 1,\n backgroundColor: \"transparent\",\n borderColor: \"transparent\",\n },\n },\n } as const,\n\n defaultVariants: {\n variant: \"contained\",\n },\n});\n\nexport type PressableBoxProps = GetProps<typeof PressableBox>;\n","import type { ColorTokens } from \"@tamagui/core\";\nimport { Text, usePropsAndStyle } from \"@tamagui/core\";\nimport { cloneElement } from \"react\";\nimport type { ReactElement, ReactNode, SVGProps } from \"react\";\n\nexport type SVGIconElement = ReactElement<SVGProps<SVGSVGElement>>;\n\nexport interface IconProps {\n icon: SVGIconElement;\n disabled?: boolean;\n disabledSharp?: boolean;\n tint?:\n | \"accent-muted\"\n | \"accent\"\n | \"muted\"\n | \"onAccent-muted\"\n | \"onAccent\"\n | \"sharp\";\n size?: number;\n}\n\nconst getDefaultColor = (\n disabled?: boolean,\n disabledSharp?: boolean,\n tint?: IconProps[\"tint\"],\n): ColorTokens => {\n if (disabled) {\n return disabledSharp ? \"$text-disabled-sharp\" : \"$text-disabled-muted\";\n }\n if (tint === \"accent\") return \"$text-accent\";\n if (tint === \"accent-muted\") return \"$text-accent-muted\";\n if (tint === \"muted\") return \"$text-muted\";\n if (tint === \"onAccent\") return \"$text-onAccent\";\n if (tint === \"onAccent-muted\") return \"$text-onAccent-muted\";\n return \"$text-sharp\";\n};\n\nexport function Icon({\n icon,\n // TODO should size be normalized ?\n size = 20,\n disabled,\n disabledSharp,\n tint,\n}: IconProps): ReactNode {\n const [props, style] = usePropsAndStyle(\n {\n color: getDefaultColor(disabled, disabledSharp, tint),\n width: size,\n height: size,\n },\n { forComponent: Text },\n );\n return cloneElement(icon, { style, ...props } as any);\n}\n","import type { GetProps } from \"@tamagui/core\";\nimport { styled } from \"@tamagui/core\";\nimport type { ReactNode } from \"react\";\nimport type { SetRequired } from \"type-fest\";\nimport { PressableBox } from \"../data/PressableBox\";\nimport type { SVGIconElement } from \"../primitives/Icon\";\nimport { Icon } from \"../primitives/Icon\";\n\nconst IconButtonFrame = styled(PressableBox, {\n name: \"IconButtonFrame\",\n role: \"button\",\n center: true,\n borderRadius: 10_000,\n});\n\ntype IconButtonFrameProps = GetProps<typeof IconButtonFrame>;\n\nexport interface IconButtonProps\n extends SetRequired<IconButtonFrameProps, \"aria-label\"> {\n icon: NonNullable<SVGIconElement>;\n iconSize?: \"fill\";\n}\n\nexport function IconButton({\n icon,\n disabled,\n size = 40,\n iconSize,\n variant = \"contained\",\n ...pressableBoxProps\n}: IconButtonProps): ReactNode {\n return (\n <IconButtonFrame\n size={size}\n variant={variant}\n disabled={disabled}\n {...pressableBoxProps}\n >\n <Icon\n size={iconSize === \"fill\" ? size * 0.8 : size * 0.5}\n disabled={disabled}\n icon={icon}\n />\n </IconButtonFrame>\n );\n}\n","import type { GetProps } from \"@tamagui/core\";\nimport { Text as CoreText, styled } from \"@tamagui/core\";\nimport type { FunctionComponent } from \"react\";\n\nexport const TextStyled = styled(CoreText, {\n variants: {\n inherit: {\n false: {\n size: \"$md\",\n weight: \"$regular\",\n fontFamily: \"$body\",\n tint: \"sharp\",\n },\n },\n size: {\n \"...fontSize\": (size) => ({\n fontSize: size,\n lineHeight: size,\n }),\n },\n weight: {\n $regular: { fontWeight: \"$regular\" },\n $bold: { fontWeight: \"$bold\" },\n $extraBold: { fontWeight: \"$extraBold\" },\n },\n family: {\n $heading: { fontFamily: \"$heading\" },\n $body: { fontFamily: \"$body\" },\n \"$body-monospace\": { fontFamily: \"$body-monospace\" },\n },\n tint: {\n sharp: {\n color: \"$text-sharp\",\n\n disabledStyle: {\n color: \"$text-disabled-muted\",\n },\n },\n muted: {\n color: \"$text-muted\",\n\n disabledStyle: {\n color: \"$text-disabled-muted\",\n },\n },\n accent: {\n color: \"$text-accent\",\n },\n onAccent: {\n color: \"$text-onAccent\",\n },\n },\n disabledSharp: {\n true: {\n disabledStyle: {\n color: \"$text-disabled-sharp\",\n },\n },\n },\n },\n\n defaultVariants: {\n inherit: false,\n },\n} as const);\n\nexport type TextProps = Pick<\n GetProps<typeof TextStyled>,\n | \"children\"\n | \"disabledSharp\"\n | \"family\"\n | \"inherit\"\n | \"numberOfLines\"\n | \"size\"\n | \"textAlign\"\n | \"theme\"\n | \"tint\"\n | \"weight\"\n>;\nexport const Text: FunctionComponent<TextProps> = TextStyled;\n\nconst ParagraphStyled = styled(TextStyled, {\n render: \"p\",\n userSelect: \"auto\",\n inherit: false,\n});\n\nexport type ParagraphProps = Pick<\n GetProps<typeof ParagraphStyled>,\n \"children\" | \"size\" | \"theme\" | \"tint\"\n>;\n\nexport const Paragraph: FunctionComponent<ParagraphProps> = ParagraphStyled;\n","import type { GetProps } from \"@tamagui/core\";\nimport { styled } from \"@tamagui/core\";\nimport type { ReactNode } from \"react\";\nimport type { Except } from \"type-fest\";\nimport { PressableBox } from \"../data/PressableBox\";\nimport { Icon } from \"../primitives/Icon\";\nimport type { SVGIconElement } from \"../primitives/Icon\";\nimport { Text } from \"../primitives/Text\";\n\nconst ButtonFrame = styled(PressableBox, {\n name: \"ButtonFrame\",\n render: \"button\",\n // @ts-expect-error missing type definition\n type: \"button\",\n center: true,\n flexDirection: \"row\",\n\n variants: {\n size: {\n sm: {\n paddingHorizontal: \"$0.5\",\n gap: \"$0.25\",\n borderRadius: \"$sm\",\n minHeight: 38,\n },\n md: {\n paddingHorizontal: \"$1.0\",\n gap: \"$0.5\",\n borderRadius: \"$sm\",\n minHeight: 44,\n },\n },\n },\n\n defaultVariants: {\n size: \"md\",\n },\n} as const);\n\nconst ButtonText = styled(Text, {\n textAlign: \"center\",\n weight: \"$bold\",\n flexShrink: 1,\n\n variants: {\n \"button-size\": {\n sm: {\n paddingVertical: \"$0.25\",\n size: \"$sm\",\n },\n md: {\n paddingVertical: \"$0.5\",\n size: \"$md\",\n },\n },\n },\n});\n\ntype ButtonFrameProps = GetProps<typeof ButtonFrame>;\n\nexport interface ButtonProps extends Except<ButtonFrameProps, \"size\"> {\n icon?: NonNullable<SVGIconElement>;\n text: ReactNode;\n size?: \"md\" | \"sm\";\n}\n\nexport function Button({\n icon,\n text,\n disabled,\n variant = \"contained\",\n size = \"md\",\n ...pressableProps\n}: ButtonProps): ReactNode {\n return (\n <ButtonFrame\n variant={variant}\n size={size}\n disabled={disabled}\n {...pressableProps}\n >\n {icon && (\n <Icon\n tint={variant === \"contained\" ? \"onAccent\" : undefined}\n disabled={disabled}\n disabledSharp={variant === \"contained\"}\n icon={icon}\n size={size === \"sm\" ? 16 : 20}\n />\n )}\n <ButtonText\n tint={variant === \"contained\" ? \"onAccent\" : undefined}\n button-size={size}\n disabled={disabled}\n disabledSharp={variant === \"contained\"}\n textAlign={icon ? \"left\" : \"center\"}\n >\n {text}\n </ButtonText>\n </ButtonFrame>\n );\n}\n\nexport function ExternalLinkButton(\n props: Except<ButtonProps, \"render\" | \"role\"> & { href: string },\n): ReactNode {\n return (\n <Button\n {...props}\n render=\"a\"\n role=\"link\"\n target=\"_blank\"\n rel=\"noopener noreferrer\"\n style={{ textDecorationLine: \"none\" }}\n />\n );\n}\n\nexport function InternalLinkButton(\n props: Except<ButtonProps, \"render\" | \"role\"> & { href: string },\n): ReactNode {\n return <Button {...props} render=\"a\" role=\"link\" />;\n}\n","import type { GetProps } from \"@tamagui/core\";\nimport { styled } from \"@tamagui/core\";\nimport type { ComponentType } from \"react\";\nimport { Box } from \"./Box\";\n\nexport const SurfaceFrame = styled(Box, {\n shadow: \"s\",\n\n overflow: \"hidden\", // make sure the boxshadow respects the borderRadius.\n\n variants: {\n size: {\n sm: {\n padding: \"$1.0\",\n borderRadius: \"$sm\",\n },\n md: {\n padding: \"$2.0\",\n borderRadius: \"$md\",\n },\n lg: {\n padding: \"$3.0\",\n borderRadius: \"$lg\",\n },\n },\n\n highlight: {\n true: {\n layer: \"highlight\",\n },\n false: {\n layer: \"surface\",\n },\n accent: {\n layer: \"highlight-accent\",\n },\n },\n lowered: {\n true: {\n layer: \"lowered\",\n shadow: \"lowered\",\n },\n },\n } as const,\n\n defaultVariants: {\n highlight: false,\n size: \"md\",\n },\n});\n\ntype SurfaceFrameProps = GetProps<typeof SurfaceFrame>;\n\nexport type SurfaceProps = Pick<\n SurfaceFrameProps,\n | \"children\"\n | \"highlight\"\n | \"lowered\"\n | \"marginBottom\"\n | \"marginTop\"\n | \"shadow\"\n | \"size\"\n | \"theme\"\n>;\n\nexport const Surface: ComponentType<SurfaceProps> = SurfaceFrame;\n","import { View, styled } from \"@tamagui/core\";\nimport { CheckRegularIcon } from \"alouette-icons/phosphor-icons/CheckRegularIcon\";\nimport { InfoRegularIcon } from \"alouette-icons/phosphor-icons/InfoRegularIcon\";\nimport { WarningRegularIcon } from \"alouette-icons/phosphor-icons/WarningRegularIcon\";\nimport { XRegularIcon } from \"alouette-icons/phosphor-icons/XRegularIcon\";\nimport type { ReactNode } from \"react\";\nimport type { Except } from \"type-fest\";\nimport { IconButton } from \"../actions/IconButton\";\nimport type { SurfaceProps } from \"../containers/Surface\";\nimport { Surface } from \"../containers/Surface\";\nimport type { IconProps } from \"../primitives/Icon\";\nimport { Icon } from \"../primitives/Icon\";\nimport { Text } from \"../primitives/Text\";\n\nexport const MessageFrame = styled(Surface, {\n name: \"MessageFrame\",\n alignItems: \"center\",\n flexDirection: \"row\",\n highlight: \"accent\",\n\n variants: {\n size: {\n sm: {\n gap: \"$0.5\",\n },\n md: {\n gap: \"$1.0\",\n },\n lg: {\n gap: \"$1.5\",\n },\n },\n },\n\n defaultVariants: {\n size: \"md\",\n },\n} as const);\n\nexport const MessageText = styled(Text, {\n size: \"$md\",\n flexGrow: 1,\n tint: \"accent\",\n} as const);\n\nconst MessageIconContainer = styled(View, {\n alignItems: \"center\",\n});\n\nconst MessageDismissButtonContainer = styled(View, {\n position: \"relative\",\n alignItems: \"center\",\n justifyContent: \"center\",\n\n variants: {\n size: {\n sm: {\n height: 24,\n width: 24,\n },\n md: {\n height: 40,\n width: 40,\n },\n lg: {\n height: 40,\n width: 40,\n },\n },\n } as const,\n\n defaultVariants: {\n size: \"md\",\n },\n});\n\ninterface MessageBaseProps {\n theme: NonNullable<SurfaceProps[\"theme\"]>;\n size?: NonNullable<SurfaceProps[\"size\"]>;\n icon: IconProps[\"icon\"];\n children?: ReactNode;\n}\ninterface MessagePropsWithDismiss extends MessageBaseProps {\n onDismiss: () => void;\n dismissIconAriaLabel: string;\n}\n\ninterface MessagePropsWithoutDismiss extends MessageBaseProps {\n onDismiss?: undefined;\n dismissIconAriaLabel?: undefined;\n}\n\nexport type MessageProps = MessagePropsWithDismiss | MessagePropsWithoutDismiss;\n\nexport function Message({\n icon,\n size = \"md\",\n theme,\n children,\n onDismiss,\n dismissIconAriaLabel,\n}: MessageProps): ReactNode {\n return (\n <MessageFrame theme={theme} size={size}>\n <MessageIconContainer>\n <Icon size={size === \"sm\" ? 20 : 24} icon={icon} tint=\"accent\" />\n </MessageIconContainer>\n <MessageText>{children}</MessageText>\n {onDismiss ? (\n <MessageDismissButtonContainer size={size}>\n <IconButton\n icon={<XRegularIcon />}\n iconSize={size === \"sm\" ? \"fill\" : undefined}\n size={size === \"sm\" ? 24 : 40}\n variant=\"outlined\"\n tint=\"accent\"\n aria-label={dismissIconAriaLabel}\n />\n </MessageDismissButtonContainer>\n ) : null}\n </MessageFrame>\n );\n}\n\ntype SemanticMessageProps = Except<MessageProps, \"icon\" | \"theme\">;\n\nexport function InfoMessage(props: SemanticMessageProps): ReactNode {\n return <Message {...props} theme=\"info\" icon={<InfoRegularIcon />} />;\n}\n\nexport function ConfirmationMessage(props: SemanticMessageProps): ReactNode {\n return <Message {...props} theme=\"success\" icon={<CheckRegularIcon />} />;\n}\n\nexport function WarningMessage(props: SemanticMessageProps): ReactNode {\n return <Message {...props} theme=\"warning\" icon={<WarningRegularIcon />} />;\n}\n","export const inputStyle = {\n fontFamily: \"$body\",\n fontSize: \"$md\",\n color: \"$text-sharp\",\n\n paddingHorizontal: \"$1.0\",\n paddingVertical: \"$0.5\",\n borderRadius: \"$md\",\n} as const;\n","import { Text, styled } from \"@tamagui/core\";\nimport { TextInput } from \"react-native\";\nimport { inputStyle } from \"./inputStyle\";\n\nexport const PlatformInputText = styled(\n TextInput,\n {\n ...inputStyle,\n focusable: true,\n\n variants: {\n mode: {\n password: {\n secureTextEntry: true,\n },\n number: {\n inputMode: \"numeric\",\n keyboardType: \"numeric\",\n },\n tel: {\n inputMode: \"tel\",\n autoComplete: \"tel\",\n keyboardType: \"phone-pad\",\n },\n email: {\n inputMode: \"email\",\n autoComplete: \"email\",\n keyboardType: \"email-address\",\n },\n url: {\n inputMode: \"url\",\n keyboardType: \"url\",\n },\n search: {\n inputMode: \"search\",\n },\n webSearch: {\n inputMode: \"search\",\n keyboardType: \"web-search\",\n },\n },\n } as const,\n },\n {\n isInput: true,\n validStyles: Text.staticConfig.validStyles,\n } as const,\n);\n","import type { GetProps } from \"@tamagui/core\";\nimport { styled } from \"@tamagui/core\";\nimport type { FunctionComponent } from \"react\";\nimport * as containerVariants from \"../containers/variants\";\nimport { PlatformInputText } from \"./PlatformInputText\";\n\nconst NativeInputText = styled(PlatformInputText, {\n render: \"input\",\n theme: \"brand\",\n\n variants: {\n ...containerVariants,\n\n disabled: {\n true: {\n color: \"$text-disabled-muted\",\n cursor: \"not-allowed\",\n opacity: \"$opacity.disabled\",\n },\n },\n } as const,\n\n // @ts-expect-error -- variants not working when isInput is true\n interactive: \"text\",\n withBackground: \"interactive\",\n withBorder: 1,\n\n outlineWidth: 1,\n outlineOffset: 0,\n outlineStyle: \"solid\",\n outlineColor: \"transparent\",\n\n focusVisibleStyle: {\n outlineWidth: 1,\n outlineOffset: 0,\n outlineStyle: \"solid\",\n outlineColor: \"$interactive.forms.outlineColor:focus\",\n },\n\n focusStyle: {\n outlineWidth: 1,\n outlineOffset: 0,\n outlineStyle: \"solid\",\n outlineColor: \"$interactive.forms.outlineColor:focus\",\n },\n});\n\nexport type InputTextProps = Pick<\n GetProps<typeof NativeInputText>,\n | \"aria-labelledby\"\n | \"autoCapitalize\"\n | \"autoCorrect\"\n | \"defaultValue\"\n | \"disabled\"\n | \"forceStyle\"\n | \"id\"\n | \"mode\"\n /** @internal use Textarea */\n | \"multiline\"\n | \"onChange\"\n | \"placeholder\"\n | \"readOnly\"\n | \"size\"\n | \"theme\"\n | \"value\"\n>;\n\nexport const InputText: FunctionComponent<InputTextProps> = NativeInputText;\n","import type { GetProps } from \"@tamagui/core\";\nimport { styled } from \"@tamagui/core\";\nimport type { FunctionComponent } from \"react\";\nimport type { InputTextProps } from \"./InputText\";\nimport { InputText } from \"./InputText\";\n\nconst TextAreaFrame = styled(InputText, {\n render: \"textarea\",\n multiline: true,\n\n height: \"auto\",\n minHeight: 80,\n borderRadius: \"$1.0\",\n paddingHorizontal: \"$0.75\",\n});\n\nexport type TextAreaProps = Pick<\n GetProps<typeof TextAreaFrame>,\n keyof InputTextProps\n>;\n\nexport const TextArea: FunctionComponent<TextAreaProps> = TextAreaFrame;\n","import type { GetProps } from \"@tamagui/core\";\nimport { styled } from \"@tamagui/core\";\nimport { ScrollView as ScrollViewNative } from \"react-native\";\n\nexport const ScrollView = styled(\n ScrollViewNative,\n {} as const,\n {\n accept: {\n contentContainerStyle: \"style\",\n },\n } as const,\n);\n\nexport type ScrollView = Pick<ScrollViewNative, \"scrollTo\">;\n\nexport type ScrollViewProps = GetProps<typeof ScrollView>;\n","import { View, styled } from \"@tamagui/core\";\nimport type { GetProps } from \"@tamagui/core\";\nimport type { ComponentType } from \"react\";\nimport { absoluteFillStyle } from \"./utils/absoluteFillStyle\";\n\nconst variants = {\n absoluteFill: {\n true: absoluteFillStyle,\n },\n} as const;\n\nexport const Stack = styled(View, {\n name: \"Stack\",\n flexDirection: \"row\",\n flexWrap: \"wrap\",\n variants,\n});\n\nexport type StackProps = GetProps<typeof Stack>;\n\nexport const HStack = styled(View, {\n name: \"HStack\",\n flexDirection: \"row\",\n variants,\n});\n\nexport type HStackProps = GetProps<typeof HStack>;\n\nexport const VStack = styled(View, {\n name: \"VStack\",\n flexDirection: \"column\",\n});\n\nexport type VStackProps = GetProps<typeof VStack>;\n\nconst CenterFrame = styled(View, {\n justifyContent: \"center\",\n alignItems: \"center\",\n variants,\n});\n\nexport type CenterProps = Pick<\n GetProps<typeof CenterFrame>,\n \"absoluteFill\" | \"children\" | \"flexGrow\" | \"flexShrink\"\n>;\n\nexport const Center: ComponentType<CenterProps> = CenterFrame;\n","import type { GetProps } from \"@tamagui/core\";\nimport { styled } from \"@tamagui/core\";\nimport { Text } from \"../primitives/Text\";\n\nexport const StoryTitle = styled(Text, {\n family: \"$heading\",\n weight: \"$extraBold\",\n variants: {\n level: {\n 1: { size: \"$xl\", marginBottom: \"$2.0\" },\n 2: { size: \"$lg\", marginBottom: \"$2.0\" },\n 3: { size: \"$md\", marginBottom: \"$1.0\" },\n 4: { size: \"$sm\", marginBottom: \"$1.0\" },\n },\n } as const,\n\n defaultVariants: {\n level: 1,\n },\n} as const);\n\nexport type StoryTitleProps = GetProps<typeof StoryTitle>;\n","import { isWeb, styled } from \"@tamagui/core\";\nimport { Fragment } from \"react\";\nimport type { ReactNode } from \"react\";\nimport type { Except } from \"type-fest\";\nimport { Box } from \"../containers/Box\";\nimport { Surface } from \"../containers/Surface\";\nimport { ScrollView } from \"../primitives/ScrollView\";\nimport { VStack } from \"../stacks/stacks\";\nimport type { VStackProps } from \"../stacks/stacks\";\nimport { StoryTitle } from \"./StoryTitle\";\n\nconst InternalStorySection = styled(VStack, {\n marginBottom: \"$2.0\",\n marginHorizontal: \"$-1.0\",\n paddingHorizontal: \"$1.0\",\n});\n\nexport type StorySectionProps = Except<VStackProps, \"marginBottom\"> & {\n title: ReactNode;\n children: ReactNode;\n level?: 1 | 2;\n withSurface?: boolean;\n};\n\nfunction StorySection({\n title,\n children,\n level = 1,\n withSurface = false,\n ...props\n}: StorySectionProps): ReactNode {\n return (\n <InternalStorySection {...props}>\n <StoryTitle level={(level + 1) as 2 | 3}>{title}</StoryTitle>\n {withSurface ? (\n <Surface>{children}</Surface>\n ) : (\n <VStack gap=\"$1.0\">{children}</VStack>\n )}\n </InternalStorySection>\n );\n}\n\nfunction SubSection({\n title,\n children,\n withSurface = false,\n ...props\n}: StorySectionProps): ReactNode {\n return (\n <InternalStorySection marginBottom=\"$1.0\" {...props}>\n <StoryTitle level={3}>{title}</StoryTitle>\n {withSurface ? (\n <Surface>{children}</Surface>\n ) : (\n <VStack gap=\"$1.0\">{children}</VStack>\n )}\n </InternalStorySection>\n );\n}\n\nconst ScrollViewNative = isWeb ? Fragment : ScrollView;\n\nexport interface StoryProps {\n documentation?: NonNullable<ReactNode>;\n children?: NonNullable<ReactNode>;\n noDarkTheme?: boolean;\n}\n\nexport function Story({\n documentation,\n children,\n noDarkTheme,\n}: StoryProps): ReactNode {\n return (\n <ScrollViewNative>\n {documentation && (\n <Surface highlight shadow=\"s\" theme=\"brand\" marginBottom=\"$3.0\">\n {documentation}\n </Surface>\n )}\n {[\"light\", ...(noDarkTheme ? [] : [\"dark\"])].map((theme) => (\n <Box\n key={theme}\n theme={theme}\n backgroundColor=\"$bg-screen\"\n padding=\"$2.0\"\n >\n {children}\n </Box>\n ))}\n </ScrollViewNative>\n );\n}\n\nStory.Section = StorySection;\nStory.SubSection = SubSection;\n","import type { ReactNode } from \"react\";\nimport { ScrollView } from \"../primitives/ScrollView\";\nimport { StoryTitle } from \"./StoryTitle\";\n\nexport interface StoryContainerProps {\n title: ReactNode;\n children: NonNullable<ReactNode>;\n}\n\nexport function StoryContainer({\n title,\n children,\n}: StoryContainerProps): ReactNode {\n return (\n <ScrollView theme=\"light\" backgroundColor=\"#fff\" padding=\"$4\">\n <StoryTitle level={1}>{title}</StoryTitle>\n {children}\n </ScrollView>\n );\n}\n","import type { Decorator } from \"@storybook/react-vite\";\nimport { StoryContainer } from \"./StoryContainer\";\n\n// eslint-disable-next-line react/function-component-definition -- not a component, it's a decorator for storybook.\nexport const StoryDecorator: Decorator = (storyFn, { name, container }) => {\n if (container === false) return storyFn();\n return <StoryContainer title={name}>{storyFn()}</StoryContainer>;\n};\n","import { View } from \"@tamagui/core\";\nimport type { ReactNode } from \"react\";\nimport { Children } from \"react\";\nimport { Platform } from \"react-native\";\nimport { VStack } from \"../stacks/stacks\";\nimport { StoryTitle } from \"./StoryTitle\";\n\nexport interface StoryGridRowProps {\n children: NonNullable<ReactNode>;\n breakpoint?: \"medium\" | \"small\";\n flexWrap?: boolean;\n}\n\nfunction StoryGridRow({\n children,\n breakpoint = \"small\",\n flexWrap,\n}: StoryGridRowProps): ReactNode {\n return (\n <View\n flexDirection=\"column\"\n {...{\n [`$${breakpoint}`]: {\n flexDirection: \"row\",\n marginBottom: \"$2.0\",\n flexWrap: flexWrap ? \"wrap\" : undefined,\n gap: flexWrap ? \"$1.0\" : undefined,\n },\n }}\n >\n {Children.map(children, (child) => (\n <View\n paddingTop=\"$1.0\"\n paddingBottom=\"$2.0\"\n {...{\n [`$${breakpoint}`]: {\n flexGrow: 1,\n flexShrink: 1,\n flexBasis: flexWrap ? undefined : 0,\n paddingTop: 0,\n paddingBottom: 0,\n marginVertical: \"$0.25\",\n },\n }}\n >\n {child}\n </View>\n ))}\n </View>\n );\n}\n\nexport interface StoryGridColProps {\n children: NonNullable<ReactNode>;\n title?: string;\n platform?: \"all\" | \"native\" | \"web\";\n}\n\nfunction StoryGridCol({\n title,\n children,\n platform = \"all\",\n}: StoryGridColProps): ReactNode {\n const isNative = Platform.OS === \"ios\" || Platform.OS === \"android\";\n\n if (Platform.OS === \"web\" && platform === \"native\") {\n return null;\n }\n\n if (isNative && platform === \"web\") {\n return null;\n }\n\n return title ? (\n <VStack>\n <StoryTitle level={4} numberOfLines={1}>\n {title}\n </StoryTitle>\n {children}\n </VStack>\n ) : (\n children\n );\n}\n\nexport const StoryGrid = {\n Row: StoryGridRow,\n Col: StoryGridCol,\n};\n","export const Breakpoints = {\n /**\n * min-width: 0\n */\n BASE: 0,\n /**\n * min-width: 480px\n */\n SMALL: 480,\n /**\n * min-width: 768px\n */\n MEDIUM: 768,\n /**\n * min-width: 1024px\n */\n LARGE: 1024,\n /**\n * min-width: 1280px\n */\n WIDE: 1280,\n} as const;\n\nexport type Breakpoint = (typeof Breakpoints)[keyof typeof Breakpoints];\nexport type BreakpointNames = \"base\" | \"large\" | \"medium\" | \"small\" | \"wide\";\n\nexport enum BreakpointNameEnum {\n BASE = \"base\",\n SMALL = \"small\",\n MEDIUM = \"medium\",\n LARGE = \"large\",\n WIDE = \"wide\",\n}\n","import { useMedia } from \"@tamagui/core\";\nimport type { BreakpointNames } from \"../config/Breakpoints\";\nimport { BreakpointNameEnum } from \"../config/Breakpoints\";\n\nexport function useCurrentBreakpointName(): BreakpointNameEnum {\n const media = useMedia();\n\n if (media.wide) return BreakpointNameEnum.WIDE;\n if (media.large) return BreakpointNameEnum.LARGE;\n if (media.medium) return BreakpointNameEnum.MEDIUM;\n if (media.small) return BreakpointNameEnum.SMALL;\n return BreakpointNameEnum.BASE;\n}\n\nexport function useCurrentBreakpointNameFiltered<\n Names extends BreakpointNames[],\n>(names: Names): Names[number] {\n const media = useMedia();\n\n if (names.includes(BreakpointNameEnum.WIDE) && media.wide) {\n return BreakpointNameEnum.WIDE;\n }\n if (names.includes(BreakpointNameEnum.LARGE) && media.large) {\n return BreakpointNameEnum.LARGE;\n }\n if (names.includes(BreakpointNameEnum.MEDIUM) && media.medium) {\n return BreakpointNameEnum.MEDIUM;\n }\n if (names.includes(BreakpointNameEnum.SMALL) && media.small) {\n return BreakpointNameEnum.SMALL;\n }\n return BreakpointNameEnum.BASE;\n}\n","import type { ReactNode } from \"react\";\nimport type { SetRequired } from \"type-fest\";\nimport type { BreakpointNames } from \"../config/Breakpoints\";\nimport { View } from \"../ui/primitives/View\";\nimport { useCurrentBreakpointNameFiltered } from \"./useCurrentBreakpointName\";\n\ntype SwitchBreakpointsProps = SetRequired<\n Partial<Record<BreakpointNames, ReactNode>>,\n \"base\"\n> & { children?: never };\n\n/**\n * Display based on current breakpoint\n *\n * This mode is SSR friendly\n */\nexport function SwitchBreakpointsUsingDisplayNone({\n ...breakpoints\n}: SwitchBreakpointsProps): ReactNode {\n const entries = Object.entries(breakpoints);\n\n return entries.map(([name, node], index) => {\n return (\n <View\n key={name}\n display={name === \"base\" ? \"flex\" : \"none\"}\n {...(name === \"base\"\n ? undefined\n : { display: \"none\", [`$${name}`]: { display: \"flex\" } })}\n {...(index + 1 in entries\n ? { [`$${entries[index + 1]![0]}`]: { display: \"none\" } }\n : undefined)}\n >\n {node}\n </View>\n );\n });\n}\n\n/**\n * Display based on current breakpoint\n *\n * This mode is not SSR friendly\n */\nexport function SwitchBreakpointsUsingNull({\n children,\n ...breakpoints\n}: SwitchBreakpointsProps): ReactNode {\n const currentBreakpointName = useCurrentBreakpointNameFiltered(\n Object.keys(breakpoints) as (keyof typeof breakpoints)[],\n );\n\n return breakpoints[currentBreakpointName] ?? null;\n}\n","import type { TamaguiProviderProps } from \"@tamagui/core\";\nimport { TamaguiProvider } from \"@tamagui/core\";\nimport type { ReactNode } from \"react\";\nimport { useColorScheme } from \"react-native\";\nimport \"./reset\";\n\nexport interface AlouetteProviderProps\n extends Pick<TamaguiProviderProps, \"disableInjectCSS\"> {\n children: ReactNode;\n tamaguiConfig: NonNullable<TamaguiProviderProps[\"config\"]>;\n defaultTheme?: \"dark\" | \"light\";\n}\n\nexport const useDefaultThemeFromColorScheme = () => {\n const colorScheme = useColorScheme();\n return colorScheme || \"light\";\n};\n\nexport function AlouetteProvider({\n children,\n tamaguiConfig,\n defaultTheme = \"light\",\n disableInjectCSS,\n}: AlouetteProviderProps): ReactNode {\n return (\n <TamaguiProvider\n config={tamaguiConfig}\n defaultTheme={defaultTheme}\n disableInjectCSS={disableInjectCSS}\n >\n {children}\n </TamaguiProvider>\n );\n}\n","/* eslint-disable react/destructuring-assignment */\nimport type { Decorator } from \"@storybook/react-vite\";\nimport type { TamaguiProviderProps } from \"@tamagui/core\";\nimport { createContext, useEffect, useState } from \"react\";\nimport { useColorScheme } from \"react-native\";\nimport { AlouetteProvider } from \"./AlouetteProvider\";\nimport { SafeAreaProvider } from \"./SafeAreaProvider\";\n\nexport const AlouetteTamaguiConfigContext = createContext<\n TamaguiProviderProps[\"config\"] | null\n>(null);\n\n// eslint-disable-next-line react/function-component-definition -- not a component\nexport const AlouetteDecorator: Decorator = (storyFn, context) => {\n const systemColorScheme = useColorScheme();\n const [theme, setTheme] = useState(systemColorScheme || \"light\");\n\n useEffect(() => {\n const backgroundColor = context.globals.backgrounds?.value;\n if (backgroundColor === \"#000000\") {\n setTheme(\"dark\");\n } else {\n setTheme(\"light\");\n }\n }, [context.globals.backgrounds?.value]);\n\n return (\n <SafeAreaProvider>\n <AlouetteProvider\n tamaguiConfig={context.parameters.tamaguiConfig}\n defaultTheme={theme}\n >\n <AlouetteTamaguiConfigContext.Provider\n value={context.parameters.tamaguiConfig}\n >\n {storyFn(context)}\n </AlouetteTamaguiConfigContext.Provider>\n </AlouetteProvider>\n </SafeAreaProvider>\n );\n};\n","import type { GetProps } from \"@tamagui/core\";\nimport { View, styled } from \"@tamagui/core\";\n\nexport const Separator = styled(View, {\n flexGrow: 1,\n flexShrink: 0,\n height: 0,\n maxHeight: 0,\n borderColor: \"$border-sharp\",\n borderWidth: 0,\n borderBottomWidth: 1,\n y: -0.5,\n\n variants: {\n vertical: {\n true: {\n height: \"auto\",\n maxHeight: \"auto\",\n width: 0,\n maxWidth: 0,\n borderBottomWidth: 0,\n borderRightWidth: 1,\n y: 0,\n x: -0.5,\n },\n },\n } as const,\n} as const);\n\nexport type SeparatorProps = GetProps<typeof Separator>;\n","import { styled } from \"@tamagui/core\";\nimport type { PressableBoxProps } from \"alouette\";\nimport { CaretRightRegularIcon } from \"alouette-icons/phosphor-icons/CaretRightRegularIcon\";\nimport type { ReactNode } from \"react\";\nimport { Icon } from \"../primitives/Icon\";\nimport { View } from \"../primitives/View\";\nimport { VStack } from \"../stacks/stacks\";\nimport { PressableBox } from \"./PressableBox\";\n\nconst PressableListItemFrame = styled(PressableBox, {\n variant: \"contained\",\n marginHorizontal: \"$0.5\",\n marginVertical: \"$0.25\",\n flexDirection: \"row\",\n justifyContent: \"space-between\",\n alignItems: \"center\",\n paddingHorizontal: \"$1.0\",\n paddingVertical: \"$1.0\",\n});\n\nexport interface PressableListItemProps {\n theme?: PressableBoxProps[\"theme\"];\n role?: PressableBoxProps[\"role\"];\n variant?: PressableBoxProps[\"variant\"];\n children: ReactNode;\n onPress: () => void;\n}\n\nexport function PressableListItem({\n theme,\n role = \"button\",\n children,\n onPress,\n}: PressableListItemProps): ReactNode {\n return (\n <PressableListItemFrame theme={theme} role={role} onPress={onPress}>\n <View flex={1}>{children}</View>\n <VStack justifyContent=\"center\">\n <Icon\n tint=\"onAccent-muted\"\n icon={<CaretRightRegularIcon />}\n size={18}\n />\n </VStack>\n </PressableListItemFrame>\n );\n}\n","import type { ThemeProps } from \"@tamagui/core\";\nimport { styled } from \"@tamagui/core\";\nimport type { ReactNode } from \"react\";\nimport { Box } from \"../containers/Box\";\n\nexport interface GradientBackgroundProps {\n theme?: ThemeProps[\"name\"];\n children?: ReactNode;\n}\n\nexport const GradientBackground = styled(Box, {\n absoluteFill: true,\n backgroundImage:\n \"linear-gradient(0deg, $bg-screen-gradient-end 5%, $bg-screen-gradient-middle 80%, $bg-screen-gradient-start 98%)\",\n position: \"absolute\", // needed to override \"static\" position for backgroundImage tamagui\n});\n","import type { GetProps } from \"@tamagui/core\";\nimport { View, styled } from \"@tamagui/core\";\nimport type { ScrollViewProps } from \"../primitives/ScrollView\";\nimport { ScrollView } from \"../primitives/ScrollView\";\nimport { GradientBackground } from \"./GradientBackground\";\n\nconst TopScrollOffset = styled(View, {\n backgroundColor: \"$bg-screen\",\n position: \"absolute\",\n top: -600,\n left: 0,\n right: 0,\n height: 600,\n});\n\n// We could have used scrollview's background color if it was the same theme as the gradient, but this allows us to have a different theme for the scrollview and the gradient, but it's not always the case\nconst BottomScrollOffset = styled(View, {\n backgroundColor: \"$bg-screen\",\n position: \"absolute\",\n bottom: -600,\n left: 0,\n right: 0,\n height: 600,\n});\n\nexport const GradientScrollView = ScrollView.styleable<{\n gradientTheme?: ScrollViewProps[\"theme\"];\n}>(({ gradientTheme, children, ...scrollViewProps }) => (\n <ScrollView {...scrollViewProps}>\n <TopScrollOffset\n theme={gradientTheme}\n backgroundColor=\"$bg-screen-gradient-start\"\n />\n <BottomScrollOffset\n theme={gradientTheme}\n backgroundColor=\"$bg-screen-gradient-end\"\n />\n <GradientBackground theme={gradientTheme} />\n {children}\n </ScrollView>\n));\n\nexport type GradientScrollViewProps = GetProps<typeof GradientScrollView>;\n","import { Theme, type ThemeName, useTheme } from \"@tamagui/core\";\nimport type { ComponentProps, ReactNode } from \"react\";\nimport { Switch as NativeSwitch } from \"react-native\";\n\nexport type SwitchProps = Pick<\n ComponentProps<typeof NativeSwitch>,\n \"aria-labelledby\" | \"disabled\" | \"onValueChange\"\n> & {\n theme?: ThemeName;\n checked?: boolean;\n // checkedTheme?: ThemeName;\n};\nfunction ThemedNativeSwitch({\n checked,\n ...rest\n}: Omit<SwitchProps, \"theme\">): ReactNode {\n const theme = useTheme();\n const backgroundColor = rest.disabled\n ? theme[\"$interactive.forms.backgroundColor:disabled\"]?.get()\n : theme[\"$bg-lowered\"]?.get();\n\n const thumbColor = rest.disabled\n ? theme[\"$text-disabled-muted\"]?.get()\n : theme[\"$bg-highlight\"]?.get();\n\n return (\n <NativeSwitch\n ios_backgroundColor={backgroundColor}\n trackColor={{\n false: backgroundColor,\n true: backgroundColor,\n }}\n thumbColor={thumbColor}\n value={checked}\n {...rest}\n />\n );\n}\n\nexport function Switch({\n // checkedTheme,\n theme,\n ...rest\n}: SwitchProps): ReactNode {\n return (\n <Theme name={theme}>\n <ThemedNativeSwitch {...rest} />\n </Theme>\n );\n}\n"],"names":["styled","View","variants","jsx","useSafeAreaInsets","usePropsAndStyle","Text","cloneElement","CoreText","jsxs","XRegularIcon","TextInput","ScrollViewNative","isWeb","Fragment","Children","Platform","BreakpointNameEnum","useMedia","useColorScheme","TamaguiProvider","createContext","useState","useEffect","SafeAreaProvider","CaretRightRegularIcon","useTheme","NativeSwitch","Theme"],"mappings":";;;;;;;;;;;;;;;AAAO,MAAM,iBAAA,GAAoB;AAAA,EAC/B,QAAA,EAAU,UAAA;AAAA,EACV,GAAA,EAAK,CAAA;AAAA,EACL,IAAA,EAAM,CAAA;AAAA,EACN,KAAA,EAAO,CAAA;AAAA,EACP,MAAA,EAAQ;AACV,CAAA;;ACMO,MAAM,oBAAA,GAAuB,CAClC,IAAA,EACA;AAAA,EACE,QAAA;AAAA,EACA,WAAA;AAAA,EACA,OAAA,GAAU,IAAA,KAAS,aAAA,GAAgB,UAAA,GAAa,WAAA;AAAA,EAChD;AACF,CAAA,KACG;AACH,EAAA,MAAM,OAAA,GAAU,OAAA,EAAS,UAAA,CAAW,QAAQ,CAAA;AAC5C,EAAA,MAAM,MAAA,GACJ,gBAAgB,MAAA,GACZ,mBAAA;AAAA;AAAA,IAEA,CAAA,WAAA,EAAc,IAAA,KAAS,QAAA,GAAW,SAAA,GAAY,EAAE,CAAA,CAAA,EAAI,OAAA,GAAU,OAAA,CAAQ,KAAA,CAAM,CAAC,CAAA,GAAI,OAAO,CAAA;AAAA,GAAA;AAE9F,EAAA,IAAI,QAAA,EAAU;AACZ,IAAA,OAAO,EAAE,CAAC,IAAI,GAAG,IAAI,MAAM,CAAA,CAAA,EAAI,IAAI,CAAA,SAAA,CAAA,EAAY;AAAA,EACjD;AAEA,EAAA,IAAI,SAAS,aAAA,EAAe;AAE1B,IAAA,OAAO,EAAE,CAAC,IAAI,GAAG,IAAI,MAAM,CAAA,CAAA,EAAI,IAAI,CAAA,CAAA,EAAG;AAAA,EACxC;AAEA,EAAA,IAAI,SAAS,cAAA,EAAgB;AAC3B,IAAA,OAAO;AAAA,MACL,iBAAA,EAAmB;AAAA,QACjB,YAAA,EAAc,WAAA,KAAgB,MAAA,GAAS,CAAA,GAAI,CAAA;AAAA,QAC3C,YAAA,EAAc,OAAA;AAAA,QACd,aAAA,EACE,OAAA,KAAY,UAAA,IAAc,OAAA,KAAY,mBAAmB,CAAA,GAAI,CAAA;AAAA,QAC/D,YAAA,EAAc,CAAA,CAAA,EAAI,MAAM,CAAA,CAAA,EAAI,IAAI,CAAA,MAAA;AAAA;AAClC,KACF;AAAA,EACF;AAEA,EAAA,OAAO;AAAA,IACL,CAAC,IAAI,GAAG,OAAA,GAAU,gBAAgB,CAAA,CAAA,EAAI,MAAM,IAAI,IAAI,CAAA,CAAA;AAAA,IACpD,UAAA,EAAY,EAAE,CAAC,IAAI,GAAG,CAAA,CAAA,EAAI,MAAM,CAAA,CAAA,EAAI,IAAI,CAAA,MAAA,CAAA,EAAS;AAAA,IACjD,UAAA,EAAY,EAAE,CAAC,IAAI,GAAG,CAAA,CAAA,EAAI,MAAM,CAAA,CAAA,EAAI,IAAI,CAAA,MAAA,CAAA,EAAS;AAAA,IACjD,UAAA,EAAY,EAAE,CAAC,IAAI,GAAG,CAAA,CAAA,EAAI,MAAM,CAAA,CAAA,EAAI,IAAI,CAAA,MAAA,CAAA,EAAS;AAAA,IACjD,aAAA,EAAe,EAAE,CAAC,IAAI,GAAG,CAAA,CAAA,EAAI,MAAM,CAAA,CAAA,EAAI,IAAI,CAAA,SAAA,CAAA;AAAY,GACzD;AACF,CAAA;;ACpDO,MAAM,YAAA,GAAe;AAAA,EAC1B,IAAA,EAAM;AACR,CAAA;AAEO,MAAM,MAAA,GAAS;AAAA,EACpB,IAAA,EAAM;AAAA,IACJ,cAAA,EAAgB,QAAA;AAAA,IAChB,UAAA,EAAY;AAAA;AAEhB,CAAA;AAEO,MAAM,IAAA,GAAO;AAAA,EAClB,QAAQ;AAAC;AACX,CAAA;AAEO,SAAS,WAAA,CACd,oCAAA,EACA,EAAE,KAAA,EAAM,EACR;AACA,EAAA,IAAI,CAAC,sCAAsC,OAAO,IAAA;AAElD,EAAA,IAAI,yCAAyC,IAAA,EAAM;AACjD,IAAA,OAAO;AAAA,MACL,MAAA,EAAQ,SAAA;AAAA,MAER,UAAA,EAAY;AAAA,QACV,SAAA,EAAW,CAAC,EAAE,KAAA,EAAO,OAAO;AAAA,OAC9B;AAAA,MAEA,aAAA,EAAe;AAAA,QACb,MAAA,EAAQ,aAAA;AAAA,QACR,OAAA,EAAS,mBAAA;AAAA,QACT,SAAA,EAAW,CAAC,EAAE,KAAA,EAAO,GAAG;AAAA;AAC1B,KACF;AAAA,EACF;AAEA,EAAA,OAAO;AAAA,IACL,MAAA,EAAQ,oCAAA;AAAA,IAER,aAAA,EAAe;AAAA,MACb,MAAA,EAAQ,aAAA;AAAA,MACR,OAAA,EAAS;AAAA;AACX,GACF;AACF;AAEO,MAAM,KAAA,GAAQ;AAAA,EACnB,OAAA,EAAS;AAAA,IACP,eAAA,EAAiB;AAAA,GACnB;AAAA,EACA,SAAA,EAAW;AAAA,IACT,eAAA,EAAiB;AAAA,GACnB;AAAA,EACA,kBAAA,EAAoB;AAAA,IAClB,eAAA,EAAiB;AAAA,GACnB;AAAA,EACA,OAAA,EAAS;AAAA,IACP,eAAA,EAAiB;AAAA;AAErB,CAAA;AAEO,MAAM,MAAA,GAAS;AAAA,EACpB,IAAA,EAAM;AAAA,IACJ,SAAA,EAAW,MAAA;AAAA,IACX,gBAAA,EAAkB;AAAA,GACpB;AAAA,EACA,CAAA,EAAG;AAAA,IACD,SAAA,EACE,qEAAA;AAAA,IACF,gBAAA,EAAkB;AAAA,GACpB;AAAA,EAEA,CAAA,EAAG;AAAA,IACD,SAAA,EACE,qEAAA;AAAA,IACF,gBAAA,EAAkB;AAAA,GACpB;AAAA,EAEA,CAAA,EAAG;AAAA,IACD,SAAA,EACE,sEAAA;AAAA,IACF,gBAAA,EAAkB;AAAA,GACpB;AAAA,EAEA,OAAA,EAAS;AAAA,IACP,SAAA,EAAW;AAAA;AAEf,CAAA;AAEO,MAAM,IAAA,GAAO,CAAC,GAAA,KAAgB;AACnC,EAAA,OAAO,EAAE,KAAA,EAAO,GAAA,EAAK,MAAA,EAAQ,GAAA,EAAI;AACnC,CAAA;AAEO,MAAM,UAAA,GAAa,CACxB,GAAA,EACA,EAAE,OAAM,KACL;AACH,EAAA,IAAI,KAAA,CAAM,MAAA,IAAU,KAAA,CAAM,MAAA,KAAW,SAAA,EAAW;AAC9C,IAAA,MAAM,IAAI,MAAM,uCAAuC,CAAA;AAAA,EACzD;AAEA,EAAA,OAAO;AAAA,IACL,WAAA,EAAa,GAAA;AAAA,IAEb,GAAI,MAAM,WAAA,GACN,oBAAA,CAAqB,eAAe,KAAK,CAAA,GACzC,EAAE,WAAA,EAAa,eAAA;AAAgB,GACrC;AACF,CAAA;AAEO,MAAM,uBAAA,GAA0B,CACrC,GAAA,EACA,EAAE,OAAM,KACL;AACH,EAAA,IAAI,CAAC,KAAK,OAAO,IAAA;AACjB,EAAA,OAAO;AAAA,IACL,GAAI,MAAM,WAAA,GACN,oBAAA,CAAqB,gBAAgB,KAAK,CAAA,GAC1C,EAAE,YAAA,EAAc,eAAA,EAAgB;AAAA,IAEpC,aAAA,EAAe;AAAA,MACb,YAAA,EAAc;AAAA;AAChB,GACF;AACF,CAAA;AAEO,MAAM,cAAA,GAAiB,CAC5B,GAAA,EACA,EAAE,OAAM,KACL;AACH,EAAA,OAAO,MAAM,WAAA,IAAe,GAAA,KAAQ,gBAChC,oBAAA,CAAqB,iBAAA,EAAmB,KAAK,CAAA,GAC5C;AAAA,IACC,eAAA,EAAiB,GAAA,KAAQ,SAAA,GAAY,aAAA,GAAgB;AAAA,GACvD;AACN,CAAA;;;;;;;;;;;;;;;;ACtIA,MAAM,QAAA,GAAWA,YAAOC,SAAA,EAAM;AAAA;AAAA,EAG5B,UAAA,EAAY,CAAA;AAAA;AAAA,YAEZC;AACF,CAAC,CAAA;AAID,MAAM,mBAAA,GAAsBF,YAAO,QAAA,EAAU;AAAA,EAC3C,WAAA,EAAa,IAAA;AAAA,EACb,QAAA,EAAU,CAAA;AAAA,EACV,UAAA,EAAY,MAAA;AAAA,EACZ,QAAA,EAAU;AAAA,IACR,QAAA,EAAU;AAAA,MACR,IAAA,EAAM;AAAA,QACJ,QAAA,EAAU;AAAA;AACZ;AACF;AAEJ,CAAC,CAAA;AAOM,MAAM,MACX,OAAA,CAAQ,GAAA,CAAI,QAAA,KAAa,YAAA,GACrB,CAAC,KAAA,KAAU;AACT,EAAA,IACE,OAAA,CAAQ,IAAI,QAAA,KAAa,YAAA,IACzB,MAAM,MAAA,KAAW,SAAA,IACjB,KAAA,CAAM,KAAA,KAAU,SAAA,EAChB;AACA,IAAA,MAAM,IAAI,KAAA;AAAA,MACR;AAAA,KACF;AAAA,EACF;AAEA,EAAA,uBAAOG,cAAA,CAAC,QAAA,EAAA,EAAU,GAAG,KAAA,EAAO,CAAA;AAC9B,CAAA,GACA;AAEC,MAAM,cAAA,GAA+C,mBAAA;AAErD,MAAM,WAAA,GAAc,QAAA,CAAS,SAAA,CAMjC,CAAC,KAAA,KAAU;AACZ,EAAA,MAAM,SAASC,4CAAA,EAAkB;AACjC,EAAA,uBACED,cAAA;AAAA,IAAC,GAAA;AAAA,IAAA;AAAA,MACE,GAAG,KAAA;AAAA,MACJ,YAAY,MAAA,CAAO,GAAA;AAAA,MACnB,eAAe,MAAA,CAAO,MAAA;AAAA,MACtB,aAAa,MAAA,CAAO,IAAA;AAAA,MACpB,cAAc,MAAA,CAAO;AAAA;AAAA,GACvB;AAEJ,CAAC;;AClEM,MAAM,YAAA,GAAeH,YAAO,cAAA,EAAgB;AAAA,EACjD,IAAA,EAAM,QAAA;AAAA,EACN,QAAA,EAAU,QAAA;AAAA,EAEV,uBAAA,EAAyB,IAAA;AAAA,EAEzB,QAAA,EAAU;AAAA,IACR,OAAA,EAAS;AAAA,MACP,SAAA,EAAW;AAAA,QACT,cAAA,EAAgB,aAAA;AAAA,QAChB,MAAA,EAAQ,GAAA;AAAA,QACR,YAAA,EAAc;AAAA,OAChB;AAAA,MACA,QAAA,EAAU;AAAA;AAAA,QAER,UAAA,EAAY;AAAA,OACd;AAAA,MACA,iBAAA,EAAmB;AAAA,QACjB,cAAA,EAAgB,aAAA;AAAA,QAChB,eAAA,EAAiB;AAAA,OACnB;AAAA,MACA,gBAAA,EAAkB;AAAA;AAAA,QAEhB,UAAA,EAAY,CAAA;AAAA,QACZ,eAAA,EAAiB,aAAA;AAAA,QACjB,WAAA,EAAa;AAAA;AACf;AACF,GACF;AAAA,EAEA,eAAA,EAAiB;AAAA,IACf,OAAA,EAAS;AAAA;AAEb,CAAC;;AChBD,MAAM,eAAA,GAAkB,CACtB,QAAA,EACA,aAAA,EACA,IAAA,KACgB;AAChB,EAAA,IAAI,QAAA,EAAU;AACZ,IAAA,OAAO,gBAAgB,sBAAA,GAAyB,sBAAA;AAAA,EAClD;AACA,EAAA,IAAI,IAAA,KAAS,UAAU,OAAO,cAAA;AAC9B,EAAA,IAAI,IAAA,KAAS,gBAAgB,OAAO,oBAAA;AACpC,EAAA,IAAI,IAAA,KAAS,SAAS,OAAO,aAAA;AAC7B,EAAA,IAAI,IAAA,KAAS,YAAY,OAAO,gBAAA;AAChC,EAAA,IAAI,IAAA,KAAS,kBAAkB,OAAO,sBAAA;AACtC,EAAA,OAAO,aAAA;AACT,CAAA;AAEO,SAAS,IAAA,CAAK;AAAA,EACnB,IAAA;AAAA;AAAA,EAEA,IAAA,GAAO,EAAA;AAAA,EACP,QAAA;AAAA,EACA,aAAA;AAAA,EACA;AACF,CAAA,EAAyB;AACvB,EAAA,MAAM,CAAC,KAAA,EAAO,KAAK,CAAA,GAAIK,qBAAA;AAAA,IACrB;AAAA,MACE,KAAA,EAAO,eAAA,CAAgB,QAAA,EAAU,aAAA,EAAe,IAAI,CAAA;AAAA,MACpD,KAAA,EAAO,IAAA;AAAA,MACP,MAAA,EAAQ;AAAA,KACV;AAAA,IACA,EAAE,cAAcC,SAAA;AAAK,GACvB;AACA,EAAA,OAAOC,mBAAa,IAAA,EAAM,EAAE,KAAA,EAAO,GAAG,OAAc,CAAA;AACtD;;AC9CA,MAAM,eAAA,GAAkBP,YAAO,YAAA,EAAc;AAAA,EAC3C,IAAA,EAAM,iBAAA;AAAA,EACN,IAAA,EAAM,QAAA;AAAA,EACN,MAAA,EAAQ,IAAA;AAAA,EACR,YAAA,EAAc;AAChB,CAAC,CAAA;AAUM,SAAS,UAAA,CAAW;AAAA,EACzB,IAAA;AAAA,EACA,QAAA;AAAA,EACA,IAAA,GAAO,EAAA;AAAA,EACP,QAAA;AAAA,EACA,OAAA,GAAU,WAAA;AAAA,EACV,GAAG;AACL,CAAA,EAA+B;AAC7B,EAAA,uBACEG,cAAA;AAAA,IAAC,eAAA;AAAA,IAAA;AAAA,MACC,IAAA;AAAA,MACA,OAAA;AAAA,MACA,QAAA;AAAA,MACC,GAAG,iBAAA;AAAA,MAEJ,QAAA,kBAAAA,cAAA;AAAA,QAAC,IAAA;AAAA,QAAA;AAAA,UACC,IAAA,EAAM,QAAA,KAAa,MAAA,GAAS,IAAA,GAAO,MAAM,IAAA,GAAO,GAAA;AAAA,UAChD,QAAA;AAAA,UACA;AAAA;AAAA;AACF;AAAA,GACF;AAEJ;;ACzCO,MAAM,UAAA,GAAaH,YAAOQ,SAAA,EAAU;AAAA,EACzC,QAAA,EAAU;AAAA,IACR,OAAA,EAAS;AAAA,MACP,KAAA,EAAO;AAAA,QACL,IAAA,EAAM,KAAA;AAAA,QACN,MAAA,EAAQ,UAAA;AAAA,QACR,UAAA,EAAY,OAAA;AAAA,QACZ,IAAA,EAAM;AAAA;AACR,KACF;AAAA,IACA,IAAA,EAAM;AAAA,MACJ,aAAA,EAAe,CAAC,IAAA,MAAU;AAAA,QACxB,QAAA,EAAU,IAAA;AAAA,QACV,UAAA,EAAY;AAAA,OACd;AAAA,KACF;AAAA,IACA,MAAA,EAAQ;AAAA,MACN,QAAA,EAAU,EAAE,UAAA,EAAY,UAAA,EAAW;AAAA,MACnC,KAAA,EAAO,EAAE,UAAA,EAAY,OAAA,EAAQ;AAAA,MAC7B,UAAA,EAAY,EAAE,UAAA,EAAY,YAAA;AAAa,KACzC;AAAA,IACA,MAAA,EAAQ;AAAA,MACN,QAAA,EAAU,EAAE,UAAA,EAAY,UAAA,EAAW;AAAA,MACnC,KAAA,EAAO,EAAE,UAAA,EAAY,OAAA,EAAQ;AAAA,MAC7B,iBAAA,EAAmB,EAAE,UAAA,EAAY,iBAAA;AAAkB,KACrD;AAAA,IACA,IAAA,EAAM;AAAA,MACJ,KAAA,EAAO;AAAA,QACL,KAAA,EAAO,aAAA;AAAA,QAEP,aAAA,EAAe;AAAA,UACb,KAAA,EAAO;AAAA;AACT,OACF;AAAA,MACA,KAAA,EAAO;AAAA,QACL,KAAA,EAAO,aAAA;AAAA,QAEP,aAAA,EAAe;AAAA,UACb,KAAA,EAAO;AAAA;AACT,OACF;AAAA,MACA,MAAA,EAAQ;AAAA,QACN,KAAA,EAAO;AAAA,OACT;AAAA,MACA,QAAA,EAAU;AAAA,QACR,KAAA,EAAO;AAAA;AACT,KACF;AAAA,IACA,aAAA,EAAe;AAAA,MACb,IAAA,EAAM;AAAA,QACJ,aAAA,EAAe;AAAA,UACb,KAAA,EAAO;AAAA;AACT;AACF;AACF,GACF;AAAA,EAEA,eAAA,EAAiB;AAAA,IACf,OAAA,EAAS;AAAA;AAEb,CAAU,CAAA;AAeH,MAAM,IAAA,GAAqC;AAElD,MAAM,eAAA,GAAkBR,YAAO,UAAA,EAAY;AAAA,EACzC,MAAA,EAAQ,GAAA;AAAA,EACR,UAAA,EAAY,MAAA;AAAA,EACZ,OAAA,EAAS;AACX,CAAC,CAAA;AAOM,MAAM,SAAA,GAA+C;;ACnF5D,MAAM,WAAA,GAAcA,YAAO,YAAA,EAAc;AAAA,EACvC,IAAA,EAAM,aAAA;AAAA,EACN,MAAA,EAAQ,QAAA;AAAA;AAAA,EAER,IAAA,EAAM,QAAA;AAAA,EACN,MAAA,EAAQ,IAAA;AAAA,EACR,aAAA,EAAe,KAAA;AAAA,EAEf,QAAA,EAAU;AAAA,IACR,IAAA,EAAM;AAAA,MACJ,EAAA,EAAI;AAAA,QACF,iBAAA,EAAmB,MAAA;AAAA,QACnB,GAAA,EAAK,OAAA;AAAA,QACL,YAAA,EAAc,KAAA;AAAA,QACd,SAAA,EAAW;AAAA,OACb;AAAA,MACA,EAAA,EAAI;AAAA,QACF,iBAAA,EAAmB,MAAA;AAAA,QACnB,GAAA,EAAK,MAAA;AAAA,QACL,YAAA,EAAc,KAAA;AAAA,QACd,SAAA,EAAW;AAAA;AACb;AACF,GACF;AAAA,EAEA,eAAA,EAAiB;AAAA,IACf,IAAA,EAAM;AAAA;AAEV,CAAU,CAAA;AAEV,MAAM,UAAA,GAAaA,YAAO,IAAA,EAAM;AAAA,EAC9B,SAAA,EAAW,QAAA;AAAA,EACX,MAAA,EAAQ,OAAA;AAAA,EACR,UAAA,EAAY,CAAA;AAAA,EAEZ,QAAA,EAAU;AAAA,IACR,aAAA,EAAe;AAAA,MACb,EAAA,EAAI;AAAA,QACF,eAAA,EAAiB,OAAA;AAAA,QACjB,IAAA,EAAM;AAAA,OACR;AAAA,MACA,EAAA,EAAI;AAAA,QACF,eAAA,EAAiB,MAAA;AAAA,QACjB,IAAA,EAAM;AAAA;AACR;AACF;AAEJ,CAAC,CAAA;AAUM,SAAS,MAAA,CAAO;AAAA,EACrB,IAAA;AAAA,EACA,IAAA;AAAA,EACA,QAAA;AAAA,EACA,OAAA,GAAU,WAAA;AAAA,EACV,IAAA,GAAO,IAAA;AAAA,EACP,GAAG;AACL,CAAA,EAA2B;AACzB,EAAA,uBACES,eAAA;AAAA,IAAC,WAAA;AAAA,IAAA;AAAA,MACC,OAAA;AAAA,MACA,IAAA;AAAA,MACA,QAAA;AAAA,MACC,GAAG,cAAA;AAAA,MAEH,QAAA,EAAA;AAAA,QAAA,IAAA,oBACCN,cAAA;AAAA,UAAC,IAAA;AAAA,UAAA;AAAA,YACC,IAAA,EAAM,OAAA,KAAY,WAAA,GAAc,UAAA,GAAa,MAAA;AAAA,YAC7C,QAAA;AAAA,YACA,eAAe,OAAA,KAAY,WAAA;AAAA,YAC3B,IAAA;AAAA,YACA,IAAA,EAAM,IAAA,KAAS,IAAA,GAAO,EAAA,GAAK;AAAA;AAAA,SAC7B;AAAA,wBAEFA,cAAA;AAAA,UAAC,UAAA;AAAA,UAAA;AAAA,YACC,IAAA,EAAM,OAAA,KAAY,WAAA,GAAc,UAAA,GAAa,MAAA;AAAA,YAC7C,aAAA,EAAa,IAAA;AAAA,YACb,QAAA;AAAA,YACA,eAAe,OAAA,KAAY,WAAA;AAAA,YAC3B,SAAA,EAAW,OAAO,MAAA,GAAS,QAAA;AAAA,YAE1B,QAAA,EAAA;AAAA;AAAA;AACH;AAAA;AAAA,GACF;AAEJ;AAEO,SAAS,mBACd,KAAA,EACW;AACX,EAAA,uBACEA,cAAA;AAAA,IAAC,MAAA;AAAA,IAAA;AAAA,MACE,GAAG,KAAA;AAAA,MACJ,MAAA,EAAO,GAAA;AAAA,MACP,IAAA,EAAK,MAAA;AAAA,MACL,MAAA,EAAO,QAAA;AAAA,MACP,GAAA,EAAI,qBAAA;AAAA,MACJ,KAAA,EAAO,EAAE,kBAAA,EAAoB,MAAA;AAAO;AAAA,GACtC;AAEJ;AAEO,SAAS,mBACd,KAAA,EACW;AACX,EAAA,sCAAQ,MAAA,EAAA,EAAQ,GAAG,OAAO,MAAA,EAAO,GAAA,EAAI,MAAK,MAAA,EAAO,CAAA;AACnD;;ACrHO,MAAM,YAAA,GAAeH,YAAO,GAAA,EAAK;AAAA,EACtC,MAAA,EAAQ,GAAA;AAAA,EAER,QAAA,EAAU,QAAA;AAAA;AAAA,EAEV,QAAA,EAAU;AAAA,IACR,IAAA,EAAM;AAAA,MACJ,EAAA,EAAI;AAAA,QACF,OAAA,EAAS,MAAA;AAAA,QACT,YAAA,EAAc;AAAA,OAChB;AAAA,MACA,EAAA,EAAI;AAAA,QACF,OAAA,EAAS,MAAA;AAAA,QACT,YAAA,EAAc;AAAA,OAChB;AAAA,MACA,EAAA,EAAI;AAAA,QACF,OAAA,EAAS,MAAA;AAAA,QACT,YAAA,EAAc;AAAA;AAChB,KACF;AAAA,IAEA,SAAA,EAAW;AAAA,MACT,IAAA,EAAM;AAAA,QACJ,KAAA,EAAO;AAAA,OACT;AAAA,MACA,KAAA,EAAO;AAAA,QACL,KAAA,EAAO;AAAA,OACT;AAAA,MACA,MAAA,EAAQ;AAAA,QACN,KAAA,EAAO;AAAA;AACT,KACF;AAAA,IACA,OAAA,EAAS;AAAA,MACP,IAAA,EAAM;AAAA,QACJ,KAAA,EAAO,SAAA;AAAA,QACP,MAAA,EAAQ;AAAA;AACV;AACF,GACF;AAAA,EAEA,eAAA,EAAiB;AAAA,IACf,SAAA,EAAW,KAAA;AAAA,IACX,IAAA,EAAM;AAAA;AAEV,CAAC,CAAA;AAgBM,MAAM,OAAA,GAAuC,YAAA;;ACnD7C,MAAM,YAAA,GAAeA,YAAO,OAAA,EAAS;AAAA,EAC1C,IAAA,EAAM,cAAA;AAAA,EACN,UAAA,EAAY,QAAA;AAAA,EACZ,aAAA,EAAe,KAAA;AAAA,EACf,SAAA,EAAW,QAAA;AAAA,EAEX,QAAA,EAAU;AAAA,IACR,IAAA,EAAM;AAAA,MACJ,EAAA,EAAI;AAAA,QACF,GAAA,EAAK;AAAA,OACP;AAAA,MACA,EAAA,EAAI;AAAA,QACF,GAAA,EAAK;AAAA,OACP;AAAA,MACA,EAAA,EAAI;AAAA,QACF,GAAA,EAAK;AAAA;AACP;AACF,GACF;AAAA,EAEA,eAAA,EAAiB;AAAA,IACf,IAAA,EAAM;AAAA;AAEV,CAAU,CAAA;AAEH,MAAM,WAAA,GAAcA,YAAO,IAAA,EAAM;AAAA,EACtC,IAAA,EAAM,KAAA;AAAA,EACN,QAAA,EAAU,CAAA;AAAA,EACV,IAAA,EAAM;AACR,CAAU,CAAA;AAEV,MAAM,oBAAA,GAAuBA,YAAOC,SAAA,EAAM;AAAA,EACxC,UAAA,EAAY;AACd,CAAC,CAAA;AAED,MAAM,6BAAA,GAAgCD,YAAOC,SAAA,EAAM;AAAA,EACjD,QAAA,EAAU,UAAA;AAAA,EACV,UAAA,EAAY,QAAA;AAAA,EACZ,cAAA,EAAgB,QAAA;AAAA,EAEhB,QAAA,EAAU;AAAA,IACR,IAAA,EAAM;AAAA,MACJ,EAAA,EAAI;AAAA,QACF,MAAA,EAAQ,EAAA;AAAA,QACR,KAAA,EAAO;AAAA,OACT;AAAA,MACA,EAAA,EAAI;AAAA,QACF,MAAA,EAAQ,EAAA;AAAA,QACR,KAAA,EAAO;AAAA,OACT;AAAA,MACA,EAAA,EAAI;AAAA,QACF,MAAA,EAAQ,EAAA;AAAA,QACR,KAAA,EAAO;AAAA;AACT;AACF,GACF;AAAA,EAEA,eAAA,EAAiB;AAAA,IACf,IAAA,EAAM;AAAA;AAEV,CAAC,CAAA;AAoBM,SAAS,OAAA,CAAQ;AAAA,EACtB,IAAA;AAAA,EACA,IAAA,GAAO,IAAA;AAAA,EACP,KAAA;AAAA,EACA,QAAA;AAAA,EACA,SAAA;AAAA,EACA;AACF,CAAA,EAA4B;AAC1B,EAAA,uBACEQ,eAAA,CAAC,YAAA,EAAA,EAAa,KAAA,EAAc,IAAA,EAC1B,QAAA,EAAA;AAAA,oBAAAN,cAAA,CAAC,oBAAA,EAAA,EACC,QAAA,kBAAAA,cAAA,CAAC,IAAA,EAAA,EAAK,IAAA,EAAM,IAAA,KAAS,IAAA,GAAO,EAAA,GAAK,EAAA,EAAI,IAAA,EAAY,IAAA,EAAK,QAAA,EAAS,CAAA,EACjE,CAAA;AAAA,oBACAA,cAAA,CAAC,eAAa,QAAA,EAAS,CAAA;AAAA,IACtB,SAAA,mBACCA,cAAA,CAAC,6BAAA,EAAA,EAA8B,IAAA,EAC7B,QAAA,kBAAAA,cAAA;AAAA,MAAC,UAAA;AAAA,MAAA;AAAA,QACC,IAAA,iCAAOO,yBAAA,EAAA,EAAa,CAAA;AAAA,QACpB,QAAA,EAAU,IAAA,KAAS,IAAA,GAAO,MAAA,GAAS,MAAA;AAAA,QACnC,IAAA,EAAM,IAAA,KAAS,IAAA,GAAO,EAAA,GAAK,EAAA;AAAA,QAC3B,OAAA,EAAQ,UAAA;AAAA,QACR,IAAA,EAAK,QAAA;AAAA,QACL,YAAA,EAAY;AAAA;AAAA,OAEhB,CAAA,GACE;AAAA,GAAA,EACN,CAAA;AAEJ;;AC1HO,MAAM,UAAA,GAAa;AAAA,EACxB,UAAA,EAAY,OAAA;AAAA,EACZ,QAAA,EAAU,KAAA;AAAA,EACV,KAAA,EAAO,aAAA;AAAA,EAEP,iBAAA,EAAmB,MAAA;AAAA,EACnB,eAAA,EAAiB,MAAA;AAAA,EACjB,YAAA,EAAc;AAChB,CAAA;;ACJO,MAAM,iBAAA,GAAoBV,WAAA;AAAA,EAC/BW,qBAAA;AAAA,EACA;AAAA,IACE,GAAG,UAAA;AAAA,IACH,SAAA,EAAW,IAAA;AAAA,IAEX,QAAA,EAAU;AAAA,MACR,IAAA,EAAM;AAAA,QACJ,QAAA,EAAU;AAAA,UACR,eAAA,EAAiB;AAAA,SACnB;AAAA,QACA,MAAA,EAAQ;AAAA,UACN,SAAA,EAAW,SAAA;AAAA,UACX,YAAA,EAAc;AAAA,SAChB;AAAA,QACA,GAAA,EAAK;AAAA,UACH,SAAA,EAAW,KAAA;AAAA,UACX,YAAA,EAAc,KAAA;AAAA,UACd,YAAA,EAAc;AAAA,SAChB;AAAA,QACA,KAAA,EAAO;AAAA,UACL,SAAA,EAAW,OAAA;AAAA,UACX,YAAA,EAAc,OAAA;AAAA,UACd,YAAA,EAAc;AAAA,SAChB;AAAA,QACA,GAAA,EAAK;AAAA,UACH,SAAA,EAAW,KAAA;AAAA,UACX,YAAA,EAAc;AAAA,SAChB;AAAA,QACA,MAAA,EAAQ;AAAA,UACN,SAAA,EAAW;AAAA,SACb;AAAA,QACA,SAAA,EAAW;AAAA,UACT,SAAA,EAAW,QAAA;AAAA,UACX,YAAA,EAAc;AAAA;AAChB;AACF;AACF,GACF;AAAA,EACA;AAAA,IACE,OAAA,EAAS,IAAA;AAAA,IACT,WAAA,EAAaL,UAAK,YAAA,CAAa;AAAA;AAEnC,CAAA;;ACzCA,MAAM,eAAA,GAAkBN,YAAO,iBAAA,EAAmB;AAAA,EAChD,MAAA,EAAQ,OAAA;AAAA,EACR,KAAA,EAAO,OAAA;AAAA,EAEP,QAAA,EAAU;AAAA,IACR,GAAG,iBAAA;AAAA,IAEH,QAAA,EAAU;AAAA,MACR,IAAA,EAAM;AAAA,QACJ,KAAA,EAAO,sBAAA;AAAA,QACP,MAAA,EAAQ,aAAA;AAAA,QACR,OAAA,EAAS;AAAA;AACX;AACF,GACF;AAAA;AAAA,EAGA,WAAA,EAAa,MAAA;AAAA,EACb,cAAA,EAAgB,aAAA;AAAA,EAChB,UAAA,EAAY,CAAA;AAAA,EAEZ,YAAA,EAAc,CAAA;AAAA,EACd,aAAA,EAAe,CAAA;AAAA,EACf,YAAA,EAAc,OAAA;AAAA,EACd,YAAA,EAAc,aAAA;AAAA,EAEd,iBAAA,EAAmB;AAAA,IACjB,YAAA,EAAc,CAAA;AAAA,IACd,aAAA,EAAe,CAAA;AAAA,IACf,YAAA,EAAc,OAAA;AAAA,IACd,YAAA,EAAc;AAAA,GAChB;AAAA,EAEA,UAAA,EAAY;AAAA,IACV,YAAA,EAAc,CAAA;AAAA,IACd,aAAA,EAAe,CAAA;AAAA,IACf,YAAA,EAAc,OAAA;AAAA,IACd,YAAA,EAAc;AAAA;AAElB,CAAC,CAAA;AAsBM,MAAM,SAAA,GAA+C;;AC7D5D,MAAM,aAAA,GAAgBA,YAAO,SAAA,EAAW;AAAA,EACtC,MAAA,EAAQ,UAAA;AAAA,EACR,SAAA,EAAW,IAAA;AAAA,EAEX,MAAA,EAAQ,MAAA;AAAA,EACR,SAAA,EAAW,EAAA;AAAA,EACX,YAAA,EAAc,MAAA;AAAA,EACd,iBAAA,EAAmB;AACrB,CAAC,CAAA;AAOM,MAAM,QAAA,GAA6C;;ACjBnD,MAAM,UAAA,GAAaA,WAAA;AAAA,EACxBY,sBAAA;AAAA,EACA,EAAC;AAAA,EACD;AAAA,IACE,MAAA,EAAQ;AAAA,MACN,qBAAA,EAAuB;AAAA;AACzB;AAEJ;;ACPA,MAAM,QAAA,GAAW;AAAA,EACf,YAAA,EAAc;AAAA,IACZ,IAAA,EAAM;AAAA;AAEV,CAAA;AAEO,MAAM,KAAA,GAAQZ,YAAOC,SAAA,EAAM;AAAA,EAChC,IAAA,EAAM,OAAA;AAAA,EACN,aAAA,EAAe,KAAA;AAAA,EACf,QAAA,EAAU,MAAA;AAAA,EACV;AACF,CAAC;AAIM,MAAM,MAAA,GAASD,YAAOC,SAAA,EAAM;AAAA,EACjC,IAAA,EAAM,QAAA;AAAA,EACN,aAAA,EAAe,KAAA;AAAA,EACf;AACF,CAAC;AAIM,MAAM,MAAA,GAASD,YAAOC,SAAA,EAAM;AAAA,EACjC,IAAA,EAAM,QAAA;AAAA,EACN,aAAA,EAAe;AACjB,CAAC;AAImBD,YAAOC,SAAA,EAAM;AAAA,EAC/B,cAAA,EAAgB,QAAA;AAAA,EAChB,UAAA,EAAY,QAAA;AAAA,EACZ;AACF,CAAC;;ACnCM,MAAM,UAAA,GAAaD,YAAO,IAAA,EAAM;AAAA,EACrC,MAAA,EAAQ,UAAA;AAAA,EACR,MAAA,EAAQ,YAAA;AAAA,EACR,QAAA,EAAU;AAAA,IACR,KAAA,EAAO;AAAA,MACL,CAAA,EAAG,EAAE,IAAA,EAAM,KAAA,EAAO,cAAc,MAAA,EAAO;AAAA,MACvC,CAAA,EAAG,EAAE,IAAA,EAAM,KAAA,EAAO,cAAc,MAAA,EAAO;AAAA,MACvC,CAAA,EAAG,EAAE,IAAA,EAAM,KAAA,EAAO,cAAc,MAAA,EAAO;AAAA,MACvC,CAAA,EAAG,EAAE,IAAA,EAAM,KAAA,EAAO,cAAc,MAAA;AAAO;AACzC,GACF;AAAA,EAEA,eAAA,EAAiB;AAAA,IACf,KAAA,EAAO;AAAA;AAEX,CAAU;;ACRV,MAAM,oBAAA,GAAuBA,YAAO,MAAA,EAAQ;AAAA,EAC1C,YAAA,EAAc,MAAA;AAAA,EACd,gBAAA,EAAkB,OAAA;AAAA,EAClB,iBAAA,EAAmB;AACrB,CAAC,CAAA;AASD,SAAS,YAAA,CAAa;AAAA,EACpB,KAAA;AAAA,EACA,QAAA;AAAA,EACA,KAAA,GAAQ,CAAA;AAAA,EACR,WAAA,GAAc,KAAA;AAAA,EACd,GAAG;AACL,CAAA,EAAiC;AAC/B,EAAA,uBACES,eAAA,CAAC,oBAAA,EAAA,EAAsB,GAAG,KAAA,EACxB,QAAA,EAAA;AAAA,oBAAAN,cAAA,CAAC,UAAA,EAAA,EAAW,KAAA,EAAQ,KAAA,GAAQ,CAAA,EAAc,QAAA,EAAA,KAAA,EAAM,CAAA;AAAA,IAC/C,WAAA,kCACE,OAAA,EAAA,EAAS,QAAA,EAAS,oBAEnBA,cAAA,CAAC,MAAA,EAAA,EAAO,GAAA,EAAI,MAAA,EAAQ,QAAA,EAAS;AAAA,GAAA,EAEjC,CAAA;AAEJ;AAEA,SAAS,UAAA,CAAW;AAAA,EAClB,KAAA;AAAA,EACA,QAAA;AAAA,EACA,WAAA,GAAc,KAAA;AAAA,EACd,GAAG;AACL,CAAA,EAAiC;AAC/B,EAAA,uBACEM,eAAA,CAAC,oBAAA,EAAA,EAAqB,YAAA,EAAa,MAAA,EAAQ,GAAG,KAAA,EAC5C,QAAA,EAAA;AAAA,oBAAAN,cAAA,CAAC,UAAA,EAAA,EAAW,KAAA,EAAO,CAAA,EAAI,QAAA,EAAA,KAAA,EAAM,CAAA;AAAA,IAC5B,WAAA,kCACE,OAAA,EAAA,EAAS,QAAA,EAAS,oBAEnBA,cAAA,CAAC,MAAA,EAAA,EAAO,GAAA,EAAI,MAAA,EAAQ,QAAA,EAAS;AAAA,GAAA,EAEjC,CAAA;AAEJ;AAEA,MAAM,gBAAA,GAAmBU,aAAQC,cAAA,GAAW,UAAA;AAQrC,SAAS,KAAA,CAAM;AAAA,EACpB,aAAA;AAAA,EACA,QAAA;AAAA,EACA;AACF,CAAA,EAA0B;AACxB,EAAA,uCACG,gBAAA,EAAA,EACE,QAAA,EAAA;AAAA,IAAA,aAAA,oBACCX,cAAA,CAAC,OAAA,EAAA,EAAQ,SAAA,EAAS,IAAA,EAAC,MAAA,EAAO,KAAI,KAAA,EAAM,OAAA,EAAQ,YAAA,EAAa,MAAA,EACtD,QAAA,EAAA,aAAA,EACH,CAAA;AAAA,IAED,CAAC,OAAA,EAAS,GAAI,WAAA,GAAc,EAAC,GAAI,CAAC,MAAM,CAAE,CAAA,CAAE,GAAA,CAAI,CAAC,KAAA,qBAChDA,cAAA;AAAA,MAAC,GAAA;AAAA,MAAA;AAAA,QAEC,KAAA;AAAA,QACA,eAAA,EAAgB,YAAA;AAAA,QAChB,OAAA,EAAQ,MAAA;AAAA,QAEP;AAAA,OAAA;AAAA,MALI;AAAA,KAOR;AAAA,GAAA,EACH,CAAA;AAEJ;AAEA,KAAA,CAAM,OAAA,GAAU,YAAA;AAChB,KAAA,CAAM,UAAA,GAAa,UAAA;;ACvFZ,SAAS,cAAA,CAAe;AAAA,EAC7B,KAAA;AAAA,EACA;AACF,CAAA,EAAmC;AACjC,EAAA,uCACG,UAAA,EAAA,EAAW,KAAA,EAAM,SAAQ,eAAA,EAAgB,MAAA,EAAO,SAAQ,IAAA,EACvD,QAAA,EAAA;AAAA,oBAAAA,cAAA,CAAC,UAAA,EAAA,EAAW,KAAA,EAAO,CAAA,EAAI,QAAA,EAAA,KAAA,EAAM,CAAA;AAAA,IAC5B;AAAA,GAAA,EACH,CAAA;AAEJ;;ACfO,MAAM,iBAA4B,CAAC,OAAA,EAAS,EAAE,IAAA,EAAM,WAAU,KAAM;AACzE,EAAA,IAAI,SAAA,KAAc,KAAA,EAAO,OAAO,OAAA,EAAQ;AACxC,EAAA,uBAAOA,cAAA,CAAC,cAAA,EAAA,EAAe,KAAA,EAAO,IAAA,EAAO,mBAAQ,EAAE,CAAA;AACjD;;ACMA,SAAS,YAAA,CAAa;AAAA,EACpB,QAAA;AAAA,EACA,UAAA,GAAa,OAAA;AAAA,EACb;AACF,CAAA,EAAiC;AAC/B,EAAA,uBACEA,cAAA;AAAA,IAACF,SAAA;AAAA,IAAA;AAAA,MACC,aAAA,EAAc,QAAA;AAAA,MACb,GAAG;AAAA,QACF,CAAC,CAAA,CAAA,EAAI,UAAU,CAAA,CAAE,GAAG;AAAA,UAClB,aAAA,EAAe,KAAA;AAAA,UACf,YAAA,EAAc,MAAA;AAAA,UACd,QAAA,EAAU,WAAW,MAAA,GAAS,MAAA;AAAA,UAC9B,GAAA,EAAK,WAAW,MAAA,GAAS;AAAA;AAC3B,OACF;AAAA,MAEC,QAAA,EAAAc,cAAA,CAAS,GAAA,CAAI,QAAA,EAAU,CAAC,KAAA,qBACvBZ,cAAA;AAAA,QAACF,SAAA;AAAA,QAAA;AAAA,UACC,UAAA,EAAW,MAAA;AAAA,UACX,aAAA,EAAc,MAAA;AAAA,UACb,GAAG;AAAA,YACF,CAAC,CAAA,CAAA,EAAI,UAAU,CAAA,CAAE,GAAG;AAAA,cAClB,QAAA,EAAU,CAAA;AAAA,cACV,UAAA,EAAY,CAAA;AAAA,cACZ,SAAA,EAAW,WAAW,MAAA,GAAY,CAAA;AAAA,cAClC,UAAA,EAAY,CAAA;AAAA,cACZ,aAAA,EAAe,CAAA;AAAA,cACf,cAAA,EAAgB;AAAA;AAClB,WACF;AAAA,UAEC,QAAA,EAAA;AAAA;AAAA,OAEJ;AAAA;AAAA,GACH;AAEJ;AAQA,SAAS,YAAA,CAAa;AAAA,EACpB,KAAA;AAAA,EACA,QAAA;AAAA,EACA,QAAA,GAAW;AACb,CAAA,EAAiC;AAC/B,EAAA,MAAM,QAAA,GAAWe,oBAAA,CAAS,EAAA,KAAO,KAAA,IAASA,qBAAS,EAAA,KAAO,SAAA;AAE1D,EAAA,IAAIA,oBAAA,CAAS,EAAA,KAAO,KAAA,IAAS,QAAA,KAAa,QAAA,EAAU;AAClD,IAAA,OAAO,IAAA;AAAA,EACT;AAEA,EAAA,IAAI,QAAA,IAAY,aAAa,KAAA,EAAO;AAClC,IAAA,OAAO,IAAA;AAAA,EACT;AAEA,EAAA,OAAO,KAAA,mCACJ,MAAA,EAAA,EACC,QAAA,EAAA;AAAA,oBAAAb,cAAA,CAAC,UAAA,EAAA,EAAW,KAAA,EAAO,CAAA,EAAG,aAAA,EAAe,GAClC,QAAA,EAAA,KAAA,EACH,CAAA;AAAA,IACC;AAAA,GAAA,EACH,CAAA,GAEA,QAAA;AAEJ;AAEO,MAAM,SAAA,GAAY;AAAA,EACvB,GAAA,EAAK,YAAA;AAAA,EACL,GAAA,EAAK;AACP;;AC9DO,IAAK,kBAAA,qBAAAc,mBAAAA,KAAL;AACL,EAAAA,oBAAA,MAAA,CAAA,GAAO,MAAA;AACP,EAAAA,oBAAA,OAAA,CAAA,GAAQ,OAAA;AACR,EAAAA,oBAAA,QAAA,CAAA,GAAS,QAAA;AACT,EAAAA,oBAAA,OAAA,CAAA,GAAQ,OAAA;AACR,EAAAA,oBAAA,MAAA,CAAA,GAAO,MAAA;AALG,EAAA,OAAAA,mBAAAA;AAAA,CAAA,EAAA,kBAAA,IAAA,EAAA,CAAA;;ACtBL,SAAS,wBAAA,GAA+C;AAC7D,EAAA,MAAM,QAAQC,aAAA,EAAS;AAEvB,EAAA,IAAI,KAAA,CAAM,IAAA,EAAM,OAAO,kBAAA,CAAmB,IAAA;AAC1C,EAAA,IAAI,KAAA,CAAM,KAAA,EAAO,OAAO,kBAAA,CAAmB,KAAA;AAC3C,EAAA,IAAI,KAAA,CAAM,MAAA,EAAQ,OAAO,kBAAA,CAAmB,MAAA;AAC5C,EAAA,IAAI,KAAA,CAAM,KAAA,EAAO,OAAO,kBAAA,CAAmB,KAAA;AAC3C,EAAA,OAAO,kBAAA,CAAmB,IAAA;AAC5B;AAEO,SAAS,iCAEd,KAAA,EAA6B;AAC7B,EAAA,MAAM,QAAQA,aAAA,EAAS;AAEvB,EAAA,IAAI,MAAM,QAAA,CAAS,kBAAA,CAAmB,IAAI,CAAA,IAAK,MAAM,IAAA,EAAM;AACzD,IAAA,OAAO,kBAAA,CAAmB,IAAA;AAAA,EAC5B;AACA,EAAA,IAAI,MAAM,QAAA,CAAS,kBAAA,CAAmB,KAAK,CAAA,IAAK,MAAM,KAAA,EAAO;AAC3D,IAAA,OAAO,kBAAA,CAAmB,KAAA;AAAA,EAC5B;AACA,EAAA,IAAI,MAAM,QAAA,CAAS,kBAAA,CAAmB,MAAM,CAAA,IAAK,MAAM,MAAA,EAAQ;AAC7D,IAAA,OAAO,kBAAA,CAAmB,MAAA;AAAA,EAC5B;AACA,EAAA,IAAI,MAAM,QAAA,CAAS,kBAAA,CAAmB,KAAK,CAAA,IAAK,MAAM,KAAA,EAAO;AAC3D,IAAA,OAAO,kBAAA,CAAmB,KAAA;AAAA,EAC5B;AACA,EAAA,OAAO,kBAAA,CAAmB,IAAA;AAC5B;;AChBO,SAAS,iCAAA,CAAkC;AAAA,EAChD,GAAG;AACL,CAAA,EAAsC;AACpC,EAAA,MAAM,OAAA,GAAU,MAAA,CAAO,OAAA,CAAQ,WAAW,CAAA;AAE1C,EAAA,OAAO,QAAQ,GAAA,CAAI,CAAC,CAAC,IAAA,EAAM,IAAI,GAAG,KAAA,KAAU;AAC1C,IAAA,uBACEf,cAAA;AAAA,MAACF,SAAA;AAAA,MAAA;AAAA,QAEC,OAAA,EAAS,IAAA,KAAS,MAAA,GAAS,MAAA,GAAS,MAAA;AAAA,QACnC,GAAI,IAAA,KAAS,MAAA,GACV,MAAA,GACA,EAAE,OAAA,EAAS,MAAA,EAAQ,CAAC,CAAA,CAAA,EAAI,IAAI,CAAA,CAAE,GAAG,EAAE,OAAA,EAAS,QAAO,EAAE;AAAA,QACxD,GAAI,KAAA,GAAQ,CAAA,IAAK,UACd,EAAE,CAAC,IAAI,OAAA,CAAQ,KAAA,GAAQ,CAAC,CAAA,CAAG,CAAC,CAAC,CAAA,CAAE,GAAG,EAAE,OAAA,EAAS,MAAA,IAAS,GACtD,MAAA;AAAA,QAEH,QAAA,EAAA;AAAA,OAAA;AAAA,MATI;AAAA,KAUP;AAAA,EAEJ,CAAC,CAAA;AACH;AAOO,SAAS,0BAAA,CAA2B;AAAA,EACzC,QAAA;AAAA,EACA,GAAG;AACL,CAAA,EAAsC;AACpC,EAAA,MAAM,qBAAA,GAAwB,gCAAA;AAAA,IAC5B,MAAA,CAAO,KAAK,WAAW;AAAA,GACzB;AAEA,EAAA,OAAO,WAAA,CAAY,qBAAqB,CAAA,IAAK,IAAA;AAC/C;;ACxCO,MAAM,iCAAiC,MAAM;AAClD,EAAA,MAAM,cAAckB,0BAAA,EAAe;AACnC,EAAA,OAAO,WAAA,IAAe,OAAA;AACxB;AAEO,SAAS,gBAAA,CAAiB;AAAA,EAC/B,QAAA;AAAA,EACA,aAAA;AAAA,EACA,YAAA,GAAe,OAAA;AAAA,EACf;AACF,CAAA,EAAqC;AACnC,EAAA,uBACEhB,cAAA;AAAA,IAACiB,oBAAA;AAAA,IAAA;AAAA,MACC,MAAA,EAAQ,aAAA;AAAA,MACR,YAAA;AAAA,MACA,gBAAA;AAAA,MAEC;AAAA;AAAA,GACH;AAEJ;;ACzBO,MAAM,4BAAA,GAA+BC,oBAE1C,IAAI,CAAA;AAGC,MAAM,iBAAA,GAA+B,CAAC,OAAA,EAAS,OAAA,KAAY;AAChE,EAAA,MAAM,oBAAoBF,0BAAA,EAAe;AACzC,EAAA,MAAM,CAAC,KAAA,EAAO,QAAQ,CAAA,GAAIG,cAAA,CAAS,qBAAqB,OAAO,CAAA;AAE/D,EAAAC,eAAA,CAAU,MAAM;AACd,IAAA,MAAM,eAAA,GAAkB,OAAA,CAAQ,OAAA,CAAQ,WAAA,EAAa,KAAA;AACrD,IAAA,IAAI,oBAAoB,SAAA,EAAW;AACjC,MAAA,QAAA,CAAS,MAAM,CAAA;AAAA,IACjB,CAAA,MAAO;AACL,MAAA,QAAA,CAAS,OAAO,CAAA;AAAA,IAClB;AAAA,EACF,GAAG,CAAC,OAAA,CAAQ,OAAA,CAAQ,WAAA,EAAa,KAAK,CAAC,CAAA;AAEvC,EAAA,sCACGC,2CAAA,EAAA,EACC,QAAA,kBAAArB,cAAA;AAAA,IAAC,gBAAA;AAAA,IAAA;AAAA,MACC,aAAA,EAAe,QAAQ,UAAA,CAAW,aAAA;AAAA,MAClC,YAAA,EAAc,KAAA;AAAA,MAEd,QAAA,kBAAAA,cAAA;AAAA,QAAC,4BAAA,CAA6B,QAAA;AAAA,QAA7B;AAAA,UACC,KAAA,EAAO,QAAQ,UAAA,CAAW,aAAA;AAAA,UAEzB,kBAAQ,OAAO;AAAA;AAAA;AAClB;AAAA,GACF,EACF,CAAA;AAEJ;;ACrCO,MAAM,SAAA,GAAYH,YAAOC,SAAA,EAAM;AAAA,EACpC,QAAA,EAAU,CAAA;AAAA,EACV,UAAA,EAAY,CAAA;AAAA,EACZ,MAAA,EAAQ,CAAA;AAAA,EACR,SAAA,EAAW,CAAA;AAAA,EACX,WAAA,EAAa,eAAA;AAAA,EACb,WAAA,EAAa,CAAA;AAAA,EACb,iBAAA,EAAmB,CAAA;AAAA,EACnB,CAAA,EAAG,IAAA;AAAA,EAEH,QAAA,EAAU;AAAA,IACR,QAAA,EAAU;AAAA,MACR,IAAA,EAAM;AAAA,QACJ,MAAA,EAAQ,MAAA;AAAA,QACR,SAAA,EAAW,MAAA;AAAA,QACX,KAAA,EAAO,CAAA;AAAA,QACP,QAAA,EAAU,CAAA;AAAA,QACV,iBAAA,EAAmB,CAAA;AAAA,QACnB,gBAAA,EAAkB,CAAA;AAAA,QAClB,CAAA,EAAG,CAAA;AAAA,QACH,CAAA,EAAG;AAAA;AACL;AACF;AAEJ,CAAU;;AClBV,MAAM,sBAAA,GAAyBD,YAAO,YAAA,EAAc;AAAA,EAClD,OAAA,EAAS,WAAA;AAAA,EACT,gBAAA,EAAkB,MAAA;AAAA,EAClB,cAAA,EAAgB,OAAA;AAAA,EAChB,aAAA,EAAe,KAAA;AAAA,EACf,cAAA,EAAgB,eAAA;AAAA,EAChB,UAAA,EAAY,QAAA;AAAA,EACZ,iBAAA,EAAmB,MAAA;AAAA,EACnB,eAAA,EAAiB;AACnB,CAAC,CAAA;AAUM,SAAS,iBAAA,CAAkB;AAAA,EAChC,KAAA;AAAA,EACA,IAAA,GAAO,QAAA;AAAA,EACP,QAAA;AAAA,EACA;AACF,CAAA,EAAsC;AACpC,EAAA,uBACES,eAAA,CAAC,sBAAA,EAAA,EAAuB,KAAA,EAAc,IAAA,EAAY,OAAA,EAChD,QAAA,EAAA;AAAA,oBAAAN,cAAA,CAACF,SAAA,EAAA,EAAK,IAAA,EAAM,CAAA,EAAI,QAAA,EAAS,CAAA;AAAA,oBACzBE,cAAA,CAAC,MAAA,EAAA,EAAO,cAAA,EAAe,QAAA,EACrB,QAAA,kBAAAA,cAAA;AAAA,MAAC,IAAA;AAAA,MAAA;AAAA,QACC,IAAA,EAAK,gBAAA;AAAA,QACL,IAAA,iCAAOsB,2CAAA,EAAA,EAAsB,CAAA;AAAA,QAC7B,IAAA,EAAM;AAAA;AAAA,KACR,EACF;AAAA,GAAA,EACF,CAAA;AAEJ;;ACpCO,MAAM,kBAAA,GAAqBzB,YAAO,GAAA,EAAK;AAAA,EAC5C,YAAA,EAAc,IAAA;AAAA,EACd,eAAA,EACE,kHAAA;AAAA,EACF,QAAA,EAAU;AAAA;AACZ,CAAC;;ACTD,MAAM,eAAA,GAAkBA,YAAOC,SAAA,EAAM;AAAA,EACnC,eAAA,EAAiB,YAAA;AAAA,EACjB,QAAA,EAAU,UAAA;AAAA,EACV,GAAA,EAAK,IAAA;AAAA,EACL,IAAA,EAAM,CAAA;AAAA,EACN,KAAA,EAAO,CAAA;AAAA,EACP,MAAA,EAAQ;AACV,CAAC,CAAA;AAGD,MAAM,kBAAA,GAAqBD,YAAOC,SAAA,EAAM;AAAA,EACtC,eAAA,EAAiB,YAAA;AAAA,EACjB,QAAA,EAAU,UAAA;AAAA,EACV,MAAA,EAAQ,IAAA;AAAA,EACR,IAAA,EAAM,CAAA;AAAA,EACN,KAAA,EAAO,CAAA;AAAA,EACP,MAAA,EAAQ;AACV,CAAC,CAAA;AAEM,MAAM,kBAAA,GAAqB,UAAA,CAAW,SAAA,CAE1C,CAAC,EAAE,aAAA,EAAe,QAAA,EAAU,GAAG,eAAA,EAAgB,qBAChDQ,eAAA,CAAC,UAAA,EAAA,EAAY,GAAG,eAAA,EACd,QAAA,EAAA;AAAA,kBAAAN,cAAA;AAAA,IAAC,eAAA;AAAA,IAAA;AAAA,MACC,KAAA,EAAO,aAAA;AAAA,MACP,eAAA,EAAgB;AAAA;AAAA,GAClB;AAAA,kBACAA,cAAA;AAAA,IAAC,kBAAA;AAAA,IAAA;AAAA,MACC,KAAA,EAAO,aAAA;AAAA,MACP,eAAA,EAAgB;AAAA;AAAA,GAClB;AAAA,kBACAA,cAAA,CAAC,kBAAA,EAAA,EAAmB,KAAA,EAAO,aAAA,EAAe,CAAA;AAAA,EACzC;AAAA,CAAA,EACH,CACD;;AC5BD,SAAS,kBAAA,CAAmB;AAAA,EAC1B,OAAA;AAAA,EACA,GAAG;AACL,CAAA,EAA0C;AACxC,EAAA,MAAM,QAAQuB,aAAA,EAAS;AACvB,EAAA,MAAM,eAAA,GAAkB,IAAA,CAAK,QAAA,GACzB,KAAA,CAAM,6CAA6C,CAAA,EAAG,GAAA,EAAI,GAC1D,KAAA,CAAM,aAAa,CAAA,EAAG,GAAA,EAAI;AAE9B,EAAA,MAAM,UAAA,GAAa,IAAA,CAAK,QAAA,GACpB,KAAA,CAAM,sBAAsB,CAAA,EAAG,GAAA,EAAI,GACnC,KAAA,CAAM,eAAe,CAAA,EAAG,GAAA,EAAI;AAEhC,EAAA,uBACEvB,cAAA;AAAA,IAACwB,kBAAA;AAAA,IAAA;AAAA,MACC,mBAAA,EAAqB,eAAA;AAAA,MACrB,UAAA,EAAY;AAAA,QACV,KAAA,EAAO,eAAA;AAAA,QACP,IAAA,EAAM;AAAA,OACR;AAAA,MACA,UAAA;AAAA,MACA,KAAA,EAAO,OAAA;AAAA,MACN,GAAG;AAAA;AAAA,GACN;AAEJ;AAEO,SAAS,MAAA,CAAO;AAAA;AAAA,EAErB,KAAA;AAAA,EACA,GAAG;AACL,CAAA,EAA2B;AACzB,EAAA,uBACExB,cAAA,CAACyB,cAAM,IAAA,EAAM,KAAA,EACX,yCAAC,kBAAA,EAAA,EAAoB,GAAG,MAAM,CAAA,EAChC,CAAA;AAEJ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
@@ -194,7 +194,7 @@ const Box = process.env.NODE_ENV !== "production" ? (props) => {
194
194
  return /* @__PURE__ */ jsx(BoxFrame, { ...props });
195
195
  } : BoxFrame;
196
196
  const InteractiveBox = InteractiveBoxFrame;
197
- const SafeAreaBoxFrame = BoxFrame.styleable((props) => {
197
+ const SafeAreaBox = BoxFrame.styleable((props) => {
198
198
  const insets = useSafeAreaInsets();
199
199
  return /* @__PURE__ */ jsx(
200
200
  Box,
@@ -207,7 +207,6 @@ const SafeAreaBoxFrame = BoxFrame.styleable((props) => {
207
207
  }
208
208
  );
209
209
  });
210
- const SafeAreaBox = SafeAreaBoxFrame;
211
210
 
212
211
  const PressableBox = styled(InteractiveBox, {
213
212
  role: "button",