@ornikar/kitt-universal 9.2.0 → 9.3.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/definitions/ModalBehaviour/ModalBehaviour.d.ts +18 -0
- package/dist/definitions/ModalBehaviour/ModalBehaviour.d.ts.map +1 -0
- package/dist/definitions/ModalBehaviour/ModalBehaviourPortal.d.ts +7 -0
- package/dist/definitions/ModalBehaviour/ModalBehaviourPortal.d.ts.map +1 -0
- package/dist/definitions/ModalBehaviour/ModalBehaviourPortal.web.d.ts +4 -0
- package/dist/definitions/ModalBehaviour/ModalBehaviourPortal.web.d.ts.map +1 -0
- package/dist/definitions/ModalBehaviour/OnCloseContext.d.ts +11 -0
- package/dist/definitions/ModalBehaviour/OnCloseContext.d.ts.map +1 -0
- package/dist/definitions/NavigationModal/Body.d.ts +9 -0
- package/dist/definitions/NavigationModal/Body.d.ts.map +1 -0
- package/dist/definitions/NavigationModal/ContentPadding.d.ts +7 -0
- package/dist/definitions/NavigationModal/ContentPadding.d.ts.map +1 -0
- package/dist/definitions/NavigationModal/Footer.d.ts +11 -0
- package/dist/definitions/NavigationModal/Footer.d.ts.map +1 -0
- package/dist/definitions/NavigationModal/Header.d.ts +31 -0
- package/dist/definitions/NavigationModal/Header.d.ts.map +1 -0
- package/dist/definitions/NavigationModal/NavigationModal.d.ts +17 -0
- package/dist/definitions/NavigationModal/NavigationModal.d.ts.map +1 -0
- package/dist/definitions/NavigationModal/NavigationModalContainer.d.ts +8 -0
- package/dist/definitions/NavigationModal/NavigationModalContainer.d.ts.map +1 -0
- package/dist/definitions/index.d.ts +4 -0
- package/dist/definitions/index.d.ts.map +1 -1
- package/dist/definitions/native-base/KittNativeBaseProvider.d.ts +1 -1
- package/dist/definitions/native-base/KittNativeBaseProvider.d.ts.map +1 -1
- package/dist/definitions/themes/default.d.ts +1 -0
- package/dist/definitions/themes/default.d.ts.map +1 -1
- package/dist/definitions/themes/late-ocean/navigationModal.d.ts +6 -0
- package/dist/definitions/themes/late-ocean/navigationModal.d.ts.map +1 -0
- package/dist/index-browser-all.es.android.js +333 -47
- package/dist/index-browser-all.es.android.js.map +1 -1
- package/dist/index-browser-all.es.ios.js +333 -47
- package/dist/index-browser-all.es.ios.js.map +1 -1
- package/dist/index-browser-all.es.js +333 -47
- package/dist/index-browser-all.es.js.map +1 -1
- package/dist/index-browser-all.es.web.js +355 -46
- package/dist/index-browser-all.es.web.js.map +1 -1
- package/dist/index-node-14.17.cjs.js +307 -14
- package/dist/index-node-14.17.cjs.js.map +1 -1
- package/dist/index-node-14.17.cjs.web.css +1 -0
- package/dist/index-node-14.17.cjs.web.js +319 -14
- package/dist/index-node-14.17.cjs.web.js.map +1 -1
- package/dist/linaria-themes-browser-all.es.android.js +7 -1
- package/dist/linaria-themes-browser-all.es.android.js.map +1 -1
- package/dist/linaria-themes-browser-all.es.ios.js +7 -1
- package/dist/linaria-themes-browser-all.es.ios.js.map +1 -1
- package/dist/linaria-themes-browser-all.es.js +7 -1
- package/dist/linaria-themes-browser-all.es.js.map +1 -1
- package/dist/linaria-themes-browser-all.es.web.js +7 -1
- package/dist/linaria-themes-browser-all.es.web.js.map +1 -1
- package/dist/linaria-themes-node-14.17.cjs.js +7 -1
- package/dist/linaria-themes-node-14.17.cjs.js.map +1 -1
- package/dist/linaria-themes-node-14.17.cjs.web.js +7 -1
- package/dist/linaria-themes-node-14.17.cjs.web.js.map +1 -1
- package/dist/styles.css +1 -0
- package/dist/tsbuildinfo +1 -1
- package/package.json +5 -3
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index-browser-all.es.android.js","sources":["../src/Icon/Icon.tsx","../src/KittBreakpoints.ts","../src/typography/Typography.tsx","../src/Avatar/Avatar.tsx","../src/utils/warnings.ts","../src/Button/getVariantValuesIfExist.ts","../src/Button/AnimatedButtonPressable.tsx","../src/Button/BaseStyledButtonPressable.tsx","../src/typography/TypographyIcon.tsx","../src/Button/isSubtle.ts","../src/Button/ButtonContent.tsx","../src/Button/StyledDisabled.tsx","../src/Button/Button.tsx","../src/Card/Card.tsx","../src/Emoji/Emoji.tsx","../src/ExternalAppLink/ExternalAppLink.tsx","../src/ExternalLink/ExternalLinkOpenLinkBehavior.ts","../src/ExternalLink/ExternalLink.tsx","../src/themes/palettes/lateOceanColorPalette.ts","../src/themes/late-ocean/colors.ts","../src/themes/late-ocean/avatar.ts","../src/themes/late-ocean/button.ts","../src/themes/late-ocean/card.ts","../src/themes/late-ocean/feedback.ts","../src/themes/late-ocean/checkbox.ts","../src/themes/late-ocean/datePicker.ts","../src/themes/late-ocean/typography.ts","../src/themes/late-ocean/input.ts","../src/themes/late-ocean/inputField.ts","../src/themes/late-ocean/inputTag.ts","../src/themes/late-ocean/radio.ts","../src/themes/late-ocean/textArea.ts","../src/themes/late-ocean/forms.ts","../src/themes/late-ocean/fullScreenModal.ts","../src/themes/late-ocean/iconButton.ts","../src/themes/late-ocean/listItem.ts","../src/themes/late-ocean/pageLoader.ts","../src/themes/late-ocean/picker.ts","../src/themes/late-ocean/shadows.ts","../src/themes/late-ocean/skeleton.ts","../src/themes/late-ocean/tag.ts","../src/themes/late-ocean/tooltip.ts","../src/themes/default.ts","../src/utils/windowSize/useMatchWindowSize.ts","../src/utils/windowSize/createWindowSizeHelper.ts","../src/useKittTheme.tsx","../src/forms/Checkbox/Checkbox.tsx","../src/forms/utils.ts","../src/forms/styledTextInputMixin.ts","../src/forms/DatePicker/DatePickerInputPart.tsx","../src/forms/DatePicker/DatePickerInputs.tsx","../src/forms/DatePicker/DatePickerAndroid.tsx","../src/Overlay/Overlay.tsx","../src/Modal/Body.tsx","../src/Modal/Footer.tsx","../src/utils/StyleWebWrapper.tsx","../src/IconButton/PressableIconButton.tsx","../src/IconButton/PressableAnimatedContainer.tsx","../src/IconButton/IconButton.tsx","../src/Modal/OnCloseContext.ts","../src/Modal/Header.tsx","../src/Modal/Modal.tsx","../src/forms/DatePicker/PlatformDateTimePicker.tsx","../src/forms/DatePicker/ModalPlatformDateTimePicker.tsx","../src/forms/DatePicker/DatePicker.tsx","../src/forms/InputText/InputTextContainer.tsx","../src/forms/InputText/InputText.tsx","../src/forms/InputEmail/InputEmail.tsx","../src/forms/InputFeedback/InputFeedback.tsx","../src/forms/InputField/InputField.tsx","../src/forms/InputIcon/InputIcon.tsx","../src/forms/InputPressable/InputPressable.tsx","../src/forms/InputPassword/InputPassword.tsx","../src/forms/InputPhone/InputPhone.tsx","../src/forms/InputTag/InputTag.tsx","../src/forms/Label/Label.tsx","../src/forms/Radio/Radio.tsx","../src/forms/TextArea/TextArea.tsx","../src/FullScreenModal/Body.tsx","../src/FullScreenModal/Header.tsx","../src/FullScreenModal/FullScreenModal.tsx","../src/Icon/SpinningIcon.tsx","../src/ListItem/ListItemContent.tsx","../src/ListItem/ListItemSideContent.tsx","../src/ListItem/ListItem.tsx","../src/LoaderIcon/LoaderIcon.tsx","../src/BaseMessage/IconContent.tsx","../src/BaseMessage/helper.ts","../src/BaseMessage/BaseMessage.tsx","../src/Message/Message.tsx","../src/native-base/KittNativeBaseProvider.tsx","../src/native-base/layout.ts","../src/native-base/primitives.ts","../src/Notification/Notification.tsx","../src/PageLoader/AnimatedLoaderCircle.tsx","../src/PageLoader/AnimatedBackgroundCircle.tsx","../src/PageLoader/AnimatedFillCircleContainer.tsx","../src/PageLoader/AnimatedFillCircle.tsx","../src/PageLoader/PageLoader.tsx","../src/Picker/PickerItem.tsx","../src/Picker/Picker.tsx","../src/Skeleton/SkeletonContent.tsx","../src/Skeleton/Skeleton.tsx","../src/story-components/Flex.tsx","../src/story-components/theme.ts","../src/story-components/StoryBlock.tsx","../src/story-components/StoryTitle.tsx","../src/story-components/Story.tsx","../src/story-components/StorySection.tsx","../src/story-components/StoryContainer.tsx","../src/story-components/StoryDecorator.tsx","../src/story-components/StoryGrid.tsx","../src/Tag/Tag.tsx","../src/TimePicker/ModalDateTimePicker.tsx","../src/TimePicker/useTimePicker.ts","../src/TimePicker/TimePicker.tsx","../src/Tooltip/TooltipView.tsx","../src/Tooltip/tooltipUtils.ts","../src/Tooltip/Tooltip.tsx","../src/typography/TypographyEmoji.tsx","../src/typography/TypographyLink.tsx","../src/utils/hexToRgba.ts","../src/utils/storybook/KittThemeDecorator.tsx","../src/utils/windowSize/MatchWindowSize.tsx","../src/utils/withTheme.tsx"],"sourcesContent":["import type { ReactElement } from 'react';\nimport { cloneElement } from 'react';\nimport type { ViewStyle } from 'react-native';\nimport styled from 'styled-components/native';\n\nexport interface IconProps {\n icon: ReactElement;\n size?: number;\n color: string;\n align?: ViewStyle['alignSelf'];\n testID?: ViewStyle['testID'];\n}\n\ninterface IconContainerProps {\n $align?: ViewStyle['alignSelf'];\n $size: number;\n $color: string;\n}\n\nexport const defaultIconSize = 20;\n\nexport const IconContainer = styled.View<IconContainerProps>`\n color: ${({ $color }) => $color};\n width: ${({ $size }) => $size}px;\n height: ${({ $size }) => $size}px;\n align-self: ${({ $align = 'auto' }) => $align};\n`;\n\nexport function Icon({ icon, size = defaultIconSize, align, color }: IconProps): ReactElement {\n const clonedIcon = cloneElement(icon, { color });\n\n return (\n <IconContainer $align={align} $size={size} $color={color}>\n {clonedIcon}\n </IconContainer>\n );\n}\n","export const KittBreakpoints = {\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};\n\nexport const KittBreakpointsMax = {\n /**\n * max-width: 479px\n */\n BASE: KittBreakpoints.SMALL - 1,\n /**\n * max-width: 767px\n */\n SMALL: KittBreakpoints.MEDIUM - 1,\n /**\n * max-width: 1023px\n */\n MEDIUM: KittBreakpoints.LARGE - 1,\n /**\n * max-width: 1279px\n */\n LARGE: KittBreakpoints.WIDE - 1,\n};\n\nexport type KittBreakpoint = typeof KittBreakpoints[keyof typeof KittBreakpoints];\nexport type KittBreakpointMax = typeof KittBreakpointsMax[keyof typeof KittBreakpointsMax];\n\nexport enum KittBreakpointNameEnum {\n BASE = 'base',\n SMALL = 'small',\n MEDIUM = 'medium',\n LARGE = 'large',\n WIDE = 'wide',\n}\n\nexport type KittResponsiveProp<Value> = Record<KittBreakpointNameEnum.BASE, Value> &\n Partial<Record<Exclude<KittBreakpointNameEnum, KittBreakpointNameEnum.BASE>, Value>>;\n\nexport type KittResponsivePropOrValue<Value> = KittResponsiveProp<Value> | Value;\n","import type { ITextProps } from 'native-base';\nimport { Text as NBText } from 'native-base';\nimport type { FC, ReactElement, ReactNode } from 'react';\nimport { createContext, useContext } from 'react';\nimport type { TextProps } from 'react-native';\nimport { Platform } from 'react-native';\nimport type { Except, SetOptional } from 'type-fest';\nimport type { KittResponsiveProp } from '../KittBreakpoints';\nimport { KittBreakpointNameEnum, KittBreakpoints } from '../KittBreakpoints';\nimport type { TypographyTypeConfig } from '../themes/late-ocean/typography';\nimport type { KittTheme } from '../useKittTheme';\n\nexport type TypographyHeaderType = `header${'1' | '2' | '3' | '4' | '5'}`;\nexport type TypographyBodyType = 'body' | `body-${'large' | 'medium' | 'small' | 'xsmall'}`;\nexport type TypographyType = TypographyHeaderType | TypographyBodyType;\ntype TypographyVariant = 'regular' | 'bold';\nexport type TypographyColor =\n | 'black'\n | 'black-anthracite'\n | 'black-light'\n | 'white'\n | 'white-light'\n | 'primary'\n | 'primary-light'\n | 'accent'\n | 'success'\n | 'danger';\n\nconst IsHeaderTypographyContext = createContext<boolean | undefined>(undefined);\nconst TypographyColorContext = createContext<TypographyColor>('black');\n\nexport function useTypographyColor(): TypographyColor {\n return useContext(TypographyColorContext);\n}\n\n/** @deprecated use native-base instead for SSR compatibility */\nexport const getTypographyTypeConfigKey = (theme: KittTheme): keyof TypographyTypeConfig => {\n const isMediumOrAbove = theme.responsive.matchWindowSize({ minWidth: KittBreakpoints.MEDIUM });\n return isMediumOrAbove ? 'mediumAndWide' : 'baseAndSmall';\n};\n\nexport function getTypographyTypeConfigKeyFromTypeName(\n breakpointName: KittBreakpointNameEnum,\n): keyof TypographyTypeConfig {\n return breakpointName === 'base' || breakpointName === 'small' ? 'baseAndSmall' : 'mediumAndWide';\n}\n\nconst isTypeHeader = (type: TypographyType): type is TypographyHeaderType => type.startsWith('header');\nexport const isTypographyHeader = (\n type: TypographyType | undefined,\n isHeaderTypographyInContext: boolean | undefined,\n): type is TypographyHeaderType => {\n if (type) return isTypeHeader(type);\n if (isHeaderTypographyInContext != null) return isHeaderTypographyInContext;\n throw new Error('You must set a \"base\" prop or wrap this Typography in one that does.');\n};\n\nexport type TypographyBreakpointType = Partial<KittResponsiveProp<TypographyType>>;\n\nexport interface TypographyProps extends TypographyBreakpointType, Except<TextProps, 'accessibilityRole'> {\n type?: TypographyBreakpointType;\n // Find mapping for web here: https://www.w3.org/TR/html-aria/\n accessibilityRole: NonNullable<TextProps['accessibilityRole']> | 'paragraph' | null;\n /** Default to regular for bodies and bold of headers. Is not inherited. */\n variant?: TypographyVariant;\n /** Inherited from parent Typography if not specified, or black if no Typography parent found. */\n color?: TypographyColor;\n children: ReactNode;\n textAlign?: ITextProps['textAlign'];\n textTransform?: ITextProps['textTransform'];\n}\nexport type TypographyPropsWithoutRole = Except<TypographyProps, 'accessibilityRole'>;\n\nexport function createNativeBaseFontSize(type: TypographyBreakpointType): ITextProps['fontSize'] {\n const typeWithMediumForced = {\n ...type,\n medium: type.medium || type.small || type.base,\n };\n\n const fontSizeForNativeBase: ITextProps['fontSize'] = {};\n [\n KittBreakpointNameEnum.BASE,\n KittBreakpointNameEnum.SMALL,\n KittBreakpointNameEnum.MEDIUM,\n KittBreakpointNameEnum.LARGE,\n KittBreakpointNameEnum.WIDE,\n ].forEach((typeName) => {\n const value = typeWithMediumForced[typeName];\n if (value) {\n fontSizeForNativeBase[typeName] = `${getTypographyTypeConfigKeyFromTypeName(typeName)}.${value}`;\n }\n });\n\n return fontSizeForNativeBase;\n}\n\nexport function Typography({\n accessibilityRole,\n base: legacyBase,\n small: legacySmall,\n medium: legacyMedium,\n large: legacyLarge,\n wide: legacyWide,\n type = { base: legacyBase, small: legacySmall, medium: legacyMedium, large: legacyLarge, wide: legacyWide },\n variant,\n color,\n ...otherProps\n}: TypographyProps): ReactElement | null {\n const isHeaderTypographyInContext = useContext(IsHeaderTypographyContext);\n const hasTypographyAncestor = isHeaderTypographyInContext !== undefined;\n const baseOrDefaultToBody = hasTypographyAncestor ? type.base : type.base ?? 'body';\n const isHeader = isTypographyHeader(baseOrDefaultToBody, isHeaderTypographyInContext);\n const nonNullableVariant: TypographyVariant = variant ?? (isHeader ? 'bold' : 'regular');\n\n const fontSizeForNativeBase = createNativeBaseFontSize({ ...type, base: baseOrDefaultToBody });\n\n if (process.env.NODE_ENV !== 'production') {\n Object.entries(type).forEach(([key, value]) => {\n if (value && isTypeHeader(value) !== isHeader) {\n throw new Error(\n `Invalid value for \"${key}\": \"${value}\" is ${isHeader ? 'not' : ''} an header. Don't mix headers and bodies.`,\n );\n }\n });\n }\n\n const text = (\n <NBText\n accessibilityRole={(accessibilityRole as TextProps['accessibilityRole']) || undefined}\n fontSize={fontSizeForNativeBase}\n lineHeight={fontSizeForNativeBase}\n fontWeight={isHeader ? `headers.${nonNullableVariant}` : `bodies.${nonNullableVariant}`}\n fontFamily={isHeader ? `headers.${nonNullableVariant}` : `bodies.${nonNullableVariant}`}\n color={color ? `kitt.typography.${color}` : undefined}\n textDecorationColor={color ? `kitt.typography.${color}` : undefined}\n {...otherProps}\n />\n );\n\n const content = baseOrDefaultToBody ? (\n <IsHeaderTypographyContext.Provider value={isHeader}>{text}</IsHeaderTypographyContext.Provider>\n ) : (\n text\n );\n\n return color ? <TypographyColorContext.Provider value={color}>{content}</TypographyColorContext.Provider> : content;\n}\n\nexport type TypographyTextProps = SetOptional<TypographyProps, 'accessibilityRole'>;\nfunction TypographyText(props: TypographyTextProps): ReactElement {\n return <Typography accessibilityRole={null} {...props} />;\n}\n\nfunction TypographyParagraph(props: TypographyTextProps): ReactElement {\n // role 'paragraph' does not exist in native, it's a web feature only.\n return <Typography accessibilityRole={Platform.OS === 'web' ? 'paragraph' : null} {...props} />;\n}\n\nexport type TypographyHeadingProps = TypographyPropsWithoutRole;\n\nconst createHeading = (\n level: number,\n /** @deprecated accessibility and design should be independent */\n defaultBase?: TypographyHeadingProps['base'],\n): FC<TypographyHeadingProps> => {\n // https://github.com/necolas/react-native-web/issues/401\n function TypographyHeading(props: TypographyHeadingProps): ReactElement {\n return <Typography accessibilityRole=\"header\" base={defaultBase} {...props} accessibilityLevel={level} />;\n }\n TypographyHeading.displayName = `TypographyHeading${level}`;\n return TypographyHeading;\n};\n\nTypography.Text = TypographyText;\nTypography.Paragraph = TypographyParagraph;\nTypography.Header1 = createHeading(1);\nTypography.Header2 = createHeading(2);\nTypography.Header3 = createHeading(3);\nTypography.Header4 = createHeading(4);\nTypography.Header5 = createHeading(5);\nTypography.Header6 = createHeading(6);\n\n/** @deprecated use Typography.Header1 */\nTypography.h1 = createHeading(1, 'header1');\n/** @deprecated use Typography.Header2 */\nTypography.h2 = createHeading(2, 'header2');\n/** @deprecated use Typography.Header3 */\nTypography.h3 = createHeading(3, 'header3');\n/** @deprecated use Typography.Header4 */\nTypography.h4 = createHeading(4, 'header4');\n/** @deprecated use Typography.Header6 */\nTypography.h5 = createHeading(5, 'header5');\n","import { UserIcon } from '@ornikar/kitt-icons';\nimport type { ReactElement } from 'react';\nimport { Image } from 'react-native';\nimport styled from 'styled-components/native';\nimport { Icon } from '../Icon/Icon';\nimport { Typography } from '../typography/Typography';\n\nconst getInitials = (firstname: string, lastname: string): string => `${firstname[0]}${lastname[0]}`.toUpperCase();\n\nexport type AvatarSizeVariant = 'large';\n\nexport interface StyledAvatarViewProps {\n $size: number;\n $isRound?: boolean;\n $isLight?: boolean;\n $sizeVariant?: AvatarSizeVariant;\n}\n\nconst StyledAvatarView = styled.View<StyledAvatarViewProps>`\n border-radius: ${({ theme, $isRound, $size, $sizeVariant }) => {\n if ($isRound) return `${$size / 2}px`;\n\n return `${$sizeVariant === 'large' ? theme.kitt.avatar.large.borderRadius : theme.kitt.avatar.borderRadius}px`;\n }};\n background-color: ${({ theme, $isLight }) =>\n $isLight ? theme.kitt.avatar.light.backgroundColor : theme.kitt.avatar.default.backgroundColor};\n height: ${({ $size }) => $size}px;\n width: ${({ $size }) => $size}px;\n overflow: hidden;\n align-items: center;\n justify-content: center;\n`;\n\ninterface AvatarContentProps extends Exclude<AvatarProps, 'light | round'> {\n size: NonNullable<number>;\n isLight?: boolean;\n sizeVariant?: AvatarSizeVariant;\n}\n\nfunction AvatarContent({\n size,\n src,\n firstname,\n lastname,\n alt,\n isLight,\n sizeVariant,\n}: AvatarContentProps): ReactElement {\n if (src) {\n return <Image source={{ uri: src }} style={{ width: size, height: size }} accessibilityLabel={alt} />;\n }\n\n if (firstname && lastname) {\n return (\n <Typography.Text\n base={sizeVariant === 'large' ? 'body-large' : 'body-small'}\n variant={sizeVariant === 'large' ? 'bold' : 'regular'}\n color={isLight ? 'black' : 'white'}\n >\n {getInitials(firstname, lastname)}\n </Typography.Text>\n );\n }\n\n return <Icon icon={<UserIcon />} color={isLight ? 'black' : 'white'} size={size / 2} />;\n}\nexport interface AvatarProps {\n size?: number;\n src?: string | null;\n alt?: string;\n firstname?: string | null;\n lastname?: string | null;\n round?: boolean;\n light?: boolean;\n sizeVariant?: AvatarSizeVariant;\n}\n\nexport function Avatar({ size = 40, round, light, sizeVariant, ...props }: AvatarProps): ReactElement {\n return (\n <StyledAvatarView $size={size} $isRound={round} $isLight={light} $sizeVariant={sizeVariant}>\n <AvatarContent size={size} isLight={light} sizeVariant={sizeVariant} {...props} />\n </StyledAvatarView>\n );\n}\n","export function warn(message: string): void {\n if (process.env.NODE_ENV !== 'production') {\n console.warn(message);\n }\n}\n\nexport function deprecatedMessage(symbol: string, deprecation: string, replaceBy?: string): void {\n const replaceMessage = replaceBy === undefined ? '' : `, please use ${replaceBy} instead`;\n\n warn(`[Deprecation] in ${symbol}: ${deprecation} is deprecated${replaceMessage}.`);\n}\n\nexport function deprecatedInComponent(component: string, deprecation: string, replaceBy?: string): void {\n deprecatedMessage(`<${component} />`, deprecation, replaceBy);\n}\n","import type { DefaultTheme } from 'styled-components/native';\nimport type { BaseButtonTheme, BaseButtonWithVariant } from '../themes/late-ocean/button';\nimport type { ButtonType, ButtonVariant } from './Button';\n\nconst hasVariant = (button: BaseButtonTheme, variant: ButtonVariant): button is BaseButtonWithVariant => {\n return variant in button;\n};\n\nexport function getVariantValuesIfExist<V extends ButtonVariant>(\n theme: DefaultTheme,\n type: ButtonType,\n variant: ButtonVariant,\n): BaseButtonTheme['default'] | BaseButtonWithVariant[V] {\n const button = theme.kitt.button[type];\n\n if (hasVariant(button, variant)) {\n return button[variant];\n }\n\n return theme.kitt.button[type].default;\n}\n","import type { ReactElement } from 'react';\nimport { forwardRef } from 'react';\nimport type { PressableProps, View } from 'react-native';\nimport Animated, { interpolateColor, useAnimatedStyle, useSharedValue, withSpring } from 'react-native-reanimated';\nimport styled, { useTheme } from 'styled-components/native';\nimport type { ButtonType, ButtonVariant } from './Button';\nimport { getVariantValuesIfExist } from './getVariantValuesIfExist';\n\nexport interface StyledPressableProps extends PressableProps {\n $isStretch?: boolean;\n $type: ButtonType;\n}\n\nconst StyledPressable = styled.Pressable<StyledPressableProps>`\n ${({ $isStretch }) => {\n if ($isStretch) return undefined;\n\n return 'align-self: flex-start;';\n }}\n`;\n\nconst StyledAnimatedView = styled(Animated.View)`\n border-radius: ${({ theme }) => theme.kitt.button.borderRadius}px;\n`;\n\nexport interface AnimatedButtonPressableProps extends PressableProps {\n accessibilityRole: NonNullable<PressableProps['accessibilityRole']>;\n $type: ButtonType;\n $variant: ButtonVariant;\n $isStretch?: boolean;\n}\n\nexport const AnimatedButtonPressable = forwardRef<View, AnimatedButtonPressableProps>(\n (\n {\n children,\n disabled,\n accessibilityRole,\n $type,\n $variant,\n $isStretch,\n href,\n hrefAttrs,\n testID,\n onPress,\n }: AnimatedButtonPressableProps,\n ref,\n ): ReactElement => {\n const theme = useTheme();\n const pressed = useSharedValue<0 | 1>(0);\n const color = useSharedValue(0);\n\n const { backgroundColor, pressedBackgroundColor } = getVariantValuesIfExist(theme, $type, $variant);\n const { scale } = theme.kitt.button;\n\n const scaleStyles = useAnimatedStyle(() => {\n return {\n backgroundColor: interpolateColor(color.value, [0, 1], [backgroundColor, pressedBackgroundColor]),\n transform: [\n {\n scale: withSpring(pressed.value ? scale.base.active : scale.base.default),\n },\n ],\n };\n });\n\n const handlePressInOut = (pressIn: boolean): void => {\n color.value = withSpring(pressIn ? 1 : 0);\n pressed.value = pressIn ? 1 : 0;\n };\n\n return (\n <StyledPressable\n ref={ref}\n disabled={disabled}\n accessibilityRole={accessibilityRole}\n testID={testID}\n href={href}\n hrefAttrs={hrefAttrs}\n $isStretch={$isStretch}\n $type={$type}\n onPress={onPress}\n onPressIn={() => {\n handlePressInOut(true);\n }}\n onPressOut={() => {\n handlePressInOut(false);\n }}\n >\n <StyledAnimatedView style={disabled ? [{ transform: [{ scale: 1 }] }] : [scaleStyles]}>\n {children}\n </StyledAnimatedView>\n </StyledPressable>\n );\n },\n);\n","import type { ViewProps } from 'react-native';\nimport { Platform } from 'react-native';\nimport styled from 'styled-components/native';\nimport type { ButtonSize, ButtonType, ButtonVariant } from './Button';\nimport { getVariantValuesIfExist } from './getVariantValuesIfExist';\n\nexport interface BaseStyledButtonPressableProps extends ViewProps {\n $type: ButtonType;\n $variant: ButtonVariant;\n $size?: ButtonSize;\n $isStretch?: boolean;\n $isDisabled?: boolean;\n}\n\nexport const BaseStyledButtonPressable = styled.View<BaseStyledButtonPressableProps>`\n position: relative;\n min-width: ${({ theme }) => theme.kitt.button.minWidth}px;\n max-width: ${({ theme, $isStretch }) => ($isStretch ? '100%' : `${theme.kitt.button.maxWidth}px`)};\n width: ${({ $isStretch }) => ($isStretch ? '100%' : 'auto')};\n min-height: ${({ theme }) => theme.kitt.button.minHeight}px;\n border-radius: ${({ theme }) => theme.kitt.button.borderRadius}px;\n flex-direction: row;\n align-items: center;\n justify-content: center;\n\n /* Emulate inline-* css display by making the button taking only its necessary space */\n align-self: flex-start;\n\n background-color: ${({ theme, $isDisabled, $type, $variant }) => {\n if ($isDisabled) return theme.kitt.button.disabled.default.backgroundColor;\n\n if (Platform.OS !== 'web') return 'transparent';\n\n return getVariantValuesIfExist(theme, $type, $variant).backgroundColor;\n }};\n\n padding: ${({ theme, $size, $isDisabled }) => {\n const { large, default: defaultPadding, disabled: disabledPadding, xLarge } = theme.kitt.button.contentPadding;\n\n if ($size === 'large') return large;\n if ($size === 'xlarge') return xLarge;\n if ($isDisabled) return disabledPadding;\n\n return defaultPadding;\n }};\n`;\n","import type { ReactElement } from 'react';\nimport { useTheme } from 'styled-components/native';\nimport type { Except } from 'type-fest';\nimport type { IconProps } from '../Icon/Icon';\nimport { Icon } from '../Icon/Icon';\nimport type { SetNonNullable } from '../utils/typeUtils';\nimport type { TypographyProps } from './Typography';\nimport { useTypographyColor } from './Typography';\n\nexport interface TypographyIconProps extends Except<IconProps, 'color'> {\n color?: TypographyProps['color'] | 'inherit';\n}\n\nfunction TypographyIconSpecifiedColor({ color, ...props }: SetNonNullable<TypographyIconProps, 'color'>): ReactElement {\n const theme = useTheme();\n return <Icon {...props} color={color === 'inherit' ? 'inherit' : theme.kitt.typography.colors[color]} />;\n}\n\nfunction TypographyIconInheritColor(props: TypographyIconProps): ReactElement {\n const color = useTypographyColor();\n\n return <TypographyIconSpecifiedColor color={color} {...props} />;\n}\n\nexport function TypographyIcon({ color, ...props }: TypographyIconProps): ReactElement {\n if (color) {\n return <TypographyIconSpecifiedColor color={color} {...props} />;\n }\n\n return <TypographyIconInheritColor {...props} />;\n}\n","import type { ButtonType, SubtleButtonType } from './Button';\n\nexport function isSubtle(type: ButtonType): type is SubtleButtonType {\n return type.startsWith('subtle');\n}\n","import type { ReactElement } from 'react';\nimport { Platform } from 'react-native';\nimport styled from 'styled-components/native';\nimport type { Except } from 'type-fest';\nimport type { TypographyColor, TypographyTextProps } from '../typography/Typography';\nimport { Typography } from '../typography/Typography';\nimport type { TypographyIconProps } from '../typography/TypographyIcon';\nimport { TypographyIcon } from '../typography/TypographyIcon';\nimport type { ButtonProps, ButtonType, ButtonVariant } from './Button';\nimport { isSubtle } from './isSubtle';\n\nconst getTextColorByType = (type: ButtonType, variant: ButtonVariant): TypographyColor => {\n switch (type) {\n case 'primary':\n return variant === 'ghost' ? 'primary' : 'white';\n case 'white':\n return 'white';\n case 'subtle':\n return 'primary';\n case 'subtle-dark':\n return 'black';\n case 'default':\n return variant === 'ghost' ? 'white' : 'black';\n default:\n return 'black';\n }\n};\n\ninterface StyledButtonTextProps extends TypographyTextProps {\n $type: ButtonType;\n $isDisabled?: boolean;\n}\n\nconst StyledButtonText = styled(Typography.Text)<StyledButtonTextProps>`\n /* On native code, this is the only way to ensure that the text is centered */\n text-align: center;\n\n ${() => {\n // Make the multilines case work properly on native\n // Breaks the web implem\n if (Platform.OS === 'web') return undefined;\n\n return `\n flex-shrink: 1;\n `;\n }}\n\n ${({ $type, $isDisabled }) => {\n /* For subltes button, color changes when hovered.\n * We don't want to use a mouse event handler with a react state to handle it\n * For this precise case, we've decided to work outside the typography logic\n */\n if (Platform.OS !== 'web' || $isDisabled || !isSubtle($type)) return undefined;\n return 'color: inherit';\n }}\n`;\n\ninterface StyledIconContainerProps {\n $iconPosition?: ButtonProps['iconPosition'];\n}\n\nconst StyledIconContainer = styled.View<StyledIconContainerProps>`\n ${({ theme, $iconPosition }) => {\n const value = theme.kitt.spacing * 2;\n\n if ($iconPosition === 'left') {\n return `margin: 0 ${value}px 0 0;`;\n }\n\n return `margin: 0 0 0 ${value}px;`;\n }}\n`;\n\ninterface ButtonIconProps {\n icon: NonNullable<ButtonContentProps['icon']>;\n iconPosition: ButtonContentProps['iconPosition'];\n color: TypographyIconProps['color'];\n testID?: string;\n}\n\nfunction ButtonIcon({ icon, color, iconPosition, testID }: ButtonIconProps): ReactElement | null {\n return (\n <StyledIconContainer $iconPosition={iconPosition}>\n <TypographyIcon icon={icon} testID={testID} color={color} />\n </StyledIconContainer>\n );\n}\n\ninterface ButtonContentProps extends Except<ButtonProps, 'onPress' | 'disabled' | 'stretch'> {\n isDisabled?: boolean;\n type: NonNullable<ButtonType>;\n variant: NonNullable<ButtonVariant>;\n $isStretch: ButtonProps['stretch'];\n}\n\ninterface ButtonContentChildrenProps extends Except<ButtonProps, 'onPress' | 'disabled' | 'stretch'> {\n isDisabled?: boolean;\n type: NonNullable<ButtonType>;\n color: TypographyColor;\n}\n\nconst StyledChildrenWithIcon = styled.View`\n align-items: center;\n justify-content: center;\n flex-direction: row;\n`;\n\nexport function ButtonContentChildren({\n type,\n icon,\n iconPosition,\n isDisabled,\n color,\n children,\n}: ButtonContentChildrenProps): ReactElement | null {\n if (__DEV__) {\n if (!(children || icon)) {\n throw new Error('kitt(Button): You should provide at least a children or a icon');\n }\n }\n\n const isWebSubtle = isSubtle(type) && Platform.OS === 'web' && !isDisabled;\n\n if (!children) {\n return (\n <TypographyIcon\n // eslint-disable-next-line @typescript-eslint/no-non-null-assertion\n icon={icon!}\n color={isWebSubtle ? 'inherit' : color}\n />\n );\n }\n\n const buttonIconSharedProps = {\n type,\n iconPosition,\n color: isWebSubtle ? 'inherit' : (color as TypographyIconProps['color']),\n };\n\n return (\n <StyledChildrenWithIcon>\n {icon && iconPosition === 'left' ? (\n <ButtonIcon {...buttonIconSharedProps} testID=\"button-left-icon\" icon={icon} />\n ) : null}\n\n <StyledButtonText\n base=\"body\"\n variant=\"bold\"\n $type={type}\n $isDisabled={isDisabled}\n // set to color: inherit via styled components\n color={isWebSubtle ? undefined : color}\n >\n {children}\n </StyledButtonText>\n\n {icon && iconPosition === 'right' ? <ButtonIcon {...buttonIconSharedProps} icon={icon} /> : null}\n </StyledChildrenWithIcon>\n );\n}\n\ninterface ButtonContentContainerProps {\n $isSubtle?: boolean;\n $isStretch?: boolean;\n $isIconOnly?: boolean;\n}\n\nconst ButtonContentContainer = styled.View<ButtonContentContainerProps>`\n line-height: 16px;\n\n ${({ $isStretch, $isIconOnly }) => {\n // Make the multilines case work properly on web\n // Breaks the native implem\n if (Platform.OS !== 'web') return undefined;\n\n return `\n flex: ${$isStretch || $isIconOnly ? 1 : 0} 1 auto;\n `;\n }}\n\n ${({ $isSubtle }) => {\n if (Platform.OS !== 'web' || !$isSubtle) return undefined;\n // Needed for subtle type\n return 'color: inherit';\n }};\n`;\n\nexport function ButtonContent({\n type,\n variant,\n isDisabled,\n $isStretch,\n icon,\n children,\n ...props\n}: ButtonContentProps): ReactElement {\n const color = isDisabled ? 'black-light' : getTextColorByType(type, variant);\n\n return (\n <ButtonContentContainer $isSubtle={isSubtle(type)} $isStretch={$isStretch} $isIconOnly={Boolean(!children && icon)}>\n <ButtonContentChildren icon={icon} type={type} isDisabled={isDisabled} color={color} {...props}>\n {children}\n </ButtonContentChildren>\n </ButtonContentContainer>\n );\n}\n","import styled from 'styled-components/native';\n\nexport const StyledDisabled = styled.View`\n position: absolute;\n top: 0;\n left: 0;\n right: 0;\n bottom: 0;\n border: ${({ theme }) => {\n const { borderWidth, disabled } = theme.kitt.button;\n return `${borderWidth.disabled}px solid ${disabled.default.borderColor}`;\n }};\n border-radius: ${({ theme }) => theme.kitt.button.borderRadius}px;\n`;\n","import type { ReactElement, ReactNode } from 'react';\nimport { forwardRef } from 'react';\nimport type { PressableProps, View } from 'react-native';\nimport { Platform } from 'react-native';\nimport { deprecatedInComponent } from '../utils/warnings';\nimport { AnimatedButtonPressable } from './AnimatedButtonPressable';\nimport { BaseStyledButtonPressable } from './BaseStyledButtonPressable';\nimport { ButtonContent } from './ButtonContent';\nimport { StyledDisabled } from './StyledDisabled';\n\nexport type SubtleButtonType = 'subtle' | 'subtle-dark';\nexport type ButtonType = 'primary' | 'default' | SubtleButtonType | 'white';\nexport type ButtonSize = 'large' | 'xlarge';\nexport type ButtonVariant = 'default' | 'ghost';\n\ntype IconPosition = 'right' | 'left';\n\nconst allowedGhostTypes = ['primary', 'default'];\n\nconst getButtonSize = ({ large, xLarge, size }: Partial<ButtonProps>): ButtonProps['size'] => {\n if (large) return 'large';\n if (xLarge) return 'xlarge';\n return size;\n};\n\nexport interface ButtonProps {\n children?: ReactNode;\n type?: ButtonType;\n variant?: ButtonVariant;\n disabled?: boolean;\n stretch?: boolean;\n /**\n * @deprecated use `size` instead\n */\n large?: boolean;\n /**\n * @deprecated use `size` instead\n */\n xLarge?: boolean;\n size?: ButtonSize;\n icon?: ReactElement;\n iconPosition?: IconPosition;\n testID?: PressableProps['testID'];\n href?: PressableProps['href'];\n hrefAttrs?: PressableProps['hrefAttrs'];\n accessibilityRole?: PressableProps['accessibilityRole'];\n className?: string;\n style?: PressableProps['style'];\n onPress?: PressableProps['onPress'];\n}\n\nexport const Button = forwardRef<View, ButtonProps>(\n (\n {\n children,\n type = 'default',\n variant = 'default',\n disabled,\n stretch,\n large,\n xLarge,\n icon,\n size: sizeProp,\n iconPosition = 'left',\n testID,\n href,\n hrefAttrs,\n accessibilityRole = 'button',\n onPress,\n }: ButtonProps,\n ref,\n ): ReactElement => {\n if (__DEV__ && variant === 'ghost' && !allowedGhostTypes.includes(type)) {\n throw new Error('variant=ghost is only allowed with type=primary or default');\n }\n\n if (large || xLarge) {\n const deprecatedProp = large ? 'large' : 'xLarge';\n deprecatedInComponent('Button', `${deprecatedProp} prop`, 'size');\n }\n\n const size = getButtonSize({ large, xLarge, size: sizeProp });\n\n return (\n <AnimatedButtonPressable\n ref={ref}\n accessibilityRole={accessibilityRole}\n testID={testID}\n href={href}\n hrefAttrs={hrefAttrs}\n disabled={disabled}\n $isStretch={stretch}\n $type={type}\n $variant={variant}\n onPress={onPress}\n >\n <BaseStyledButtonPressable\n $type={type}\n $variant={variant}\n $isStretch={stretch}\n $size={size}\n $isDisabled={disabled}\n >\n <ButtonContent\n type={type}\n variant={variant}\n $isStretch={stretch}\n isDisabled={disabled}\n icon={icon}\n iconPosition={iconPosition}\n >\n {children}\n </ButtonContent>\n {Platform.OS !== 'web' && disabled ? <StyledDisabled /> : null}\n </BaseStyledButtonPressable>\n </AnimatedButtonPressable>\n );\n },\n);\n","import type { ReactElement, ReactNode } from 'react';\nimport styled from 'styled-components/native';\n\ntype CardType = 'primary' | 'secondary' | 'subtle';\n\nexport interface CardProps {\n children: NonNullable<ReactNode>;\n type: CardType;\n}\ninterface ContainerProps {\n type: CardType;\n}\n\nconst Container = styled.View<ContainerProps>`\n background-color: ${({ theme, type }) => theme.kitt.card[type].backgroundColor};\n padding: ${({ theme }) => theme.kitt.spacing * 4}px;\n border-radius: ${({ theme }) => theme.kitt.card.borderRadius}px;\n border-width: ${({ theme }) => theme.kitt.card.borderWidth}px;\n border-color: ${({ theme, type }) => theme.kitt.card[type].borderColor};\n`;\n\nexport function Card({ children, type }: CardProps): ReactElement {\n return <Container type={type}>{children}</Container>;\n}\n","import type { IImageProps } from 'native-base';\nimport { Image } from 'native-base';\nimport type { ReactElement } from 'react';\nimport { useMemo } from 'react';\nimport type { ImageProps } from 'react-native';\nimport { Platform } from 'react-native';\nimport { parse } from 'twemoji-parser';\nimport type { KittResponsiveProp } from '../KittBreakpoints';\n\nexport interface EmojiProps extends Pick<ImageProps, 'style'> {\n emoji: string;\n size: number | KittResponsiveProp<number>;\n alignSelf?: IImageProps['alignSelf'];\n _web?: IImageProps['_web'];\n}\n\nexport function Emoji({ emoji, size, alignSelf, _web, style }: EmojiProps): ReactElement | null {\n const [emojiData] = useMemo(\n () =>\n parse(emoji, {\n // on native plaforms, you can't display svg as Image\n assetType: Platform.OS === 'web' ? 'svg' : 'png',\n }),\n [emoji],\n );\n\n if (!emojiData) return null;\n\n return (\n <Image\n size={size}\n alt={emojiData.text}\n accessibilityLabel={emojiData.text}\n source={{ uri: emojiData.url }}\n style={style}\n alignSelf={alignSelf}\n _web={_web}\n />\n );\n}\n","import type { ComponentProps, ReactElement, VoidFunctionComponent } from 'react';\nimport type { GestureResponderEvent, PressableProps, TextProps } from 'react-native';\nimport { Linking } from 'react-native';\n\ntype ExternalAppLinkScheme = 'sms' | 'tel' | 'mailto';\n\nexport interface ExternalAppLinkAsComponentMinimumRequiredProps {\n href?: TextProps['href'];\n hrefAttrs?: TextProps['hrefAttrs'];\n onPress?: PressableProps['onPress'];\n}\n\nexport interface ExternalAppLinkProps<C extends VoidFunctionComponent<any>> {\n as: C;\n appScheme: ExternalAppLinkScheme;\n appValue: string;\n onPress?: PressableProps['onPress'];\n onOpenAppError?: (err: string) => void;\n}\n\nexport interface ExternalAppLinkPhoneProps<C extends VoidFunctionComponent<any>>\n extends Partial<ExternalAppLinkProps<C>> {\n phoneNumber: string;\n}\n\nexport interface ExternalAppLinkMailProps<C extends VoidFunctionComponent<any>>\n extends Partial<ExternalAppLinkProps<C>> {\n emailAddress: string;\n}\n\n/** @internal for ExternalAppLink.web.tsx only */\n// eslint-disable-next-line @typescript-eslint/ban-types\nexport type ExternalAppLinkSendableComponentProps<C extends VoidFunctionComponent<any>> = Omit<\n ComponentProps<C>,\n keyof ExternalAppLinkProps<C> & keyof ExternalAppLinkAsComponentMinimumRequiredProps\n>;\n\nexport function ExternalAppLink<C extends VoidFunctionComponent<any>>({\n as: Component,\n appScheme,\n appValue,\n onPress,\n onOpenAppError,\n ...rest\n}: ExternalAppLinkProps<C> & ExternalAppLinkSendableComponentProps<C>): ReactElement {\n const href = `${appScheme}:${appValue}`;\n\n const handleOnPress = async (e: GestureResponderEvent): Promise<void> => {\n try {\n const canOpen = await Linking.canOpenURL(href);\n\n if (canOpen) {\n if (onPress) {\n onPress(e);\n if (e?.defaultPrevented) return;\n }\n\n Linking.openURL(href).catch((err) => {\n console.error(`An error occurred while opening ${href}`, err);\n\n onOpenAppError?.(`An error occurred while opening ${href}`);\n });\n } else {\n onOpenAppError?.(`Cannot open url: ${href}`);\n }\n } catch {\n onOpenAppError?.('An error occured with Linkinf.canOpenURL');\n }\n };\n\n return <Component href={href} {...(rest as any)} onPress={handleOnPress} />;\n}\n\nExternalAppLink.Sms = function ExternalAppLinkSms<C extends VoidFunctionComponent<any>>({\n phoneNumber,\n children,\n ...rest\n}: ExternalAppLinkPhoneProps<C> & ExternalAppLinkSendableComponentProps<C>): ReactElement {\n return (\n <ExternalAppLink {...(rest as any)} appScheme=\"sms\" appValue={phoneNumber}>\n {children}\n </ExternalAppLink>\n );\n};\n\nExternalAppLink.Tel = function ExternalAppLinkTel<C extends VoidFunctionComponent<any>>({\n phoneNumber,\n children,\n ...rest\n}: ExternalAppLinkPhoneProps<C> & ExternalAppLinkSendableComponentProps<C>): ReactElement {\n return (\n <ExternalAppLink {...(rest as any)} appScheme=\"tel\" appValue={phoneNumber}>\n {children}\n </ExternalAppLink>\n );\n};\n\nExternalAppLink.Mail = function ExternalAppLinkMail<C extends VoidFunctionComponent<any>>({\n emailAddress,\n children,\n ...rest\n}: ExternalAppLinkMailProps<C> & ExternalAppLinkSendableComponentProps<C>): ReactElement {\n return (\n <ExternalAppLink {...(rest as any)} appScheme=\"mailto\" appValue={emailAddress}>\n {children}\n </ExternalAppLink>\n );\n};\n","export interface ExternalLinkOpenLinkBehavior {\n /**\n * @default 'openInModal'\n *\n * @description open link behavior in native\n *\n * \"openInModal\": open via [expo-web-browser](https://docs.expo.dev/versions/latest/sdk/webbrowser/)\n *\n * \"openBrowserApp\": open via [Linking](https://docs.expo.dev/guides/linking/#opening-links-from-your-app)\n */\n native?: 'openInModal' | 'openBrowserApp';\n\n /**\n * @default 'targetBlank'\n *\n * @description open link behavior in native\n *\n * \"targetSelf\": no dom attributes added, behave like `target=\"_self\"`\n *\n * \"targetBlank\": dome attributes: `target=\"_blank\" rel=\"noopener noreferrer\"`\n */\n web?: 'targetSelf' | 'targetBlank';\n}\n\nexport const defaultOpenLinkBehavior: ExternalLinkOpenLinkBehavior = {\n native: 'openInModal',\n web: 'targetBlank',\n};\n","import * as WebBrowser from 'expo-web-browser';\nimport type { ComponentProps, ReactElement, VoidFunctionComponent } from 'react';\nimport type { PressableProps, TextProps } from 'react-native';\nimport { Linking } from 'react-native';\nimport type { ExternalLinkOpenLinkBehavior } from './ExternalLinkOpenLinkBehavior';\nimport { defaultOpenLinkBehavior } from './ExternalLinkOpenLinkBehavior';\n\nexport interface ExternalLinkAsComponentMinimumRequiredProps {\n href?: TextProps['href'];\n hrefAttrs?: TextProps['hrefAttrs'];\n onPress?: PressableProps['onPress'];\n}\n\nexport interface ExternalLinkProps<C extends VoidFunctionComponent<any>> {\n as: C;\n openLinkBehavior?: ExternalLinkOpenLinkBehavior;\n href?: string;\n onPress?: PressableProps['onPress'];\n}\n\n/** @internal for ExternalLink.web.tsx only */\n// eslint-disable-next-line @typescript-eslint/ban-types\nexport type ExternalLinkSendableComponentProps<C extends VoidFunctionComponent<any>> = Omit<\n ComponentProps<C>,\n keyof ExternalLinkProps<C> & keyof ExternalLinkAsComponentMinimumRequiredProps\n>;\n\nexport function ExternalLink<C extends VoidFunctionComponent<any>>({\n as: Component,\n href,\n openLinkBehavior = defaultOpenLinkBehavior,\n onPress,\n ...rest\n}: ExternalLinkProps<C> & ExternalLinkSendableComponentProps<C>): ReactElement {\n const handleOnPress: PressableProps['onPress'] = (e) => {\n if (onPress) {\n onPress(e);\n if (e?.defaultPrevented) return;\n }\n\n if (!href) return;\n\n switch (openLinkBehavior.native) {\n case 'openInModal':\n case undefined:\n WebBrowser.openBrowserAsync(href).catch((err) => {\n console.error(`An error occurred while opening ${href}`, err);\n });\n break;\n case 'openBrowserApp':\n Linking.openURL(href).catch((err) => {\n console.error(`An error occurred while opening ${href}`, err);\n });\n break;\n default:\n if (__DEV__) {\n throw new Error(`Invalid ExternalLink native behavior: ${openLinkBehavior.native as string}`);\n }\n }\n };\n\n return <Component {...(rest as any)} onPress={handleOnPress} />;\n}\n","export const lateOceanColorPalette = {\n lateOcean: '#4C34E0',\n lateOceanLight1: '#705DE6',\n lateOceanLight2: '#9485EC',\n lateOceanLight3: '#D6BAF9',\n\n warmEmbrace: '#F4D3CE',\n warmEmbraceLight1: '#FFEDE6',\n\n black1000: '#000000',\n black800: '#2C293D',\n black555: '#737373',\n black200: '#CCCCCC',\n black100: '#E5E5E5',\n black50: '#F2F2F2',\n black25: '#F9F9F9',\n white: '#FFFFFF',\n\n viride: '#38836D',\n englishVermillon: '#D44148',\n goldCrayola: '#F8C583',\n aero: '#89BDDD',\n\n transparent: 'transparent',\n\n moonPurple: '#DBD6F9',\n moonPurpleLight1: '#EDEBFC',\n};\n","import { lateOceanColorPalette } from '../palettes/lateOceanColorPalette';\n\nexport const colors = {\n primary: lateOceanColorPalette.lateOcean,\n primaryLight: lateOceanColorPalette.lateOceanLight1,\n accent: lateOceanColorPalette.warmEmbrace,\n accentLight: lateOceanColorPalette.warmEmbraceLight1,\n success: lateOceanColorPalette.viride,\n correct: lateOceanColorPalette.viride,\n danger: lateOceanColorPalette.englishVermillon,\n info: lateOceanColorPalette.aero,\n warning: lateOceanColorPalette.goldCrayola,\n separator: lateOceanColorPalette.black100,\n hover: lateOceanColorPalette.black100,\n white: lateOceanColorPalette.white,\n black: lateOceanColorPalette.black1000,\n blackAnthracite: lateOceanColorPalette.black800,\n uiBackground: lateOceanColorPalette.black25,\n uiBackgroundLight: lateOceanColorPalette.white,\n transparent: lateOceanColorPalette.transparent,\n disabled: lateOceanColorPalette.black50,\n overlay: {\n dark: 'rgba(41, 48, 51, 0.25)',\n light: 'rgba(255, 255, 255, 0.90)',\n fullscreenLoader: 'rgba(0, 0, 0, 0.25)',\n },\n};\n","import { lateOceanColorPalette } from '../palettes/lateOceanColorPalette';\nimport { colors } from './colors';\n\nexport interface AvatarThemeColorVariant {\n backgroundColor: string;\n}\n\nexport interface AvatarThemeSizeVariant {\n borderRadius: number;\n}\n\nexport interface AvatarTheme {\n borderRadius: number;\n default: AvatarThemeColorVariant;\n light: AvatarThemeColorVariant;\n large: AvatarThemeSizeVariant;\n}\n\nexport const avatar: AvatarTheme = {\n borderRadius: 10,\n default: {\n backgroundColor: colors.primary,\n },\n light: {\n backgroundColor: lateOceanColorPalette.black100,\n },\n large: {\n borderRadius: 30,\n },\n};\n","import { lateOceanColorPalette } from '../palettes/lateOceanColorPalette';\nimport { colors } from './colors';\n\nexport interface BaseVariantTheme {\n backgroundColor: string;\n pressedBackgroundColor: string;\n hoverBackgroundColor: string;\n focusBorderColor: string;\n}\n\nexport interface GhostVariantTheme extends BaseVariantTheme {\n color: string;\n hoverColor: string;\n activeColor: string;\n}\nexport interface BaseButtonTheme {\n default: BaseVariantTheme;\n}\n\nexport interface BaseButtonWithVariant extends BaseButtonTheme {\n ghost: GhostVariantTheme;\n}\n\nexport interface SubtleBaseVariantTheme extends BaseVariantTheme {\n color: string;\n hoverColor: string;\n activeColor: string;\n}\n\nexport interface SubtleButtonTheme extends BaseButtonTheme {\n default: SubtleBaseVariantTheme;\n}\n\nexport interface DisabledBaseVariantTheme extends BaseVariantTheme {\n borderColor: string;\n}\n\nexport interface DisabledButtonTheme extends BaseButtonTheme {\n default: DisabledBaseVariantTheme;\n}\n\nexport interface ButtonTheme {\n borderRadius: number;\n borderWidth: {\n disabled: number;\n focus: number;\n };\n minHeight: number;\n minWidth: number;\n maxWidth: number;\n scale: {\n base: {\n default: number;\n hover: number;\n active: number;\n };\n medium: {\n hover: number;\n };\n };\n contentPadding: {\n default: string;\n large: string;\n xLarge: string;\n disabled: string;\n };\n transition: {\n duration: string;\n timingFunction: string;\n };\n default: BaseButtonWithVariant;\n primary: BaseButtonWithVariant;\n white: BaseButtonTheme;\n subtle: SubtleButtonTheme;\n 'subtle-dark': SubtleButtonTheme;\n disabled: DisabledButtonTheme;\n}\n\nexport const button: ButtonTheme = {\n borderRadius: 30,\n borderWidth: {\n disabled: 2,\n focus: 3,\n },\n minHeight: 40,\n minWidth: 40,\n maxWidth: 335,\n scale: {\n base: {\n default: 1,\n hover: 0.95,\n active: 0.95,\n },\n medium: {\n hover: 1.05,\n },\n },\n contentPadding: {\n default: '7px 16px 7px',\n large: '11px 24px 11px',\n xLarge: '15px 24px 15px',\n disabled: '5px 14px 5px',\n },\n transition: {\n duration: '200ms',\n timingFunction: 'cubic-bezier(0.645, 0.045, 0.355, 1)',\n },\n default: {\n default: {\n backgroundColor: 'rgba(0, 0, 0, 0.05)',\n pressedBackgroundColor: 'rgba(0, 0, 0, 0.1)',\n hoverBackgroundColor: 'rgba(0, 0, 0, 0.1)',\n focusBorderColor: 'rgba(0, 0, 0, 0.1)',\n },\n ghost: {\n backgroundColor: 'rgba(255, 255, 255, 0.1)',\n pressedBackgroundColor: 'rgba(255, 255, 255, 0.05)',\n hoverBackgroundColor: 'rgba(255, 255, 255, 0.05)',\n focusBorderColor: 'rgba(255, 255, 255, 0.4)',\n color: lateOceanColorPalette.white,\n hoverColor: lateOceanColorPalette.white,\n activeColor: lateOceanColorPalette.white,\n },\n },\n primary: {\n default: {\n backgroundColor: colors.primary,\n pressedBackgroundColor: colors.primaryLight,\n hoverBackgroundColor: colors.primaryLight,\n focusBorderColor: 'rgba(76, 52, 224, 0.2)',\n },\n ghost: {\n backgroundColor: colors.uiBackgroundLight,\n pressedBackgroundColor: colors.uiBackground,\n hoverBackgroundColor: colors.hover,\n focusBorderColor: 'rgba(255,255,255, 0.4)',\n color: colors.primary,\n hoverColor: colors.hover,\n activeColor: colors.hover,\n },\n },\n white: {\n default: {\n backgroundColor: 'rgba(255, 255, 255, 0.05)',\n pressedBackgroundColor: 'rgba(255, 255, 255, 0.1)',\n hoverBackgroundColor: 'rgba(255, 255, 255, 0.1)',\n focusBorderColor: 'rgba(255, 255, 255, 0.1)',\n },\n },\n subtle: {\n default: {\n backgroundColor: colors.transparent,\n pressedBackgroundColor: colors.transparent,\n hoverBackgroundColor: colors.transparent,\n focusBorderColor: 'rgba(76, 52, 224, 0.2)',\n color: colors.primary,\n hoverColor: 'rgba(76, 52, 224, 0.8)',\n activeColor: 'rgba(76, 52, 224, 0.8)',\n },\n },\n 'subtle-dark': {\n default: {\n backgroundColor: colors.transparent,\n pressedBackgroundColor: colors.transparent,\n hoverBackgroundColor: colors.transparent,\n focusBorderColor: 'rgba(0, 0, 0, 0.1)',\n color: colors.black,\n hoverColor: 'rgba(0, 0, 0, 0.8)',\n activeColor: 'rgba(0, 0, 0, 0.8)',\n },\n },\n disabled: {\n default: {\n backgroundColor: colors.disabled,\n pressedBackgroundColor: colors.disabled,\n hoverBackgroundColor: colors.disabled,\n focusBorderColor: lateOceanColorPalette.black100,\n borderColor: lateOceanColorPalette.black100,\n },\n },\n};\n","import { lateOceanColorPalette } from '../palettes/lateOceanColorPalette';\nimport { colors } from './colors';\n\nexport interface CardThemeType {\n backgroundColor: string;\n borderColor: string;\n}\nexport interface CardTheme {\n borderRadius: number;\n borderWidth: number;\n primary: CardThemeType;\n secondary: CardThemeType;\n subtle: CardThemeType;\n}\n\nexport const card: CardTheme = {\n borderRadius: 20,\n borderWidth: 2,\n primary: {\n backgroundColor: colors.uiBackgroundLight,\n borderColor: colors.primary,\n },\n secondary: {\n backgroundColor: colors.uiBackgroundLight,\n borderColor: colors.separator,\n },\n subtle: {\n backgroundColor: lateOceanColorPalette.black50,\n borderColor: colors.separator,\n },\n};\n","import { colors } from './colors';\n\nexport interface FeedbackMessageVariantTheme {\n backgroundColor: string;\n}\n\nexport interface FeedbackMessageTheme {\n danger: FeedbackMessageVariantTheme;\n info: FeedbackMessageVariantTheme;\n success: FeedbackMessageVariantTheme;\n warning: FeedbackMessageVariantTheme;\n}\n\nexport const feedbackMessage: FeedbackMessageTheme = {\n danger: {\n backgroundColor: colors.danger,\n },\n success: {\n backgroundColor: colors.success,\n },\n info: {\n backgroundColor: colors.info,\n },\n warning: {\n backgroundColor: colors.warning,\n },\n};\n","import { colors } from './colors';\n\nexport const checkbox = {\n borderWidth: 2,\n borderRadius: 5,\n height: 20,\n width: 20,\n iconSize: 14,\n borderColor: colors.separator,\n backgroundColor: colors.uiBackgroundLight,\n checkedBorderColor: colors.primary,\n checkedBackgroundColor: colors.primary,\n markColor: colors.uiBackgroundLight,\n};\n","interface DatePickerPartTheme {\n minWidth: number;\n}\n\nexport interface DatePickerTheme {\n day: DatePickerPartTheme;\n month: DatePickerPartTheme;\n year: DatePickerPartTheme;\n}\n\nexport const datePicker: DatePickerTheme = {\n day: {\n minWidth: 64,\n },\n month: {\n minWidth: 64,\n },\n year: {\n minWidth: 82,\n },\n};\n","import { Platform } from 'react-native';\nimport { lateOceanColorPalette } from '../palettes/lateOceanColorPalette';\nimport { colors as kittColors } from './colors';\n\nexport const calcLineHeight = (fontSize: number, lineHeightMultiplier: number): number =>\n Math.round(fontSize * lineHeightMultiplier);\n\nexport interface TypographyTypeBreakpointRangeConfig {\n fontSize: number;\n lineHeight: number;\n}\n\nexport interface TypographyTypeConfig {\n baseAndSmall: TypographyTypeBreakpointRangeConfig;\n mediumAndWide: TypographyTypeBreakpointRangeConfig;\n}\n\nexport const createTypographyTypeConfig = (\n lineHeightMultiplier: number,\n baseAndSmallFontSize: number,\n mediumAndWideFontSize: number,\n): TypographyTypeConfig => ({\n baseAndSmall: {\n fontSize: baseAndSmallFontSize,\n lineHeight: calcLineHeight(baseAndSmallFontSize, lineHeightMultiplier),\n },\n mediumAndWide: {\n fontSize: mediumAndWideFontSize,\n lineHeight: calcLineHeight(mediumAndWideFontSize, lineHeightMultiplier),\n },\n});\n\nexport const typography = {\n colors: {\n black: kittColors.black,\n 'black-anthracite': kittColors.blackAnthracite,\n 'black-light': lateOceanColorPalette.black555,\n white: kittColors.white,\n 'white-light': kittColors.white,\n primary: kittColors.primary,\n 'primary-light': kittColors.primaryLight,\n accent: kittColors.accent,\n success: kittColors.success,\n danger: kittColors.danger,\n },\n types: {\n headers: {\n fontFamily: {\n regular: Platform.OS === 'web' ? 'Moderat' : 'Moderat-Extended-Bold',\n bold: Platform.OS === 'web' ? 'Moderat' : 'Moderat-Extended-Bold',\n },\n fontWeight: 400,\n fontStyle: 'normal',\n configs: {\n // also known as xxlarge\n header1: createTypographyTypeConfig(1.3, 38, 62),\n // also known as xlarge\n header2: createTypographyTypeConfig(1.3, 32, 48),\n // also known as medium\n header3: createTypographyTypeConfig(1.3, 24, 36),\n // also known as xsmall\n header4: createTypographyTypeConfig(1.3, 18, 24),\n // also known as xxsmall\n header5: createTypographyTypeConfig(1.3, 18, 18),\n },\n },\n bodies: {\n fontFamily: {\n regular: Platform.OS === 'web' ? 'Noto Sans' : 'NotoSans',\n bold: Platform.OS === 'web' ? 'Noto Sans' : 'NotoSans-Bold',\n },\n fontWeight: {\n regular: 400,\n // TODO[https://ornikar.atlassian.net/browse/CME-767] This quick fix should be replaced by a 700 in every case, and native font weights should be handled by expo-fonts\n bold: Platform.OS === 'android' ? 400 : 700,\n },\n fontStyle: {\n regular: 'normal',\n bold: 'normal',\n },\n configs: {\n 'body-large': createTypographyTypeConfig(1.6, 18, 24),\n 'body-medium': createTypographyTypeConfig(1.6, 18, 18),\n body: createTypographyTypeConfig(1.6, 16, 16),\n 'body-small': createTypographyTypeConfig(1.6, 14, 14),\n 'body-xsmall': createTypographyTypeConfig(1.6, 12, 12),\n },\n },\n },\n link: {\n disabledColor: lateOceanColorPalette.black200,\n },\n};\n","import type { InputUIState } from '../../forms/utils';\nimport { lateOceanColorPalette } from '../palettes/lateOceanColorPalette';\nimport { colors } from './colors';\nimport { typography } from './typography';\n\nexport interface InputStateStyle {\n backgroundColor?: string;\n borderColor: string;\n color: keyof typeof typography.colors;\n}\n\nexport type InputStateTheme = Record<InputUIState, InputStateStyle>;\n\nconst inputStatesStyle: InputStateTheme = {\n default: {\n backgroundColor: colors.uiBackgroundLight,\n borderColor: colors.separator,\n color: 'black',\n },\n pending: {\n backgroundColor: colors.uiBackgroundLight,\n borderColor: colors.separator,\n color: 'black',\n },\n valid: {\n backgroundColor: colors.uiBackgroundLight,\n borderColor: lateOceanColorPalette.black100,\n color: 'black',\n },\n hover: {\n borderColor: lateOceanColorPalette.black200,\n color: 'black',\n },\n focus: {\n borderColor: colors.primary,\n color: 'black',\n },\n disabled: {\n backgroundColor: colors.disabled,\n borderColor: colors.separator,\n color: 'black-light',\n },\n invalid: {\n borderColor: colors.separator,\n color: 'black',\n },\n};\n\nexport interface InputTheme {\n minHeight: number;\n color: {\n selection: string;\n placeholder: string;\n };\n borderWidth: number;\n borderRadius: number;\n icon: {\n size: number;\n };\n padding: {\n horizontal: number;\n vertical: number;\n };\n transition: {\n property: string;\n duration: string;\n timingFunction: string;\n };\n states: InputStateTheme;\n}\n\nexport const input: InputTheme = {\n minHeight: 40,\n color: {\n selection: colors.primary,\n placeholder: typography.colors['black-light'],\n },\n borderWidth: 2,\n borderRadius: 10,\n icon: {\n size: 20,\n },\n padding: {\n horizontal: 16,\n vertical: 5,\n },\n transition: {\n property: 'border-color',\n duration: '200ms',\n timingFunction: 'ease-in-out',\n },\n states: inputStatesStyle,\n};\n","export const inputField = {\n labelContainerPaddingBottom: 5,\n iconMarginLeft: 6,\n};\n","import { lateOceanColorPalette } from '../palettes/lateOceanColorPalette';\nimport { colors } from './colors';\n\ninterface InputTagTypeTheme {\n backgroundColor: string;\n labelColor: string;\n}\nexport interface InputTagTheme {\n borderRadius: number;\n iconSize: number;\n default: InputTagTypeTheme;\n success: InputTagTypeTheme;\n danger: InputTagTypeTheme;\n}\n\nexport const inputTag: InputTagTheme = {\n success: {\n backgroundColor: colors.success,\n labelColor: colors.uiBackgroundLight,\n },\n danger: {\n backgroundColor: colors.danger,\n labelColor: colors.uiBackgroundLight,\n },\n default: {\n backgroundColor: lateOceanColorPalette.black50,\n labelColor: colors.black,\n },\n borderRadius: 10,\n iconSize: 13.5,\n};\n","import { lateOceanColorPalette } from '../palettes/lateOceanColorPalette';\nimport { colors } from './colors';\n\nexport interface RadioTheme {\n size: number;\n unchecked: {\n backgroundColor: string;\n borderColor: string;\n borderWidth: number;\n };\n checked: {\n backgroundColor: string;\n innerBackgroundColor: string;\n innerSize: number;\n };\n disabled: {\n backgroundColor: string;\n borderColor: string;\n };\n}\n\nexport const radio: RadioTheme = {\n size: 18,\n unchecked: {\n backgroundColor: colors.uiBackgroundLight,\n borderWidth: 2,\n borderColor: lateOceanColorPalette.black200,\n },\n checked: {\n backgroundColor: colors.primary,\n innerSize: 5,\n innerBackgroundColor: colors.uiBackgroundLight,\n },\n disabled: {\n backgroundColor: colors.disabled,\n borderColor: colors.separator,\n },\n};\n","export interface TextAreaTheme {\n minHeight: number;\n}\n\nexport const textArea: TextAreaTheme = {\n minHeight: 120,\n};\n","import { checkbox } from './checkbox';\nimport { datePicker } from './datePicker';\nimport { input } from './input';\nimport { inputField } from './inputField';\nimport { inputTag } from './inputTag';\nimport { radio } from './radio';\nimport { textArea } from './textArea';\n\nexport const forms = {\n datePicker,\n input,\n radio,\n inputField,\n textArea,\n checkbox,\n inputTag,\n};\n","import { lateOceanColorPalette } from '../palettes/lateOceanColorPalette';\n\nexport const fullScreenModal = {\n header: {\n paddingVertical: 12,\n paddingHorizontal: 16,\n borderColor: lateOceanColorPalette.black100,\n },\n};\n","import { button } from './button';\n\ninterface IconButtonVariationValues {\n pressedBackgroundColor: string;\n}\n\nexport interface IconButtonTheme {\n backgroundColor: string;\n width: number;\n height: number;\n borderRadius: number;\n borderWidth: number;\n borderColor: string;\n transition: {\n property: string;\n duration: string;\n timingFunction: string;\n };\n scale: {\n base: {\n default: number;\n hover: number;\n active: number;\n };\n medium: {\n hover: number;\n };\n };\n disabled: {\n scale: number;\n backgroundColor: string;\n borderColor: string;\n };\n default: IconButtonVariationValues;\n white: IconButtonVariationValues;\n}\n\nexport const iconButton: IconButtonTheme = {\n backgroundColor: 'transparent',\n width: 40,\n height: 40,\n borderRadius: 20,\n borderWidth: 2,\n borderColor: 'transparent',\n transition: {\n property: 'all',\n duration: '200ms',\n timingFunction: 'cubic-bezier(0.645, 0.045, 0.355, 1);',\n },\n scale: {\n base: {\n default: 1,\n hover: 0.95,\n active: 0.95,\n },\n medium: {\n hover: 1.05,\n },\n },\n disabled: {\n scale: 1,\n backgroundColor: button.disabled.default.backgroundColor,\n borderColor: button.disabled.default.borderColor,\n },\n default: {\n pressedBackgroundColor: button.default.default.pressedBackgroundColor,\n },\n white: {\n pressedBackgroundColor: button.white.default.hoverBackgroundColor,\n },\n};\n","import { colors } from './colors';\n\nexport interface ListItemTheme {\n padding: string;\n borderColor: string;\n borderWidth: number;\n innerMargin: number;\n}\n\nexport const listItem: ListItemTheme = {\n padding: '12px 16px',\n borderColor: colors.separator,\n borderWidth: 1,\n innerMargin: 8,\n};\n","import { colors } from './colors';\n\nexport interface PageLoaderTheme {\n size: number;\n strokeWidth: number;\n colors: {\n base: string;\n fill: string;\n };\n animation: {\n delay: number;\n circleBackgroundFillDuration: number;\n filledCircleFillDuration: number;\n groupFilledCircleRotationDuration: number;\n filledCircleRotationDuration: number;\n fillEasingFunction: [number, number, number, number];\n };\n}\n\nexport const pageLoader: PageLoaderTheme = {\n size: 60,\n strokeWidth: 3,\n colors: {\n base: colors.separator,\n fill: colors.primary,\n },\n animation: {\n delay: 500,\n circleBackgroundFillDuration: 1000,\n filledCircleFillDuration: 1800,\n groupFilledCircleRotationDuration: 1800,\n filledCircleRotationDuration: 2160,\n fillEasingFunction: [0.39, 0.575, 0.565, 1],\n },\n};\n","import type { TextStyle } from 'react-native';\nimport { colors } from './colors';\nimport { typography } from './typography';\n\nexport interface PickerTheme {\n ios: {\n default: TextStyle;\n selected: {\n color: string;\n };\n };\n android: {\n padding: string;\n default: {\n backgroundColor: string;\n };\n selected: {\n backgroundColor: string;\n color: string;\n };\n };\n}\n\nexport const picker: PickerTheme = {\n ios: {\n default: {\n fontFamily: typography.types.bodies.fontFamily.regular,\n ...typography.types.bodies.configs.body.baseAndSmall,\n fontSize: 16,\n color: typography.colors['black-light'],\n },\n selected: {\n color: typography.colors.primary,\n },\n },\n android: {\n padding: '12px 24px',\n default: {\n backgroundColor: colors.transparent,\n },\n selected: {\n backgroundColor: colors.primary,\n color: typography.colors.white,\n },\n },\n};\n","export const shadows = {\n medium: '0px 10px 20px rgba(41, 48, 51, 0.25)',\n};\n","import { lateOceanColorPalette } from '../palettes/lateOceanColorPalette';\n\nexport interface SkeletonTheme {\n backgroundColor: string;\n flareColor: string;\n animationDuration: number;\n}\n\nexport const skeleton: SkeletonTheme = {\n backgroundColor: lateOceanColorPalette.black100,\n flareColor: lateOceanColorPalette.black200,\n animationDuration: 1000,\n};\n","import { lateOceanColorPalette } from '../palettes/lateOceanColorPalette';\nimport { colors } from './colors';\n\nexport interface TagVariantTheme {\n borderWidth: number;\n backgroundColor: string;\n borderColor: string;\n}\n\nexport interface TagTypeTheme {\n fill: TagVariantTheme;\n outline: TagVariantTheme;\n}\n\nexport interface TagTheme {\n borderRadius: number;\n padding: string;\n primary: TagTypeTheme;\n default: TagTypeTheme;\n danger: TagTypeTheme;\n}\n\nexport const tag: TagTheme = {\n borderRadius: 10,\n padding: '2px 12px',\n primary: {\n fill: {\n backgroundColor: lateOceanColorPalette.moonPurpleLight1,\n borderWidth: 0,\n borderColor: colors.transparent,\n },\n outline: {\n backgroundColor: colors.transparent,\n borderWidth: 1,\n borderColor: colors.primary,\n },\n },\n default: {\n fill: {\n backgroundColor: lateOceanColorPalette.black50,\n borderWidth: 0,\n borderColor: colors.transparent,\n },\n outline: {\n backgroundColor: colors.transparent,\n borderWidth: 1,\n borderColor: colors.black,\n },\n },\n danger: {\n fill: {\n backgroundColor: lateOceanColorPalette.warmEmbrace,\n borderWidth: 0,\n borderColor: colors.transparent,\n },\n outline: {\n backgroundColor: colors.transparent,\n borderWidth: 1,\n borderColor: colors.danger,\n },\n },\n};\n","import { colors } from './colors';\n\nexport interface TooltipTheme {\n backgroundColor: string;\n borderRadius: number;\n opacity: number;\n horizontalPadding: number;\n verticalPadding: number;\n floatingPadding: number;\n}\n\nexport const tooltip: TooltipTheme = {\n backgroundColor: colors.black,\n borderRadius: 10,\n opacity: 0.95,\n horizontalPadding: 16,\n verticalPadding: 4,\n floatingPadding: 8,\n};\n","import { avatar } from './late-ocean/avatar';\nimport { button } from './late-ocean/button';\nimport { card } from './late-ocean/card';\nimport { colors } from './late-ocean/colors';\nimport { feedbackMessage } from './late-ocean/feedback';\nimport { forms } from './late-ocean/forms';\nimport { fullScreenModal } from './late-ocean/fullScreenModal';\nimport { iconButton } from './late-ocean/iconButton';\nimport { listItem } from './late-ocean/listItem';\nimport { pageLoader } from './late-ocean/pageLoader';\nimport { picker } from './late-ocean/picker';\nimport { shadows } from './late-ocean/shadows';\nimport { skeleton } from './late-ocean/skeleton';\nimport { tag } from './late-ocean/tag';\nimport { tooltip } from './late-ocean/tooltip';\nimport { typography } from './late-ocean/typography';\nimport { lateOceanColorPalette } from './palettes/lateOceanColorPalette';\n\nconst breakpoints = {\n values: {\n base: 0,\n small: 480,\n medium: 768,\n large: 1024,\n wide: 1280,\n },\n min: {\n smallBreakpoint: 'min-width: 480px',\n mediumBreakpoint: 'min-width: 768px',\n largeBreakpoint: 'min-width: 1024px',\n wideBreakpoint: 'min-width: 1280px',\n },\n max: {\n smallBreakpoint: 'max-width: 479px',\n mediumBreakpoint: 'max-width: 767px',\n largeBreakpoint: 'max-width: 1023px',\n wideBreakpoint: 'max-width: 1279px',\n },\n};\n\n// eslint-disable-next-line unicorn/expiring-todo-comments\n// TODO : seperate brand color usage definition from proper theme definition and add typings - https://ornikar.atlassian.net/browse/CME-156\nexport const theme = {\n spacing: 4,\n colors,\n palettes: { lateOcean: lateOceanColorPalette },\n avatar,\n breakpoints,\n button,\n card,\n feedbackMessage,\n forms,\n fullScreenModal,\n iconButton,\n listItem,\n pageLoader,\n picker,\n shadows,\n skeleton,\n tag,\n tooltip,\n typography,\n};\n\nexport type Theme = typeof theme;\n","import { useWindowDimensions } from 'react-native';\nimport type { WindowDimensions } from './createWindowSizeHelper';\n\nexport interface MatchWindowSizeOptions {\n minWidth?: number;\n maxWidth?: number;\n minHeight?: number;\n maxHeight?: number;\n}\nexport function matchWindowSize(\n { width, height }: WindowDimensions,\n { minWidth, maxWidth, minHeight, maxHeight }: MatchWindowSizeOptions,\n): boolean {\n const hasWidthMatched = width ? (!minWidth || width >= minWidth) && (!maxWidth || width <= maxWidth) : true;\n const hasHeightMatched = height ? (!minHeight || height >= minHeight) && (!maxHeight || height <= maxHeight) : true;\n return hasWidthMatched && hasHeightMatched;\n}\n\nexport function useMatchWindowSize(options: MatchWindowSizeOptions): boolean {\n const { width, height } = useWindowDimensions();\n return matchWindowSize({ width, height }, options);\n}\n","// eslint-disable-next-line no-restricted-imports\nimport type { FlattenSimpleInterpolation } from 'styled-components';\nimport type { MatchWindowSizeOptions } from './useMatchWindowSize';\nimport { matchWindowSize } from './useMatchWindowSize';\n\nexport interface WindowSizeHelper {\n /** Prefer using if or map variants, at it should be more web friendly */\n matchWindowSize: (options: MatchWindowSizeOptions) => boolean;\n\n /**\n * @example\n * ```typescript\n * const Container = styled.View`\n * ${({ theme }) =>\n * theme.responsive.ifWindowSizeMatches(\n * { minWidth: KittBreakpoints.SMALL },\n * 'padding: 5px 0 10px;'\n * )\n * )};\n * `;\n * ```\n */\n ifWindowSizeMatches: <T extends string | FlattenSimpleInterpolation | null>(\n options: MatchWindowSizeOptions,\n valueIfTrue: T,\n valueIfFalse?: T,\n ) => T | undefined;\n\n /**\n *\n * @example\n * ```typescript\n * const Container = styled.View`\n * ${({ theme }) =>\n * theme.responsive.mapWindowWidth(\n * [KittBreakpoints.BASE, 'padding: 5px 0 10px;'],\n * [KittBreakpoints.SMALL, 'padding: 10px 0;'],\n * )\n * )};\n * `;\n * ```\n */\n mapWindowWidth: <V extends string>(...widthList: [number, V][]) => V | null;\n}\n\nexport interface WindowDimensions {\n width?: number;\n height?: number;\n}\n\nexport function createWindowSizeHelper(dimensions: WindowDimensions): WindowSizeHelper {\n return {\n matchWindowSize: (options) => matchWindowSize(dimensions, options),\n\n ifWindowSizeMatches: (options, valueIfTrue, valueIfFalse) =>\n matchWindowSize(dimensions, options) ? valueIfTrue : valueIfFalse,\n\n mapWindowWidth: <V extends string>(...widthList: [number, V][]): V | null => {\n if (__DEV__) {\n widthList.slice(1).forEach(([minWidth], index) => {\n const previousMinWidth = widthList[index][0];\n if (previousMinWidth > minWidth) {\n throw new Error(\n `mapWindowWidth: sort your values to be mobile first. ${minWidth} is < ${previousMinWidth}, so ${minWidth} should be before ${previousMinWidth}.`,\n );\n }\n });\n }\n const found = widthList.find(([minWidth, value]) => matchWindowSize(dimensions, { minWidth: Number(minWidth) }));\n if (!found) return null;\n return found[1];\n },\n };\n}\n","import { useMemo } from 'react';\nimport type { Theme } from './themes/default';\nimport { theme as kittTheme } from './themes/default';\nimport type { WindowSizeHelper } from './utils/windowSize/createWindowSizeHelper';\nimport { createWindowSizeHelper } from './utils/windowSize/createWindowSizeHelper';\nimport { useWindowSize } from './utils/windowSize/useWindowSize';\n\nexport interface KittTheme {\n kitt: Theme;\n responsive: WindowSizeHelper;\n}\n\nexport function useKittTheme(): KittTheme {\n const dimensions = useWindowSize();\n return useMemo(() => {\n return { kitt: kittTheme, responsive: createWindowSizeHelper(dimensions) };\n }, [dimensions]);\n}\n","import { CheckboxMark } from '@ornikar/kitt-icons';\nimport type { ReactElement, ReactNode } from 'react';\nimport type { GestureResponderEvent, PressableProps } from 'react-native';\nimport styled, { css } from 'styled-components/native';\nimport { Icon } from '../../Icon/Icon';\nimport { useKittTheme } from '../../useKittTheme';\n\ninterface CheckboxContainerProps {\n $isChecked: boolean;\n $hasLabel: boolean;\n}\n\nconst CheckboxAndLabelPressableWrapper = styled.Pressable`\n display: flex;\n flex-direction: row;\n`;\n\nconst CheckboxContainer = styled.View<CheckboxContainerProps>`\n display: flex;\n flex-direction: row;\n align-items: center;\n justify-content: center;\n\n height: ${({ theme }) => theme.kitt.forms.checkbox.height}px;\n width: ${({ theme }) => theme.kitt.forms.checkbox.width}px;\n position: relative;\n border-radius: ${({ theme }) => theme.kitt.forms.checkbox.borderRadius}px;\n\n ${({ $isChecked, theme }) => {\n const { checkedBackgroundColor, checkedBorderColor, borderColor, borderWidth, backgroundColor } =\n theme.kitt.forms.checkbox;\n if ($isChecked) {\n return css`\n background-color: ${checkedBackgroundColor};\n border: ${`${borderWidth}px solid ${checkedBorderColor}`};\n `;\n }\n return css`\n background-color: ${backgroundColor};\n border: ${`${borderWidth}px solid ${borderColor}`};\n `;\n }}\n\n margin-right: ${({ theme, $hasLabel }) => {\n if (!$hasLabel) return '0px';\n return `${theme.kitt.spacing * 2.5}px;`;\n }};\n`;\n\nexport interface CheckboxProps {\n onChange: (checked: boolean, e: GestureResponderEvent) => void;\n onBlur?: (e: any) => void;\n onFocus?: (e: any) => void;\n checked: boolean;\n hitSlop?: number;\n id?: PressableProps['testID'];\n children?: ReactNode;\n}\n\nexport function Checkbox({\n onChange,\n onBlur,\n onFocus,\n checked,\n hitSlop = 40,\n id,\n children,\n}: CheckboxProps): ReactElement {\n const theme = useKittTheme();\n\n const handlePress = (e: GestureResponderEvent): void => {\n if (onFocus) onFocus(e);\n if (onChange) onChange(!checked, e);\n if (onBlur) onBlur(e);\n };\n\n return (\n <CheckboxAndLabelPressableWrapper\n accessibilityRole=\"checkbox\"\n accessibilityState={{ checked }}\n hitSlop={hitSlop}\n onPress={handlePress}\n >\n <CheckboxContainer $isChecked={checked} $hasLabel={!!children} testID={id}>\n {checked ? (\n <Icon\n align=\"center\"\n color={theme.kitt.forms.checkbox.markColor}\n size={theme.kitt.forms.checkbox.iconSize}\n icon={<CheckboxMark />}\n />\n ) : null}\n </CheckboxContainer>\n\n {children}\n </CheckboxAndLabelPressableWrapper>\n );\n}\n","export type InputFormState = undefined | 'valid' | 'invalid' | 'pending';\n\nexport type InputUIState = NonNullable<InputFormState> | 'default' | 'disabled' | 'hover' | 'focus';\n\ninterface GetInputStateConfig {\n isFocused: boolean;\n isDisabled: boolean;\n formState: InputFormState;\n}\n\nexport function getInputUIState({ isFocused, isDisabled, formState }: GetInputStateConfig): InputUIState {\n if (isDisabled) return 'disabled';\n\n if (isFocused) return 'focus';\n\n if (formState === 'invalid') return 'invalid';\n\n return 'default';\n}\n","import { css } from 'styled-components/native';\nimport { getTypographyTypeConfigKey } from '../typography/Typography';\nimport type { InputUIState } from './utils';\n\nexport interface TextInputMixinProps {\n $state: InputUIState;\n}\n\nexport const styledTextInputMixin = css<TextInputMixinProps>`\n background-color: ${({ theme, $state }) =>\n $state === 'disabled'\n ? theme.kitt.forms.input.states.disabled.backgroundColor\n : theme.kitt.forms.input.states.default.backgroundColor};\n\n border-width: ${({ theme }) => theme.kitt.forms.input.borderWidth}px;\n border-radius: ${({ theme }) => theme.kitt.forms.input.borderRadius}px;\n border-color: ${({ theme, $state }) => theme.kitt.forms.input.states[$state].borderColor};\n\n font-size: ${({ theme }) => {\n const typeConfigKey = getTypographyTypeConfigKey(theme);\n return `${theme.kitt.typography.types.bodies.configs.body[typeConfigKey].fontSize}px`;\n }};\n\n color: ${({ theme, $state }) => theme.kitt.typography.colors[theme.kitt.forms.input.states[$state].color]};\n font-family: ${({ theme }) => theme.kitt.typography.types.bodies.fontFamily.regular};\n`;\n","import type { ReactElement, ReactNode } from 'react';\nimport styled from 'styled-components/native';\nimport { Typography } from '../../typography/Typography';\nimport type { TextInputMixinProps } from '../styledTextInputMixin';\nimport { styledTextInputMixin } from '../styledTextInputMixin';\n\ntype PartName = 'year' | 'month' | 'day';\n\nconst StyledTypographyText = styled(Typography.Text)`\n text-align: center;\n`;\n\ninterface ViewInputProps extends TextInputMixinProps {\n $partName?: PartName;\n}\n\nconst ViewInput = styled.View<ViewInputProps>`\n ${styledTextInputMixin}\n padding: ${({ theme }) =>\n `${theme.kitt.forms.input.padding.vertical}px ${theme.kitt.forms.input.padding.horizontal}px`};\n\n min-height: ${({ theme }) => theme.kitt.forms.input.minHeight}px;\n min-width: ${({ theme, $partName }) => {\n if (!$partName) {\n return undefined;\n }\n\n return `${theme.kitt.forms.datePicker[$partName].minWidth}px`;\n }};\n`;\n\ninterface DatePickerInputPartProps extends TextInputMixinProps {\n disabled?: boolean;\n partName?: 'year' | 'month' | 'day';\n placeholder?: string;\n value?: ReactNode;\n}\n\nexport function DatePickerInputPart({\n $state,\n placeholder,\n value,\n partName,\n disabled,\n}: DatePickerInputPartProps): ReactElement {\n const hasContent = placeholder || value;\n\n return (\n <ViewInput $state={$state} $partName={partName}>\n {hasContent ? (\n <StyledTypographyText color={!value || disabled ? 'black-light' : undefined}>\n {value || placeholder}\n </StyledTypographyText>\n ) : null}\n </ViewInput>\n );\n}\n","import type { ReactElement } from 'react';\nimport styled, { css } from 'styled-components/native';\nimport { getInputUIState } from '../utils';\nimport { DatePickerInputPart } from './DatePickerInputPart';\nimport type { DatePickerInputsProps } from './types';\n\nfunction prefixWithZero(value: number): string {\n return `${value}`.padStart(2, '0');\n}\n\ninterface PartContainerProps {\n $isLast?: boolean;\n $isStretch?: boolean;\n}\n\nconst PartContainer = styled.View<PartContainerProps>`\n margin-right: ${({ theme, $isLast }) => (!$isLast ? `${theme.kitt.spacing * 2}px` : 0)};\n ${({ $isStretch }) =>\n $isStretch\n ? css`\n flex: 0.33;\n flex-grow: 1;\n `\n : undefined};\n`;\n\ninterface DatePickerPressableProps {\n $isStretch?: boolean;\n}\n\nconst DatePickerPressable = styled.Pressable<DatePickerPressableProps>`\n display: flex;\n flex-direction: row;\n ${({ $isStretch }) => {\n if ($isStretch) {\n return css`\n width: 100%;\n `;\n }\n\n return css`\n align-self: baseline;\n `;\n }};\n`;\n\nexport interface DatePickerPlaceholder {\n day: string;\n month: string;\n year: string;\n}\n\nexport function DatePickerInputs({\n state,\n internalForceState,\n isFocused,\n disabled,\n stretch,\n id,\n testID,\n handleModalOpen,\n currentValue,\n placeholder,\n}: DatePickerInputsProps): ReactElement {\n const currentState =\n internalForceState || getInputUIState({ isFocused, isDisabled: Boolean(disabled), formState: state });\n\n const sharedPartProps = {\n disabled,\n $state: currentState,\n };\n\n return (\n <DatePickerPressable\n $isStretch={stretch}\n nativeID={id}\n disabled={disabled}\n testID={testID}\n onPress={handleModalOpen}\n >\n <PartContainer $isStretch={stretch}>\n <DatePickerInputPart\n {...sharedPartProps}\n partName=\"day\"\n value={currentValue ? prefixWithZero(currentValue.getDate()) : undefined}\n placeholder={placeholder?.day}\n />\n </PartContainer>\n\n <PartContainer $isStretch={stretch}>\n <DatePickerInputPart\n {...sharedPartProps}\n partName=\"month\"\n value={currentValue ? prefixWithZero(currentValue.getMonth() + 1) : undefined}\n placeholder={placeholder?.month}\n />\n </PartContainer>\n\n <PartContainer $isLast $isStretch={stretch}>\n <DatePickerInputPart\n {...sharedPartProps}\n partName=\"year\"\n value={currentValue ? currentValue.getFullYear() : undefined}\n placeholder={placeholder?.year}\n />\n </PartContainer>\n </DatePickerPressable>\n );\n}\n","import { DateTimePickerAndroid } from '@react-native-community/datetimepicker';\nimport { useEffect } from 'react';\nimport type { ReactElement } from 'react';\nimport type { Except } from 'type-fest';\nimport { DatePickerInputs } from './DatePickerInputs';\nimport type { DatePickerProps } from './types';\n\ninterface DatePickerAndroidProps\n extends Except<DatePickerProps, 'pickerUITitle' | 'pickerUIValidateButtonLabel' | 'value'> {\n isFocused: boolean;\n setIsFocused: (isFocused: boolean) => void;\n currentValue: Date | undefined;\n setCurrentValue: (value: Date | undefined) => void;\n}\n\nexport function DatePickerAndroid({\n onBlur,\n onFocus,\n pickerDefaultDate,\n pickerUITestID,\n isDefaultVisible,\n setIsFocused,\n currentValue,\n setCurrentValue,\n onChange,\n isFocused,\n ...props\n}: DatePickerAndroidProps): ReactElement {\n const handleClose = (): void => {\n if (onBlur) onBlur();\n };\n\n const handleModalOpen = (): void => {\n setIsFocused(true);\n if (onFocus) onFocus();\n\n DateTimePickerAndroid.open({\n testID: pickerUITestID,\n value: currentValue || pickerDefaultDate || new Date(Date.now()),\n onChange: (e) => {\n setIsFocused(false);\n const { timestamp } = e.nativeEvent;\n if (timestamp) {\n const date = new Date(timestamp);\n\n setCurrentValue(date);\n onChange(date);\n handleClose();\n }\n },\n onTouchCancel: handleClose,\n });\n };\n\n useEffect(() => {\n if (isDefaultVisible) handleModalOpen();\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, []);\n\n return (\n <DatePickerInputs handleModalOpen={handleModalOpen} currentValue={currentValue} isFocused={isFocused} {...props} />\n );\n}\n","import type { ReactElement } from 'react';\nimport type { PressableProps } from 'react-native';\nimport { Pressable, StyleSheet } from 'react-native';\nimport styled from 'styled-components/native';\n\ninterface OverlayProps extends Pick<PressableProps, 'onPress'> {}\n\n// Don't use styled.Pressable here - babel-plugin-styled-components-react-native-web only supports tagged templates\nconst OverlayPressable = styled(Pressable)(({ theme }) => ({\n ...StyleSheet.absoluteFillObject,\n backgroundColor: theme.kitt.colors.overlay.dark,\n}));\n\nexport function Overlay({ onPress }: OverlayProps): ReactElement {\n return <OverlayPressable accessibilityRole=\"none\" onPress={onPress} />;\n}\n","import type { ReactElement, ReactNode } from 'react';\nimport { ScrollView } from 'react-native';\nimport styled from 'styled-components/native';\n\nconst BodyView = styled.View`\n padding: ${({ theme }) => theme.kitt.spacing * 6}px ${({ theme }) => theme.kitt.spacing * 4}px;\n`;\n\nexport interface BodyProps {\n children: NonNullable<ReactNode>;\n}\n\nexport function ModalBody({ children }: BodyProps): ReactElement {\n return (\n <ScrollView>\n <BodyView>{children}</BodyView>\n </ScrollView>\n );\n}\n","import type { ReactElement, ReactNode } from 'react';\nimport styled from 'styled-components/native';\n\nexport interface FooterProps {\n children: NonNullable<ReactNode>;\n}\n\nconst FooterView = styled.View`\n flex: 0 0 auto;\n padding: ${({ theme }) => theme.kitt.spacing * 4}px;\n border-top-width: 1px;\n border-top-color: ${({ theme }) => theme.kitt.colors.separator};\n`;\n\nexport function ModalFooter({ children }: FooterProps): ReactElement {\n return <FooterView>{children}</FooterView>;\n}\n","import type { ComponentProps, ElementType, ReactElement, ReactNode } from 'react';\nimport { Platform } from 'react-native';\n\nexport interface StyleWebWrapperProps<T extends ElementType> {\n as: T;\n children: ReactNode;\n}\n\nexport function StyleWebWrapper<T extends ElementType = 'div'>({\n as,\n children,\n ...props\n}: StyleWebWrapperProps<T> & ComponentProps<T>): ReactElement {\n if (Platform.OS !== 'web') return children as ReactElement;\n const Component: T = as || ('div' as T); // as or default to div. If as is undefined, T is div but typescript is not sure\n return <Component {...(props as any)}>{children}</Component>;\n}\n","import { styled as styledLinaria } from '@linaria/react';\nimport type { ReactElement } from 'react';\nimport type { PressableProps } from 'react-native';\nimport { Platform } from 'react-native';\nimport type { DefaultTheme } from 'styled-components/native';\nimport styled from 'styled-components/native';\nimport { theme as kittTheme } from '../themes/default';\nimport { StyleWebWrapper } from '../utils/StyleWebWrapper';\nimport { withTheme } from '../utils/withTheme';\nimport type { IconButtonContentProps } from './IconButton';\n\ninterface PressableIconButtonWebWrapperProps {\n theme: DefaultTheme;\n $isWhite?: boolean;\n $isDisabled?: boolean;\n}\n\nconst PressableIconButtonWebWrapper = withTheme(styledLinaria.div<PressableIconButtonWebWrapperProps>`\n & > *:hover,\n .kitt-hover & > * {\n @media (hover: none) and (pointer: coarse) {\n transform: scale(${({ theme, $isDisabled }) => ($isDisabled ? 1 : theme.kitt.iconButton.scale.base.hover)});\n }\n\n @media (${kittTheme.breakpoints.min.mediumBreakpoint}) {\n transform: scale(${({ theme, $isDisabled }) => ($isDisabled ? 1 : theme.kitt.iconButton.scale.medium.hover)});\n }\n }\n\n & > *:active,\n .kitt-active & > * {\n transform: scale(${({ theme, $isDisabled }) => ($isDisabled ? 1 : theme.kitt.iconButton.scale.base.active)});\n }\n\n &,\n & > [data-focusvisible-polyfill] {\n outline: none;\n }\n\n & > *:hover,\n .kitt-hover & > *,\n & > *:focus,\n .kitt-focus & > *,\n & > [data-focusvisible-polyfill],\n & > *:active,\n .kitt-active & > * {\n background-color: ${({ theme, $isWhite, $isDisabled }) => {\n if ($isDisabled) return theme.kitt.iconButton.disabled.backgroundColor;\n\n const { white, default: defaultIconButton } = theme.kitt.iconButton;\n\n if ($isWhite) return white.pressedBackgroundColor;\n return defaultIconButton.pressedBackgroundColor;\n }};\n }\n`);\n\nconst StyledPressableIconButton = styled.Pressable`\n border-radius: ${({ theme }) => theme.kitt.iconButton.borderRadius}px;\n width: ${({ theme }) => theme.kitt.iconButton.width}px;\n height: ${({ theme }) => theme.kitt.iconButton.height}px;\n align-items: center;\n justify-content: center;\n position: relative;\n background-color: transparent;\n\n ${({ theme, disabled }) => {\n const { iconButton } = theme.kitt;\n\n if (Platform.OS !== 'web') {\n return undefined;\n }\n\n const { transition } = iconButton;\n\n if (disabled) {\n return `\n background-color: ${iconButton.disabled.backgroundColor};\n `;\n }\n\n return `\n transition: ${transition.property} ${transition.duration} ${transition.timingFunction};\n `;\n }};\n`;\n\nexport interface PressableIconButtonProps extends PressableProps {\n color: IconButtonContentProps['color'];\n}\n\nexport function PressableIconButton({ color, disabled, ...props }: PressableIconButtonProps): ReactElement {\n return (\n <StyleWebWrapper as={PressableIconButtonWebWrapper} $isWhite={color === 'white'} $isDisabled={Boolean(disabled)}>\n <StyledPressableIconButton {...props} disabled={disabled} />\n </StyleWebWrapper>\n );\n}\n","import type { ReactElement, ReactNode } from 'react';\nimport Animated, { useAnimatedStyle, useSharedValue, withSpring } from 'react-native-reanimated';\nimport styled, { useTheme } from 'styled-components/native';\nimport type { IconButtonContentProps } from './IconButton';\nimport type { PressableIconButtonProps } from './PressableIconButton';\nimport { PressableIconButton } from './PressableIconButton';\n\nexport interface PressableAnimatedContainerProps {\n children: NonNullable<ReactNode>;\n disabled?: boolean;\n color: IconButtonContentProps['color'];\n testID?: IconButtonContentProps['testID'];\n accessibilityLabel?: IconButtonContentProps['accessibilityLabel'];\n accessibilityRole?: IconButtonContentProps['accessibilityRole'];\n onPress: NonNullable<PressableIconButtonProps['onPress']>;\n}\n\ninterface AnimatedIconButtonBackgroundProps {\n color: IconButtonContentProps['color'];\n disabled?: boolean;\n}\n\nconst AnimatedIconButtonBackground = styled(Animated.View)<AnimatedIconButtonBackgroundProps>`\n background-color: ${({ theme, color, disabled }) => {\n const { iconButton } = theme.kitt;\n if (disabled) return iconButton.disabled.backgroundColor;\n\n if (color === 'white') return iconButton.white.pressedBackgroundColor;\n\n return iconButton.default.pressedBackgroundColor;\n }};\n border-radius: ${({ theme }) => theme.kitt.iconButton.borderRadius}px;\n width: ${({ theme }) => theme.kitt.iconButton.width}px;\n height: ${({ theme }) => theme.kitt.iconButton.height}px;\n position: absolute;\n bottom: 0;\n left: 0;\n`;\n\nconst AnimatedViewContainer = styled(Animated.View)`\n position: relative;\n align-items: center;\n justify-content: center;\n width: 100%;\n height: 100%;\n`;\n\nexport function PressableAnimatedContainer({\n disabled,\n color = 'black',\n testID,\n accessibilityRole = 'button',\n accessibilityLabel,\n children,\n onPress,\n}: PressableAnimatedContainerProps): ReactElement {\n const theme = useTheme();\n const pressed = useSharedValue(false);\n\n const opacityStyles = useAnimatedStyle(() => {\n return {\n opacity: withSpring(pressed.value ? 1 : 0),\n };\n });\n\n const scaleStyles = useAnimatedStyle(() => {\n return {\n transform: [\n {\n scale: withSpring(\n pressed.value ? theme.kitt.iconButton.scale.base.active : theme.kitt.iconButton.scale.base.default,\n ),\n },\n ],\n };\n });\n\n return (\n <PressableIconButton\n accessibilityRole={accessibilityRole}\n disabled={disabled}\n color={color}\n testID={testID}\n accessibilityLabel={accessibilityLabel}\n onPress={onPress}\n onPressIn={() => {\n pressed.value = true;\n }}\n onPressOut={() => {\n pressed.value = false;\n }}\n >\n <AnimatedViewContainer style={disabled ? [{ transform: [{ scale: 1 }] }] : [scaleStyles]}>\n <AnimatedIconButtonBackground\n disabled={disabled}\n color={color}\n style={disabled ? [{ opacity: 1 }] : [opacityStyles]}\n />\n {children}\n </AnimatedViewContainer>\n </PressableIconButton>\n );\n}\n","import type { ReactElement } from 'react';\nimport type { AccessibilityRole } from 'react-native';\nimport styled from 'styled-components/native';\nimport { TypographyIcon } from '../typography/TypographyIcon';\nimport { PressableAnimatedContainer } from './PressableAnimatedContainer';\n\ninterface IconButtonContentBorderProps {\n disabled?: boolean;\n}\n\nconst IconButtonContentBorder = styled.View<IconButtonContentBorderProps>`\n border: ${({ theme }) => `${theme.kitt.iconButton.borderWidth}px solid`};\n border-color: ${({ theme, disabled }) =>\n disabled ? theme.kitt.iconButton.disabled.borderColor : theme.kitt.iconButton.borderColor};\n width: ${({ theme }) => theme.kitt.iconButton.width - theme.kitt.iconButton.borderWidth}px;\n height: ${({ theme }) => theme.kitt.iconButton.height - theme.kitt.iconButton.borderWidth}px;\n align-items: center;\n justify-content: center;\n border-radius: ${({ theme }) => theme.kitt.iconButton.borderRadius}px;\n`;\nexport interface IconButtonContentProps {\n icon: NonNullable<ReactElement>;\n color?: 'black' | 'white';\n disabled?: boolean;\n testID?: string;\n accessibilityLabel?: string;\n accessibilityRole?: AccessibilityRole;\n}\n\nfunction IconButtonContent({ disabled, color, icon }: IconButtonContentProps): ReactElement {\n return (\n <IconButtonContentBorder disabled={disabled}>\n <TypographyIcon color={disabled ? 'black-light' : color} icon={icon} />\n </IconButtonContentBorder>\n );\n}\n\nexport interface IconButtonProps extends IconButtonContentProps {\n onPress: () => void;\n}\n\nexport function IconButton({\n icon,\n color,\n disabled,\n testID,\n accessibilityLabel,\n accessibilityRole,\n onPress,\n}: IconButtonProps): ReactElement {\n return (\n <PressableAnimatedContainer\n color={color}\n disabled={disabled}\n testID={testID}\n accessibilityLabel={accessibilityLabel}\n accessibilityRole={accessibilityRole}\n onPress={onPress}\n >\n <IconButtonContent disabled={disabled} color={color} icon={icon} />\n </PressableAnimatedContainer>\n );\n}\n","import { createContext } from 'react';\n\nexport const OnCloseContext = createContext<() => void>(() => {});\n","import { XIcon } from '@ornikar/kitt-icons';\nimport type { ReactElement, ReactNode } from 'react';\nimport { useContext } from 'react';\nimport styled from 'styled-components/native';\nimport { IconButton } from '../IconButton/IconButton';\nimport { OnCloseContext } from './OnCloseContext';\n\nexport interface HeaderProps {\n children: NonNullable<ReactNode>;\n left?: ReactNode;\n right?: ReactNode;\n}\n\nconst HeaderView = styled.View`\n position: relative;\n padding: ${({ theme }) => theme.kitt.spacing * 2}px;\n display: flex;\n flex: 0 0 auto;\n flex-direction: row;\n justify-content: space-between;\n align-items: center;\n border-bottom-width: 1px;\n border-bottom-color: ${({ theme }) => theme.kitt.colors.separator};\n min-height: 57px;\n`;\n\nconst LeftIconView = styled.View`\n align-self: flex-start;\n margin-right: ${({ theme }) => theme.kitt.spacing * 2}px;\n`;\n\nconst RightIconView = styled.View`\n align-self: flex-start;\n margin-left: ${({ theme }) => theme.kitt.spacing * 2}px;\n`;\n\ninterface TitleViewProps {\n isIconLeft?: boolean;\n}\n\nconst TitleView = styled.View<TitleViewProps>`\n padding-left: ${({ theme, isIconLeft }) => (isIconLeft ? 0 : theme.kitt.spacing * 2)}px;\n flex-shrink: 1;\n`;\n\nexport function ModalHeader({ left, right, children }: HeaderProps): ReactElement {\n const onClose = useContext(OnCloseContext);\n\n const isIconLeft = !!left;\n\n return (\n <HeaderView>\n {isIconLeft && <LeftIconView>{left}</LeftIconView>}\n\n <TitleView isIconLeft={isIconLeft}>{children}</TitleView>\n\n {right !== undefined ? (\n right\n ) : (\n <RightIconView>\n <IconButton icon={<XIcon />} onPress={onClose} />\n </RightIconView>\n )}\n </HeaderView>\n );\n}\n","import type { ReactElement, ReactNode } from 'react';\nimport { Modal as NativeModal } from 'react-native';\nimport styled from 'styled-components/native';\nimport { Overlay } from '../Overlay/Overlay';\nimport { ModalBody } from './Body';\nimport { ModalFooter } from './Footer';\nimport { ModalHeader } from './Header';\nimport { OnCloseContext } from './OnCloseContext';\n\nexport interface ModalProps {\n visible: boolean;\n children: ReactNode;\n onClose: () => void;\n onEntered?: () => void;\n onExited?: () => void;\n}\n\nconst ModalView = styled.View`\n top: 0;\n left: 0;\n width: 100%;\n height: 100%;\n\n display: flex;\n align-items: center;\n justify-content: center;\n padding: ${({ theme }) => theme.kitt.spacing * 20}px ${({ theme }) => theme.kitt.spacing * 4}px;\n`;\n\nconst ContentView = styled.View`\n position: relative;\n display: flex;\n flex-direction: column;\n max-height: 100%;\n max-width: 540px;\n height: auto;\n width: 100%;\n border-radius: ${({ theme }) => theme.kitt.card.borderRadius}px;\n background-color: ${({ theme }) => theme.kitt.colors.uiBackgroundLight};\n`;\n\nexport function Modal({ visible, children, onClose, onEntered, onExited }: ModalProps): ReactElement {\n return (\n <OnCloseContext.Provider value={onClose}>\n <NativeModal\n transparent\n animationType=\"fade\"\n visible={visible}\n onShow={onEntered}\n onDismiss={onExited}\n onRequestClose={onClose}\n >\n <ModalView>\n <Overlay onPress={onClose} />\n\n <ContentView>{children}</ContentView>\n </ModalView>\n </NativeModal>\n </OnCloseContext.Provider>\n );\n}\n\nModal.Header = ModalHeader;\nModal.Body = ModalBody;\nModal.Footer = ModalFooter;\n","import DateTimePicker from '@react-native-community/datetimepicker';\nimport type { DateTimePickerEvent } from '@react-native-community/datetimepicker';\nimport type { ComponentProps, ReactElement } from 'react';\nimport { Platform } from 'react-native';\nimport { useTheme } from 'styled-components/native';\n\ntype DateTimePickerProps = ComponentProps<typeof DateTimePicker>;\n\nfunction getDatePickerDisplayMode(): DateTimePickerProps['display'] {\n if (Platform.OS === 'android') return 'calendar';\n\n if (Platform.OS === 'ios') return 'spinner';\n\n return 'default';\n}\n\nexport interface PlatformDateTimePickerProps {\n value?: Date;\n defaultDate?: Date;\n maximumDate?: DateTimePickerProps['maximumDate'];\n minimuDate?: DateTimePickerProps['minimumDate'];\n testID?: DateTimePickerProps['testID'];\n onChange: (newDate?: Date) => void;\n}\n\nexport function PlatformDateTimePicker({\n value,\n defaultDate = new Date(),\n maximumDate,\n minimuDate,\n testID,\n onChange,\n}: PlatformDateTimePickerProps): ReactElement {\n const theme = useTheme();\n const displayMode = getDatePickerDisplayMode();\n\n const iosProps = Platform.OS === 'ios' ? { textColor: theme.kitt.colors.primary } : {};\n\n return (\n <DateTimePicker\n is24Hour\n testID={testID}\n value={value || defaultDate}\n mode=\"date\"\n maximumDate={maximumDate}\n minimumDate={minimuDate}\n display={displayMode}\n {...iosProps}\n onChange={(_event: DateTimePickerEvent, date?: Date | undefined) => onChange(date)}\n />\n );\n}\n","import type { ReactElement, ReactNode } from 'react';\nimport { useState } from 'react';\nimport { FormattedMessage } from 'react-intl';\nimport { Text } from 'react-native';\nimport { Button } from '../../Button/Button';\nimport { Modal } from '../../Modal/Modal';\nimport { Typography } from '../../typography/Typography';\nimport type { PlatformDateTimePickerProps } from './PlatformDateTimePicker';\nimport { PlatformDateTimePicker } from './PlatformDateTimePicker';\n\ninterface ModalTitleProps {\n children: NonNullable<ReactNode>;\n}\n\nfunction ModalTitle({ children }: ModalTitleProps): ReactElement {\n return (\n <Modal.Header>\n <Typography.Text base=\"body\" variant=\"bold\">\n {children}\n </Typography.Text>\n </Modal.Header>\n );\n}\n\ninterface ModalPlatformDateTimePickerProps extends PlatformDateTimePickerProps {\n title?: ReactNode;\n isVisible?: boolean;\n validateButtonLabel?: string;\n onClose: () => void;\n}\n\nexport function ModalPlatformDateTimePicker({\n title,\n isVisible,\n value,\n validateButtonLabel,\n onClose,\n onChange,\n ...props\n}: ModalPlatformDateTimePickerProps): ReactElement {\n const [currentValue, setCurrentValue] = useState(value);\n\n // Prevent unsynced value between the modal and its parent state\n const handleClose = (): void => {\n setCurrentValue(value);\n onClose();\n };\n\n const handleSubmit = (): void => {\n onChange(currentValue);\n };\n\n const handleChange = (newDate?: Date): void => {\n setCurrentValue((prev) => {\n return newDate || prev;\n });\n };\n\n return (\n <Modal visible={Boolean(isVisible)} onClose={handleClose}>\n {isVisible ? (\n <>\n {title ? <ModalTitle>{title}</ModalTitle> : null}\n\n <Modal.Body>\n <PlatformDateTimePicker {...props} value={currentValue} onChange={handleChange} />\n </Modal.Body>\n\n <Modal.Footer>\n <Button stretch type=\"primary\" onPress={handleSubmit}>\n {validateButtonLabel ? (\n <Text>{validateButtonLabel}</Text>\n ) : (\n <FormattedMessage id=\"kitt-universal.ModalDateTimePicker.confirm\" defaultMessage=\"Valider\" />\n )}\n </Button>\n </Modal.Footer>\n </>\n ) : null}\n </Modal>\n );\n}\n","import type { ReactElement } from 'react';\nimport { useState } from 'react';\nimport { Platform } from 'react-native';\nimport { DatePickerAndroid } from './DatePickerAndroid';\nimport { DatePickerInputs } from './DatePickerInputs';\nimport { ModalPlatformDateTimePicker } from './ModalPlatformDateTimePicker';\nimport type { DatePickerProps } from './types';\n\nexport function DatePicker({\n value,\n pickerUITestID,\n pickerUITitle,\n pickerUIValidateButtonLabel,\n isDefaultVisible,\n onChange,\n onFocus,\n onBlur,\n pickerDefaultDate,\n ...props\n}: DatePickerProps): ReactElement {\n const [isPickerUIVisible, setIsPickerUIVisible] = useState(isDefaultVisible);\n const [isFocused, setIsFocused] = useState(false);\n const [currentValue, setCurrentValue] = useState<Date | undefined>(value);\n\n if (Platform.OS === 'android') {\n return (\n <DatePickerAndroid\n pickerDefaultDate={pickerDefaultDate}\n pickerUITestID={pickerUITestID}\n isDefaultVisible={isDefaultVisible}\n currentValue={currentValue}\n setCurrentValue={setCurrentValue}\n isFocused={isFocused}\n setIsFocused={setIsFocused}\n onChange={onChange}\n onBlur={onBlur}\n {...props}\n />\n );\n }\n\n const handleModalOpen = (): void => {\n if (onFocus) onFocus();\n\n setIsPickerUIVisible(true);\n\n setIsFocused(true);\n };\n\n const handleModalClose = (): void => {\n if (onBlur) onBlur();\n\n setIsPickerUIVisible(false);\n\n setIsFocused(false);\n };\n\n const handleChange = (newDate?: Date): void => {\n setCurrentValue(newDate);\n\n onChange(newDate);\n\n handleModalClose();\n };\n return (\n <>\n <DatePickerInputs\n handleModalOpen={handleModalOpen}\n currentValue={currentValue}\n isFocused={isFocused}\n {...props}\n />\n <ModalPlatformDateTimePicker\n testID={pickerUITestID}\n value={currentValue}\n isVisible={isPickerUIVisible}\n title={pickerUITitle}\n validateButtonLabel={pickerUIValidateButtonLabel}\n defaultDate={pickerDefaultDate}\n onClose={handleModalClose}\n onChange={handleChange}\n />\n </>\n );\n}\n","import type { ReactNode } from 'react';\nimport styled from 'styled-components/native';\n\nexport interface InputTextContainerProps {\n children: NonNullable<ReactNode>;\n $isDisabled?: boolean;\n}\n\nexport const InputTextContainer = styled.View<InputTextContainerProps>`\n position: relative;\n`;\n","import type { ReactElement, ReactNode } from 'react';\nimport { forwardRef, useState } from 'react';\nimport type { TextInput as RNTextInput, TextInputProps as RNTextInputProps } from 'react-native';\nimport { Platform, TextInput } from 'react-native';\nimport styled, { useTheme } from 'styled-components/native';\nimport type { Except } from 'type-fest';\nimport { getTypographyTypeConfigKey } from '../../typography/Typography';\nimport type { TextInputMixinProps } from '../styledTextInputMixin';\nimport { styledTextInputMixin } from '../styledTextInputMixin';\nimport type { InputFormState, InputUIState } from '../utils';\nimport { getInputUIState } from '../utils';\nimport { InputTextContainer } from './InputTextContainer';\n\nexport interface InputTextProps extends Except<RNTextInputProps, 'nativeID'> {\n id?: string;\n name?: string;\n disabled?: boolean;\n minHeight?: number;\n state?: InputFormState;\n right?: ReactNode;\n /** @internal */\n internalForceState?: InputUIState;\n}\n\ninterface StyledTextInputProps extends TextInputMixinProps {\n $minHeight?: number;\n}\n\nconst StyledTextInput = styled(TextInput)<StyledTextInputProps>`\n ${styledTextInputMixin}\n\n padding: ${({ theme, multiline }) => {\n if (!multiline && Platform.OS !== 'web') return `0 ${theme.kitt.forms.input.padding.horizontal}px`;\n\n return `${theme.kitt.forms.input.padding.vertical}px ${theme.kitt.forms.input.padding.horizontal}px`;\n }};\n\n line-height: ${({ theme, multiline }) => {\n const shouldHandleSingleLineOnIOS = Platform.OS === 'ios' && !multiline;\n\n // On basic text input, we set the line-height to zero for iOS to fix vertical text alignment\n // This is a iOS only fix since having 0 as a line-height value breaks text inputs on Android\n if (shouldHandleSingleLineOnIOS) {\n return 0;\n }\n\n const typeConfigKey = getTypographyTypeConfigKey(theme);\n return `${theme.kitt.typography.types.bodies.configs.body[typeConfigKey].lineHeight}px`;\n }};\n\n width: 100%;\n min-height: ${({ theme, $minHeight = theme.kitt.forms.input.minHeight }) => $minHeight}px;\n`;\n\nconst RightInputContainer = styled.View`\n position: absolute;\n right: 0;\n top: 0;\n bottom: 0;\n justify-content: center;\n padding: 10px;\n`;\n\nexport const InputText = forwardRef<RNTextInput, InputTextProps>(\n (\n {\n id,\n right,\n minHeight,\n state: formState,\n internalForceState,\n disabled = false,\n autoCorrect = true,\n textContentType = 'none',\n autoComplete = 'off',\n keyboardType = 'default',\n multiline,\n onSubmitEditing,\n onFocus,\n onBlur,\n ...props\n }: InputTextProps,\n ref,\n ): ReactElement => {\n const theme = useTheme();\n const [isFocused, setIsFocused] = useState<boolean>(false);\n\n const state = internalForceState || getInputUIState({ isFocused, isDisabled: disabled, formState });\n\n return (\n <InputTextContainer $isDisabled={disabled}>\n <StyledTextInput\n ref={ref}\n multiline={multiline}\n nativeID={id}\n editable={!disabled}\n keyboardType={keyboardType}\n autoComplete={autoComplete}\n autoCorrect={autoCorrect}\n $minHeight={minHeight}\n textContentType={textContentType}\n placeholderTextColor={theme.kitt.forms.input.color.placeholder}\n selectionColor={theme.kitt.forms.input.color.selection}\n {...props}\n $state={state}\n onFocus={(e) => {\n setIsFocused(true);\n if (onFocus) onFocus(e);\n }}\n onBlur={(e) => {\n setIsFocused(false);\n if (onBlur) onBlur(e);\n }}\n onSubmitEditing={multiline ? () => null : onSubmitEditing}\n />\n {right ? <RightInputContainer>{right}</RightInputContainer> : null}\n </InputTextContainer>\n );\n },\n);\n","import type { ReactElement } from 'react';\nimport type { Except } from 'type-fest';\nimport type { InputTextProps } from '../InputText/InputText';\nimport { InputText } from '../InputText/InputText';\n\nexport interface InputEmailProps\n extends Except<InputTextProps, 'autoComplete' | 'keyboardType' | 'textContentType' | 'autoCapitalize'> {}\n\nexport function InputEmail(props: InputEmailProps): ReactElement {\n return (\n <InputText\n autoComplete=\"email\"\n keyboardType=\"email-address\"\n textContentType=\"emailAddress\"\n autoCapitalize=\"none\"\n {...props}\n />\n );\n}\n","import type { ReactElement, ReactNode } from 'react';\nimport type { TypographyColor, TypographyProps } from '../../typography/Typography';\nimport { Typography } from '../../typography/Typography';\nimport type { InputFormState } from '../utils';\n\nexport interface InputFeedbackProps {\n state?: InputFormState;\n testID?: TypographyProps['testID'];\n children: NonNullable<ReactNode>;\n}\n\nconst getColorFromState = (state?: InputFormState): TypographyColor => {\n switch (state) {\n case 'invalid':\n return 'danger';\n case 'valid':\n default:\n return 'black-light';\n }\n};\n\nexport function InputFeedback({ state, testID, children }: InputFeedbackProps): ReactElement {\n return (\n <Typography.Text base=\"body-small\" color={getColorFromState(state)} testID={testID}>\n {children}\n </Typography.Text>\n );\n}\n","import type { ReactElement, ReactNode } from 'react';\nimport styled from 'styled-components/native';\nimport { KittBreakpoints } from '../../KittBreakpoints';\n\nconst FieldContainer = styled.View`\n padding: 5px 0 10px;\n`;\n\nconst FeedbackContainer = styled.View`\n ${({ theme }) =>\n theme.responsive.ifWindowSizeMatches({ minWidth: KittBreakpoints.SMALL }, 'padding-top: 10px', 'padding-top: 5px')};\n`;\n\nconst FieldLabelContainer = styled.View`\n flex-direction: row;\n align-items: center;\n padding-bottom: ${({ theme }) => theme.kitt.forms.inputField.labelContainerPaddingBottom}px;\n`;\n\nconst LabelContainer = styled.View`\n margin-right: ${({ theme }) => theme.kitt.forms.inputField.iconMarginLeft}px;\n`;\n\nexport interface InputFieldProps {\n label?: ReactNode;\n labelFeedback?: ReactNode;\n input: NonNullable<ReactNode>;\n feedback?: ReactNode;\n}\n\nexport function InputField({ label, labelFeedback, input, feedback }: InputFieldProps): ReactElement {\n return (\n <FieldContainer>\n {label ? (\n <FieldLabelContainer>\n <LabelContainer>{label}</LabelContainer>\n {labelFeedback}\n </FieldLabelContainer>\n ) : null}\n {input}\n {feedback ? <FeedbackContainer>{feedback}</FeedbackContainer> : null}\n </FieldContainer>\n );\n}\n","import type { ReactElement } from 'react';\nimport { useTheme } from 'styled-components/native';\nimport type { InputFormState } from 'forms/utils';\nimport type { TypographyIconProps } from '../../typography/TypographyIcon';\nimport { TypographyIcon } from '../../typography/TypographyIcon';\n\nfunction getIconColor(state?: InputFormState, disabled?: boolean): TypographyIconProps['color'] {\n if (disabled) return 'black-light';\n\n switch (state) {\n case 'invalid':\n return 'danger';\n case 'valid':\n return 'success';\n default:\n return undefined;\n }\n}\n\nexport interface InputIconProps {\n icon: NonNullable<ReactElement>;\n disabled?: boolean;\n state?: InputFormState;\n}\n\nexport function InputIcon({ icon, state, disabled }: InputIconProps): ReactElement {\n const theme = useTheme();\n\n const color = getIconColor(state, disabled);\n\n return <TypographyIcon color={color} icon={icon} size={theme.kitt.forms.input.icon.size} />;\n}\n","import type { ReactElement } from 'react';\nimport type { PressableProps } from 'react-native';\nimport { Pressable } from 'react-native';\n\nexport interface InputPressableProps extends PressableProps {}\n\nexport function InputPressable({ ...props }: InputPressableProps): ReactElement {\n return <Pressable {...props} />;\n}\n","import { EyeIcon, EyeOffIcon } from '@ornikar/kitt-icons';\nimport type { ReactElement } from 'react';\nimport { useState } from 'react';\nimport { InputIcon } from '../InputIcon/InputIcon';\nimport { InputPressable } from '../InputPressable/InputPressable';\nimport type { InputTextProps } from '../InputText/InputText';\nimport { InputText } from '../InputText/InputText';\n\nexport interface InputPasswordProps extends InputTextProps {\n isPasswordDefaultVisible?: boolean;\n}\n\nexport function InputPassword({ isPasswordDefaultVisible, right, ...props }: InputPasswordProps): ReactElement {\n const [isVisible, setIsVisible] = useState(Boolean(isPasswordDefaultVisible));\n\n return (\n <InputText\n {...props}\n textContentType=\"password\"\n autoComplete=\"password\"\n autoCorrect={false}\n secureTextEntry={!isVisible}\n right={\n right || (\n <InputPressable hitSlop={20} accessibilityRole=\"button\" onPress={() => setIsVisible((prev) => !prev)}>\n <InputIcon icon={isVisible ? <EyeOffIcon /> : <EyeIcon />} />\n </InputPressable>\n )\n }\n />\n );\n}\n","import type { ReactElement } from 'react';\nimport type { Except } from 'type-fest';\nimport type { InputTextProps } from '../InputText/InputText';\nimport { InputText } from '../InputText/InputText';\n\nexport interface InputPhoneProps extends Except<InputTextProps, 'autoComplete' | 'keyboardType' | 'textContentType'> {}\n\nexport function InputPhone(props: InputPhoneProps): ReactElement {\n return <InputText {...props} autoComplete=\"tel\" keyboardType=\"number-pad\" textContentType=\"telephoneNumber\" />;\n}\n","import type { ReactElement, ReactNode } from 'react';\nimport { View } from 'react-native';\nimport styled from 'styled-components/native';\nimport type { TypographyColor } from '../../typography/Typography';\nimport { Typography } from '../../typography/Typography';\nimport { TypographyIcon } from '../../typography/TypographyIcon';\nimport { useKittTheme } from '../../useKittTheme';\n\ntype InputTagType = 'success' | 'danger';\n\nconst getTypographyColor = (type: InputTagType | undefined): TypographyColor => (type ? 'white' : 'black');\n\ninterface InputTagContainerProps {\n type?: InputTagType;\n}\n\nconst InputTagContainer = styled(View)<InputTagContainerProps>`\n align-items: center;\n justify-content: center;\n flex-direction: row;\n align-self: flex-start;\n overflow: hidden;\n padding-horizontal: ${({ theme }) => theme.kitt.spacing * 2}px;\n\n background-color: ${({ theme, type }) => {\n if (type === 'success') {\n return theme.kitt.forms.inputTag.success.backgroundColor;\n }\n if (type === 'danger') {\n return theme.kitt.forms.inputTag.danger.backgroundColor;\n }\n\n return theme.kitt.forms.inputTag.default.backgroundColor;\n }};\n border-radius: ${({ theme }) => theme.kitt.forms.inputTag.borderRadius}px;\n`;\n\nconst IconContainer = styled(View)`\n margin-right: ${({ theme }) => theme.kitt.spacing}px;\n`;\n\nexport interface InputTagProps {\n type?: InputTagType;\n children: ReactNode;\n icon?: ReactElement;\n}\n\nexport function InputTag({ children, type, icon }: InputTagProps): ReactElement {\n const typographyColor = getTypographyColor(type);\n const theme = useKittTheme();\n\n return (\n <InputTagContainer type={type}>\n {icon && (\n <IconContainer>\n <TypographyIcon icon={icon} size={theme.kitt.forms.inputTag.iconSize} color={typographyColor} />\n </IconContainer>\n )}\n <Typography.Text base=\"body-small\" color={typographyColor}>\n {children}\n </Typography.Text>\n </InputTagContainer>\n );\n}\n","import type { ReactElement, ReactNode } from 'react';\nimport { Platform } from 'react-native';\nimport { Typography } from '../../typography/Typography';\n\nexport interface LabelProps {\n htmlFor: string;\n children: NonNullable<ReactNode>;\n}\n\nexport function Label({ htmlFor, children }: LabelProps): ReactElement {\n return (\n <Typography.Text base=\"body\">\n {Platform.OS === 'web' ? <label htmlFor={htmlFor}>{children}</label> : children}\n </Typography.Text>\n );\n}\n","import type { ReactElement, ReactNode } from 'react';\nimport type { PressableProps } from 'react-native';\nimport styled from 'styled-components/native';\nimport { Typography } from '../../typography/Typography';\n\nexport interface RadioProps {\n id: string;\n name: string;\n checked?: boolean;\n disabled?: boolean;\n right?: boolean;\n children?: NonNullable<ReactNode>;\n value: string;\n onChange: (newValue: string) => void;\n}\n\ninterface OuterRadioProps {\n disabled: boolean;\n}\n\nconst OuterRadio = styled.View<OuterRadioProps>`\n background-color: ${({ theme, disabled }) =>\n theme.kitt.forms.radio[disabled ? 'disabled' : 'unchecked'].backgroundColor};\n width: ${({ theme }) => theme.kitt.forms.radio.size}px;\n height: ${({ theme }) => theme.kitt.forms.radio.size}px;\n border-radius: ${({ theme }) => theme.kitt.forms.radio.size / 2}px;\n border-width: ${({ theme }) => theme.kitt.forms.radio.unchecked.borderWidth}px;\n border-color: ${({ theme, disabled }) => theme.kitt.forms.radio[disabled ? 'disabled' : 'unchecked'].borderColor};\n`;\nconst SelectedOuterRadio = styled.View`\n background-color: ${({ theme }) => theme.kitt.forms.radio.checked.backgroundColor};\n width: ${({ theme }) => theme.kitt.forms.radio.size}px;\n height: ${({ theme }) => theme.kitt.forms.radio.size}px;\n border-radius: ${({ theme }) => theme.kitt.forms.radio.size / 2}px;\n justify-content: center;\n align-items: center;\n`;\nconst SelectedInnerRadio = styled.View`\n background-color: ${({ theme }) => theme.kitt.forms.radio.checked.innerBackgroundColor};\n width: ${({ theme }) => theme.kitt.forms.radio.checked.innerSize}px;\n height: ${({ theme }) => theme.kitt.forms.radio.checked.innerSize}px;\n border-radius: ${({ theme }) => theme.kitt.forms.radio.checked.innerSize / 2}px;\n`;\nconst Container = styled.Pressable`\n flex-direction: row;\n align-items: center;\n`;\n\nconst Text = styled(Typography.Text)`\n margin-left: ${({ theme }) => theme.kitt.spacing * 2}px;\n`;\n\nexport function Radio({ id, checked, onChange, value, disabled = false, children }: RadioProps): ReactElement {\n const handlePress: PressableProps['onPress'] = () => {\n onChange(value);\n };\n\n return (\n <Container\n nativeID={id}\n disabled={disabled}\n accessibilityRole=\"radio\"\n aria-checked={checked}\n focusable={checked && !disabled}\n onPress={handlePress}\n >\n {checked && !disabled ? (\n <SelectedOuterRadio>\n <SelectedInnerRadio />\n </SelectedOuterRadio>\n ) : (\n <OuterRadio disabled={disabled} />\n )}\n\n <Text base=\"body\" color={disabled ? 'black-light' : 'black'}>\n {children}\n </Text>\n </Container>\n );\n}\n","import type { ReactElement } from 'react';\nimport { useTheme } from 'styled-components/native';\nimport type { InputTextProps } from '../InputText/InputText';\nimport { InputText } from '../InputText/InputText';\n\nexport interface TextAreaProps extends InputTextProps {}\n\nexport function TextArea({ ...props }: TextAreaProps): ReactElement {\n const theme = useTheme();\n\n return <InputText multiline textAlignVertical=\"top\" minHeight={theme.kitt.forms.textArea.minHeight} {...props} />;\n}\n","import type { ReactElement, ReactNode } from 'react';\nimport styled from 'styled-components/native';\nimport { KittBreakpoints } from '../KittBreakpoints';\n\nconst Body = styled.View`\n ${({ theme }) =>\n theme.responsive.ifWindowSizeMatches(\n { minWidth: KittBreakpoints.MEDIUM },\n `padding-right: ${theme.kitt.spacing * 12}px;\n padding-left: ${theme.kitt.spacing * 12}px;`,\n `padding-right: ${theme.kitt.spacing * 6}px;\n padding-left: ${theme.kitt.spacing * 6}px;`,\n )}\n background-color: ${({ theme }) => theme.kitt.colors.uiBackgroundLight};\n flex: 1;\n`;\n\ninterface BodyProps {\n children: NonNullable<ReactNode>;\n}\n\nexport function FullScreenModalBody({ children }: BodyProps): ReactElement {\n return <Body>{children}</Body>;\n}\n","import type { ReactElement, ReactNode } from 'react';\nimport { useState } from 'react';\nimport type { LayoutChangeEvent } from 'react-native';\nimport { Platform, useWindowDimensions } from 'react-native';\nimport { useSafeAreaInsets } from 'react-native-safe-area-context';\nimport styled from 'styled-components/native';\nimport { KittBreakpoints } from '../KittBreakpoints';\n\ninterface SideContainerProps {\n side?: 'left' | 'right';\n}\n\nconst SideContainer = styled.View<SideContainerProps>`\n ${({ theme, side = 'left' }) => {\n const padding = theme.kitt.spacing * 2;\n\n if (side === 'left') {\n return `padding-right: ${padding}px;`;\n }\n\n return `padding-left: ${padding}px;`;\n }}\n`;\n\nfunction getHeaderHorizontalMediumPadding(spacing: number): number {\n return spacing * 6;\n}\n\ninterface HeaderProps {\n insetTop?: number;\n}\n\nconst Header = styled.View<HeaderProps>`\n ${({ theme, insetTop = 0 }) => {\n const paddingTop = insetTop + theme.kitt.fullScreenModal.header.paddingVertical;\n const { paddingVertical, paddingHorizontal } = theme.kitt.fullScreenModal.header;\n\n return theme.responsive.ifWindowSizeMatches(\n { minWidth: KittBreakpoints.MEDIUM },\n `padding: ${paddingTop}px ${getHeaderHorizontalMediumPadding(theme.kitt.spacing)}px ${paddingVertical}px;`,\n `padding: ${paddingTop}px ${paddingHorizontal}px ${paddingVertical}px;`,\n );\n }};\n border-bottom-color: ${({ theme }) => theme.kitt.fullScreenModal.header.borderColor};\n border-bottom-width: 1px;\n flex-direction: row;\n align-items: center;\n`;\n\ninterface HeaderContentProps {\n windowWidth: number;\n leftWidth: number;\n rightWidth: number;\n}\n\nconst HeaderContent = styled.View<HeaderContentProps>`\n ${({ theme, leftWidth, rightWidth, windowWidth }) => {\n /*\n * Since we don't have controll over the rendered left and right elements,\n * we must apply some logic to give the title all the available space\n */\n const sideElementMaxWidth = Math.max(leftWidth, rightWidth);\n\n const parentHorizontalPadding = theme.kitt.fullScreenModal.header.paddingHorizontal * 2;\n const parentHorizontalPaddingMedium = getHeaderHorizontalMediumPadding(theme.kitt.spacing) * 2;\n\n const computeWidth = (breakpointPadding: number): number =>\n windowWidth - breakpointPadding - sideElementMaxWidth * 2;\n\n return theme.responsive.ifWindowSizeMatches(\n { minWidth: KittBreakpoints.MEDIUM },\n `width: ${computeWidth(parentHorizontalPaddingMedium)}px;`,\n `width: ${computeWidth(parentHorizontalPadding)}px;`,\n );\n }};\n ${({ leftWidth, rightWidth }) => {\n // Depending of the wider element, we must add a margin to fill the diff in space between elements\n const deltaMargin = Math.abs(leftWidth - rightWidth);\n\n if (leftWidth > rightWidth) {\n return `margin-right: ${deltaMargin}px;`;\n }\n\n return `margin-left: ${deltaMargin}px;`;\n }};\n justify-content: center;\n align-items: center;\n`;\n\nexport interface FullScreenModalHeaderProps {\n children: NonNullable<ReactNode>;\n right?: ReactNode;\n left?: ReactNode;\n}\n\nexport function FullScreenModalHeader({ children, right, left }: FullScreenModalHeaderProps): ReactElement {\n const { top } = useSafeAreaInsets();\n const dimensions = useWindowDimensions();\n const [leftWidth, setLeftWidth] = useState(0);\n const [rightWidth, setRightWidth] = useState(0);\n\n const handleLayoutChange = (event: LayoutChangeEvent, side: 'left' | 'right'): void => {\n // Prevents react to nullify event on rerenders\n event.persist();\n\n if (side === 'left') {\n setLeftWidth(event.nativeEvent.layout.width);\n return;\n }\n\n setRightWidth(event.nativeEvent.layout.width);\n };\n\n return (\n <Header insetTop={Platform.OS === 'ios' ? undefined : top}>\n {left ? <SideContainer onLayout={(e) => handleLayoutChange(e, 'left')}>{left}</SideContainer> : null}\n\n <HeaderContent windowWidth={dimensions.width} leftWidth={leftWidth} rightWidth={rightWidth}>\n {children}\n </HeaderContent>\n\n {right ? (\n <SideContainer side=\"right\" onLayout={(e) => handleLayoutChange(e, 'right')}>\n {right}\n </SideContainer>\n ) : null}\n </Header>\n );\n}\n","import type { ReactElement, ReactNode } from 'react';\nimport styled from 'styled-components/native';\nimport { FullScreenModalBody } from './Body';\nimport { FullScreenModalHeader } from './Header';\n\nconst Container = styled.View`\n flex: 1;\n background-color: ${({ theme }) => theme.kitt.colors.uiBackground};\n`;\n\nexport interface FullScreenModalProps {\n children: ReactNode;\n}\n\nexport function FullScreenModal({ children }: FullScreenModalProps): ReactElement {\n return <Container>{children}</Container>;\n}\n\nFullScreenModal.Header = FullScreenModalHeader;\nFullScreenModal.Body = FullScreenModalBody;\n","import type { ReactElement } from 'react';\nimport { cloneElement, useEffect, useRef } from 'react';\nimport { Animated, Easing } from 'react-native';\n\nexport interface SpinningIconProps {\n icon: ReactElement;\n color?: string;\n}\n\nexport function SpinningIcon({ icon, color }: SpinningIconProps): ReactElement {\n if (process.env.NODE_ENV !== 'production' && !color) {\n throw new Error(`Invalid color passed to SpinningIcon: ${String(color)}`);\n }\n const clonedIcon = cloneElement(icon, { color });\n const animationRef = useRef(new Animated.Value(0));\n\n const rotation = animationRef.current.interpolate({\n inputRange: [0, 1],\n outputRange: ['0deg', '360deg'],\n });\n\n useEffect(() => {\n if (process.env.NODE_ENV === 'test') return undefined;\n\n const animation = Animated.loop(\n Animated.timing(animationRef.current, {\n toValue: 1,\n duration: 1100,\n easing: Easing.linear,\n useNativeDriver: true,\n }),\n );\n animation.start();\n return () => {\n if (process.env.NODE_ENV === 'test') return undefined;\n\n animation.stop();\n return undefined;\n };\n }, []);\n\n return <Animated.View style={{ transform: [{ rotate: rotation }] }}>{clonedIcon}</Animated.View>;\n}\n","import type { ReactElement, ReactNode } from 'react';\nimport type { ViewProps } from 'react-native';\nimport styled from 'styled-components/native';\n\nexport interface ListItemContentProps extends ViewProps {\n children: NonNullable<ReactNode>;\n}\n\nconst ContentView = styled.View`\n flex: 1 0 0%;\n align-self: center;\n`;\n\nexport function ListItemContent({ children, ...rest }: ListItemContentProps): ReactElement {\n return <ContentView {...rest}>{children}</ContentView>;\n}\n","import type { ReactElement, ReactNode } from 'react';\nimport type { ViewProps, ViewStyle } from 'react-native';\nimport styled from 'styled-components/native';\n\nexport interface ListItemSideContainerProps extends ViewProps {\n children: NonNullable<ReactNode>;\n side?: 'left' | 'right';\n}\n\nconst SideContainerView = styled.View<ListItemSideContainerProps>`\n flex-direction: row;\n margin-left: ${({ theme, side }) => (side === 'right' ? `${theme.kitt.listItem.innerMargin}px` : 0)};\n margin-right: ${({ theme, side }) => (side === 'left' ? `${theme.kitt.listItem.innerMargin}px` : 0)};\n`;\n\n// Handles the vertical alignment of the side elements of the list item\nexport function ListItemSideContainer({ children, side = 'left', ...rest }: ListItemSideContainerProps): ReactElement {\n return (\n <SideContainerView side={side} {...rest}>\n {children}\n </SideContainerView>\n );\n}\n\nexport interface ListItemSideContentProps extends ViewProps {\n children: NonNullable<ReactNode>;\n align?: ViewStyle['alignSelf'];\n}\n\nconst SideContentView = styled.View<ListItemSideContentProps>`\n align-self: ${({ align }) => align};\n`;\n\nexport function ListItemSideContent({ children, align = 'auto', ...rest }: ListItemSideContentProps): ReactElement {\n return (\n <SideContentView align={align} {...rest}>\n {children}\n </SideContentView>\n );\n}\n","import type { ReactElement, ReactNode } from 'react';\nimport { Fragment } from 'react';\nimport type { PressableProps, ViewProps } from 'react-native';\nimport { Pressable } from 'react-native';\nimport styled, { css } from 'styled-components/native';\nimport { ListItemContent } from './ListItemContent';\nimport { ListItemSideContainer, ListItemSideContent } from './ListItemSideContent';\n\ntype Borders = 'top' | 'bottom' | 'both';\n\nexport interface ListItemProps extends ViewProps {\n children: NonNullable<ReactNode>;\n left?: ReactNode;\n right?: ReactNode;\n borders?: Borders;\n withPadding?: boolean;\n onPress?: PressableProps['onPress'];\n}\n\ninterface ContainerViewProps extends Pick<ListItemProps, 'borders' | 'withPadding'> {}\n\nconst ContainerView = styled.View<ContainerViewProps>`\n flex-direction: row;\n padding: ${({ withPadding, theme }) => (withPadding ? theme.kitt.listItem.padding : 0)};\n ${({ theme, borders }) => {\n const { borderWidth } = theme.kitt.listItem;\n\n if (borders === 'top') {\n return `border-top-width: ${borderWidth}px`;\n }\n\n if (borders === 'bottom') {\n return `border-bottom-width: ${borderWidth}px`;\n }\n\n if (borders === 'both') {\n return css`\n border-top-width: ${borderWidth}px;\n border-bottom-width: ${borderWidth}px;\n `;\n }\n\n return 'border: none';\n }};\n border-color: ${({ theme }) => theme.kitt.listItem.borderColor};\n background-color: ${({ theme }) => theme.kitt.colors.uiBackgroundLight};\n`;\n\nexport function ListItem({\n children,\n withPadding,\n borders,\n left,\n right,\n onPress,\n ...rest\n}: ListItemProps): ReactElement {\n const Wrapper = onPress ? Pressable : Fragment;\n const wrapperProps = onPress ? { accessibilityRole: 'button', onPress, ...rest } : undefined;\n const containerProps = onPress ? undefined : rest;\n\n return (\n <Wrapper {...(wrapperProps as any)}>\n <ContainerView withPadding={withPadding} borders={borders} {...containerProps}>\n {left ? <ListItemSideContainer side=\"left\">{left}</ListItemSideContainer> : null}\n\n <ListItemContent>{children}</ListItemContent>\n\n {right ? <ListItemSideContainer side=\"right\">{right}</ListItemSideContainer> : null}\n </ContainerView>\n </Wrapper>\n );\n}\n\nListItem.Content = ListItemContent;\nListItem.SideContent = ListItemSideContent;\nListItem.SideContainer = ListItemSideContainer;\n","import { ArcIcon } from '@ornikar/kitt-icons';\nimport type { ReactElement } from 'react';\nimport type { SpinningIconProps } from '../Icon/SpinningIcon';\nimport { SpinningIcon } from '../Icon/SpinningIcon';\n\nexport interface LoaderIconProps {\n color?: SpinningIconProps['color'];\n}\n\nexport function LoaderIcon({ color }: LoaderIconProps): ReactElement {\n return <SpinningIcon color={color} icon={<ArcIcon />} />;\n}\n","import { AlertCircleIcon, AlertTriangleIcon, CheckIcon, InfoIcon } from '@ornikar/kitt-icons';\nimport type { ReactElement } from 'react';\nimport type { TypographyColor } from '../typography/Typography';\nimport type { MessageType } from './BaseMessage';\n\ninterface IconContentProps {\n type: MessageType;\n color: TypographyColor;\n}\n\nexport function IconContent({ type, color }: IconContentProps): ReactElement {\n switch (type) {\n case 'warning':\n return <AlertCircleIcon color={color} />;\n case 'success':\n return <CheckIcon color={color} />;\n case 'danger':\n return <AlertTriangleIcon color={color} />;\n default:\n return <InfoIcon color={color} />;\n }\n}\n","import type { IconButtonProps } from '../IconButton/IconButton';\nimport type { TypographyColor } from '../typography/Typography';\nimport type { MessageType } from './BaseMessage';\n\nexport const getColorByType = (type: MessageType): TypographyColor => {\n switch (type) {\n case 'success':\n return 'white';\n case 'danger':\n return 'white';\n case 'warning':\n default:\n return 'black';\n }\n};\n\nexport const getIconButtonColor = (messageType: MessageType): IconButtonProps['color'] => {\n switch (messageType) {\n case 'success':\n case 'danger':\n return 'white';\n case 'warning':\n default:\n return 'black';\n }\n};\n","import { XIcon } from '@ornikar/kitt-icons';\nimport type { ReactElement, ReactNode } from 'react';\nimport type { EdgeInsets } from 'react-native-safe-area-context';\nimport styled from 'styled-components/native';\nimport { Icon } from '../Icon/Icon';\nimport { IconButton } from '../IconButton/IconButton';\nimport { Typography } from '../typography/Typography';\nimport { IconContent } from './IconContent';\nimport { getColorByType, getIconButtonColor } from './helper';\n\nexport type MessageType = 'success' | 'warning' | 'danger' | 'info';\n\ninterface StyledMessageContainerProps {\n $type: MessageType;\n $hasNoRadius?: boolean;\n $insets?: EdgeInsets;\n}\n\nconst StyledMessageContainer = styled.View<StyledMessageContainerProps>`\n flex-direction: row;\n align-items: flex-start;\n justify-content: space-between;\n min-height: 60px;\n padding-top: ${({ $insets }) => $insets?.top ?? 0}px;\n border-radius: ${({ theme, $hasNoRadius }) => ($hasNoRadius ? 0 : theme.kitt.spacing * 5)}px;\n background-color: ${({ theme, $type }) => theme.kitt.feedbackMessage[$type].backgroundColor};\n`;\n\nconst StyledDismissWrapper = styled.View`\n align-items: center;\n align-items: flex-start;\n margin: ${({ theme }) => {\n const { spacing } = theme.kitt;\n return `${spacing * 2.5}px ${spacing * 2}px 0 ${spacing * 5}px`;\n }};\n`;\n\nconst StyledIconContainer = styled.View`\n margin: ${({ theme }) => {\n const { spacing } = theme.kitt;\n return `${spacing}px ${spacing * 5}px 0 0`;\n }};\n`;\n\ninterface StyledTextContentProps {\n $isCenteredText?: boolean;\n}\n\nconst StyledTextContent = styled(Typography.Text)<StyledTextContentProps>`\n flex: 1;\n text-align: ${({ $isCenteredText }) => ($isCenteredText ? 'center' : 'left')};\n`;\n\nconst StyledMessageContent = styled.View`\n display: flex;\n flex-direction: row;\n flex-grow: 1;\n align-self: center;\n align-items: flex-start;\n flex-shrink: 1;\n padding: ${({ theme }) => {\n const { spacing } = theme.kitt;\n return `${spacing * 4}px ${spacing * 5}px`;\n }};\n`;\n\nexport interface BaseMessageProps {\n type?: MessageType;\n children: NonNullable<ReactNode>;\n /**\n * @internal for styling between Message and Notification\n */\n hasNoRadius?: boolean;\n centeredText?: boolean;\n insets?: EdgeInsets;\n onDismiss?: () => void;\n}\n\nexport function BaseMessage({\n type = 'info',\n children,\n hasNoRadius,\n centeredText,\n insets,\n onDismiss,\n}: BaseMessageProps): ReactElement {\n const color = getColorByType(type);\n\n return (\n <StyledMessageContainer $type={type} $hasNoRadius={hasNoRadius} $insets={insets}>\n <StyledMessageContent>\n {centeredText ? null : (\n <StyledIconContainer>\n <Icon color={color} icon={<IconContent type={type} color={color} />} />\n </StyledIconContainer>\n )}\n <StyledTextContent $isCenteredText={centeredText} base=\"body\" color={color}>\n {children}\n </StyledTextContent>\n </StyledMessageContent>\n\n {onDismiss ? (\n <StyledDismissWrapper>\n <IconButton color={getIconButtonColor(type)} icon={<XIcon />} onPress={onDismiss} />\n </StyledDismissWrapper>\n ) : null}\n </StyledMessageContainer>\n );\n}\n","import type { ReactElement } from 'react';\nimport type { BaseMessageProps } from '../BaseMessage/BaseMessage';\nimport { BaseMessage } from '../BaseMessage/BaseMessage';\n\nexport interface MessageProps extends BaseMessageProps {}\n\nexport function Message({\n type = 'info',\n children,\n hasNoRadius,\n centeredText,\n insets,\n onDismiss,\n}: MessageProps): ReactElement {\n return (\n <BaseMessage\n insets={insets}\n hasNoRadius={hasNoRadius}\n type={type}\n centeredText={centeredText}\n onDismiss={onDismiss}\n >\n {children}\n </BaseMessage>\n );\n}\n","import type { NativeBaseProviderProps } from 'native-base';\nimport { NativeBaseProvider, extendTheme } from 'native-base';\nimport type { ReactElement, ReactNode } from 'react';\nimport { useMemo } from 'react';\nimport type { KittTheme } from '..';\nimport { KittBreakpoints } from '../KittBreakpoints';\nimport type { Theme } from '../themes/default';\n\ntype Enumerate<N, A extends number[] = []> = A['length'] extends N ? A[number] : Enumerate<N, [...A, A['length']]>;\n\ntype KittSize = `kitt.${Exclude<Enumerate<65>, 0>}`;\n\ntype KittScaleRecord = Record<KittSize, number>;\n\nconst createKittSpaces = (spacing: number): KittScaleRecord => {\n const MAX_SIZE = 64;\n const sizes: Partial<KittScaleRecord> = {};\n for (let size = 1; size <= MAX_SIZE; size++) {\n sizes[`kitt.${size}` as KittSize] = size * spacing;\n }\n return sizes as KittScaleRecord;\n};\n\n// eslint-disable-next-line @typescript-eslint/explicit-module-boundary-types, @typescript-eslint/explicit-function-return-type -- let typescript infer types\nexport const createKittNativeBaseCustomTheme = (theme: Theme) => {\n const spaces = createKittSpaces(theme.spacing);\n\n const extendedTheme = extendTheme({\n colors: {\n kitt: {\n ...theme.colors,\n typography: theme.typography.colors,\n },\n },\n radii: {\n 'kitt.borderRadius': theme.card.borderRadius,\n },\n sizes: {\n ...spaces,\n // reset native-base to be able to set size as number\n // https://docs.nativebase.io/next/default-theme#h2-size\n ...Object.fromEntries(\n [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 12, 16, 20, 24, 32, 40, 48, 56, 64, 78, 80, 96, 0.5, 1.5, 2.5, 3.5].map(\n (value) => [value, value],\n ),\n ),\n },\n space: spaces,\n breakpoints: {\n // kitt breakpoints\n base: KittBreakpoints.BASE,\n small: KittBreakpoints.SMALL,\n medium: KittBreakpoints.MEDIUM,\n large: KittBreakpoints.LARGE,\n wide: KittBreakpoints.WIDE,\n\n // native base default naming\n sm: Number.MAX_SAFE_INTEGER,\n md: Number.MAX_SAFE_INTEGER,\n lg: Number.MAX_SAFE_INTEGER,\n xl: Number.MAX_SAFE_INTEGER,\n '2xl': Number.MAX_SAFE_INTEGER,\n },\n\n fontSizes: {\n baseAndSmall: {\n header1: `${theme.typography.types.headers.configs.header1.baseAndSmall.fontSize}px`,\n header2: `${theme.typography.types.headers.configs.header2.baseAndSmall.fontSize}px`,\n header3: `${theme.typography.types.headers.configs.header3.baseAndSmall.fontSize}px`,\n header4: `${theme.typography.types.headers.configs.header4.baseAndSmall.fontSize}px`,\n header5: `${theme.typography.types.headers.configs.header5.baseAndSmall.fontSize}px`,\n 'body-large': `${theme.typography.types.bodies.configs['body-large'].baseAndSmall.fontSize}px`,\n 'body-medium': `${theme.typography.types.bodies.configs['body-medium'].baseAndSmall.fontSize}px`,\n body: `${theme.typography.types.bodies.configs.body.baseAndSmall.fontSize}px`,\n 'body-small': `${theme.typography.types.bodies.configs['body-small'].baseAndSmall.fontSize}px`,\n 'body-xsmall': `${theme.typography.types.bodies.configs['body-xsmall'].baseAndSmall.fontSize}px`,\n },\n mediumAndWide: {\n header1: `${theme.typography.types.headers.configs.header1.mediumAndWide.fontSize}px`,\n header2: `${theme.typography.types.headers.configs.header2.mediumAndWide.fontSize}px`,\n header3: `${theme.typography.types.headers.configs.header3.mediumAndWide.fontSize}px`,\n header4: `${theme.typography.types.headers.configs.header4.mediumAndWide.fontSize}px`,\n header5: `${theme.typography.types.headers.configs.header5.mediumAndWide.fontSize}px`,\n 'body-large': `${theme.typography.types.bodies.configs['body-large'].mediumAndWide.fontSize}px`,\n 'body-medium': `${theme.typography.types.bodies.configs['body-medium'].mediumAndWide.fontSize}px`,\n body: `${theme.typography.types.bodies.configs.body.mediumAndWide.fontSize}px`,\n 'body-small': `${theme.typography.types.bodies.configs['body-small'].mediumAndWide.fontSize}px`,\n 'body-xsmall': `${theme.typography.types.bodies.configs['body-xsmall'].mediumAndWide.fontSize}px`,\n },\n },\n lineHeights: {\n baseAndSmall: {\n header1: theme.typography.types.headers.configs.header1.baseAndSmall.lineHeight,\n header2: theme.typography.types.headers.configs.header2.baseAndSmall.lineHeight,\n header3: theme.typography.types.headers.configs.header3.baseAndSmall.lineHeight,\n header4: theme.typography.types.headers.configs.header4.baseAndSmall.lineHeight,\n header5: theme.typography.types.headers.configs.header5.baseAndSmall.lineHeight,\n 'body-large': theme.typography.types.bodies.configs['body-large'].baseAndSmall.lineHeight,\n 'body-medium': theme.typography.types.bodies.configs['body-medium'].baseAndSmall.lineHeight,\n body: theme.typography.types.bodies.configs.body.baseAndSmall.lineHeight,\n 'body-small': theme.typography.types.bodies.configs['body-small'].baseAndSmall.lineHeight,\n 'body-xsmall': theme.typography.types.bodies.configs['body-xsmall'].baseAndSmall.lineHeight,\n },\n mediumAndWide: {\n header1: theme.typography.types.headers.configs.header1.mediumAndWide.lineHeight,\n header2: theme.typography.types.headers.configs.header2.mediumAndWide.lineHeight,\n header3: theme.typography.types.headers.configs.header3.mediumAndWide.lineHeight,\n header4: theme.typography.types.headers.configs.header4.mediumAndWide.lineHeight,\n header5: theme.typography.types.headers.configs.header5.mediumAndWide.lineHeight,\n 'body-large': theme.typography.types.bodies.configs['body-large'].mediumAndWide.lineHeight,\n 'body-medium': theme.typography.types.bodies.configs['body-medium'].mediumAndWide.lineHeight,\n body: theme.typography.types.bodies.configs.body.mediumAndWide.lineHeight,\n 'body-small': theme.typography.types.bodies.configs['body-small'].mediumAndWide.lineHeight,\n 'body-xsmall': theme.typography.types.bodies.configs['body-xsmall'].mediumAndWide.lineHeight,\n },\n },\n fontWeights: {\n headers: {\n regular: theme.typography.types.headers.fontWeight,\n bold: theme.typography.types.headers.fontWeight,\n },\n bodies: theme.typography.types.bodies.fontWeight,\n },\n fonts: {\n headers: theme.typography.types.headers.fontFamily,\n bodies: theme.typography.types.bodies.fontFamily,\n },\n\n components: {\n Text: {\n baseStyle: {\n _light: {\n color: 'kitt.typography.black',\n },\n _dark: {\n color: 'kitt.typography.white',\n },\n fontFamily: theme.typography.types.bodies.fontFamily.regular,\n fontStyle: theme.typography.types.bodies.fontStyle.regular,\n fontWeight: theme.typography.types.bodies.fontWeight.regular,\n fontSize: undefined,\n lineHeight: theme.typography.types.bodies.configs.body.baseAndSmall.lineHeight,\n },\n },\n },\n });\n\n return { ...extendedTheme, space: extendedTheme.space as typeof spaces };\n};\n\ntype KittNativeBaseCustomTheme = ReturnType<typeof createKittNativeBaseCustomTheme>;\n\ndeclare module 'native-base' {\n interface ICustomTheme extends KittNativeBaseCustomTheme {}\n}\n\nexport interface KittNativeBaseProviderProps {\n theme: KittTheme;\n isSSR: NativeBaseProviderProps['isSSR'];\n children: ReactNode;\n}\n\nexport function KittNativeBaseProvider({ theme, isSSR, children }: KittNativeBaseProviderProps): ReactElement {\n const kittTheme = theme.kitt;\n const nativeBaseCustomTheme = useMemo(() => createKittNativeBaseCustomTheme(kittTheme), [kittTheme]);\n return (\n <NativeBaseProvider theme={nativeBaseCustomTheme} isSSR={isSSR}>\n {children}\n </NativeBaseProvider>\n );\n}\n","import type { IStackProps } from 'native-base';\nimport { HStack as NativeBaseHStack, Stack as NativeBaseStack, VStack as NativeBaseVStack } from 'native-base';\nimport type { InterfaceStackProps } from 'native-base/lib/typescript/components/primitives/Stack/Stack';\nimport type { SafeAreaProps, SpaceType } from 'native-base/lib/typescript/components/types';\nimport type { ComponentType } from 'react';\nimport type { ViewProps as NativeViewProps } from 'react-native';\nimport type { Except } from 'type-fest';\nimport type { KittResponsivePropOrValue } from 'KittBreakpoints';\nimport type {\n NativeBaseAcceptedBorderProps,\n NativeBaseAcceptedBorderRadiusProps,\n NativeBaseAcceptedColorsProps,\n NativeBaseAcceptedFlexboxProps,\n NativeBaseAcceptedLayoutProps,\n NativeBaseAcceptedPositionProps,\n NativeBaseAcceptedShadowProps,\n NativeBaseAcceptedSpaceProps,\n} from './acceptable-native-base-props';\n\ntype NativeBaseAcceptedStackProps = Extract<\n keyof InterfaceStackProps,\n | 'divider'\n | 'reversed'\n | 'direction'\n | 'isHovered'\n | 'isFocused'\n | 'isDisabled'\n | 'isInvalid'\n | 'isReadOnly'\n | keyof NativeViewProps\n | keyof SafeAreaProps\n>;\n\nexport interface StackProps\n extends Pick<\n IStackProps,\n | NativeBaseAcceptedStackProps\n | NativeBaseAcceptedSpaceProps\n | NativeBaseAcceptedColorsProps\n | NativeBaseAcceptedBorderProps\n | NativeBaseAcceptedBorderRadiusProps\n | NativeBaseAcceptedPositionProps\n | NativeBaseAcceptedShadowProps\n | NativeBaseAcceptedLayoutProps\n | NativeBaseAcceptedFlexboxProps\n > {\n space?: KittResponsivePropOrValue<SpaceType>;\n}\n\nexport const Stack = NativeBaseStack as ComponentType<StackProps>;\n\nexport interface VStackProps extends Except<StackProps, 'direction'> {\n direction?: Extract<StackProps['direction'], 'column' | 'column-reverse'>;\n}\nexport const VStack = NativeBaseVStack as ComponentType<VStackProps>;\n\nexport interface HStackProps extends Except<StackProps, 'direction'> {\n direction?: Extract<StackProps['direction'], 'row' | 'row-reverse'>;\n}\nexport const HStack = NativeBaseHStack as ComponentType<HStackProps>;\n","import type { IPressableProps, IScrollViewProps } from 'native-base';\nimport {\n Pressable as NativeBasePressable,\n ScrollView as NativeBaseScrollView,\n View as NativeBaseView,\n} from 'native-base';\nimport type { InterfaceScrollViewProps } from 'native-base/lib/typescript/components/basic/ScrollView/types';\nimport type { IViewProps, InterfaceViewProps } from 'native-base/lib/typescript/components/basic/View/types';\nimport type { InterfacePressableProps } from 'native-base/lib/typescript/components/primitives/Pressable/types';\nimport type { ComponentType } from 'react';\nimport type {\n PressableProps as NativePressableProps,\n ScrollViewProps as NativeScrollViewProps,\n ViewProps as NativeViewProps,\n} from 'react-native';\nimport type {\n NativeBaseAcceptedBorderProps,\n NativeBaseAcceptedBorderRadiusProps,\n NativeBaseAcceptedColorsProps,\n NativeBaseAcceptedFlexboxProps,\n NativeBaseAcceptedLayoutProps,\n NativeBaseAcceptedPositionProps,\n NativeBaseAcceptedShadowProps,\n NativeBaseAcceptedSpaceProps,\n} from './acceptable-native-base-props';\n\ntype NativeBaseAcceptedViewProps = Extract<keyof InterfaceViewProps, 'children' | keyof NativeViewProps>;\n\nexport interface ViewProps\n extends Pick<\n IViewProps,\n | NativeBaseAcceptedViewProps\n | NativeBaseAcceptedSpaceProps\n | NativeBaseAcceptedColorsProps\n | NativeBaseAcceptedBorderProps\n | NativeBaseAcceptedBorderRadiusProps\n | NativeBaseAcceptedPositionProps\n | NativeBaseAcceptedShadowProps\n | NativeBaseAcceptedLayoutProps\n | NativeBaseAcceptedFlexboxProps\n > {}\n\nexport const View = NativeBaseView as ComponentType<ViewProps>;\n\ntype NativeBaseAcceptedScrollViewProps = Extract<\n keyof InterfaceScrollViewProps,\n 'children' | '_contentContainerStyle' | keyof NativeScrollViewProps\n>;\nexport interface ScrollViewProps\n extends Pick<\n IScrollViewProps,\n | NativeBaseAcceptedScrollViewProps\n | NativeBaseAcceptedSpaceProps\n | NativeBaseAcceptedColorsProps\n | NativeBaseAcceptedBorderProps\n | NativeBaseAcceptedBorderRadiusProps\n | NativeBaseAcceptedPositionProps\n | NativeBaseAcceptedShadowProps\n | NativeBaseAcceptedLayoutProps\n | NativeBaseAcceptedFlexboxProps\n > {}\n\nexport const ScrollView = NativeBaseScrollView as ComponentType<ScrollViewProps>;\n\ntype NativeBaseAcceptedPressableProps = Extract<\n keyof InterfacePressableProps,\n | 'children'\n | 'onHoverIn'\n | 'onHoverOut'\n | 'onFocus'\n | 'onBlur'\n | '_hover'\n | '_pressed'\n | '_focus'\n | '_disabled'\n | 'isDisabled'\n | 'isHovered'\n | 'isPressed'\n | 'isFocused'\n | 'isFocusVisible'\n | '_focusVisible'\n | keyof NativePressableProps\n>;\nexport interface PressableProps\n extends Pick<\n IPressableProps,\n | NativeBaseAcceptedPressableProps\n | NativeBaseAcceptedSpaceProps\n | NativeBaseAcceptedColorsProps\n | NativeBaseAcceptedBorderProps\n | NativeBaseAcceptedBorderRadiusProps\n | NativeBaseAcceptedPositionProps\n | NativeBaseAcceptedShadowProps\n | NativeBaseAcceptedLayoutProps\n | NativeBaseAcceptedFlexboxProps\n > {}\n\nexport const Pressable = NativeBasePressable as ComponentType<PressableProps>;\n","import type { ReactElement } from 'react';\nimport { BaseMessage } from '../BaseMessage/BaseMessage';\nimport type { BaseMessageProps } from '../BaseMessage/BaseMessage';\n\nexport interface NotificationProps extends BaseMessageProps {\n /**\n * @deprecated use onDismiss instead\n */\n onDelete?: BaseMessageProps['onDismiss'];\n}\n\nexport function Notification({\n type,\n children,\n centeredText,\n insets,\n onDelete,\n onDismiss,\n}: NotificationProps): ReactElement {\n if (__DEV__) {\n if (onDelete) {\n throw new Error('onDelete is deprecated us onDismiss instead');\n }\n }\n\n return (\n <BaseMessage hasNoRadius type={type} centeredText={centeredText} insets={insets} onDismiss={onDismiss}>\n {children}\n </BaseMessage>\n );\n}\n","import type { ReactElement } from 'react';\nimport Animated, { useAnimatedProps } from 'react-native-reanimated';\nimport type { CircleProps } from 'react-native-svg';\nimport { Circle } from 'react-native-svg';\nimport { useTheme } from 'styled-components/native';\n\nconst AnimatedCircle = Animated.createAnimatedComponent(Circle);\n\ninterface PageLoaderCircleProps {\n color: CircleProps['stroke'];\n progress: Animated.SharedValue<number>;\n}\n\nexport function AnimatedLoaderCircle({ color, progress }: PageLoaderCircleProps): ReactElement {\n const theme = useTheme();\n\n const { strokeWidth, size } = theme.kitt.pageLoader;\n\n const centerCoord = size * 0.5;\n const radius = centerCoord - strokeWidth;\n const circlePerimeter = 2 * Math.PI * (size * 0.5 - strokeWidth);\n\n const strokeAnimation = useAnimatedProps(() => {\n return {\n strokeDashoffset: circlePerimeter - circlePerimeter * progress.value,\n };\n });\n\n return (\n <AnimatedCircle\n transform-origin=\"center center\"\n strokeWidth={strokeWidth}\n stroke={color}\n strokeLinecap=\"round\"\n cx={centerCoord}\n cy={centerCoord}\n r={radius}\n fill=\"none\"\n strokeDasharray={circlePerimeter}\n animatedProps={strokeAnimation}\n />\n );\n}\n","import type { ReactElement } from 'react';\nimport { useEffect } from 'react';\nimport { Easing, useSharedValue, withDelay, withTiming } from 'react-native-reanimated';\nimport Svg from 'react-native-svg';\nimport { useTheme } from 'styled-components/native';\nimport { AnimatedLoaderCircle } from './AnimatedLoaderCircle';\n\nexport function AnimatedBackgroundCircle(): ReactElement {\n const theme = useTheme();\n const progress = useSharedValue(0);\n\n const { animation, colors, size } = theme.kitt.pageLoader;\n\n useEffect(() => {\n const { delay, circleBackgroundFillDuration, fillEasingFunction } = animation;\n const [x1, y1, x2, y2] = fillEasingFunction;\n\n progress.value = withDelay(\n delay,\n withTiming(1, { duration: circleBackgroundFillDuration, easing: Easing.bezier(x1, y1, x2, y2) }),\n );\n }, [progress, animation]);\n\n return (\n <Svg width={size} height={size} viewBox={`0 0 ${size} ${size}`}>\n <AnimatedLoaderCircle color={colors.base} progress={progress} />\n </Svg>\n );\n}\n","import type { ReactElement, ReactNode } from 'react';\nimport { useEffect } from 'react';\nimport { StyleSheet } from 'react-native';\nimport Animated, {\n Easing,\n useAnimatedStyle,\n useSharedValue,\n withDelay,\n withRepeat,\n withTiming,\n} from 'react-native-reanimated';\nimport { useTheme } from 'styled-components/native';\n\nconst isInfinitAnimation = -1;\n\ninterface AnimatedFillCircleContainerProps {\n children: NonNullable<ReactNode>;\n duration: number;\n}\n\nexport function AnimatedFillCircleContainer({ children, duration }: AnimatedFillCircleContainerProps): ReactElement {\n const theme = useTheme();\n const progress = useSharedValue(0);\n\n const { animation } = theme.kitt.pageLoader;\n\n useEffect(() => {\n const { delay } = animation;\n\n progress.value = withDelay(\n delay,\n withRepeat(withTiming(1, { duration, easing: Easing.linear }), isInfinitAnimation),\n );\n }, [progress, animation, duration]);\n\n const rotationStyles = useAnimatedStyle(() => {\n return {\n transform: [\n {\n rotate: `${360 * progress.value}deg`,\n },\n ],\n };\n });\n\n return <Animated.View style={[StyleSheet.absoluteFill, rotationStyles]}>{children}</Animated.View>;\n}\n","import type { ReactElement } from 'react';\nimport { useEffect } from 'react';\nimport { Easing, useSharedValue, withDelay, withRepeat, withTiming } from 'react-native-reanimated';\nimport Svg from 'react-native-svg';\nimport { useTheme } from 'styled-components/native';\nimport { AnimatedFillCircleContainer } from './AnimatedFillCircleContainer';\nimport { AnimatedLoaderCircle } from './AnimatedLoaderCircle';\n\nconst isInfinitAnimation = -1;\nconst shouldReverse = true;\n\nexport function AnimatedFilledCircle(): ReactElement {\n const theme = useTheme();\n const progress = useSharedValue(0);\n\n const { size, animation, colors } = theme.kitt.pageLoader;\n\n useEffect(() => {\n const { delay, filledCircleFillDuration, fillEasingFunction } = animation;\n const [x1, y1, x2, y2] = fillEasingFunction;\n\n progress.value = withDelay(\n delay,\n withRepeat(\n withTiming(0.8, { duration: filledCircleFillDuration, easing: Easing.bezier(x1, y1, x2, y2) }),\n isInfinitAnimation,\n shouldReverse,\n ),\n );\n }, [progress, animation]);\n\n return (\n <AnimatedFillCircleContainer duration={animation.groupFilledCircleRotationDuration}>\n <AnimatedFillCircleContainer duration={animation.filledCircleRotationDuration}>\n <Svg width={size} height={size} viewBox={`0 0 ${size} ${size}`}>\n <AnimatedLoaderCircle color={colors.fill} progress={progress} />\n </Svg>\n </AnimatedFillCircleContainer>\n </AnimatedFillCircleContainer>\n );\n}\n","import type { ReactElement, ReactNode } from 'react';\nimport styled from 'styled-components/native';\nimport { AnimatedBackgroundCircle } from './AnimatedBackgroundCircle';\nimport { AnimatedFilledCircle } from './AnimatedFillCircle';\n\ninterface PageLoaderContainerProps {\n children: NonNullable<ReactNode>;\n}\n\nconst PageLoaderContainer = styled.View<PageLoaderContainerProps>`\n /* Needed to make the animation starting from the top of the circles */\n transform: scale(-1) rotate(90deg);\n position: relative;\n width: ${({ theme }) => theme.kitt.pageLoader.size}px;\n height: ${({ theme }) => theme.kitt.pageLoader.size}px;\n`;\n\nexport type PageLoaderProps = Record<string, never>;\n\nexport function PageLoader(props: PageLoaderProps): ReactElement {\n return (\n <PageLoaderContainer>\n <AnimatedBackgroundCircle />\n <AnimatedFilledCircle />\n </PageLoaderContainer>\n );\n}\n","import type { PickerItemProps as NativePickerItemProps } from '@react-native-picker/picker';\nimport type { ReactElement } from 'react';\nimport styled from 'styled-components/native';\nimport { Typography } from '../typography/Typography';\n\nexport interface PickerItemProps<T> extends Pick<NativePickerItemProps<T>, 'label'> {\n isSelected?: boolean;\n value: T;\n onPress?: (value: T) => void;\n}\n\nconst ContainerPressable = styled.Pressable<{ $isSelected?: boolean }>`\n padding: ${({ theme }) => theme.kitt.picker.android.padding};\n background-color: ${({ theme, $isSelected }) =>\n $isSelected\n ? theme.kitt.picker.android.selected.backgroundColor\n : theme.kitt.picker.android.default.backgroundColor};\n`;\n\n// This item is for Android only, iOS uses its own implementation and web is not supported yet\nexport function PickerItem<T>({ label, value, isSelected, onPress }: PickerItemProps<T>): ReactElement {\n return (\n <ContainerPressable\n accessibilityRole=\"button\"\n accessibilityState={{\n selected: isSelected,\n }}\n $isSelected={isSelected}\n onPress={onPress ? () => onPress(value) : undefined}\n >\n <Typography.Text base=\"body\" color={isSelected ? 'white' : undefined}>\n {label}\n </Typography.Text>\n </ContainerPressable>\n );\n}\n","import type { PickerItemProps as NativePickerItemProps } from '@react-native-picker/picker';\nimport { Picker as NativePicker } from '@react-native-picker/picker';\nimport type { ReactElement, ReactNode } from 'react';\nimport React, { cloneElement, useState } from 'react';\nimport { FormattedMessage } from 'react-intl';\nimport { Platform, ScrollView } from 'react-native';\nimport { Button } from '../Button/Button';\nimport { Modal } from '../Modal/Modal';\nimport { theme } from '../themes/default';\nimport { Typography } from '../typography/Typography';\nimport type { PickerItemProps } from './PickerItem';\nimport { PickerItem } from './PickerItem';\n\nexport interface PickerProps<T> {\n children: ReactNode;\n isVisible: boolean;\n title: ReactNode;\n initialValue: T;\n validateButtonLabel?: ReactNode;\n testID?: string;\n onValueSelected: (value: T) => void;\n onClose: () => void;\n}\n\nexport function Picker<T>({\n children,\n isVisible,\n title,\n initialValue,\n validateButtonLabel,\n testID,\n onValueSelected,\n onClose,\n}: PickerProps<T>): ReactElement {\n const [value, setValue] = useState<T>(initialValue);\n\n const handleValueSelected = (): void => {\n onValueSelected(value);\n\n onClose();\n };\n\n return (\n <Modal visible={isVisible} onClose={onClose}>\n <Modal.Header>\n <Typography.Text base=\"body\" variant=\"bold\">\n {title}\n </Typography.Text>\n </Modal.Header>\n\n {Platform.OS === 'ios' ? (\n <NativePicker<T>\n testID={testID}\n selectedValue={value}\n itemStyle={theme.picker.ios.default}\n onValueChange={(itemValue) => setValue(itemValue)}\n >\n {React.Children.map(children, (child) => {\n const item = child as ReactElement<NativePickerItemProps<T>>;\n\n // iOS Picker doesn't support a custom Item component, we need to override its props manually for the selected one\n return cloneElement(item, {\n color: item.props.value === value ? theme.picker.ios.selected.color : undefined,\n });\n })}\n </NativePicker>\n ) : (\n <ScrollView testID={testID}>\n {React.Children.map(children, (child) => {\n const item = child as ReactElement<PickerItemProps<T>>;\n\n return cloneElement(item, {\n onPress: (newValue: T) => setValue(newValue),\n isSelected: item.props.value === value,\n });\n })}\n </ScrollView>\n )}\n\n <Modal.Footer>\n <Button stretch type=\"primary\" onPress={handleValueSelected}>\n {validateButtonLabel || <FormattedMessage defaultMessage=\"Valider\" id=\"kitt-universal.Picker.validate\" />}\n </Button>\n </Modal.Footer>\n </Modal>\n );\n}\n\nPicker.Item = PickerItem;\n","import { LinearGradient } from 'expo-linear-gradient';\nimport type { ReactElement } from 'react';\nimport { useEffect } from 'react';\nimport { StyleSheet } from 'react-native';\nimport Animated, {\n Easing,\n interpolate,\n useAnimatedStyle,\n useSharedValue,\n withRepeat,\n withTiming,\n} from 'react-native-reanimated';\nimport styled, { useTheme } from 'styled-components/native';\n\ninterface SkeletonProps {\n isLoading?: boolean;\n width: number;\n}\n\nconst Container = styled.View`\n background-color: ${({ theme }) => theme.kitt.skeleton.backgroundColor};\n border-color: ${({ theme }) => theme.kitt.skeleton.flareColor};\n height: 100%;\n width: 100%;\n`;\nconst AnimatedLinearGradient = Animated.createAnimatedComponent(LinearGradient);\n\nexport function SkeletonContent({ isLoading, width }: SkeletonProps): ReactElement {\n const theme = useTheme();\n const sharedX = useSharedValue(0);\n\n useEffect(() => {\n if (isLoading) {\n sharedX.value = withRepeat(\n withTiming(1, { duration: theme.kitt.skeleton.animationDuration, easing: Easing.inOut(Easing.ease) }),\n -1,\n );\n }\n }, [sharedX, width, isLoading, theme]);\n\n const linearGradientStyle = useAnimatedStyle(() => {\n return {\n transform: [{ translateX: interpolate(sharedX.value, [0, 1], [-width, width]) }],\n };\n });\n\n return (\n <Container>\n <AnimatedLinearGradient\n colors={[\n theme.kitt.skeleton.backgroundColor,\n theme.kitt.skeleton.flareColor,\n theme.kitt.skeleton.backgroundColor,\n ]}\n locations={[0.1, 0.5, 0.9]}\n start={{ x: 0, y: 0 }}\n end={{ x: 1, y: 0 }}\n style={[StyleSheet.absoluteFill, linearGradientStyle]}\n />\n </Container>\n );\n}\n","import type { ReactElement } from 'react';\nimport { useState } from 'react';\nimport type { StyleProp, ViewStyle } from 'react-native';\nimport { View } from 'react-native';\nimport styled from 'styled-components/native';\nimport { SkeletonContent } from './SkeletonContent';\n\nconst SkeletonContainer = styled(View)`\n overflow: hidden;\n`;\nexport interface SkeletonProps {\n isLoading?: boolean;\n style?: StyleProp<ViewStyle>;\n}\n\nexport function Skeleton({ isLoading, style }: SkeletonProps): ReactElement {\n const [width, setWidth] = useState(0);\n\n return (\n <SkeletonContainer style={style} onLayout={({ nativeEvent }) => setWidth(nativeEvent.layout.width)}>\n <SkeletonContent isLoading={isLoading} width={width} />\n </SkeletonContainer>\n );\n}\n\nconst Bar = styled(Skeleton)`\n width: 100%;\n height: ${({ theme }) => theme.kitt.spacing * 2}px;\n border-radius: ${({ theme }) => theme.kitt.spacing * 2}px;\n`;\n\nconst Circle = styled(Skeleton)`\n width: ${({ theme }) => theme.kitt.spacing * 12}px;\n height: ${({ theme }) => theme.kitt.spacing * 12}px;\n border-radius: ${({ theme }) => theme.kitt.spacing * 6}px;\n`;\n\nconst Square = styled(Skeleton)`\n width: ${({ theme }) => theme.kitt.spacing * 12}px;\n height: ${({ theme }) => theme.kitt.spacing * 12}px;\n border-radius: ${({ theme }) => theme.kitt.spacing * 1.5}px;\n`;\n\nSkeleton.Bar = Bar;\nSkeleton.Circle = Circle;\nSkeleton.Square = Square;\n","import type { ViewStyle } from 'react-native';\nimport styled from 'styled-components/native';\n\ninterface FlexProps {\n direction: ViewStyle['flexDirection'];\n padding?: number;\n}\n\nexport const Flex = styled.View.withConfig<FlexProps>({\n shouldForwardProp: (prop, defaultValidatorFn) => !['direction', 'padding'].includes(prop) && defaultValidatorFn(prop),\n})`\n display: flex;\n flex-direction: ${({ direction }) => direction};\n flex-wrap: wrap;\n padding: ${({ theme, padding = 0 }) => padding * theme.kitt.spacing}px;\n`;\n","export const storyPadding = 16;\n","import type { ReactElement, ReactNode } from 'react';\nimport { createContext, useContext } from 'react';\nimport type { DefaultTheme } from 'styled-components/native';\nimport styled from 'styled-components/native';\nimport type { TypographyColor } from '../typography/Typography';\nimport { storyPadding } from './theme';\n\nexport interface StoryBlockProps {\n background?: 'dark' | 'light' | 'primary' | 'transparent';\n children: ReactNode;\n}\n\nconst getBackgroundColorFromBlockColor = (\n theme: DefaultTheme,\n color: StoryBlockProps['background'] = 'transparent',\n): string => {\n switch (color) {\n case 'dark':\n return '#293033';\n case 'light':\n return '#ffffff';\n case 'primary':\n return theme.kitt.palettes.lateOcean.lateOcean;\n default:\n return 'transparent';\n }\n};\n\nconst getTypographyColorFromBlockColor = (color: StoryBlockProps['background'] = 'transparent'): TypographyColor => {\n switch (color) {\n case 'dark':\n case 'primary':\n return 'white';\n case 'light':\n default:\n return 'black';\n }\n};\n\nexport const StoryBlockBackgroundContext = createContext<StoryBlockProps['background']>('transparent');\nconst StoryBlockColorContext = createContext<TypographyColor>('black');\n\nexport const useStoryBlockColor = (color?: TypographyColor | undefined): TypographyColor => {\n const storyBlockColor = useContext(StoryBlockColorContext);\n return color || storyBlockColor;\n};\n\nconst StyledStoryBlockView = styled.View<StoryBlockProps>`\n padding: 16px ${storyPadding}px 0;\n margin: 0 -${storyPadding}px;\n background: ${({ theme, background }) => getBackgroundColorFromBlockColor(theme, background)};\n`;\n\nexport function StoryBlock({ children, background }: StoryBlockProps): ReactElement {\n return (\n <StyledStoryBlockView background={background}>\n <StoryBlockColorContext.Provider value={getTypographyColorFromBlockColor(background)}>\n <StoryBlockBackgroundContext.Provider value={background}>{children}</StoryBlockBackgroundContext.Provider>\n </StoryBlockColorContext.Provider>\n </StyledStoryBlockView>\n );\n}\n","import type { ReactElement, ReactNode } from 'react';\nimport styled from 'styled-components/native';\nimport type { TypographyProps } from '../typography/Typography';\nimport { Typography } from '../typography/Typography';\nimport { useStoryBlockColor } from './StoryBlock';\n\ninterface StoryTitleProps {\n color?: TypographyProps['color'];\n numberOfLines?: TypographyProps['numberOfLines'];\n children: ReactNode;\n}\n\nconst StoryTitleContainer = styled.View`\n margin-bottom: 30px;\n`;\n\nconst StorySubTitleContainer = styled.View`\n margin-bottom: 10px;\n`;\n\nexport function StoryTitle({ color, children, numberOfLines }: StoryTitleProps): ReactElement {\n return (\n <StoryTitleContainer>\n <Typography.Header1 variant=\"bold\" base=\"header1\" color={useStoryBlockColor(color)} numberOfLines={numberOfLines}>\n {children}\n </Typography.Header1>\n </StoryTitleContainer>\n );\n}\n\nfunction StoryTitleLevel2({ color, children, numberOfLines }: StoryTitleProps): ReactElement {\n return (\n <StoryTitleContainer>\n <Typography.Header2 variant=\"bold\" base=\"header2\" color={useStoryBlockColor(color)} numberOfLines={numberOfLines}>\n {children}\n </Typography.Header2>\n </StoryTitleContainer>\n );\n}\n\nStoryTitleLevel2.displayName = 'StoryTitle.Level2';\n\nfunction StoryTitleLevel3({ color, children, numberOfLines }: StoryTitleProps): ReactElement {\n return (\n <StorySubTitleContainer>\n <Typography.Header3\n variant=\"bold\"\n base=\"header3\"\n medium=\"header4\"\n color={useStoryBlockColor(color)}\n numberOfLines={numberOfLines}\n >\n {children}\n </Typography.Header3>\n </StorySubTitleContainer>\n );\n}\n\nStoryTitleLevel3.displayName = 'StoryTitle.Level3';\n\nfunction StoryTitleLevel4({ color, children, numberOfLines }: StoryTitleProps): ReactElement {\n return (\n <StorySubTitleContainer>\n <Typography.Header4\n variant=\"bold\"\n base=\"header4\"\n medium=\"header5\"\n color={useStoryBlockColor(color)}\n numberOfLines={numberOfLines}\n >\n {children}\n </Typography.Header4>\n </StorySubTitleContainer>\n );\n}\n\nStoryTitleLevel4.displayName = 'StoryTitle.Level3';\n\nStoryTitle.Level2 = StoryTitleLevel2;\nStoryTitle.Level3 = StoryTitleLevel3;\nStoryTitle.Level4 = StoryTitleLevel4;\n","import type { ReactElement, ReactNode } from 'react';\nimport type { ScrollViewProps } from 'react-native';\nimport styled from 'styled-components/native';\nimport { StoryTitle } from './StoryTitle';\nimport { storyPadding } from './theme';\n\nexport interface StoryProps {\n title: ReactNode;\n children: ReactNode;\n contentContainerStyle?: ScrollViewProps['contentContainerStyle'];\n}\n\nconst StoryContainer = styled.ScrollView`\n padding: ${storyPadding}px;\n`;\n\nexport function Story({ title, contentContainerStyle, children }: StoryProps): ReactElement {\n return (\n <StoryContainer contentContainerStyle={contentContainerStyle}>\n <StoryTitle>{title}</StoryTitle>\n {children}\n </StoryContainer>\n );\n}\n","import type { ReactElement, ReactNode } from 'react';\nimport type { ViewProps } from 'react-native';\nimport styled from 'styled-components/native';\nimport { StoryTitle } from './StoryTitle';\n\ninterface StyledSectionProps extends ViewProps {}\n\nconst StyledSection = styled.View<StyledSectionProps>`\n margin-bottom: 32px;\n`;\n\nexport interface StorySectionProps extends ViewProps {\n title: ReactNode;\n children: ReactNode;\n /** @private */\n internalIsDemoSection?: boolean;\n}\n\nexport function StorySection({ title, children, internalIsDemoSection, ...props }: StorySectionProps): ReactElement {\n if (title === 'Demo' && !internalIsDemoSection) throw new Error('Use StorySection.Demo instead');\n return (\n <StyledSection {...props}>\n <StoryTitle.Level2>{title}</StoryTitle.Level2>\n {children}\n </StyledSection>\n );\n}\n\nconst StyledSubSection = styled.View`\n margin-bottom: 16px;\n`;\n\nfunction SubSection({ title, children, ...props }: StorySectionProps): ReactElement {\n return (\n <StyledSubSection {...props}>\n <StoryTitle.Level3>{title}</StoryTitle.Level3>\n {children}\n </StyledSubSection>\n );\n}\n\nconst StyledBlockSection = styled.View`\n margin-bottom: 16px;\n`;\n\nfunction BlockSection({ title, children, ...props }: StorySectionProps): ReactElement {\n return (\n <StyledBlockSection {...props}>\n <StoryTitle.Level4>{title}</StoryTitle.Level4>\n {children}\n </StyledBlockSection>\n );\n}\n\nexport interface DemoSectionProps {\n children: ReactNode;\n}\n\nconst StyledDemoSection = styled.View`\n margin-bottom: 64px;\n`;\n\nfunction DemoSection({ children }: DemoSectionProps): ReactElement {\n return (\n <StyledDemoSection>\n <StorySection internalIsDemoSection title=\"Demo\">\n {children}\n </StorySection>\n </StyledDemoSection>\n );\n}\n\nStorySection.SubSection = SubSection;\nStorySection.BlockSection = BlockSection;\n/** @deprecated use StorySection.Demo instead */\nStorySection.DemoSection = DemoSection;\nStorySection.Demo = DemoSection;\n\n/** @deprecated use StorySection instead */\nexport const DeprecatedSection = StorySection;\n","import type { ReactElement, ReactNode } from 'react';\nimport { StorySection } from './StorySection';\n\nexport interface StoryContainerProps {\n children: NonNullable<ReactNode>;\n state?: 'none' | 'active' | 'hover' | 'focus';\n platform?: 'all' | 'native' | 'web';\n title?: ReactNode;\n}\n\nexport function StoryContainer({\n children,\n title,\n state = 'none',\n platform = 'all',\n}: StoryContainerProps): ReactElement | null {\n if (platform === 'web') return null;\n\n return (\n <StorySection.BlockSection testID={state} title={title}>\n {children}\n </StorySection.BlockSection>\n );\n}\n","import type { StoryContext } from '@storybook/addons';\nimport type { ReactElement, ReactNode } from 'react';\nimport { Story as StoryContainer } from './Story';\n\nexport function StoryDecorator(storyFn: () => ReactNode, context: StoryContext): ReactElement {\n return <StoryContainer title={context.name}>{storyFn()}</StoryContainer>;\n}\n","import type { ReactElement, ReactNode } from 'react';\nimport { Children } from 'react';\nimport { Platform, useWindowDimensions } from 'react-native';\nimport styled from 'styled-components/native';\nimport type { TypographyProps } from '..';\nimport { StoryTitle } from './StoryTitle';\n\nconst SmallScreenRow = styled.View`\n flex-direction: column;\n margin: 0;\n`;\n\nconst SmallScreenCol = styled.View`\n padding: 8px 0 16px;\n`;\n\nconst FlexRow = styled.View`\n flex-direction: row;\n margin: 0 -4px 16px;\n`;\n\nconst FlexCol = styled.View`\n flex-grow: 1;\n flex-basis: 0;\n margin: 0 8px;\n`;\n\nexport interface StoryGridRowProps {\n children: NonNullable<ReactNode>;\n breakpoint?: 'small' | 'medium';\n}\n\nfunction StoryGridRow({ children, breakpoint = 'small' }: StoryGridRowProps): ReactElement {\n // eslint-disable-next-line unicorn/expiring-todo-comments\n // TODO use useBreakpoint instead\n const { width } = useWindowDimensions();\n const breakpointValue = breakpoint === 'small' ? 480 : 768;\n\n if (width < breakpointValue) {\n return (\n <SmallScreenRow>\n {Children.map(children, (child) => (\n <SmallScreenCol>{child}</SmallScreenCol>\n ))}\n </SmallScreenRow>\n );\n }\n\n return (\n <FlexRow>\n {Children.map(children, (child) => (\n <FlexCol>{child}</FlexCol>\n ))}\n </FlexRow>\n );\n}\n\nexport interface StoryGridColProps {\n children: NonNullable<ReactNode>;\n title?: string;\n titleColor?: TypographyProps['color'];\n platform?: 'all' | 'native' | 'web';\n}\n\nfunction StoryGridCol({ title, titleColor, children, platform = 'all' }: StoryGridColProps): ReactElement | null {\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 (\n <>\n {title ? (\n <StoryTitle.Level4 numberOfLines={1} color={titleColor}>\n {title}\n </StoryTitle.Level4>\n ) : null}\n {children}\n </>\n );\n}\n\nexport const StoryGrid = {\n Row: StoryGridRow,\n Col: StoryGridCol,\n};\n","import type { ReactElement, ReactNode } from 'react';\nimport styled from 'styled-components/native';\nimport type { TypographyColor } from '../typography/Typography';\nimport { Typography } from '../typography/Typography';\n\nexport type TagType = 'primary' | 'default' | 'danger';\n\nexport type TagVariant = 'outline' | 'fill';\n\nexport interface TagProps {\n label: ReactNode;\n type?: TagType;\n variant?: TagVariant;\n}\n\ninterface ContainerProps {\n type: TagType;\n variant: TagVariant;\n}\n\nconst Container = styled.View<ContainerProps>`\n background-color: ${({ theme, type, variant }) => theme.kitt.tag[type][variant].backgroundColor};\n border-width: ${({ theme, type, variant }) => theme.kitt.tag[type][variant].borderWidth}px;\n border-color: ${({ theme, type, variant }) => theme.kitt.tag[type][variant].borderColor};\n padding: ${({ theme }) => theme.kitt.tag.padding};\n border-radius: ${({ theme }) => theme.kitt.tag.borderRadius}px;\n align-self: flex-start;\n`;\n\nexport const getLabelColor = (type: TagType, variant: TagVariant): TypographyColor => {\n switch (type) {\n case 'danger': {\n return variant === 'outline' ? 'danger' : 'black';\n }\n case 'primary': {\n return 'primary';\n }\n case 'default': {\n return 'black';\n }\n default: {\n return 'black';\n }\n }\n};\n\nexport function Tag({ label, type = 'default', variant = 'fill' }: TagProps): ReactElement {\n return (\n <Container type={type} variant={variant}>\n <Typography.Text base=\"body-xsmall\" color={getLabelColor(type, variant)}>\n {label}\n </Typography.Text>\n </Container>\n );\n}\n","import type { DateTimePickerEvent } from '@react-native-community/datetimepicker';\nimport DateTimePicker from '@react-native-community/datetimepicker';\nimport type { ReactElement, ReactNode } from 'react';\nimport { useState } from 'react';\nimport { FormattedMessage } from 'react-intl';\nimport { Platform, Text } from 'react-native';\nimport { Button } from '../Button/Button';\nimport { Modal } from '../Modal/Modal';\nimport { Typography } from '../typography/Typography';\n\ninterface TitleProps {\n children: NonNullable<ReactNode>;\n}\n\nfunction Title({ children }: TitleProps): ReactElement {\n return (\n <Modal.Header>\n <Typography.Text base=\"body\" variant=\"bold\">\n {children}\n </Typography.Text>\n </Modal.Header>\n );\n}\n\ninterface ModalDateTimePickerProps {\n title?: ReactNode;\n visible?: boolean;\n value: Date;\n validateButtonLabel?: string;\n onClose: () => void;\n onChange: (newDate: Date) => void;\n}\n\nexport function ModalDateTimePicker({\n title,\n visible,\n value,\n validateButtonLabel,\n onChange,\n onClose,\n}: ModalDateTimePickerProps): ReactElement {\n const [currentValue, setCurrentValue] = useState(value);\n\n // Prevent unsynced value between the modal and its parent state\n const handleClose = (): void => {\n setCurrentValue(value);\n onClose();\n };\n\n const handleSubmit = (): void => {\n onChange(currentValue);\n };\n\n return (\n <Modal visible={Boolean(visible)} onClose={handleClose}>\n {visible ? (\n <>\n {title ? <Title>{title}</Title> : null}\n\n <Modal.Body>\n <DateTimePicker\n is24Hour\n testID=\"date-picker-native-element\"\n value={currentValue}\n mode=\"time\"\n display={Platform.OS === 'ios' ? 'spinner' : 'default'}\n onChange={(_event: DateTimePickerEvent, date?: Date) =>\n setCurrentValue((prev) => {\n return date || prev;\n })\n }\n />\n </Modal.Body>\n <Modal.Footer>\n <Button stretch type=\"primary\" onPress={handleSubmit}>\n {validateButtonLabel ? (\n <Text>{validateButtonLabel}</Text>\n ) : (\n <FormattedMessage id=\"kitt-universal.ModalDateTimePicker.confirm\" defaultMessage=\"Valider\" />\n )}\n </Button>\n </Modal.Footer>\n </>\n ) : null}\n </Modal>\n );\n}\n","import type { InputUIState } from '@ornikar/kitt-universal';\nimport { useMemo, useState } from 'react';\n\nexport const timePickerPlaceholder = '--:--';\n\nexport const formatNumberToTimeString = (time: number): string => `${String(time).padStart(2, '0')}`;\n\nexport const formatDateToTimeString = (date: Date): string =>\n `${formatNumberToTimeString(date.getHours())}:${formatNumberToTimeString(date.getMinutes())}`;\n\nexport const useTimePicker = (\n value: Date | null,\n onChange: (time?: Date | null) => void,\n onBlur: () => void,\n disabled: boolean,\n defaultValue?: Date | null,\n isDefaultVisible?: boolean,\n): {\n displayedValue: string;\n dateTimePickerValue: Date;\n timePickerState: InputUIState;\n isTimePickerModalVisible: boolean;\n handleInputPress: () => void;\n handleModalClose: () => void;\n handleTimeChange: (date?: Date) => void;\n} => {\n const [isTimePickerModalVisible, setIsTimePickerModalVisible] = useState<boolean>(Boolean(isDefaultVisible));\n\n const todayAtNoon = useMemo(() => {\n const now = new Date(2000, 0, 1, 12);\n return new Date(now.getFullYear(), now.getMonth(), now.getDay(), 12);\n }, []);\n\n const defaultDate = defaultValue || todayAtNoon;\n const handleInputPress = (): void => {\n if (disabled) {\n return;\n }\n setIsTimePickerModalVisible(true);\n };\n\n const handleTimeChange = (date?: Date | null): void => {\n setIsTimePickerModalVisible(false);\n\n onChange(date || defaultDate);\n onBlur();\n };\n\n const dateTimePickerValue = value || defaultDate;\n const displayedValue = value === null ? timePickerPlaceholder : formatDateToTimeString(dateTimePickerValue);\n const timePickerState = isTimePickerModalVisible ? 'focus' : 'default';\n\n return {\n dateTimePickerValue,\n displayedValue,\n timePickerState,\n isTimePickerModalVisible,\n handleInputPress,\n handleTimeChange,\n handleModalClose: () => setIsTimePickerModalVisible(false),\n };\n};\n","import type { TextInputMixinProps } from '@ornikar/kitt-universal';\nimport type { DateTimePickerEvent } from '@react-native-community/datetimepicker';\nimport DateTimePicker from '@react-native-community/datetimepicker';\nimport type { ReactElement, ReactNode } from 'react';\nimport { Platform } from 'react-native';\nimport styled from 'styled-components/native';\nimport { styledTextInputMixin } from '../forms/styledTextInputMixin';\nimport { Typography } from '../typography/Typography';\nimport { ModalDateTimePicker } from './ModalDateTimePicker';\nimport { timePickerPlaceholder, useTimePicker } from './useTimePicker';\n\ninterface ContainerProps extends TextInputMixinProps {}\n\nconst Container = styled.Pressable<ContainerProps>`\n ${styledTextInputMixin}\n width: 100px;\n height: 40px;\n justify-content: center;\n align-items: center;\n`;\n\nexport type TimePickerValue = Date | null | undefined;\n\nexport interface TimePickerProps {\n title?: ReactNode;\n state?: TextInputMixinProps['$state'];\n disabled?: boolean;\n forceDefaultValue?: TimePickerValue;\n value?: Date | '' | null;\n validateButtonLabel?: string;\n isDefaultVisible?: boolean;\n onChange: (time: TimePickerValue) => void;\n onBlur: () => void;\n}\n\nexport function TimePicker({\n title,\n state = 'default',\n disabled = false,\n forceDefaultValue,\n value,\n validateButtonLabel,\n isDefaultVisible,\n onChange,\n onBlur,\n}: TimePickerProps): ReactElement {\n const {\n dateTimePickerValue,\n displayedValue,\n timePickerState,\n handleInputPress,\n handleModalClose,\n handleTimeChange,\n isTimePickerModalVisible,\n } = useTimePicker(value || null, onChange, onBlur, disabled, forceDefaultValue, isDefaultVisible);\n\n return (\n <Container\n $state={timePickerState === 'default' ? state : timePickerState}\n accessibilityRole=\"button\"\n onPress={handleInputPress}\n >\n <Typography.Text base=\"body\" color={displayedValue === timePickerPlaceholder ? 'black-light' : 'black'}>\n {displayedValue}\n </Typography.Text>\n\n {Platform.OS === 'android' && isTimePickerModalVisible ? (\n <DateTimePicker\n is24Hour\n testID=\"date-picker-native-element\"\n value={dateTimePickerValue}\n mode=\"time\"\n display=\"default\"\n onChange={(_event: DateTimePickerEvent, date?: Date) => handleTimeChange(date)}\n />\n ) : null}\n\n {Platform.OS !== 'android' ? (\n <ModalDateTimePicker\n title={title}\n visible={isTimePickerModalVisible}\n value={dateTimePickerValue}\n validateButtonLabel={validateButtonLabel}\n onChange={handleTimeChange}\n onClose={handleModalClose}\n />\n ) : null}\n </Container>\n );\n}\n","import { TooltipArrowIcon } from '@ornikar/kitt-icons';\nimport type { ReactElement, ReactNode } from 'react';\nimport type { ViewProps } from 'react-native';\nimport { View } from 'react-native';\nimport styled, { useTheme } from 'styled-components/native';\nimport { Typography } from '../typography/Typography';\nimport type { TooltipPosition } from './Tooltip';\n\nconst StyledTooltipView = styled.View`\n align-items: center;\n`;\n\nconst StyledTooltipContent = styled.View`\n background-color: ${({ theme }) => theme.kitt.tooltip.backgroundColor};\n border-radius: ${({ theme }) => theme.kitt.tooltip.borderRadius}px;\n opacity: ${({ theme }) => theme.kitt.tooltip.opacity};\n padding: ${({ theme }) => `${theme.kitt.tooltip.verticalPadding}px ${theme.kitt.tooltip.horizontalPadding}px`};\n`;\n\ninterface StyledArrowProps {\n $position: TooltipPosition;\n}\n\nfunction ArrowView(props: ViewProps): ReactElement {\n const theme = useTheme();\n return (\n <View {...props}>\n <TooltipArrowIcon color={theme.kitt.tooltip.backgroundColor} />\n </View>\n );\n}\n\nconst StyledArrow = styled(ArrowView)<StyledArrowProps>`\n color: ${({ theme }) => theme.kitt.tooltip.backgroundColor};\n transform: ${({ $position }) => `rotate(${$position === 'bottom' ? 180 : 0}deg)`};\n`;\n\nexport interface TooltipViewProps {\n children: NonNullable<ReactNode>;\n position: TooltipPosition;\n}\n\nexport function TooltipView({ children, position }: TooltipViewProps): ReactElement {\n return (\n <StyledTooltipView>\n {position === 'bottom' ? <StyledArrow $position={position} /> : null}\n <StyledTooltipContent>\n <Typography.Text base=\"body\" color=\"white\">\n {children}\n </Typography.Text>\n </StyledTooltipContent>\n {position === 'top' ? <StyledArrow $position={position} /> : null}\n </StyledTooltipView>\n );\n}\n","import type { TooltipProps } from '..';\nimport type { TooltipPosition } from './Tooltip';\n\nexport const tooltipDefaultPosition: TooltipPosition = 'top';\nexport const tooltipDefaultFloatingStrategy: TooltipProps['floatingStrategy'] = {\n web: 'absolute',\n};\n","import { flip, offset, shift, useFloating } from '@floating-ui/react-native';\nimport type { ReactElement, ReactNode } from 'react';\nimport { useEffect } from 'react';\nimport { Pressable, StyleSheet, View } from 'react-native';\nimport Animated, { useAnimatedStyle, useSharedValue, withSpring } from 'react-native-reanimated';\nimport styled, { useTheme } from 'styled-components/native';\nimport { TooltipView } from './TooltipView';\nimport { tooltipDefaultPosition } from './tooltipUtils';\n\nexport type TooltipPosition = 'bottom' | 'top';\nexport type WebFloatingPosition = 'fixed' | 'absolute';\n\n// Since the tooltip use absolute positionning, we need a parent to provide the relative root\nconst TooltipContainer = styled.View`\n position: relative;\n align-self: baseline;\n`;\n\nexport interface TooltipProps {\n children: NonNullable<ReactNode>;\n content: NonNullable<ReactNode>;\n floatingPadding?: number;\n position?: TooltipPosition;\n /**\n * @description\n * This value init the internal visibile state of the tooltip. This is mainly used for testing purpose.\n */\n defaultVisible?: boolean;\n // eslint-disable-next-line react/no-unused-prop-types\n fullWidth?: boolean;\n /**\n * @default absolute\n * @description\n * Specific position strategy to apply to the tooltip.\n * Might be usefull when dealing with edge case (see https://floating-ui.com/docs/misc#z-index-stacking).\n */\n // eslint-disable-next-line react/no-unused-prop-types\n floatingStrategy?: {\n web: WebFloatingPosition;\n };\n onUpdate?: (tooltipConfig: any) => void;\n}\n\n// eslint-disable-next-line unicorn/expiring-todo-comments\n// TODO : update position on scroll in future iteration\nexport function Tooltip({\n children,\n defaultVisible,\n position = tooltipDefaultPosition,\n content,\n floatingPadding,\n onUpdate,\n}: TooltipProps): ReactElement {\n const theme = useTheme();\n const padding = floatingPadding || theme.kitt.tooltip.floatingPadding;\n\n const pressed = useSharedValue(defaultVisible);\n\n const opacityStyles = useAnimatedStyle(() => {\n return {\n opacity: withSpring(pressed.value ? theme.kitt.tooltip.opacity : 0),\n };\n });\n\n const handlePress = (): void => {\n pressed.value = !pressed.value;\n };\n\n const { x, y, reference, floating, update, refs, middlewareData } = useFloating({\n placement: position,\n middleware: [offset(padding), shift(), flip({ padding })],\n });\n\n useEffect(() => {\n if (!onUpdate) return;\n onUpdate({\n x,\n y,\n reference,\n floating,\n strategy: 'absolute',\n update,\n refs,\n middlewareData,\n });\n }, [x, y, reference, floating, update, refs, middlewareData, onUpdate]);\n\n return (\n <TooltipContainer>\n <View ref={reference}>\n <Pressable accessibilityRole=\"button\" onPress={handlePress}>\n {children}\n </Pressable>\n </View>\n\n <View\n ref={floating}\n accessibilityElementsHidden={!pressed.value}\n importantForAccessibility={pressed.value === true ? 'auto' : 'no-hide-descendants'}\n style={{\n ...StyleSheet.absoluteFillObject,\n top: y && position === 'bottom' ? y : undefined,\n bottom: y && position === 'top' ? y : undefined,\n left: x ?? 0,\n }}\n >\n <Animated.View style={[opacityStyles]}>\n <TooltipView position={position}>{content}</TooltipView>\n </Animated.View>\n </View>\n </TooltipContainer>\n );\n}\n\nTooltip.View = TooltipView;\n","import { styled as styledLinaria } from '@linaria/react';\nimport type { ReactElement } from 'react';\nimport { useMemo } from 'react';\nimport type { DefaultTheme } from 'styled-components/native';\nimport { useTheme } from 'styled-components/native';\nimport type { Entries } from 'type-fest';\nimport type { TypographyTypeConfig } from 'themes/late-ocean/typography';\nimport type { EmojiProps } from '../Emoji/Emoji';\nimport { Emoji } from '../Emoji/Emoji';\nimport { KittBreakpointNameEnum } from '../KittBreakpoints';\nimport { StyleWebWrapper } from '../utils/StyleWebWrapper';\nimport { withTheme } from '../utils/withTheme';\nimport type { TypographyBreakpointType, TypographyType } from './Typography';\nimport { getTypographyTypeConfigKeyFromTypeName, isTypographyHeader } from './Typography';\n\ninterface EmojiWebWrapperProps {\n theme: DefaultTheme;\n}\n\nconst EmojiWebWrapper = withTheme(styledLinaria.span<EmojiWebWrapperProps>`\n & > * {\n transform: translateY(20%);\n }\n`);\n\nfunction getTypographyTypeConfig(type: TypographyType, theme: DefaultTheme): TypographyTypeConfig {\n if (isTypographyHeader(type, undefined)) {\n return theme.kitt.typography.types.headers.configs[type];\n }\n\n return theme.kitt.typography.types.bodies.configs[type];\n}\n\ninterface Sizes {\n size: EmojiProps['size'];\n marginLeft: NonNullable<EmojiProps['_web']>['marginLeft'];\n marginRight: NonNullable<EmojiProps['_web']>['marginRight'];\n}\n\nfunction calcSizesFromType(type: TypographyBreakpointType, theme: DefaultTheme): Sizes {\n const typeWithMediumForced = {\n ...type,\n medium: type.medium || type.small || type.base,\n };\n\n const size: Sizes['size'] = {\n base: getTypographyTypeConfig(type.base ?? 'body', theme).baseAndSmall.fontSize,\n };\n\n [\n KittBreakpointNameEnum.SMALL,\n KittBreakpointNameEnum.MEDIUM,\n KittBreakpointNameEnum.LARGE,\n KittBreakpointNameEnum.WIDE,\n ].forEach((typeName) => {\n const value = typeWithMediumForced[typeName];\n if (value) {\n size[typeName] = getTypographyTypeConfig(value, theme)[getTypographyTypeConfigKeyFromTypeName(typeName)].fontSize;\n }\n });\n\n const marginLeft: Sizes['marginLeft'] = {};\n const marginRight: Sizes['marginRight'] = {};\n\n (Object.entries(size) as Entries<typeof size>).forEach(([key, value]) => {\n if (value) {\n marginLeft[key] = value / 10;\n marginLeft[key] = value / 20;\n }\n });\n\n return { size, marginLeft, marginRight };\n}\n\nexport interface TypographyEmojiProps extends TypographyBreakpointType {\n type?: TypographyBreakpointType;\n emoji: string;\n}\n\nexport function TypographyEmoji({\n emoji,\n base: legacyBase,\n small: legacySmall,\n medium: legacyMedium,\n large: legacyLarge,\n wide: legacyWide,\n type = { base: legacyBase, small: legacySmall, medium: legacyMedium, large: legacyLarge, wide: legacyWide },\n}: TypographyEmojiProps): ReactElement {\n const theme = useTheme();\n const { base, small, medium, large, wide } = type;\n const { size, marginLeft, marginRight } = useMemo(\n () => calcSizesFromType({ base, small, medium, large, wide }, theme),\n [base, small, medium, large, wide, theme],\n );\n\n return (\n <StyleWebWrapper as={EmojiWebWrapper}>\n <Emoji\n size={size}\n emoji={emoji}\n alignSelf=\"center\"\n _web={{\n /* Style Twemoji: https://github.com/twitter/twemoji#inline-styles */\n marginLeft,\n marginRight,\n }}\n />\n </StyleWebWrapper>\n );\n}\n","import { styled as styledLinaria } from '@linaria/react';\nimport type { ReactElement, ReactNode } from 'react';\nimport type { TextProps } from 'react-native';\nimport { Platform } from 'react-native';\nimport type { DefaultTheme } from 'styled-components/native';\nimport styled from 'styled-components/native';\nimport type { Except } from 'type-fest';\nimport { StyleWebWrapper } from '../utils/StyleWebWrapper';\nimport { withTheme } from '../utils/withTheme';\nimport type { TypographyPropsWithoutRole } from './Typography';\nimport { Typography } from './Typography';\n\ninterface TypographyLinkWebWrapperProps {\n theme: DefaultTheme;\n $hasNoUnderline?: boolean;\n}\n\nconst TypographyLinkWebWrapper = withTheme(styledLinaria.span<TypographyLinkWebWrapperProps>`\n & > *:hover,\n & > *:active,\n .kitt-hover & > * {\n text-decoration: none;\n }\n\n & > *:hover,\n & > *:active,\n .kitt-hover & > * {\n text-decoration: ${({ $hasNoUnderline }) => ($hasNoUnderline ? 'underline' : 'none')}\n }\n`);\n\ninterface StyledLinkProps {\n $disabled?: boolean;\n $hasNoUnderline?: boolean;\n}\n\nconst StyledLink = styled.Text<StyledLinkProps & TextProps>`\n text-decoration: ${({ $hasNoUnderline }) => ($hasNoUnderline ? 'none' : 'underline')};\n\n ${({ $disabled }) => {\n if (Platform.OS !== 'web') return undefined;\n\n return `\n text-decoration-color: inherit;\n transition: color 0.2s ease-in-out;\n cursor: ${$disabled ? 'not-allowed' : 'pointer'};\n `;\n }};\n\n ${({ $disabled, theme }) => {\n if (!$disabled) return undefined;\n return `color: ${theme.kitt.typography.link.disabledColor};`;\n }};\n`;\n\nexport interface TypographyLinkProps extends Except<TypographyPropsWithoutRole, 'children'> {\n children: NonNullable<ReactNode>;\n disabled?: boolean;\n noUnderline?: boolean;\n variant: NonNullable<TypographyPropsWithoutRole['variant']>;\n href?: TextProps['href'];\n hrefAttrs?: TextProps['hrefAttrs'];\n onPress: TextProps['onPress'];\n}\n\nexport function TypographyLink({\n children,\n disabled,\n noUnderline,\n href,\n hrefAttrs,\n onPress,\n ...otherProps\n}: TypographyLinkProps): ReactElement {\n return (\n <Typography {...otherProps} accessibilityRole=\"none\">\n <StyleWebWrapper as={TypographyLinkWebWrapper} $hasNoUnderline={noUnderline}>\n <StyledLink\n $disabled={disabled}\n $hasNoUnderline={noUnderline}\n href={href}\n hrefAttrs={hrefAttrs}\n accessibilityRole=\"link\"\n dataSet={{\n // remove data-kitt-universal when we delete kitt web. See See :global(a) in Link styles.module.css\n 'kitt-universal': 'true',\n }}\n onPress={disabled ? undefined : onPress}\n >\n {children}\n </StyledLink>\n </StyleWebWrapper>\n </Typography>\n );\n}\n","export const hex2rgba = (hex: string, alpha = 1): string => {\n const r = parseInt(hex.slice(1, 3), 16);\n const g = parseInt(hex.slice(3, 5), 16);\n const b = parseInt(hex.slice(5, 7), 16);\n\n return `rgba(${r}, ${g}, ${b}, ${alpha})`;\n};\n","import { makeDecorator } from '@storybook/addons';\nimport type { ReactElement, ReactNode } from 'react';\nimport { ThemeProvider } from 'styled-components/native';\nimport type { KittNativeBaseProviderProps } from '../../native-base/KittNativeBaseProvider';\nimport { KittNativeBaseProvider } from '../../native-base/KittNativeBaseProvider';\nimport type { KittTheme } from '../../useKittTheme';\nimport { useKittTheme } from '../../useKittTheme';\n\ndeclare module 'styled-components' {\n export interface DefaultTheme extends KittTheme {}\n}\n\ninterface KittThemeProviderProps {\n isSSR?: KittNativeBaseProviderProps['isSSR'];\n children: ReactNode;\n}\n\nexport function KittThemeProvider({ isSSR, children }: KittThemeProviderProps): ReactElement {\n const theme = useKittTheme();\n return (\n <ThemeProvider theme={theme}>\n <KittNativeBaseProvider theme={theme} isSSR={isSSR}>\n {children}\n </KittNativeBaseProvider>\n </ThemeProvider>\n );\n}\n\nexport const KittThemeDecorator = makeDecorator({\n name: 'ThemeDecorator',\n parameterName: 'theme',\n wrapper: (storyFn, context, { options = {}, parameters = {} }) => {\n return (\n <KittThemeProvider isSSR={parameters.isSSR ?? (options as any).isSSR}>\n {storyFn(context) as ReactNode}\n </KittThemeProvider>\n );\n },\n});\n","import type { ReactElement, ReactNode } from 'react';\nimport type { MatchWindowSizeOptions } from './useMatchWindowSize';\nimport { useMatchWindowSize } from './useMatchWindowSize';\n\ninterface MatchWindowSizeProps extends MatchWindowSizeOptions {\n children: ReactNode;\n}\n\nexport function MatchWindowSize({ children, ...matchWindowSizeOptions }: MatchWindowSizeProps): ReactElement | null {\n const match = useMatchWindowSize(matchWindowSizeOptions);\n if (!match) return null;\n return children as ReactElement;\n}\n","import type { ComponentType, ForwardRefExoticComponent, PropsWithoutRef, RefAttributes } from 'react';\nimport { forwardRef } from 'react';\nimport { useTheme } from 'styled-components/native';\nimport type { DefaultTheme } from 'styled-components/native';\nimport type { Except } from 'type-fest';\n\n// type $Without<T, K extends keyof any> = T extends any ? Pick<T, Exclude<keyof T, K>> : never;\n// type $DeepPartial<T> = { [P in keyof T]?: $DeepPartial<T[P]> };\n\n// export function withTheme<Props extends { theme: DefaultTheme }, C>(\n// WrappedComponent: ComponentType<Props> & C,\n// ): ComponentType<SetOptional<Props, 'theme'>> & hoistNonReactStatics.NonReactStatics<typeof WrappedComponent> {\n// return function ThemedComponent(props) {\n// const theme = useTheme();\n\n// return (<WrappedComponent theme={theme} {...(props as any)} />) as any;\n// };\n// }\n\nexport function withTheme<Props extends { theme: DefaultTheme }, T>(\n WrappedComponent: ComponentType<Props>,\n): ForwardRefExoticComponent<PropsWithoutRef<Except<Props, 'theme'>> & RefAttributes<T>> {\n // eslint-disable-next-line prefer-arrow-callback\n return forwardRef<T, Except<Props, 'theme'>>(function ThemedComponent(props, ref) {\n const theme = useTheme();\n\n return <WrappedComponent ref={ref} theme={theme} {...(props as any)} />;\n });\n}\n"],"names":["defaultIconSize","IconContainer","styled","View","$color","$size","$align","Icon","icon","size","align","color","clonedIcon","cloneElement","_jsx","KittBreakpoints","BASE","SMALL","MEDIUM","LARGE","WIDE","KittBreakpointsMax","KittBreakpointNameEnum","IsHeaderTypographyContext","createContext","undefined","TypographyColorContext","useTypographyColor","useContext","getTypographyTypeConfigKey","theme","isMediumOrAbove","responsive","matchWindowSize","minWidth","getTypographyTypeConfigKeyFromTypeName","breakpointName","isTypeHeader","type","startsWith","isTypographyHeader","isHeaderTypographyInContext","Error","createNativeBaseFontSize","typeWithMediumForced","medium","small","base","fontSizeForNativeBase","forEach","typeName","value","Typography","accessibilityRole","legacyBase","legacySmall","legacyMedium","legacyLarge","large","legacyWide","wide","variant","otherProps","hasTypographyAncestor","baseOrDefaultToBody","isHeader","nonNullableVariant","process","env","NODE_ENV","Object","entries","key","text","NBText","content","TypographyText","props","TypographyParagraph","Platform","OS","createHeading","level","defaultBase","TypographyHeading","displayName","Text","Paragraph","Header1","Header2","Header3","Header4","Header5","Header6","h1","h2","h3","h4","h5","getInitials","firstname","lastname","toUpperCase","StyledAvatarView","$isRound","$sizeVariant","kitt","avatar","borderRadius","$isLight","light","backgroundColor","AvatarContent","src","alt","isLight","sizeVariant","uri","width","height","Avatar","round","warn","message","console","deprecatedMessage","symbol","deprecation","replaceBy","replaceMessage","deprecatedInComponent","component","hasVariant","button","getVariantValuesIfExist","StyledPressable","Pressable","$isStretch","StyledAnimatedView","Animated","AnimatedButtonPressable","forwardRef","ref","children","disabled","$type","$variant","href","hrefAttrs","testID","onPress","useTheme","pressed","useSharedValue","pressedBackgroundColor","scale","scaleStyles","useAnimatedStyle","interpolateColor","transform","withSpring","active","handlePressInOut","pressIn","BaseStyledButtonPressable","maxWidth","minHeight","$isDisabled","contentPadding","defaultPadding","disabledPadding","xLarge","TypographyIconSpecifiedColor","typography","colors","TypographyIconInheritColor","TypographyIcon","isSubtle","getTextColorByType","StyledButtonText","StyledIconContainer","$iconPosition","spacing","ButtonIcon","iconPosition","StyledChildrenWithIcon","ButtonContentChildren","isDisabled","isWebSubtle","buttonIconSharedProps","_jsxs","ButtonContentContainer","$isIconOnly","$isSubtle","ButtonContent","Boolean","StyledDisabled","borderWidth","borderColor","allowedGhostTypes","getButtonSize","Button","stretch","sizeProp","__DEV__","includes","deprecatedProp","Container","card","Card","Emoji","emoji","alignSelf","_web","style","useMemo","parse","assetType","emojiData","Image","url","ExternalAppLink","Component","as","appScheme","appValue","onOpenAppError","rest","handleOnPress","e","Linking","canOpenURL","canOpen","defaultPrevented","openURL","err","error","Sms","phoneNumber","Tel","Mail","emailAddress","defaultOpenLinkBehavior","web","ExternalLink","openLinkBehavior","WebBrowser","lateOceanColorPalette","lateOcean","lateOceanLight1","lateOceanLight2","lateOceanLight3","warmEmbrace","warmEmbraceLight1","black1000","black800","black555","black200","black100","black50","black25","white","viride","englishVermillon","goldCrayola","aero","transparent","moonPurple","moonPurpleLight1","primary","primaryLight","accent","accentLight","success","correct","danger","info","warning","separator","hover","black","blackAnthracite","uiBackground","uiBackgroundLight","overlay","dark","fullscreenLoader","focus","transition","duration","timingFunction","hoverBackgroundColor","focusBorderColor","ghost","hoverColor","activeColor","subtle","secondary","feedbackMessage","checkbox","iconSize","checkedBorderColor","checkedBackgroundColor","markColor","datePicker","day","month","year","calcLineHeight","fontSize","lineHeightMultiplier","Math","createTypographyTypeConfig","baseAndSmallFontSize","mediumAndWideFontSize","baseAndSmall","lineHeight","mediumAndWide","kittColors","types","headers","fontFamily","regular","bold","fontWeight","fontStyle","configs","header1","header2","header3","header4","header5","bodies","body","link","disabledColor","inputStatesStyle","pending","valid","invalid","input","selection","placeholder","padding","horizontal","vertical","property","states","inputField","labelContainerPaddingBottom","iconMarginLeft","inputTag","labelColor","radio","unchecked","checked","innerSize","innerBackgroundColor","textArea","forms","fullScreenModal","header","paddingVertical","paddingHorizontal","iconButton","listItem","innerMargin","pageLoader","strokeWidth","fill","animation","delay","circleBackgroundFillDuration","filledCircleFillDuration","groupFilledCircleRotationDuration","filledCircleRotationDuration","fillEasingFunction","picker","ios","selected","android","shadows","skeleton","flareColor","animationDuration","tag","outline","tooltip","opacity","horizontalPadding","verticalPadding","floatingPadding","breakpoints","values","min","smallBreakpoint","mediumBreakpoint","largeBreakpoint","wideBreakpoint","max","palettes","maxHeight","hasWidthMatched","hasHeightMatched","useMatchWindowSize","options","useWindowDimensions","createWindowSizeHelper","dimensions","ifWindowSizeMatches","valueIfTrue","valueIfFalse","mapWindowWidth","widthList","slice","index","previousMinWidth","found","find","Number","useKittTheme","useWindowSize","kittTheme","CheckboxAndLabelPressableWrapper","CheckboxContainer","$isChecked","css","$hasLabel","Checkbox","onChange","onBlur","onFocus","hitSlop","id","handlePress","getInputUIState","isFocused","formState","styledTextInputMixin","$state","typeConfigKey","StyledTypographyText","ViewInput","$partName","DatePickerInputPart","partName","prefixWithZero","padStart","PartContainer","$isLast","DatePickerPressable","DatePickerInputs","state","internalForceState","handleModalOpen","currentValue","currentState","sharedPartProps","getDate","getMonth","getFullYear","DatePickerAndroid","pickerDefaultDate","pickerUITestID","isDefaultVisible","setIsFocused","setCurrentValue","handleClose","DateTimePickerAndroid","open","Date","now","timestamp","nativeEvent","date","onTouchCancel","useEffect","OverlayPressable","StyleSheet","absoluteFillObject","Overlay","BodyView","ModalBody","ScrollView","FooterView","ModalFooter","StyleWebWrapper","PressableIconButtonWebWrapper","StyledPressableIconButton","PressableIconButton","AnimatedIconButtonBackground","AnimatedViewContainer","PressableAnimatedContainer","accessibilityLabel","opacityStyles","IconButtonContentBorder","IconButtonContent","IconButton","OnCloseContext","HeaderView","LeftIconView","RightIconView","TitleView","isIconLeft","ModalHeader","left","right","onClose","ModalView","ContentView","Modal","visible","onEntered","onExited","NativeModal","Header","Body","Footer","getDatePickerDisplayMode","PlatformDateTimePicker","defaultDate","maximumDate","minimuDate","displayMode","iosProps","textColor","_event","ModalTitle","ModalPlatformDateTimePicker","title","isVisible","validateButtonLabel","useState","handleChange","newDate","prev","handleSubmit","DatePicker","pickerUITitle","pickerUIValidateButtonLabel","isPickerUIVisible","setIsPickerUIVisible","handleModalClose","InputTextContainer","StyledTextInput","TextInput","multiline","shouldHandleSingleLineOnIOS","$minHeight","RightInputContainer","InputText","autoCorrect","textContentType","autoComplete","keyboardType","onSubmitEditing","InputEmail","getColorFromState","InputFeedback","FieldContainer","FeedbackContainer","FieldLabelContainer","LabelContainer","InputField","label","labelFeedback","feedback","getIconColor","InputIcon","InputPressable","InputPassword","isPasswordDefaultVisible","setIsVisible","InputPhone","getTypographyColor","InputTagContainer","InputTag","typographyColor","Label","htmlFor","OuterRadio","SelectedOuterRadio","SelectedInnerRadio","Radio","TextArea","FullScreenModalBody","SideContainer","side","getHeaderHorizontalMediumPadding","insetTop","paddingTop","HeaderContent","leftWidth","rightWidth","windowWidth","sideElementMaxWidth","parentHorizontalPadding","parentHorizontalPaddingMedium","computeWidth","breakpointPadding","deltaMargin","abs","FullScreenModalHeader","useSafeAreaInsets","top","setLeftWidth","setRightWidth","handleLayoutChange","event","persist","layout","FullScreenModal","SpinningIcon","String","animationRef","useRef","Value","rotation","current","interpolate","inputRange","outputRange","loop","timing","toValue","easing","Easing","linear","useNativeDriver","start","stop","rotate","ListItemContent","SideContainerView","ListItemSideContainer","SideContentView","ListItemSideContent","ContainerView","withPadding","borders","ListItem","Wrapper","Fragment","wrapperProps","containerProps","Content","SideContent","LoaderIcon","IconContent","getColorByType","getIconButtonColor","messageType","StyledMessageContainer","$insets","$hasNoRadius","StyledDismissWrapper","StyledTextContent","$isCenteredText","StyledMessageContent","BaseMessage","hasNoRadius","centeredText","insets","onDismiss","Message","createKittSpaces","sizes","createKittNativeBaseCustomTheme","spaces","extendedTheme","extendTheme","radii","fromEntries","map","space","sm","MAX_SAFE_INTEGER","md","lg","xl","fontSizes","lineHeights","fontWeights","fonts","components","baseStyle","_light","_dark","KittNativeBaseProvider","isSSR","nativeBaseCustomTheme","Stack","NativeBaseStack","VStack","NativeBaseVStack","HStack","NativeBaseHStack","NativeBaseView","NativeBaseScrollView","NativeBasePressable","Notification","onDelete","AnimatedCircle","createAnimatedComponent","Circle","AnimatedLoaderCircle","progress","centerCoord","circlePerimeter","PI","strokeAnimation","useAnimatedProps","strokeDashoffset","AnimatedBackgroundCircle","x1","y1","x2","y2","withDelay","withTiming","bezier","isInfinitAnimation","AnimatedFillCircleContainer","withRepeat","rotationStyles","absoluteFill","shouldReverse","AnimatedFilledCircle","PageLoaderContainer","PageLoader","ContainerPressable","$isSelected","PickerItem","isSelected","Picker","initialValue","onValueSelected","setValue","NativePicker","itemValue","React","Children","child","item","newValue","handleValueSelected","Item","AnimatedLinearGradient","LinearGradient","SkeletonContent","isLoading","sharedX","inOut","ease","linearGradientStyle","translateX","x","y","SkeletonContainer","Skeleton","setWidth","Bar","Square","Flex","withConfig","shouldForwardProp","prop","defaultValidatorFn","direction","storyPadding","getBackgroundColorFromBlockColor","getTypographyColorFromBlockColor","StoryBlockBackgroundContext","StoryBlockColorContext","useStoryBlockColor","storyBlockColor","StyledStoryBlockView","background","StoryBlock","StoryTitleContainer","StorySubTitleContainer","StoryTitle","numberOfLines","StoryTitleLevel2","StoryTitleLevel3","StoryTitleLevel4","Level2","Level3","Level4","StoryContainer","Story","contentContainerStyle","StyledSection","StorySection","internalIsDemoSection","StyledSubSection","SubSection","StyledBlockSection","BlockSection","StyledDemoSection","DemoSection","Demo","DeprecatedSection","platform","StoryDecorator","storyFn","context","name","SmallScreenRow","SmallScreenCol","FlexRow","FlexCol","StoryGridRow","breakpoint","breakpointValue","StoryGridCol","titleColor","isNative","StoryGrid","Row","Col","getLabelColor","Tag","Title","ModalDateTimePicker","timePickerPlaceholder","formatNumberToTimeString","time","formatDateToTimeString","getHours","getMinutes","useTimePicker","defaultValue","isTimePickerModalVisible","setIsTimePickerModalVisible","todayAtNoon","getDay","dateTimePickerValue","displayedValue","timePickerState","handleInputPress","handleTimeChange","TimePicker","forceDefaultValue","StyledTooltipView","StyledTooltipContent","ArrowView","StyledArrow","$position","TooltipView","position","tooltipDefaultPosition","TooltipContainer","Tooltip","defaultVisible","onUpdate","useFloating","placement","middleware","offset","shift","flip","reference","floating","update","refs","middlewareData","strategy","bottom","EmojiWebWrapper","getTypographyTypeConfig","calcSizesFromType","marginLeft","marginRight","TypographyEmoji","TypographyLinkWebWrapper","StyledLink","$hasNoUnderline","$disabled","TypographyLink","noUnderline","hex2rgba","hex","alpha","r","parseInt","g","b","KittThemeProvider","KittThemeDecorator","makeDecorator","parameterName","wrapper","parameters","MatchWindowSize","matchWindowSizeOptions","match","withTheme","WrappedComponent"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index-browser-all.es.android.js","sources":["../src/Icon/Icon.tsx","../src/KittBreakpoints.ts","../src/typography/Typography.tsx","../src/Avatar/Avatar.tsx","../src/utils/warnings.ts","../src/Button/getVariantValuesIfExist.ts","../src/Button/AnimatedButtonPressable.tsx","../src/Button/BaseStyledButtonPressable.tsx","../src/typography/TypographyIcon.tsx","../src/Button/isSubtle.ts","../src/Button/ButtonContent.tsx","../src/Button/StyledDisabled.tsx","../src/Button/Button.tsx","../src/Card/Card.tsx","../src/Emoji/Emoji.tsx","../src/ExternalAppLink/ExternalAppLink.tsx","../src/ExternalLink/ExternalLinkOpenLinkBehavior.ts","../src/ExternalLink/ExternalLink.tsx","../src/themes/palettes/lateOceanColorPalette.ts","../src/themes/late-ocean/colors.ts","../src/themes/late-ocean/avatar.ts","../src/themes/late-ocean/button.ts","../src/themes/late-ocean/card.ts","../src/themes/late-ocean/feedback.ts","../src/themes/late-ocean/checkbox.ts","../src/themes/late-ocean/datePicker.ts","../src/themes/late-ocean/typography.ts","../src/themes/late-ocean/input.ts","../src/themes/late-ocean/inputField.ts","../src/themes/late-ocean/inputTag.ts","../src/themes/late-ocean/radio.ts","../src/themes/late-ocean/textArea.ts","../src/themes/late-ocean/forms.ts","../src/themes/late-ocean/fullScreenModal.ts","../src/themes/late-ocean/iconButton.ts","../src/themes/late-ocean/listItem.ts","../src/themes/late-ocean/navigationModal.ts","../src/themes/late-ocean/pageLoader.ts","../src/themes/late-ocean/picker.ts","../src/themes/late-ocean/shadows.ts","../src/themes/late-ocean/skeleton.ts","../src/themes/late-ocean/tag.ts","../src/themes/late-ocean/tooltip.ts","../src/themes/default.ts","../src/utils/windowSize/useMatchWindowSize.ts","../src/utils/windowSize/createWindowSizeHelper.ts","../src/useKittTheme.tsx","../src/forms/Checkbox/Checkbox.tsx","../src/forms/utils.ts","../src/forms/styledTextInputMixin.ts","../src/forms/DatePicker/DatePickerInputPart.tsx","../src/forms/DatePicker/DatePickerInputs.tsx","../src/forms/DatePicker/DatePickerAndroid.tsx","../src/Overlay/Overlay.tsx","../src/Modal/Body.tsx","../src/Modal/Footer.tsx","../src/utils/StyleWebWrapper.tsx","../src/IconButton/PressableIconButton.tsx","../src/IconButton/PressableAnimatedContainer.tsx","../src/IconButton/IconButton.tsx","../src/Modal/OnCloseContext.ts","../src/Modal/Header.tsx","../src/Modal/Modal.tsx","../src/forms/DatePicker/PlatformDateTimePicker.tsx","../src/forms/DatePicker/ModalPlatformDateTimePicker.tsx","../src/forms/DatePicker/DatePicker.tsx","../src/forms/InputText/InputTextContainer.tsx","../src/forms/InputText/InputText.tsx","../src/forms/InputEmail/InputEmail.tsx","../src/forms/InputFeedback/InputFeedback.tsx","../src/forms/InputField/InputField.tsx","../src/forms/InputIcon/InputIcon.tsx","../src/forms/InputPressable/InputPressable.tsx","../src/forms/InputPassword/InputPassword.tsx","../src/forms/InputPhone/InputPhone.tsx","../src/forms/InputTag/InputTag.tsx","../src/forms/Label/Label.tsx","../src/forms/Radio/Radio.tsx","../src/forms/TextArea/TextArea.tsx","../src/FullScreenModal/Body.tsx","../src/FullScreenModal/Header.tsx","../src/FullScreenModal/FullScreenModal.tsx","../src/Icon/SpinningIcon.tsx","../src/ListItem/ListItemContent.tsx","../src/ListItem/ListItemSideContent.tsx","../src/ListItem/ListItem.tsx","../src/LoaderIcon/LoaderIcon.tsx","../src/BaseMessage/IconContent.tsx","../src/BaseMessage/helper.ts","../src/BaseMessage/BaseMessage.tsx","../src/Message/Message.tsx","../src/ModalBehaviour/ModalBehaviourPortal.tsx","../src/ModalBehaviour/OnCloseContext.tsx","../src/ModalBehaviour/ModalBehaviour.tsx","../src/native-base/KittNativeBaseProvider.tsx","../src/native-base/layout.ts","../src/native-base/primitives.ts","../src/NavigationModal/ContentPadding.tsx","../src/NavigationModal/Body.tsx","../src/NavigationModal/Footer.tsx","../src/NavigationModal/Header.tsx","../src/NavigationModal/NavigationModalContainer.tsx","../src/NavigationModal/NavigationModal.tsx","../src/Notification/Notification.tsx","../src/PageLoader/AnimatedLoaderCircle.tsx","../src/PageLoader/AnimatedBackgroundCircle.tsx","../src/PageLoader/AnimatedFillCircleContainer.tsx","../src/PageLoader/AnimatedFillCircle.tsx","../src/PageLoader/PageLoader.tsx","../src/Picker/PickerItem.tsx","../src/Picker/Picker.tsx","../src/Skeleton/SkeletonContent.tsx","../src/Skeleton/Skeleton.tsx","../src/story-components/Flex.tsx","../src/story-components/theme.ts","../src/story-components/StoryBlock.tsx","../src/story-components/StoryTitle.tsx","../src/story-components/Story.tsx","../src/story-components/StorySection.tsx","../src/story-components/StoryContainer.tsx","../src/story-components/StoryDecorator.tsx","../src/story-components/StoryGrid.tsx","../src/Tag/Tag.tsx","../src/TimePicker/ModalDateTimePicker.tsx","../src/TimePicker/useTimePicker.ts","../src/TimePicker/TimePicker.tsx","../src/Tooltip/TooltipView.tsx","../src/Tooltip/tooltipUtils.ts","../src/Tooltip/Tooltip.tsx","../src/typography/TypographyEmoji.tsx","../src/typography/TypographyLink.tsx","../src/utils/hexToRgba.ts","../src/utils/storybook/KittThemeDecorator.tsx","../src/utils/windowSize/MatchWindowSize.tsx","../src/utils/withTheme.tsx"],"sourcesContent":["import type { ReactElement } from 'react';\nimport { cloneElement } from 'react';\nimport type { ViewStyle } from 'react-native';\nimport styled from 'styled-components/native';\n\nexport interface IconProps {\n icon: ReactElement;\n size?: number;\n color: string;\n align?: ViewStyle['alignSelf'];\n testID?: ViewStyle['testID'];\n}\n\ninterface IconContainerProps {\n $align?: ViewStyle['alignSelf'];\n $size: number;\n $color: string;\n}\n\nexport const defaultIconSize = 20;\n\nexport const IconContainer = styled.View<IconContainerProps>`\n color: ${({ $color }) => $color};\n width: ${({ $size }) => $size}px;\n height: ${({ $size }) => $size}px;\n align-self: ${({ $align = 'auto' }) => $align};\n`;\n\nexport function Icon({ icon, size = defaultIconSize, align, color }: IconProps): ReactElement {\n const clonedIcon = cloneElement(icon, { color });\n\n return (\n <IconContainer $align={align} $size={size} $color={color}>\n {clonedIcon}\n </IconContainer>\n );\n}\n","export const KittBreakpoints = {\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};\n\nexport const KittBreakpointsMax = {\n /**\n * max-width: 479px\n */\n BASE: KittBreakpoints.SMALL - 1,\n /**\n * max-width: 767px\n */\n SMALL: KittBreakpoints.MEDIUM - 1,\n /**\n * max-width: 1023px\n */\n MEDIUM: KittBreakpoints.LARGE - 1,\n /**\n * max-width: 1279px\n */\n LARGE: KittBreakpoints.WIDE - 1,\n};\n\nexport type KittBreakpoint = typeof KittBreakpoints[keyof typeof KittBreakpoints];\nexport type KittBreakpointMax = typeof KittBreakpointsMax[keyof typeof KittBreakpointsMax];\n\nexport enum KittBreakpointNameEnum {\n BASE = 'base',\n SMALL = 'small',\n MEDIUM = 'medium',\n LARGE = 'large',\n WIDE = 'wide',\n}\n\nexport type KittResponsiveProp<Value> = Record<KittBreakpointNameEnum.BASE, Value> &\n Partial<Record<Exclude<KittBreakpointNameEnum, KittBreakpointNameEnum.BASE>, Value>>;\n\nexport type KittResponsivePropOrValue<Value> = KittResponsiveProp<Value> | Value;\n","import type { ITextProps } from 'native-base';\nimport { Text as NBText } from 'native-base';\nimport type { FC, ReactElement, ReactNode } from 'react';\nimport { createContext, useContext } from 'react';\nimport type { TextProps } from 'react-native';\nimport { Platform } from 'react-native';\nimport type { Except, SetOptional } from 'type-fest';\nimport type { KittResponsiveProp } from '../KittBreakpoints';\nimport { KittBreakpointNameEnum, KittBreakpoints } from '../KittBreakpoints';\nimport type { TypographyTypeConfig } from '../themes/late-ocean/typography';\nimport type { KittTheme } from '../useKittTheme';\n\nexport type TypographyHeaderType = `header${'1' | '2' | '3' | '4' | '5'}`;\nexport type TypographyBodyType = 'body' | `body-${'large' | 'medium' | 'small' | 'xsmall'}`;\nexport type TypographyType = TypographyHeaderType | TypographyBodyType;\ntype TypographyVariant = 'regular' | 'bold';\nexport type TypographyColor =\n | 'black'\n | 'black-anthracite'\n | 'black-light'\n | 'white'\n | 'white-light'\n | 'primary'\n | 'primary-light'\n | 'accent'\n | 'success'\n | 'danger';\n\nconst IsHeaderTypographyContext = createContext<boolean | undefined>(undefined);\nconst TypographyColorContext = createContext<TypographyColor>('black');\n\nexport function useTypographyColor(): TypographyColor {\n return useContext(TypographyColorContext);\n}\n\n/** @deprecated use native-base instead for SSR compatibility */\nexport const getTypographyTypeConfigKey = (theme: KittTheme): keyof TypographyTypeConfig => {\n const isMediumOrAbove = theme.responsive.matchWindowSize({ minWidth: KittBreakpoints.MEDIUM });\n return isMediumOrAbove ? 'mediumAndWide' : 'baseAndSmall';\n};\n\nexport function getTypographyTypeConfigKeyFromTypeName(\n breakpointName: KittBreakpointNameEnum,\n): keyof TypographyTypeConfig {\n return breakpointName === 'base' || breakpointName === 'small' ? 'baseAndSmall' : 'mediumAndWide';\n}\n\nconst isTypeHeader = (type: TypographyType): type is TypographyHeaderType => type.startsWith('header');\nexport const isTypographyHeader = (\n type: TypographyType | undefined,\n isHeaderTypographyInContext: boolean | undefined,\n): type is TypographyHeaderType => {\n if (type) return isTypeHeader(type);\n if (isHeaderTypographyInContext != null) return isHeaderTypographyInContext;\n throw new Error('You must set a \"base\" prop or wrap this Typography in one that does.');\n};\n\nexport type TypographyBreakpointType = Partial<KittResponsiveProp<TypographyType>>;\n\nexport interface TypographyProps extends TypographyBreakpointType, Except<TextProps, 'accessibilityRole'> {\n type?: TypographyBreakpointType;\n // Find mapping for web here: https://www.w3.org/TR/html-aria/\n accessibilityRole: NonNullable<TextProps['accessibilityRole']> | 'paragraph' | null;\n /** Default to regular for bodies and bold of headers. Is not inherited. */\n variant?: TypographyVariant;\n /** Inherited from parent Typography if not specified, or black if no Typography parent found. */\n color?: TypographyColor;\n children: ReactNode;\n textAlign?: ITextProps['textAlign'];\n textTransform?: ITextProps['textTransform'];\n}\nexport type TypographyPropsWithoutRole = Except<TypographyProps, 'accessibilityRole'>;\n\nexport function createNativeBaseFontSize(type: TypographyBreakpointType): ITextProps['fontSize'] {\n const typeWithMediumForced = {\n ...type,\n medium: type.medium || type.small || type.base,\n };\n\n const fontSizeForNativeBase: ITextProps['fontSize'] = {};\n [\n KittBreakpointNameEnum.BASE,\n KittBreakpointNameEnum.SMALL,\n KittBreakpointNameEnum.MEDIUM,\n KittBreakpointNameEnum.LARGE,\n KittBreakpointNameEnum.WIDE,\n ].forEach((typeName) => {\n const value = typeWithMediumForced[typeName];\n if (value) {\n fontSizeForNativeBase[typeName] = `${getTypographyTypeConfigKeyFromTypeName(typeName)}.${value}`;\n }\n });\n\n return fontSizeForNativeBase;\n}\n\nexport function Typography({\n accessibilityRole,\n base: legacyBase,\n small: legacySmall,\n medium: legacyMedium,\n large: legacyLarge,\n wide: legacyWide,\n type = { base: legacyBase, small: legacySmall, medium: legacyMedium, large: legacyLarge, wide: legacyWide },\n variant,\n color,\n ...otherProps\n}: TypographyProps): ReactElement | null {\n const isHeaderTypographyInContext = useContext(IsHeaderTypographyContext);\n const hasTypographyAncestor = isHeaderTypographyInContext !== undefined;\n const baseOrDefaultToBody = hasTypographyAncestor ? type.base : type.base ?? 'body';\n const isHeader = isTypographyHeader(baseOrDefaultToBody, isHeaderTypographyInContext);\n const nonNullableVariant: TypographyVariant = variant ?? (isHeader ? 'bold' : 'regular');\n\n const fontSizeForNativeBase = createNativeBaseFontSize({ ...type, base: baseOrDefaultToBody });\n\n if (process.env.NODE_ENV !== 'production') {\n Object.entries(type).forEach(([key, value]) => {\n if (value && isTypeHeader(value) !== isHeader) {\n throw new Error(\n `Invalid value for \"${key}\": \"${value}\" is ${isHeader ? 'not' : ''} an header. Don't mix headers and bodies.`,\n );\n }\n });\n }\n\n const text = (\n <NBText\n accessibilityRole={(accessibilityRole as TextProps['accessibilityRole']) || undefined}\n fontSize={fontSizeForNativeBase}\n lineHeight={hasTypographyAncestor ? undefined : fontSizeForNativeBase}\n fontWeight={isHeader ? `headers.${nonNullableVariant}` : `bodies.${nonNullableVariant}`}\n fontFamily={isHeader ? `headers.${nonNullableVariant}` : `bodies.${nonNullableVariant}`}\n color={color ? `kitt.typography.${color}` : undefined}\n textDecorationColor={color ? `kitt.typography.${color}` : undefined}\n {...otherProps}\n />\n );\n\n const content = baseOrDefaultToBody ? (\n <IsHeaderTypographyContext.Provider value={isHeader}>{text}</IsHeaderTypographyContext.Provider>\n ) : (\n text\n );\n\n return color ? <TypographyColorContext.Provider value={color}>{content}</TypographyColorContext.Provider> : content;\n}\n\nexport type TypographyTextProps = SetOptional<TypographyProps, 'accessibilityRole'>;\nfunction TypographyText(props: TypographyTextProps): ReactElement {\n return <Typography accessibilityRole={null} {...props} />;\n}\n\nfunction TypographyParagraph(props: TypographyTextProps): ReactElement {\n // role 'paragraph' does not exist in native, it's a web feature only.\n return <Typography accessibilityRole={Platform.OS === 'web' ? 'paragraph' : null} {...props} />;\n}\n\nexport type TypographyHeadingProps = TypographyPropsWithoutRole;\n\nconst createHeading = (\n level: number,\n /** @deprecated accessibility and design should be independent */\n defaultBase?: TypographyHeadingProps['base'],\n): FC<TypographyHeadingProps> => {\n // https://github.com/necolas/react-native-web/issues/401\n function TypographyHeading(props: TypographyHeadingProps): ReactElement {\n return <Typography accessibilityRole=\"header\" base={defaultBase} {...props} accessibilityLevel={level} />;\n }\n TypographyHeading.displayName = `TypographyHeading${level}`;\n return TypographyHeading;\n};\n\nTypography.Text = TypographyText;\nTypography.Paragraph = TypographyParagraph;\nTypography.Header1 = createHeading(1);\nTypography.Header2 = createHeading(2);\nTypography.Header3 = createHeading(3);\nTypography.Header4 = createHeading(4);\nTypography.Header5 = createHeading(5);\nTypography.Header6 = createHeading(6);\n\n/** @deprecated use Typography.Header1 */\nTypography.h1 = createHeading(1, 'header1');\n/** @deprecated use Typography.Header2 */\nTypography.h2 = createHeading(2, 'header2');\n/** @deprecated use Typography.Header3 */\nTypography.h3 = createHeading(3, 'header3');\n/** @deprecated use Typography.Header4 */\nTypography.h4 = createHeading(4, 'header4');\n/** @deprecated use Typography.Header6 */\nTypography.h5 = createHeading(5, 'header5');\n","import { UserIcon } from '@ornikar/kitt-icons';\nimport type { ReactElement } from 'react';\nimport { Image } from 'react-native';\nimport styled from 'styled-components/native';\nimport { Icon } from '../Icon/Icon';\nimport { Typography } from '../typography/Typography';\n\nconst getInitials = (firstname: string, lastname: string): string => `${firstname[0]}${lastname[0]}`.toUpperCase();\n\nexport type AvatarSizeVariant = 'large';\n\nexport interface StyledAvatarViewProps {\n $size: number;\n $isRound?: boolean;\n $isLight?: boolean;\n $sizeVariant?: AvatarSizeVariant;\n}\n\nconst StyledAvatarView = styled.View<StyledAvatarViewProps>`\n border-radius: ${({ theme, $isRound, $size, $sizeVariant }) => {\n if ($isRound) return `${$size / 2}px`;\n\n return `${$sizeVariant === 'large' ? theme.kitt.avatar.large.borderRadius : theme.kitt.avatar.borderRadius}px`;\n }};\n background-color: ${({ theme, $isLight }) =>\n $isLight ? theme.kitt.avatar.light.backgroundColor : theme.kitt.avatar.default.backgroundColor};\n height: ${({ $size }) => $size}px;\n width: ${({ $size }) => $size}px;\n overflow: hidden;\n align-items: center;\n justify-content: center;\n`;\n\ninterface AvatarContentProps extends Exclude<AvatarProps, 'light | round'> {\n size: NonNullable<number>;\n isLight?: boolean;\n sizeVariant?: AvatarSizeVariant;\n}\n\nfunction AvatarContent({\n size,\n src,\n firstname,\n lastname,\n alt,\n isLight,\n sizeVariant,\n}: AvatarContentProps): ReactElement {\n if (src) {\n return <Image source={{ uri: src }} style={{ width: size, height: size }} accessibilityLabel={alt} />;\n }\n\n if (firstname && lastname) {\n return (\n <Typography.Text\n base={sizeVariant === 'large' ? 'body-large' : 'body-small'}\n variant={sizeVariant === 'large' ? 'bold' : 'regular'}\n color={isLight ? 'black' : 'white'}\n >\n {getInitials(firstname, lastname)}\n </Typography.Text>\n );\n }\n\n return <Icon icon={<UserIcon />} color={isLight ? 'black' : 'white'} size={size / 2} />;\n}\nexport interface AvatarProps {\n size?: number;\n src?: string | null;\n alt?: string;\n firstname?: string | null;\n lastname?: string | null;\n round?: boolean;\n light?: boolean;\n sizeVariant?: AvatarSizeVariant;\n}\n\nexport function Avatar({ size = 40, round, light, sizeVariant, ...props }: AvatarProps): ReactElement {\n return (\n <StyledAvatarView $size={size} $isRound={round} $isLight={light} $sizeVariant={sizeVariant}>\n <AvatarContent size={size} isLight={light} sizeVariant={sizeVariant} {...props} />\n </StyledAvatarView>\n );\n}\n","export function warn(message: string): void {\n if (process.env.NODE_ENV !== 'production') {\n console.warn(message);\n }\n}\n\nexport function deprecatedMessage(symbol: string, deprecation: string, replaceBy?: string): void {\n const replaceMessage = replaceBy === undefined ? '' : `, please use ${replaceBy} instead`;\n\n warn(`[Deprecation] in ${symbol}: ${deprecation} is deprecated${replaceMessage}.`);\n}\n\nexport function deprecatedInComponent(component: string, deprecation: string, replaceBy?: string): void {\n deprecatedMessage(`<${component} />`, deprecation, replaceBy);\n}\n","import type { DefaultTheme } from 'styled-components/native';\nimport type { BaseButtonTheme, BaseButtonWithVariant } from '../themes/late-ocean/button';\nimport type { ButtonType, ButtonVariant } from './Button';\n\nconst hasVariant = (button: BaseButtonTheme, variant: ButtonVariant): button is BaseButtonWithVariant => {\n return variant in button;\n};\n\nexport function getVariantValuesIfExist<V extends ButtonVariant>(\n theme: DefaultTheme,\n type: ButtonType,\n variant: ButtonVariant,\n): BaseButtonTheme['default'] | BaseButtonWithVariant[V] {\n const button = theme.kitt.button[type];\n\n if (hasVariant(button, variant)) {\n return button[variant];\n }\n\n return theme.kitt.button[type].default;\n}\n","import type { ReactElement } from 'react';\nimport { forwardRef } from 'react';\nimport type { PressableProps, View } from 'react-native';\nimport Animated, { interpolateColor, useAnimatedStyle, useSharedValue, withSpring } from 'react-native-reanimated';\nimport styled, { useTheme } from 'styled-components/native';\nimport type { ButtonType, ButtonVariant } from './Button';\nimport { getVariantValuesIfExist } from './getVariantValuesIfExist';\n\nexport interface StyledPressableProps extends PressableProps {\n $isStretch?: boolean;\n $type: ButtonType;\n}\n\nconst StyledPressable = styled.Pressable<StyledPressableProps>`\n ${({ $isStretch }) => {\n if ($isStretch) return undefined;\n\n return 'align-self: flex-start;';\n }}\n`;\n\nconst StyledAnimatedView = styled(Animated.View)`\n border-radius: ${({ theme }) => theme.kitt.button.borderRadius}px;\n`;\n\nexport interface AnimatedButtonPressableProps extends PressableProps {\n accessibilityRole: NonNullable<PressableProps['accessibilityRole']>;\n $type: ButtonType;\n $variant: ButtonVariant;\n $isStretch?: boolean;\n}\n\nexport const AnimatedButtonPressable = forwardRef<View, AnimatedButtonPressableProps>(\n (\n {\n children,\n disabled,\n accessibilityRole,\n $type,\n $variant,\n $isStretch,\n href,\n hrefAttrs,\n testID,\n onPress,\n }: AnimatedButtonPressableProps,\n ref,\n ): ReactElement => {\n const theme = useTheme();\n const pressed = useSharedValue<0 | 1>(0);\n const color = useSharedValue(0);\n\n const { backgroundColor, pressedBackgroundColor } = getVariantValuesIfExist(theme, $type, $variant);\n const { scale } = theme.kitt.button;\n\n const scaleStyles = useAnimatedStyle(() => {\n return {\n backgroundColor: interpolateColor(color.value, [0, 1], [backgroundColor, pressedBackgroundColor]),\n transform: [\n {\n scale: withSpring(pressed.value ? scale.base.active : scale.base.default),\n },\n ],\n };\n });\n\n const handlePressInOut = (pressIn: boolean): void => {\n color.value = withSpring(pressIn ? 1 : 0);\n pressed.value = pressIn ? 1 : 0;\n };\n\n return (\n <StyledPressable\n ref={ref}\n disabled={disabled}\n accessibilityRole={accessibilityRole}\n testID={testID}\n href={href}\n hrefAttrs={hrefAttrs}\n $isStretch={$isStretch}\n $type={$type}\n onPress={onPress}\n onPressIn={() => {\n handlePressInOut(true);\n }}\n onPressOut={() => {\n handlePressInOut(false);\n }}\n >\n <StyledAnimatedView style={disabled ? [{ transform: [{ scale: 1 }] }] : [scaleStyles]}>\n {children}\n </StyledAnimatedView>\n </StyledPressable>\n );\n },\n);\n","import type { ViewProps } from 'react-native';\nimport { Platform } from 'react-native';\nimport styled from 'styled-components/native';\nimport type { ButtonSize, ButtonType, ButtonVariant } from './Button';\nimport { getVariantValuesIfExist } from './getVariantValuesIfExist';\n\nexport interface BaseStyledButtonPressableProps extends ViewProps {\n $type: ButtonType;\n $variant: ButtonVariant;\n $size?: ButtonSize;\n $isStretch?: boolean;\n $isDisabled?: boolean;\n}\n\nexport const BaseStyledButtonPressable = styled.View<BaseStyledButtonPressableProps>`\n position: relative;\n min-width: ${({ theme }) => theme.kitt.button.minWidth}px;\n max-width: ${({ theme, $isStretch }) => ($isStretch ? '100%' : `${theme.kitt.button.maxWidth}px`)};\n width: ${({ $isStretch }) => ($isStretch ? '100%' : 'auto')};\n min-height: ${({ theme }) => theme.kitt.button.minHeight}px;\n border-radius: ${({ theme }) => theme.kitt.button.borderRadius}px;\n flex-direction: row;\n align-items: center;\n justify-content: center;\n\n /* Emulate inline-* css display by making the button taking only its necessary space */\n align-self: flex-start;\n\n background-color: ${({ theme, $isDisabled, $type, $variant }) => {\n if ($isDisabled) return theme.kitt.button.disabled.default.backgroundColor;\n\n if (Platform.OS !== 'web') return 'transparent';\n\n return getVariantValuesIfExist(theme, $type, $variant).backgroundColor;\n }};\n\n padding: ${({ theme, $size, $isDisabled }) => {\n const { large, default: defaultPadding, disabled: disabledPadding, xLarge } = theme.kitt.button.contentPadding;\n\n if ($size === 'large') return large;\n if ($size === 'xlarge') return xLarge;\n if ($isDisabled) return disabledPadding;\n\n return defaultPadding;\n }};\n`;\n","import type { ReactElement } from 'react';\nimport { useTheme } from 'styled-components/native';\nimport type { Except } from 'type-fest';\nimport type { IconProps } from '../Icon/Icon';\nimport { Icon } from '../Icon/Icon';\nimport type { SetNonNullable } from '../utils/typeUtils';\nimport type { TypographyProps } from './Typography';\nimport { useTypographyColor } from './Typography';\n\nexport interface TypographyIconProps extends Except<IconProps, 'color'> {\n color?: TypographyProps['color'] | 'inherit';\n}\n\nfunction TypographyIconSpecifiedColor({ color, ...props }: SetNonNullable<TypographyIconProps, 'color'>): ReactElement {\n const theme = useTheme();\n return <Icon {...props} color={color === 'inherit' ? 'inherit' : theme.kitt.typography.colors[color]} />;\n}\n\nfunction TypographyIconInheritColor(props: TypographyIconProps): ReactElement {\n const color = useTypographyColor();\n\n return <TypographyIconSpecifiedColor color={color} {...props} />;\n}\n\nexport function TypographyIcon({ color, ...props }: TypographyIconProps): ReactElement {\n if (color) {\n return <TypographyIconSpecifiedColor color={color} {...props} />;\n }\n\n return <TypographyIconInheritColor {...props} />;\n}\n","import type { ButtonType, SubtleButtonType } from './Button';\n\nexport function isSubtle(type: ButtonType): type is SubtleButtonType {\n return type.startsWith('subtle');\n}\n","import type { ReactElement } from 'react';\nimport { Platform } from 'react-native';\nimport styled from 'styled-components/native';\nimport type { Except } from 'type-fest';\nimport type { TypographyColor, TypographyTextProps } from '../typography/Typography';\nimport { Typography } from '../typography/Typography';\nimport type { TypographyIconProps } from '../typography/TypographyIcon';\nimport { TypographyIcon } from '../typography/TypographyIcon';\nimport type { ButtonProps, ButtonType, ButtonVariant } from './Button';\nimport { isSubtle } from './isSubtle';\n\nconst getTextColorByType = (type: ButtonType, variant: ButtonVariant): TypographyColor => {\n switch (type) {\n case 'primary':\n return variant === 'ghost' ? 'primary' : 'white';\n case 'white':\n return 'white';\n case 'subtle':\n return 'primary';\n case 'subtle-dark':\n return 'black';\n case 'default':\n return variant === 'ghost' ? 'white' : 'black';\n default:\n return 'black';\n }\n};\n\ninterface StyledButtonTextProps extends TypographyTextProps {\n $type: ButtonType;\n $isDisabled?: boolean;\n}\n\nconst StyledButtonText = styled(Typography.Text)<StyledButtonTextProps>`\n /* On native code, this is the only way to ensure that the text is centered */\n text-align: center;\n\n ${() => {\n // Make the multilines case work properly on native\n // Breaks the web implem\n if (Platform.OS === 'web') return undefined;\n\n return `\n flex-shrink: 1;\n `;\n }}\n\n ${({ $type, $isDisabled }) => {\n /* For subltes button, color changes when hovered.\n * We don't want to use a mouse event handler with a react state to handle it\n * For this precise case, we've decided to work outside the typography logic\n */\n if (Platform.OS !== 'web' || $isDisabled || !isSubtle($type)) return undefined;\n return 'color: inherit';\n }}\n`;\n\ninterface StyledIconContainerProps {\n $iconPosition?: ButtonProps['iconPosition'];\n}\n\nconst StyledIconContainer = styled.View<StyledIconContainerProps>`\n ${({ theme, $iconPosition }) => {\n const value = theme.kitt.spacing * 2;\n\n if ($iconPosition === 'left') {\n return `margin: 0 ${value}px 0 0;`;\n }\n\n return `margin: 0 0 0 ${value}px;`;\n }}\n`;\n\ninterface ButtonIconProps {\n icon: NonNullable<ButtonContentProps['icon']>;\n iconPosition: ButtonContentProps['iconPosition'];\n color: TypographyIconProps['color'];\n testID?: string;\n}\n\nfunction ButtonIcon({ icon, color, iconPosition, testID }: ButtonIconProps): ReactElement | null {\n return (\n <StyledIconContainer $iconPosition={iconPosition}>\n <TypographyIcon icon={icon} testID={testID} color={color} />\n </StyledIconContainer>\n );\n}\n\ninterface ButtonContentProps extends Except<ButtonProps, 'onPress' | 'disabled' | 'stretch'> {\n isDisabled?: boolean;\n type: NonNullable<ButtonType>;\n variant: NonNullable<ButtonVariant>;\n $isStretch: ButtonProps['stretch'];\n}\n\ninterface ButtonContentChildrenProps extends Except<ButtonProps, 'onPress' | 'disabled' | 'stretch'> {\n isDisabled?: boolean;\n type: NonNullable<ButtonType>;\n color: TypographyColor;\n}\n\nconst StyledChildrenWithIcon = styled.View`\n align-items: center;\n justify-content: center;\n flex-direction: row;\n`;\n\nexport function ButtonContentChildren({\n type,\n icon,\n iconPosition,\n isDisabled,\n color,\n children,\n}: ButtonContentChildrenProps): ReactElement | null {\n if (__DEV__) {\n if (!(children || icon)) {\n throw new Error('kitt(Button): You should provide at least a children or a icon');\n }\n }\n\n const isWebSubtle = isSubtle(type) && Platform.OS === 'web' && !isDisabled;\n\n if (!children) {\n return (\n <TypographyIcon\n // eslint-disable-next-line @typescript-eslint/no-non-null-assertion\n icon={icon!}\n color={isWebSubtle ? 'inherit' : color}\n />\n );\n }\n\n const buttonIconSharedProps = {\n type,\n iconPosition,\n color: isWebSubtle ? 'inherit' : (color as TypographyIconProps['color']),\n };\n\n return (\n <StyledChildrenWithIcon>\n {icon && iconPosition === 'left' ? (\n <ButtonIcon {...buttonIconSharedProps} testID=\"button-left-icon\" icon={icon} />\n ) : null}\n\n <StyledButtonText\n base=\"body\"\n variant=\"bold\"\n $type={type}\n $isDisabled={isDisabled}\n // set to color: inherit via styled components\n color={isWebSubtle ? undefined : color}\n >\n {children}\n </StyledButtonText>\n\n {icon && iconPosition === 'right' ? <ButtonIcon {...buttonIconSharedProps} icon={icon} /> : null}\n </StyledChildrenWithIcon>\n );\n}\n\ninterface ButtonContentContainerProps {\n $isSubtle?: boolean;\n $isStretch?: boolean;\n $isIconOnly?: boolean;\n}\n\nconst ButtonContentContainer = styled.View<ButtonContentContainerProps>`\n line-height: 16px;\n\n ${({ $isStretch, $isIconOnly }) => {\n // Make the multilines case work properly on web\n // Breaks the native implem\n if (Platform.OS !== 'web') return undefined;\n\n return `\n flex: ${$isStretch || $isIconOnly ? 1 : 0} 1 auto;\n `;\n }}\n\n ${({ $isSubtle }) => {\n if (Platform.OS !== 'web' || !$isSubtle) return undefined;\n // Needed for subtle type\n return 'color: inherit';\n }};\n`;\n\nexport function ButtonContent({\n type,\n variant,\n isDisabled,\n $isStretch,\n icon,\n children,\n ...props\n}: ButtonContentProps): ReactElement {\n const color = isDisabled ? 'black-light' : getTextColorByType(type, variant);\n\n return (\n <ButtonContentContainer $isSubtle={isSubtle(type)} $isStretch={$isStretch} $isIconOnly={Boolean(!children && icon)}>\n <ButtonContentChildren icon={icon} type={type} isDisabled={isDisabled} color={color} {...props}>\n {children}\n </ButtonContentChildren>\n </ButtonContentContainer>\n );\n}\n","import styled from 'styled-components/native';\n\nexport const StyledDisabled = styled.View`\n position: absolute;\n top: 0;\n left: 0;\n right: 0;\n bottom: 0;\n border: ${({ theme }) => {\n const { borderWidth, disabled } = theme.kitt.button;\n return `${borderWidth.disabled}px solid ${disabled.default.borderColor}`;\n }};\n border-radius: ${({ theme }) => theme.kitt.button.borderRadius}px;\n`;\n","import type { ReactElement, ReactNode } from 'react';\nimport { forwardRef } from 'react';\nimport type { PressableProps, View } from 'react-native';\nimport { Platform } from 'react-native';\nimport { deprecatedInComponent } from '../utils/warnings';\nimport { AnimatedButtonPressable } from './AnimatedButtonPressable';\nimport { BaseStyledButtonPressable } from './BaseStyledButtonPressable';\nimport { ButtonContent } from './ButtonContent';\nimport { StyledDisabled } from './StyledDisabled';\n\nexport type SubtleButtonType = 'subtle' | 'subtle-dark';\nexport type ButtonType = 'primary' | 'default' | SubtleButtonType | 'white';\nexport type ButtonSize = 'large' | 'xlarge';\nexport type ButtonVariant = 'default' | 'ghost';\n\ntype IconPosition = 'right' | 'left';\n\nconst allowedGhostTypes = ['primary', 'default'];\n\nconst getButtonSize = ({ large, xLarge, size }: Partial<ButtonProps>): ButtonProps['size'] => {\n if (large) return 'large';\n if (xLarge) return 'xlarge';\n return size;\n};\n\nexport interface ButtonProps {\n children?: ReactNode;\n type?: ButtonType;\n variant?: ButtonVariant;\n disabled?: boolean;\n stretch?: boolean;\n /**\n * @deprecated use `size` instead\n */\n large?: boolean;\n /**\n * @deprecated use `size` instead\n */\n xLarge?: boolean;\n size?: ButtonSize;\n icon?: ReactElement;\n iconPosition?: IconPosition;\n testID?: PressableProps['testID'];\n href?: PressableProps['href'];\n hrefAttrs?: PressableProps['hrefAttrs'];\n accessibilityRole?: PressableProps['accessibilityRole'];\n className?: string;\n style?: PressableProps['style'];\n onPress?: PressableProps['onPress'];\n}\n\nexport const Button = forwardRef<View, ButtonProps>(\n (\n {\n children,\n type = 'default',\n variant = 'default',\n disabled,\n stretch,\n large,\n xLarge,\n icon,\n size: sizeProp,\n iconPosition = 'left',\n testID,\n href,\n hrefAttrs,\n accessibilityRole = 'button',\n onPress,\n }: ButtonProps,\n ref,\n ): ReactElement => {\n if (__DEV__ && variant === 'ghost' && !allowedGhostTypes.includes(type)) {\n throw new Error('variant=ghost is only allowed with type=primary or default');\n }\n\n if (large || xLarge) {\n const deprecatedProp = large ? 'large' : 'xLarge';\n deprecatedInComponent('Button', `${deprecatedProp} prop`, 'size');\n }\n\n const size = getButtonSize({ large, xLarge, size: sizeProp });\n\n return (\n <AnimatedButtonPressable\n ref={ref}\n accessibilityRole={accessibilityRole}\n testID={testID}\n href={href}\n hrefAttrs={hrefAttrs}\n disabled={disabled}\n $isStretch={stretch}\n $type={type}\n $variant={variant}\n onPress={onPress}\n >\n <BaseStyledButtonPressable\n $type={type}\n $variant={variant}\n $isStretch={stretch}\n $size={size}\n $isDisabled={disabled}\n >\n <ButtonContent\n type={type}\n variant={variant}\n $isStretch={stretch}\n isDisabled={disabled}\n icon={icon}\n iconPosition={iconPosition}\n >\n {children}\n </ButtonContent>\n {Platform.OS !== 'web' && disabled ? <StyledDisabled /> : null}\n </BaseStyledButtonPressable>\n </AnimatedButtonPressable>\n );\n },\n);\n","import type { ReactElement, ReactNode } from 'react';\nimport styled from 'styled-components/native';\n\ntype CardType = 'primary' | 'secondary' | 'subtle';\n\nexport interface CardProps {\n children: NonNullable<ReactNode>;\n type: CardType;\n}\ninterface ContainerProps {\n type: CardType;\n}\n\nconst Container = styled.View<ContainerProps>`\n background-color: ${({ theme, type }) => theme.kitt.card[type].backgroundColor};\n padding: ${({ theme }) => theme.kitt.spacing * 4}px;\n border-radius: ${({ theme }) => theme.kitt.card.borderRadius}px;\n border-width: ${({ theme }) => theme.kitt.card.borderWidth}px;\n border-color: ${({ theme, type }) => theme.kitt.card[type].borderColor};\n`;\n\nexport function Card({ children, type }: CardProps): ReactElement {\n return <Container type={type}>{children}</Container>;\n}\n","import type { IImageProps } from 'native-base';\nimport { Image } from 'native-base';\nimport type { ReactElement } from 'react';\nimport { useMemo } from 'react';\nimport type { ImageProps } from 'react-native';\nimport { Platform } from 'react-native';\nimport { parse } from 'twemoji-parser';\nimport type { KittResponsiveProp } from '../KittBreakpoints';\n\nexport interface EmojiProps extends Pick<ImageProps, 'style'> {\n emoji: string;\n size: number | KittResponsiveProp<number>;\n alignSelf?: IImageProps['alignSelf'];\n _web?: IImageProps['_web'];\n}\n\nexport function Emoji({ emoji, size, alignSelf, _web, style }: EmojiProps): ReactElement | null {\n const [emojiData] = useMemo(\n () =>\n parse(emoji, {\n // on native plaforms, you can't display svg as Image\n assetType: Platform.OS === 'web' ? 'svg' : 'png',\n }),\n [emoji],\n );\n\n if (!emojiData) return null;\n\n return (\n <Image\n size={size}\n alt={emojiData.text}\n accessibilityLabel={emojiData.text}\n source={{ uri: emojiData.url }}\n style={style}\n alignSelf={alignSelf}\n _web={_web}\n />\n );\n}\n","import type { ComponentProps, ReactElement, VoidFunctionComponent } from 'react';\nimport type { GestureResponderEvent, PressableProps, TextProps } from 'react-native';\nimport { Linking } from 'react-native';\n\ntype ExternalAppLinkScheme = 'sms' | 'tel' | 'mailto';\n\nexport interface ExternalAppLinkAsComponentMinimumRequiredProps {\n href?: TextProps['href'];\n hrefAttrs?: TextProps['hrefAttrs'];\n onPress?: PressableProps['onPress'];\n}\n\nexport interface ExternalAppLinkProps<C extends VoidFunctionComponent<any>> {\n as: C;\n appScheme: ExternalAppLinkScheme;\n appValue: string;\n onPress?: PressableProps['onPress'];\n onOpenAppError?: (err: string) => void;\n}\n\nexport interface ExternalAppLinkPhoneProps<C extends VoidFunctionComponent<any>>\n extends Partial<ExternalAppLinkProps<C>> {\n phoneNumber: string;\n}\n\nexport interface ExternalAppLinkMailProps<C extends VoidFunctionComponent<any>>\n extends Partial<ExternalAppLinkProps<C>> {\n emailAddress: string;\n}\n\n/** @internal for ExternalAppLink.web.tsx only */\n// eslint-disable-next-line @typescript-eslint/ban-types\nexport type ExternalAppLinkSendableComponentProps<C extends VoidFunctionComponent<any>> = Omit<\n ComponentProps<C>,\n keyof ExternalAppLinkProps<C> & keyof ExternalAppLinkAsComponentMinimumRequiredProps\n>;\n\nexport function ExternalAppLink<C extends VoidFunctionComponent<any>>({\n as: Component,\n appScheme,\n appValue,\n onPress,\n onOpenAppError,\n ...rest\n}: ExternalAppLinkProps<C> & ExternalAppLinkSendableComponentProps<C>): ReactElement {\n const href = `${appScheme}:${appValue}`;\n\n const handleOnPress = async (e: GestureResponderEvent): Promise<void> => {\n try {\n const canOpen = await Linking.canOpenURL(href);\n\n if (canOpen) {\n if (onPress) {\n onPress(e);\n if (e?.defaultPrevented) return;\n }\n\n Linking.openURL(href).catch((err) => {\n console.error(`An error occurred while opening ${href}`, err);\n\n onOpenAppError?.(`An error occurred while opening ${href}`);\n });\n } else {\n onOpenAppError?.(`Cannot open url: ${href}`);\n }\n } catch {\n onOpenAppError?.('An error occured with Linkinf.canOpenURL');\n }\n };\n\n return <Component href={href} {...(rest as any)} onPress={handleOnPress} />;\n}\n\nExternalAppLink.Sms = function ExternalAppLinkSms<C extends VoidFunctionComponent<any>>({\n phoneNumber,\n children,\n ...rest\n}: ExternalAppLinkPhoneProps<C> & ExternalAppLinkSendableComponentProps<C>): ReactElement {\n return (\n <ExternalAppLink {...(rest as any)} appScheme=\"sms\" appValue={phoneNumber}>\n {children}\n </ExternalAppLink>\n );\n};\n\nExternalAppLink.Tel = function ExternalAppLinkTel<C extends VoidFunctionComponent<any>>({\n phoneNumber,\n children,\n ...rest\n}: ExternalAppLinkPhoneProps<C> & ExternalAppLinkSendableComponentProps<C>): ReactElement {\n return (\n <ExternalAppLink {...(rest as any)} appScheme=\"tel\" appValue={phoneNumber}>\n {children}\n </ExternalAppLink>\n );\n};\n\nExternalAppLink.Mail = function ExternalAppLinkMail<C extends VoidFunctionComponent<any>>({\n emailAddress,\n children,\n ...rest\n}: ExternalAppLinkMailProps<C> & ExternalAppLinkSendableComponentProps<C>): ReactElement {\n return (\n <ExternalAppLink {...(rest as any)} appScheme=\"mailto\" appValue={emailAddress}>\n {children}\n </ExternalAppLink>\n );\n};\n","export interface ExternalLinkOpenLinkBehavior {\n /**\n * @default 'openInModal'\n *\n * @description open link behavior in native\n *\n * \"openInModal\": open via [expo-web-browser](https://docs.expo.dev/versions/latest/sdk/webbrowser/)\n *\n * \"openBrowserApp\": open via [Linking](https://docs.expo.dev/guides/linking/#opening-links-from-your-app)\n */\n native?: 'openInModal' | 'openBrowserApp';\n\n /**\n * @default 'targetBlank'\n *\n * @description open link behavior in native\n *\n * \"targetSelf\": no dom attributes added, behave like `target=\"_self\"`\n *\n * \"targetBlank\": dome attributes: `target=\"_blank\" rel=\"noopener noreferrer\"`\n */\n web?: 'targetSelf' | 'targetBlank';\n}\n\nexport const defaultOpenLinkBehavior: ExternalLinkOpenLinkBehavior = {\n native: 'openInModal',\n web: 'targetBlank',\n};\n","import * as WebBrowser from 'expo-web-browser';\nimport type { ComponentProps, ReactElement, VoidFunctionComponent } from 'react';\nimport type { PressableProps, TextProps } from 'react-native';\nimport { Linking } from 'react-native';\nimport type { ExternalLinkOpenLinkBehavior } from './ExternalLinkOpenLinkBehavior';\nimport { defaultOpenLinkBehavior } from './ExternalLinkOpenLinkBehavior';\n\nexport interface ExternalLinkAsComponentMinimumRequiredProps {\n href?: TextProps['href'];\n hrefAttrs?: TextProps['hrefAttrs'];\n onPress?: PressableProps['onPress'];\n}\n\nexport interface ExternalLinkProps<C extends VoidFunctionComponent<any>> {\n as: C;\n openLinkBehavior?: ExternalLinkOpenLinkBehavior;\n href?: string;\n onPress?: PressableProps['onPress'];\n}\n\n/** @internal for ExternalLink.web.tsx only */\n// eslint-disable-next-line @typescript-eslint/ban-types\nexport type ExternalLinkSendableComponentProps<C extends VoidFunctionComponent<any>> = Omit<\n ComponentProps<C>,\n keyof ExternalLinkProps<C> & keyof ExternalLinkAsComponentMinimumRequiredProps\n>;\n\nexport function ExternalLink<C extends VoidFunctionComponent<any>>({\n as: Component,\n href,\n openLinkBehavior = defaultOpenLinkBehavior,\n onPress,\n ...rest\n}: ExternalLinkProps<C> & ExternalLinkSendableComponentProps<C>): ReactElement {\n const handleOnPress: PressableProps['onPress'] = (e) => {\n if (onPress) {\n onPress(e);\n if (e?.defaultPrevented) return;\n }\n\n if (!href) return;\n\n switch (openLinkBehavior.native) {\n case 'openInModal':\n case undefined:\n WebBrowser.openBrowserAsync(href).catch((err) => {\n console.error(`An error occurred while opening ${href}`, err);\n });\n break;\n case 'openBrowserApp':\n Linking.openURL(href).catch((err) => {\n console.error(`An error occurred while opening ${href}`, err);\n });\n break;\n default:\n if (__DEV__) {\n throw new Error(`Invalid ExternalLink native behavior: ${openLinkBehavior.native as string}`);\n }\n }\n };\n\n return <Component {...(rest as any)} onPress={handleOnPress} />;\n}\n","export const lateOceanColorPalette = {\n lateOcean: '#4C34E0',\n lateOceanLight1: '#705DE6',\n lateOceanLight2: '#9485EC',\n lateOceanLight3: '#D6BAF9',\n\n warmEmbrace: '#F4D3CE',\n warmEmbraceLight1: '#FFEDE6',\n\n black1000: '#000000',\n black800: '#2C293D',\n black555: '#737373',\n black200: '#CCCCCC',\n black100: '#E5E5E5',\n black50: '#F2F2F2',\n black25: '#F9F9F9',\n white: '#FFFFFF',\n\n viride: '#38836D',\n englishVermillon: '#D44148',\n goldCrayola: '#F8C583',\n aero: '#89BDDD',\n\n transparent: 'transparent',\n\n moonPurple: '#DBD6F9',\n moonPurpleLight1: '#EDEBFC',\n};\n","import { lateOceanColorPalette } from '../palettes/lateOceanColorPalette';\n\nexport const colors = {\n primary: lateOceanColorPalette.lateOcean,\n primaryLight: lateOceanColorPalette.lateOceanLight1,\n accent: lateOceanColorPalette.warmEmbrace,\n accentLight: lateOceanColorPalette.warmEmbraceLight1,\n success: lateOceanColorPalette.viride,\n correct: lateOceanColorPalette.viride,\n danger: lateOceanColorPalette.englishVermillon,\n info: lateOceanColorPalette.aero,\n warning: lateOceanColorPalette.goldCrayola,\n separator: lateOceanColorPalette.black100,\n hover: lateOceanColorPalette.black100,\n white: lateOceanColorPalette.white,\n black: lateOceanColorPalette.black1000,\n blackAnthracite: lateOceanColorPalette.black800,\n uiBackground: lateOceanColorPalette.black25,\n uiBackgroundLight: lateOceanColorPalette.white,\n transparent: lateOceanColorPalette.transparent,\n disabled: lateOceanColorPalette.black50,\n overlay: {\n dark: 'rgba(41, 48, 51, 0.25)',\n light: 'rgba(255, 255, 255, 0.90)',\n fullscreenLoader: 'rgba(0, 0, 0, 0.25)',\n },\n};\n","import { lateOceanColorPalette } from '../palettes/lateOceanColorPalette';\nimport { colors } from './colors';\n\nexport interface AvatarThemeColorVariant {\n backgroundColor: string;\n}\n\nexport interface AvatarThemeSizeVariant {\n borderRadius: number;\n}\n\nexport interface AvatarTheme {\n borderRadius: number;\n default: AvatarThemeColorVariant;\n light: AvatarThemeColorVariant;\n large: AvatarThemeSizeVariant;\n}\n\nexport const avatar: AvatarTheme = {\n borderRadius: 10,\n default: {\n backgroundColor: colors.primary,\n },\n light: {\n backgroundColor: lateOceanColorPalette.black100,\n },\n large: {\n borderRadius: 30,\n },\n};\n","import { lateOceanColorPalette } from '../palettes/lateOceanColorPalette';\nimport { colors } from './colors';\n\nexport interface BaseVariantTheme {\n backgroundColor: string;\n pressedBackgroundColor: string;\n hoverBackgroundColor: string;\n focusBorderColor: string;\n}\n\nexport interface GhostVariantTheme extends BaseVariantTheme {\n color: string;\n hoverColor: string;\n activeColor: string;\n}\nexport interface BaseButtonTheme {\n default: BaseVariantTheme;\n}\n\nexport interface BaseButtonWithVariant extends BaseButtonTheme {\n ghost: GhostVariantTheme;\n}\n\nexport interface SubtleBaseVariantTheme extends BaseVariantTheme {\n color: string;\n hoverColor: string;\n activeColor: string;\n}\n\nexport interface SubtleButtonTheme extends BaseButtonTheme {\n default: SubtleBaseVariantTheme;\n}\n\nexport interface DisabledBaseVariantTheme extends BaseVariantTheme {\n borderColor: string;\n}\n\nexport interface DisabledButtonTheme extends BaseButtonTheme {\n default: DisabledBaseVariantTheme;\n}\n\nexport interface ButtonTheme {\n borderRadius: number;\n borderWidth: {\n disabled: number;\n focus: number;\n };\n minHeight: number;\n minWidth: number;\n maxWidth: number;\n scale: {\n base: {\n default: number;\n hover: number;\n active: number;\n };\n medium: {\n hover: number;\n };\n };\n contentPadding: {\n default: string;\n large: string;\n xLarge: string;\n disabled: string;\n };\n transition: {\n duration: string;\n timingFunction: string;\n };\n default: BaseButtonWithVariant;\n primary: BaseButtonWithVariant;\n white: BaseButtonTheme;\n subtle: SubtleButtonTheme;\n 'subtle-dark': SubtleButtonTheme;\n disabled: DisabledButtonTheme;\n}\n\nexport const button: ButtonTheme = {\n borderRadius: 30,\n borderWidth: {\n disabled: 2,\n focus: 3,\n },\n minHeight: 40,\n minWidth: 40,\n maxWidth: 335,\n scale: {\n base: {\n default: 1,\n hover: 0.95,\n active: 0.95,\n },\n medium: {\n hover: 1.05,\n },\n },\n contentPadding: {\n default: '7px 16px 7px',\n large: '11px 24px 11px',\n xLarge: '15px 24px 15px',\n disabled: '5px 14px 5px',\n },\n transition: {\n duration: '200ms',\n timingFunction: 'cubic-bezier(0.645, 0.045, 0.355, 1)',\n },\n default: {\n default: {\n backgroundColor: 'rgba(0, 0, 0, 0.05)',\n pressedBackgroundColor: 'rgba(0, 0, 0, 0.1)',\n hoverBackgroundColor: 'rgba(0, 0, 0, 0.1)',\n focusBorderColor: 'rgba(0, 0, 0, 0.1)',\n },\n ghost: {\n backgroundColor: 'rgba(255, 255, 255, 0.1)',\n pressedBackgroundColor: 'rgba(255, 255, 255, 0.05)',\n hoverBackgroundColor: 'rgba(255, 255, 255, 0.05)',\n focusBorderColor: 'rgba(255, 255, 255, 0.4)',\n color: lateOceanColorPalette.white,\n hoverColor: lateOceanColorPalette.white,\n activeColor: lateOceanColorPalette.white,\n },\n },\n primary: {\n default: {\n backgroundColor: colors.primary,\n pressedBackgroundColor: colors.primaryLight,\n hoverBackgroundColor: colors.primaryLight,\n focusBorderColor: 'rgba(76, 52, 224, 0.2)',\n },\n ghost: {\n backgroundColor: colors.uiBackgroundLight,\n pressedBackgroundColor: colors.uiBackground,\n hoverBackgroundColor: colors.hover,\n focusBorderColor: 'rgba(255,255,255, 0.4)',\n color: colors.primary,\n hoverColor: colors.hover,\n activeColor: colors.hover,\n },\n },\n white: {\n default: {\n backgroundColor: 'rgba(255, 255, 255, 0.05)',\n pressedBackgroundColor: 'rgba(255, 255, 255, 0.1)',\n hoverBackgroundColor: 'rgba(255, 255, 255, 0.1)',\n focusBorderColor: 'rgba(255, 255, 255, 0.1)',\n },\n },\n subtle: {\n default: {\n backgroundColor: colors.transparent,\n pressedBackgroundColor: colors.transparent,\n hoverBackgroundColor: colors.transparent,\n focusBorderColor: 'rgba(76, 52, 224, 0.2)',\n color: colors.primary,\n hoverColor: 'rgba(76, 52, 224, 0.8)',\n activeColor: 'rgba(76, 52, 224, 0.8)',\n },\n },\n 'subtle-dark': {\n default: {\n backgroundColor: colors.transparent,\n pressedBackgroundColor: colors.transparent,\n hoverBackgroundColor: colors.transparent,\n focusBorderColor: 'rgba(0, 0, 0, 0.1)',\n color: colors.black,\n hoverColor: 'rgba(0, 0, 0, 0.8)',\n activeColor: 'rgba(0, 0, 0, 0.8)',\n },\n },\n disabled: {\n default: {\n backgroundColor: colors.disabled,\n pressedBackgroundColor: colors.disabled,\n hoverBackgroundColor: colors.disabled,\n focusBorderColor: lateOceanColorPalette.black100,\n borderColor: lateOceanColorPalette.black100,\n },\n },\n};\n","import { lateOceanColorPalette } from '../palettes/lateOceanColorPalette';\nimport { colors } from './colors';\n\nexport interface CardThemeType {\n backgroundColor: string;\n borderColor: string;\n}\nexport interface CardTheme {\n borderRadius: number;\n borderWidth: number;\n primary: CardThemeType;\n secondary: CardThemeType;\n subtle: CardThemeType;\n}\n\nexport const card: CardTheme = {\n borderRadius: 20,\n borderWidth: 2,\n primary: {\n backgroundColor: colors.uiBackgroundLight,\n borderColor: colors.primary,\n },\n secondary: {\n backgroundColor: colors.uiBackgroundLight,\n borderColor: colors.separator,\n },\n subtle: {\n backgroundColor: lateOceanColorPalette.black50,\n borderColor: colors.separator,\n },\n};\n","import { colors } from './colors';\n\nexport interface FeedbackMessageVariantTheme {\n backgroundColor: string;\n}\n\nexport interface FeedbackMessageTheme {\n danger: FeedbackMessageVariantTheme;\n info: FeedbackMessageVariantTheme;\n success: FeedbackMessageVariantTheme;\n warning: FeedbackMessageVariantTheme;\n}\n\nexport const feedbackMessage: FeedbackMessageTheme = {\n danger: {\n backgroundColor: colors.danger,\n },\n success: {\n backgroundColor: colors.success,\n },\n info: {\n backgroundColor: colors.info,\n },\n warning: {\n backgroundColor: colors.warning,\n },\n};\n","import { colors } from './colors';\n\nexport const checkbox = {\n borderWidth: 2,\n borderRadius: 5,\n height: 20,\n width: 20,\n iconSize: 14,\n borderColor: colors.separator,\n backgroundColor: colors.uiBackgroundLight,\n checkedBorderColor: colors.primary,\n checkedBackgroundColor: colors.primary,\n markColor: colors.uiBackgroundLight,\n};\n","interface DatePickerPartTheme {\n minWidth: number;\n}\n\nexport interface DatePickerTheme {\n day: DatePickerPartTheme;\n month: DatePickerPartTheme;\n year: DatePickerPartTheme;\n}\n\nexport const datePicker: DatePickerTheme = {\n day: {\n minWidth: 64,\n },\n month: {\n minWidth: 64,\n },\n year: {\n minWidth: 82,\n },\n};\n","import { Platform } from 'react-native';\nimport { lateOceanColorPalette } from '../palettes/lateOceanColorPalette';\nimport { colors as kittColors } from './colors';\n\nexport const calcLineHeight = (fontSize: number, lineHeightMultiplier: number): number =>\n Math.round(fontSize * lineHeightMultiplier);\n\nexport interface TypographyTypeBreakpointRangeConfig {\n fontSize: number;\n lineHeight: number;\n}\n\nexport interface TypographyTypeConfig {\n baseAndSmall: TypographyTypeBreakpointRangeConfig;\n mediumAndWide: TypographyTypeBreakpointRangeConfig;\n}\n\nexport const createTypographyTypeConfig = (\n lineHeightMultiplier: number,\n baseAndSmallFontSize: number,\n mediumAndWideFontSize: number,\n): TypographyTypeConfig => ({\n baseAndSmall: {\n fontSize: baseAndSmallFontSize,\n lineHeight: calcLineHeight(baseAndSmallFontSize, lineHeightMultiplier),\n },\n mediumAndWide: {\n fontSize: mediumAndWideFontSize,\n lineHeight: calcLineHeight(mediumAndWideFontSize, lineHeightMultiplier),\n },\n});\n\nexport const typography = {\n colors: {\n black: kittColors.black,\n 'black-anthracite': kittColors.blackAnthracite,\n 'black-light': lateOceanColorPalette.black555,\n white: kittColors.white,\n 'white-light': kittColors.white,\n primary: kittColors.primary,\n 'primary-light': kittColors.primaryLight,\n accent: kittColors.accent,\n success: kittColors.success,\n danger: kittColors.danger,\n },\n types: {\n headers: {\n fontFamily: {\n regular: Platform.OS === 'web' ? 'Moderat' : 'Moderat-Extended-Bold',\n bold: Platform.OS === 'web' ? 'Moderat' : 'Moderat-Extended-Bold',\n },\n fontWeight: 400,\n fontStyle: 'normal',\n configs: {\n // also known as xxlarge\n header1: createTypographyTypeConfig(1.3, 38, 62),\n // also known as xlarge\n header2: createTypographyTypeConfig(1.3, 32, 48),\n // also known as medium\n header3: createTypographyTypeConfig(1.3, 24, 36),\n // also known as xsmall\n header4: createTypographyTypeConfig(1.3, 18, 24),\n // also known as xxsmall\n header5: createTypographyTypeConfig(1.3, 18, 18),\n },\n },\n bodies: {\n fontFamily: {\n regular: Platform.OS === 'web' ? 'Noto Sans' : 'NotoSans',\n bold: Platform.OS === 'web' ? 'Noto Sans' : 'NotoSans-Bold',\n },\n fontWeight: {\n regular: 400,\n // TODO[https://ornikar.atlassian.net/browse/CME-767] This quick fix should be replaced by a 700 in every case, and native font weights should be handled by expo-fonts\n bold: Platform.OS === 'android' ? 400 : 700,\n },\n fontStyle: {\n regular: 'normal',\n bold: 'normal',\n },\n configs: {\n 'body-large': createTypographyTypeConfig(1.6, 18, 24),\n 'body-medium': createTypographyTypeConfig(1.6, 18, 18),\n body: createTypographyTypeConfig(1.6, 16, 16),\n 'body-small': createTypographyTypeConfig(1.6, 14, 14),\n 'body-xsmall': createTypographyTypeConfig(1.6, 12, 12),\n },\n },\n },\n link: {\n disabledColor: lateOceanColorPalette.black200,\n },\n};\n","import type { InputUIState } from '../../forms/utils';\nimport { lateOceanColorPalette } from '../palettes/lateOceanColorPalette';\nimport { colors } from './colors';\nimport { typography } from './typography';\n\nexport interface InputStateStyle {\n backgroundColor?: string;\n borderColor: string;\n color: keyof typeof typography.colors;\n}\n\nexport type InputStateTheme = Record<InputUIState, InputStateStyle>;\n\nconst inputStatesStyle: InputStateTheme = {\n default: {\n backgroundColor: colors.uiBackgroundLight,\n borderColor: colors.separator,\n color: 'black',\n },\n pending: {\n backgroundColor: colors.uiBackgroundLight,\n borderColor: colors.separator,\n color: 'black',\n },\n valid: {\n backgroundColor: colors.uiBackgroundLight,\n borderColor: lateOceanColorPalette.black100,\n color: 'black',\n },\n hover: {\n borderColor: lateOceanColorPalette.black200,\n color: 'black',\n },\n focus: {\n borderColor: colors.primary,\n color: 'black',\n },\n disabled: {\n backgroundColor: colors.disabled,\n borderColor: colors.separator,\n color: 'black-light',\n },\n invalid: {\n borderColor: colors.separator,\n color: 'black',\n },\n};\n\nexport interface InputTheme {\n minHeight: number;\n color: {\n selection: string;\n placeholder: string;\n };\n borderWidth: number;\n borderRadius: number;\n icon: {\n size: number;\n };\n padding: {\n horizontal: number;\n vertical: number;\n };\n transition: {\n property: string;\n duration: string;\n timingFunction: string;\n };\n states: InputStateTheme;\n}\n\nexport const input: InputTheme = {\n minHeight: 40,\n color: {\n selection: colors.primary,\n placeholder: typography.colors['black-light'],\n },\n borderWidth: 2,\n borderRadius: 10,\n icon: {\n size: 20,\n },\n padding: {\n horizontal: 16,\n vertical: 5,\n },\n transition: {\n property: 'border-color',\n duration: '200ms',\n timingFunction: 'ease-in-out',\n },\n states: inputStatesStyle,\n};\n","export const inputField = {\n labelContainerPaddingBottom: 5,\n iconMarginLeft: 6,\n};\n","import { lateOceanColorPalette } from '../palettes/lateOceanColorPalette';\nimport { colors } from './colors';\n\ninterface InputTagTypeTheme {\n backgroundColor: string;\n labelColor: string;\n}\nexport interface InputTagTheme {\n borderRadius: number;\n iconSize: number;\n default: InputTagTypeTheme;\n success: InputTagTypeTheme;\n danger: InputTagTypeTheme;\n}\n\nexport const inputTag: InputTagTheme = {\n success: {\n backgroundColor: colors.success,\n labelColor: colors.uiBackgroundLight,\n },\n danger: {\n backgroundColor: colors.danger,\n labelColor: colors.uiBackgroundLight,\n },\n default: {\n backgroundColor: lateOceanColorPalette.black50,\n labelColor: colors.black,\n },\n borderRadius: 10,\n iconSize: 13.5,\n};\n","import { lateOceanColorPalette } from '../palettes/lateOceanColorPalette';\nimport { colors } from './colors';\n\nexport interface RadioTheme {\n size: number;\n unchecked: {\n backgroundColor: string;\n borderColor: string;\n borderWidth: number;\n };\n checked: {\n backgroundColor: string;\n innerBackgroundColor: string;\n innerSize: number;\n };\n disabled: {\n backgroundColor: string;\n borderColor: string;\n };\n}\n\nexport const radio: RadioTheme = {\n size: 18,\n unchecked: {\n backgroundColor: colors.uiBackgroundLight,\n borderWidth: 2,\n borderColor: lateOceanColorPalette.black200,\n },\n checked: {\n backgroundColor: colors.primary,\n innerSize: 5,\n innerBackgroundColor: colors.uiBackgroundLight,\n },\n disabled: {\n backgroundColor: colors.disabled,\n borderColor: colors.separator,\n },\n};\n","export interface TextAreaTheme {\n minHeight: number;\n}\n\nexport const textArea: TextAreaTheme = {\n minHeight: 120,\n};\n","import { checkbox } from './checkbox';\nimport { datePicker } from './datePicker';\nimport { input } from './input';\nimport { inputField } from './inputField';\nimport { inputTag } from './inputTag';\nimport { radio } from './radio';\nimport { textArea } from './textArea';\n\nexport const forms = {\n datePicker,\n input,\n radio,\n inputField,\n textArea,\n checkbox,\n inputTag,\n};\n","import { lateOceanColorPalette } from '../palettes/lateOceanColorPalette';\n\nexport const fullScreenModal = {\n header: {\n paddingVertical: 12,\n paddingHorizontal: 16,\n borderColor: lateOceanColorPalette.black100,\n },\n};\n","import { button } from './button';\n\ninterface IconButtonVariationValues {\n pressedBackgroundColor: string;\n}\n\nexport interface IconButtonTheme {\n backgroundColor: string;\n width: number;\n height: number;\n borderRadius: number;\n borderWidth: number;\n borderColor: string;\n transition: {\n property: string;\n duration: string;\n timingFunction: string;\n };\n scale: {\n base: {\n default: number;\n hover: number;\n active: number;\n };\n medium: {\n hover: number;\n };\n };\n disabled: {\n scale: number;\n backgroundColor: string;\n borderColor: string;\n };\n default: IconButtonVariationValues;\n white: IconButtonVariationValues;\n}\n\nexport const iconButton: IconButtonTheme = {\n backgroundColor: 'transparent',\n width: 40,\n height: 40,\n borderRadius: 20,\n borderWidth: 2,\n borderColor: 'transparent',\n transition: {\n property: 'all',\n duration: '200ms',\n timingFunction: 'cubic-bezier(0.645, 0.045, 0.355, 1);',\n },\n scale: {\n base: {\n default: 1,\n hover: 0.95,\n active: 0.95,\n },\n medium: {\n hover: 1.05,\n },\n },\n disabled: {\n scale: 1,\n backgroundColor: button.disabled.default.backgroundColor,\n borderColor: button.disabled.default.borderColor,\n },\n default: {\n pressedBackgroundColor: button.default.default.pressedBackgroundColor,\n },\n white: {\n pressedBackgroundColor: button.white.default.hoverBackgroundColor,\n },\n};\n","import { colors } from './colors';\n\nexport interface ListItemTheme {\n padding: string;\n borderColor: string;\n borderWidth: number;\n innerMargin: number;\n}\n\nexport const listItem: ListItemTheme = {\n padding: '12px 16px',\n borderColor: colors.separator,\n borderWidth: 1,\n innerMargin: 8,\n};\n","export interface NavigationModalTheme {\n height: number;\n padding: number;\n}\n\nexport const navigationModal: NavigationModalTheme = {\n height: 56,\n padding: 16,\n};\n","import { colors } from './colors';\n\nexport interface PageLoaderTheme {\n size: number;\n strokeWidth: number;\n colors: {\n base: string;\n fill: string;\n };\n animation: {\n delay: number;\n circleBackgroundFillDuration: number;\n filledCircleFillDuration: number;\n groupFilledCircleRotationDuration: number;\n filledCircleRotationDuration: number;\n fillEasingFunction: [number, number, number, number];\n };\n}\n\nexport const pageLoader: PageLoaderTheme = {\n size: 60,\n strokeWidth: 3,\n colors: {\n base: colors.separator,\n fill: colors.primary,\n },\n animation: {\n delay: 500,\n circleBackgroundFillDuration: 1000,\n filledCircleFillDuration: 1800,\n groupFilledCircleRotationDuration: 1800,\n filledCircleRotationDuration: 2160,\n fillEasingFunction: [0.39, 0.575, 0.565, 1],\n },\n};\n","import type { TextStyle } from 'react-native';\nimport { colors } from './colors';\nimport { typography } from './typography';\n\nexport interface PickerTheme {\n ios: {\n default: TextStyle;\n selected: {\n color: string;\n };\n };\n android: {\n padding: string;\n default: {\n backgroundColor: string;\n };\n selected: {\n backgroundColor: string;\n color: string;\n };\n };\n}\n\nexport const picker: PickerTheme = {\n ios: {\n default: {\n fontFamily: typography.types.bodies.fontFamily.regular,\n ...typography.types.bodies.configs.body.baseAndSmall,\n fontSize: 16,\n color: typography.colors['black-light'],\n },\n selected: {\n color: typography.colors.primary,\n },\n },\n android: {\n padding: '12px 24px',\n default: {\n backgroundColor: colors.transparent,\n },\n selected: {\n backgroundColor: colors.primary,\n color: typography.colors.white,\n },\n },\n};\n","export const shadows = {\n medium: '0px 10px 20px rgba(41, 48, 51, 0.25)',\n};\n","import { lateOceanColorPalette } from '../palettes/lateOceanColorPalette';\n\nexport interface SkeletonTheme {\n backgroundColor: string;\n flareColor: string;\n animationDuration: number;\n}\n\nexport const skeleton: SkeletonTheme = {\n backgroundColor: lateOceanColorPalette.black100,\n flareColor: lateOceanColorPalette.black200,\n animationDuration: 1000,\n};\n","import { lateOceanColorPalette } from '../palettes/lateOceanColorPalette';\nimport { colors } from './colors';\n\nexport interface TagVariantTheme {\n borderWidth: number;\n backgroundColor: string;\n borderColor: string;\n}\n\nexport interface TagTypeTheme {\n fill: TagVariantTheme;\n outline: TagVariantTheme;\n}\n\nexport interface TagTheme {\n borderRadius: number;\n padding: string;\n primary: TagTypeTheme;\n default: TagTypeTheme;\n danger: TagTypeTheme;\n}\n\nexport const tag: TagTheme = {\n borderRadius: 10,\n padding: '2px 12px',\n primary: {\n fill: {\n backgroundColor: lateOceanColorPalette.moonPurpleLight1,\n borderWidth: 0,\n borderColor: colors.transparent,\n },\n outline: {\n backgroundColor: colors.transparent,\n borderWidth: 1,\n borderColor: colors.primary,\n },\n },\n default: {\n fill: {\n backgroundColor: lateOceanColorPalette.black50,\n borderWidth: 0,\n borderColor: colors.transparent,\n },\n outline: {\n backgroundColor: colors.transparent,\n borderWidth: 1,\n borderColor: colors.black,\n },\n },\n danger: {\n fill: {\n backgroundColor: lateOceanColorPalette.warmEmbrace,\n borderWidth: 0,\n borderColor: colors.transparent,\n },\n outline: {\n backgroundColor: colors.transparent,\n borderWidth: 1,\n borderColor: colors.danger,\n },\n },\n};\n","import { colors } from './colors';\n\nexport interface TooltipTheme {\n backgroundColor: string;\n borderRadius: number;\n opacity: number;\n horizontalPadding: number;\n verticalPadding: number;\n floatingPadding: number;\n}\n\nexport const tooltip: TooltipTheme = {\n backgroundColor: colors.black,\n borderRadius: 10,\n opacity: 0.95,\n horizontalPadding: 16,\n verticalPadding: 4,\n floatingPadding: 8,\n};\n","import { avatar } from './late-ocean/avatar';\nimport { button } from './late-ocean/button';\nimport { card } from './late-ocean/card';\nimport { colors } from './late-ocean/colors';\nimport { feedbackMessage } from './late-ocean/feedback';\nimport { forms } from './late-ocean/forms';\nimport { fullScreenModal } from './late-ocean/fullScreenModal';\nimport { iconButton } from './late-ocean/iconButton';\nimport { listItem } from './late-ocean/listItem';\nimport { navigationModal } from './late-ocean/navigationModal';\nimport { pageLoader } from './late-ocean/pageLoader';\nimport { picker } from './late-ocean/picker';\nimport { shadows } from './late-ocean/shadows';\nimport { skeleton } from './late-ocean/skeleton';\nimport { tag } from './late-ocean/tag';\nimport { tooltip } from './late-ocean/tooltip';\nimport { typography } from './late-ocean/typography';\nimport { lateOceanColorPalette } from './palettes/lateOceanColorPalette';\n\nconst breakpoints = {\n values: {\n base: 0,\n small: 480,\n medium: 768,\n large: 1024,\n wide: 1280,\n },\n min: {\n smallBreakpoint: 'min-width: 480px',\n mediumBreakpoint: 'min-width: 768px',\n largeBreakpoint: 'min-width: 1024px',\n wideBreakpoint: 'min-width: 1280px',\n },\n max: {\n smallBreakpoint: 'max-width: 479px',\n mediumBreakpoint: 'max-width: 767px',\n largeBreakpoint: 'max-width: 1023px',\n wideBreakpoint: 'max-width: 1279px',\n },\n};\n\n// eslint-disable-next-line unicorn/expiring-todo-comments\n// TODO : seperate brand color usage definition from proper theme definition and add typings - https://ornikar.atlassian.net/browse/CME-156\nexport const theme = {\n spacing: 4,\n colors,\n palettes: { lateOcean: lateOceanColorPalette },\n avatar,\n breakpoints,\n button,\n card,\n feedbackMessage,\n forms,\n fullScreenModal,\n iconButton,\n listItem,\n pageLoader,\n picker,\n shadows,\n skeleton,\n tag,\n tooltip,\n typography,\n navigationModal,\n};\n\nexport type Theme = typeof theme;\n","import { useWindowDimensions } from 'react-native';\nimport type { WindowDimensions } from './createWindowSizeHelper';\n\nexport interface MatchWindowSizeOptions {\n minWidth?: number;\n maxWidth?: number;\n minHeight?: number;\n maxHeight?: number;\n}\nexport function matchWindowSize(\n { width, height }: WindowDimensions,\n { minWidth, maxWidth, minHeight, maxHeight }: MatchWindowSizeOptions,\n): boolean {\n const hasWidthMatched = width ? (!minWidth || width >= minWidth) && (!maxWidth || width <= maxWidth) : true;\n const hasHeightMatched = height ? (!minHeight || height >= minHeight) && (!maxHeight || height <= maxHeight) : true;\n return hasWidthMatched && hasHeightMatched;\n}\n\nexport function useMatchWindowSize(options: MatchWindowSizeOptions): boolean {\n const { width, height } = useWindowDimensions();\n return matchWindowSize({ width, height }, options);\n}\n","// eslint-disable-next-line no-restricted-imports\nimport type { FlattenSimpleInterpolation } from 'styled-components';\nimport type { MatchWindowSizeOptions } from './useMatchWindowSize';\nimport { matchWindowSize } from './useMatchWindowSize';\n\nexport interface WindowSizeHelper {\n /** Prefer using if or map variants, at it should be more web friendly */\n matchWindowSize: (options: MatchWindowSizeOptions) => boolean;\n\n /**\n * @example\n * ```typescript\n * const Container = styled.View`\n * ${({ theme }) =>\n * theme.responsive.ifWindowSizeMatches(\n * { minWidth: KittBreakpoints.SMALL },\n * 'padding: 5px 0 10px;'\n * )\n * )};\n * `;\n * ```\n */\n ifWindowSizeMatches: <T extends string | FlattenSimpleInterpolation | null>(\n options: MatchWindowSizeOptions,\n valueIfTrue: T,\n valueIfFalse?: T,\n ) => T | undefined;\n\n /**\n *\n * @example\n * ```typescript\n * const Container = styled.View`\n * ${({ theme }) =>\n * theme.responsive.mapWindowWidth(\n * [KittBreakpoints.BASE, 'padding: 5px 0 10px;'],\n * [KittBreakpoints.SMALL, 'padding: 10px 0;'],\n * )\n * )};\n * `;\n * ```\n */\n mapWindowWidth: <V extends string>(...widthList: [number, V][]) => V | null;\n}\n\nexport interface WindowDimensions {\n width?: number;\n height?: number;\n}\n\nexport function createWindowSizeHelper(dimensions: WindowDimensions): WindowSizeHelper {\n return {\n matchWindowSize: (options) => matchWindowSize(dimensions, options),\n\n ifWindowSizeMatches: (options, valueIfTrue, valueIfFalse) =>\n matchWindowSize(dimensions, options) ? valueIfTrue : valueIfFalse,\n\n mapWindowWidth: <V extends string>(...widthList: [number, V][]): V | null => {\n if (__DEV__) {\n widthList.slice(1).forEach(([minWidth], index) => {\n const previousMinWidth = widthList[index][0];\n if (previousMinWidth > minWidth) {\n throw new Error(\n `mapWindowWidth: sort your values to be mobile first. ${minWidth} is < ${previousMinWidth}, so ${minWidth} should be before ${previousMinWidth}.`,\n );\n }\n });\n }\n const found = widthList.find(([minWidth, value]) => matchWindowSize(dimensions, { minWidth: Number(minWidth) }));\n if (!found) return null;\n return found[1];\n },\n };\n}\n","import { useMemo } from 'react';\nimport type { Theme } from './themes/default';\nimport { theme as kittTheme } from './themes/default';\nimport type { WindowSizeHelper } from './utils/windowSize/createWindowSizeHelper';\nimport { createWindowSizeHelper } from './utils/windowSize/createWindowSizeHelper';\nimport { useWindowSize } from './utils/windowSize/useWindowSize';\n\nexport interface KittTheme {\n kitt: Theme;\n responsive: WindowSizeHelper;\n}\n\nexport function useKittTheme(): KittTheme {\n const dimensions = useWindowSize();\n return useMemo(() => {\n return { kitt: kittTheme, responsive: createWindowSizeHelper(dimensions) };\n }, [dimensions]);\n}\n","import { CheckboxMark } from '@ornikar/kitt-icons';\nimport type { ReactElement, ReactNode } from 'react';\nimport type { GestureResponderEvent, PressableProps } from 'react-native';\nimport styled, { css } from 'styled-components/native';\nimport { Icon } from '../../Icon/Icon';\nimport { useKittTheme } from '../../useKittTheme';\n\ninterface CheckboxContainerProps {\n $isChecked: boolean;\n $hasLabel: boolean;\n}\n\nconst CheckboxAndLabelPressableWrapper = styled.Pressable`\n display: flex;\n flex-direction: row;\n`;\n\nconst CheckboxContainer = styled.View<CheckboxContainerProps>`\n display: flex;\n flex-direction: row;\n align-items: center;\n justify-content: center;\n\n height: ${({ theme }) => theme.kitt.forms.checkbox.height}px;\n width: ${({ theme }) => theme.kitt.forms.checkbox.width}px;\n position: relative;\n border-radius: ${({ theme }) => theme.kitt.forms.checkbox.borderRadius}px;\n\n ${({ $isChecked, theme }) => {\n const { checkedBackgroundColor, checkedBorderColor, borderColor, borderWidth, backgroundColor } =\n theme.kitt.forms.checkbox;\n if ($isChecked) {\n return css`\n background-color: ${checkedBackgroundColor};\n border: ${`${borderWidth}px solid ${checkedBorderColor}`};\n `;\n }\n return css`\n background-color: ${backgroundColor};\n border: ${`${borderWidth}px solid ${borderColor}`};\n `;\n }}\n\n margin-right: ${({ theme, $hasLabel }) => {\n if (!$hasLabel) return '0px';\n return `${theme.kitt.spacing * 2.5}px;`;\n }};\n`;\n\nexport interface CheckboxProps {\n onChange: (checked: boolean, e: GestureResponderEvent) => void;\n onBlur?: (e: any) => void;\n onFocus?: (e: any) => void;\n checked: boolean;\n hitSlop?: number;\n id?: PressableProps['testID'];\n children?: ReactNode;\n}\n\nexport function Checkbox({\n onChange,\n onBlur,\n onFocus,\n checked,\n hitSlop = 40,\n id,\n children,\n}: CheckboxProps): ReactElement {\n const theme = useKittTheme();\n\n const handlePress = (e: GestureResponderEvent): void => {\n if (onFocus) onFocus(e);\n if (onChange) onChange(!checked, e);\n if (onBlur) onBlur(e);\n };\n\n return (\n <CheckboxAndLabelPressableWrapper\n accessibilityRole=\"checkbox\"\n accessibilityState={{ checked }}\n hitSlop={hitSlop}\n onPress={handlePress}\n >\n <CheckboxContainer $isChecked={checked} $hasLabel={!!children} testID={id}>\n {checked ? (\n <Icon\n align=\"center\"\n color={theme.kitt.forms.checkbox.markColor}\n size={theme.kitt.forms.checkbox.iconSize}\n icon={<CheckboxMark />}\n />\n ) : null}\n </CheckboxContainer>\n\n {children}\n </CheckboxAndLabelPressableWrapper>\n );\n}\n","export type InputFormState = undefined | 'valid' | 'invalid' | 'pending';\n\nexport type InputUIState = NonNullable<InputFormState> | 'default' | 'disabled' | 'hover' | 'focus';\n\ninterface GetInputStateConfig {\n isFocused: boolean;\n isDisabled: boolean;\n formState: InputFormState;\n}\n\nexport function getInputUIState({ isFocused, isDisabled, formState }: GetInputStateConfig): InputUIState {\n if (isDisabled) return 'disabled';\n\n if (isFocused) return 'focus';\n\n if (formState === 'invalid') return 'invalid';\n\n return 'default';\n}\n","import { css } from 'styled-components/native';\nimport { getTypographyTypeConfigKey } from '../typography/Typography';\nimport type { InputUIState } from './utils';\n\nexport interface TextInputMixinProps {\n $state: InputUIState;\n}\n\nexport const styledTextInputMixin = css<TextInputMixinProps>`\n background-color: ${({ theme, $state }) =>\n $state === 'disabled'\n ? theme.kitt.forms.input.states.disabled.backgroundColor\n : theme.kitt.forms.input.states.default.backgroundColor};\n\n border-width: ${({ theme }) => theme.kitt.forms.input.borderWidth}px;\n border-radius: ${({ theme }) => theme.kitt.forms.input.borderRadius}px;\n border-color: ${({ theme, $state }) => theme.kitt.forms.input.states[$state].borderColor};\n\n font-size: ${({ theme }) => {\n const typeConfigKey = getTypographyTypeConfigKey(theme);\n return `${theme.kitt.typography.types.bodies.configs.body[typeConfigKey].fontSize}px`;\n }};\n\n color: ${({ theme, $state }) => theme.kitt.typography.colors[theme.kitt.forms.input.states[$state].color]};\n font-family: ${({ theme }) => theme.kitt.typography.types.bodies.fontFamily.regular};\n`;\n","import type { ReactElement, ReactNode } from 'react';\nimport styled from 'styled-components/native';\nimport { Typography } from '../../typography/Typography';\nimport type { TextInputMixinProps } from '../styledTextInputMixin';\nimport { styledTextInputMixin } from '../styledTextInputMixin';\n\ntype PartName = 'year' | 'month' | 'day';\n\nconst StyledTypographyText = styled(Typography.Text)`\n text-align: center;\n`;\n\ninterface ViewInputProps extends TextInputMixinProps {\n $partName?: PartName;\n}\n\nconst ViewInput = styled.View<ViewInputProps>`\n ${styledTextInputMixin}\n padding: ${({ theme }) =>\n `${theme.kitt.forms.input.padding.vertical}px ${theme.kitt.forms.input.padding.horizontal}px`};\n\n min-height: ${({ theme }) => theme.kitt.forms.input.minHeight}px;\n min-width: ${({ theme, $partName }) => {\n if (!$partName) {\n return undefined;\n }\n\n return `${theme.kitt.forms.datePicker[$partName].minWidth}px`;\n }};\n`;\n\ninterface DatePickerInputPartProps extends TextInputMixinProps {\n disabled?: boolean;\n partName?: 'year' | 'month' | 'day';\n placeholder?: string;\n value?: ReactNode;\n}\n\nexport function DatePickerInputPart({\n $state,\n placeholder,\n value,\n partName,\n disabled,\n}: DatePickerInputPartProps): ReactElement {\n const hasContent = placeholder || value;\n\n return (\n <ViewInput $state={$state} $partName={partName}>\n {hasContent ? (\n <StyledTypographyText color={!value || disabled ? 'black-light' : undefined}>\n {value || placeholder}\n </StyledTypographyText>\n ) : null}\n </ViewInput>\n );\n}\n","import type { ReactElement } from 'react';\nimport styled, { css } from 'styled-components/native';\nimport { getInputUIState } from '../utils';\nimport { DatePickerInputPart } from './DatePickerInputPart';\nimport type { DatePickerInputsProps } from './types';\n\nfunction prefixWithZero(value: number): string {\n return `${value}`.padStart(2, '0');\n}\n\ninterface PartContainerProps {\n $isLast?: boolean;\n $isStretch?: boolean;\n}\n\nconst PartContainer = styled.View<PartContainerProps>`\n margin-right: ${({ theme, $isLast }) => (!$isLast ? `${theme.kitt.spacing * 2}px` : 0)};\n ${({ $isStretch }) =>\n $isStretch\n ? css`\n flex: 0.33;\n flex-grow: 1;\n `\n : undefined};\n`;\n\ninterface DatePickerPressableProps {\n $isStretch?: boolean;\n}\n\nconst DatePickerPressable = styled.Pressable<DatePickerPressableProps>`\n display: flex;\n flex-direction: row;\n ${({ $isStretch }) => {\n if ($isStretch) {\n return css`\n width: 100%;\n `;\n }\n\n return css`\n align-self: baseline;\n `;\n }};\n`;\n\nexport interface DatePickerPlaceholder {\n day: string;\n month: string;\n year: string;\n}\n\nexport function DatePickerInputs({\n state,\n internalForceState,\n isFocused,\n disabled,\n stretch,\n id,\n testID,\n handleModalOpen,\n currentValue,\n placeholder,\n}: DatePickerInputsProps): ReactElement {\n const currentState =\n internalForceState || getInputUIState({ isFocused, isDisabled: Boolean(disabled), formState: state });\n\n const sharedPartProps = {\n disabled,\n $state: currentState,\n };\n\n return (\n <DatePickerPressable\n $isStretch={stretch}\n nativeID={id}\n disabled={disabled}\n testID={testID}\n onPress={handleModalOpen}\n >\n <PartContainer $isStretch={stretch}>\n <DatePickerInputPart\n {...sharedPartProps}\n partName=\"day\"\n value={currentValue ? prefixWithZero(currentValue.getDate()) : undefined}\n placeholder={placeholder?.day}\n />\n </PartContainer>\n\n <PartContainer $isStretch={stretch}>\n <DatePickerInputPart\n {...sharedPartProps}\n partName=\"month\"\n value={currentValue ? prefixWithZero(currentValue.getMonth() + 1) : undefined}\n placeholder={placeholder?.month}\n />\n </PartContainer>\n\n <PartContainer $isLast $isStretch={stretch}>\n <DatePickerInputPart\n {...sharedPartProps}\n partName=\"year\"\n value={currentValue ? currentValue.getFullYear() : undefined}\n placeholder={placeholder?.year}\n />\n </PartContainer>\n </DatePickerPressable>\n );\n}\n","import { DateTimePickerAndroid } from '@react-native-community/datetimepicker';\nimport { useEffect } from 'react';\nimport type { ReactElement } from 'react';\nimport type { Except } from 'type-fest';\nimport { DatePickerInputs } from './DatePickerInputs';\nimport type { DatePickerProps } from './types';\n\ninterface DatePickerAndroidProps\n extends Except<DatePickerProps, 'pickerUITitle' | 'pickerUIValidateButtonLabel' | 'value'> {\n isFocused: boolean;\n setIsFocused: (isFocused: boolean) => void;\n currentValue: Date | undefined;\n setCurrentValue: (value: Date | undefined) => void;\n}\n\nexport function DatePickerAndroid({\n onBlur,\n onFocus,\n pickerDefaultDate,\n pickerUITestID,\n isDefaultVisible,\n setIsFocused,\n currentValue,\n setCurrentValue,\n onChange,\n isFocused,\n ...props\n}: DatePickerAndroidProps): ReactElement {\n const handleClose = (): void => {\n if (onBlur) onBlur();\n };\n\n const handleModalOpen = (): void => {\n setIsFocused(true);\n if (onFocus) onFocus();\n\n DateTimePickerAndroid.open({\n testID: pickerUITestID,\n value: currentValue || pickerDefaultDate || new Date(Date.now()),\n onChange: (e) => {\n setIsFocused(false);\n const { timestamp } = e.nativeEvent;\n if (timestamp) {\n const date = new Date(timestamp);\n\n setCurrentValue(date);\n onChange(date);\n handleClose();\n }\n },\n onTouchCancel: handleClose,\n });\n };\n\n useEffect(() => {\n if (isDefaultVisible) handleModalOpen();\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, []);\n\n return (\n <DatePickerInputs handleModalOpen={handleModalOpen} currentValue={currentValue} isFocused={isFocused} {...props} />\n );\n}\n","import type { ReactElement } from 'react';\nimport type { PressableProps } from 'react-native';\nimport { Pressable, StyleSheet } from 'react-native';\nimport styled from 'styled-components/native';\n\ninterface OverlayProps extends Pick<PressableProps, 'onPress'> {}\n\n// Don't use styled.Pressable here - babel-plugin-styled-components-react-native-web only supports tagged templates\nconst OverlayPressable = styled(Pressable)(({ theme }) => ({\n ...StyleSheet.absoluteFillObject,\n backgroundColor: theme.kitt.colors.overlay.dark,\n}));\n\nexport function Overlay({ onPress }: OverlayProps): ReactElement {\n return <OverlayPressable accessibilityRole=\"none\" onPress={onPress} />;\n}\n","import type { ReactElement, ReactNode } from 'react';\nimport { ScrollView } from 'react-native';\nimport styled from 'styled-components/native';\n\nconst BodyView = styled.View`\n padding: ${({ theme }) => theme.kitt.spacing * 6}px ${({ theme }) => theme.kitt.spacing * 4}px;\n`;\n\nexport interface BodyProps {\n children: NonNullable<ReactNode>;\n}\n\nexport function ModalBody({ children }: BodyProps): ReactElement {\n return (\n <ScrollView>\n <BodyView>{children}</BodyView>\n </ScrollView>\n );\n}\n","import type { ReactElement, ReactNode } from 'react';\nimport styled from 'styled-components/native';\n\nexport interface FooterProps {\n children: NonNullable<ReactNode>;\n}\n\nconst FooterView = styled.View`\n flex: 0 0 auto;\n padding: ${({ theme }) => theme.kitt.spacing * 4}px;\n border-top-width: 1px;\n border-top-color: ${({ theme }) => theme.kitt.colors.separator};\n`;\n\nexport function ModalFooter({ children }: FooterProps): ReactElement {\n return <FooterView>{children}</FooterView>;\n}\n","import type { ComponentProps, ElementType, ReactElement, ReactNode } from 'react';\nimport { Platform } from 'react-native';\n\nexport interface StyleWebWrapperProps<T extends ElementType> {\n as: T;\n children: ReactNode;\n}\n\nexport function StyleWebWrapper<T extends ElementType = 'div'>({\n as,\n children,\n ...props\n}: StyleWebWrapperProps<T> & ComponentProps<T>): ReactElement {\n if (Platform.OS !== 'web') return children as ReactElement;\n const Component: T = as || ('div' as T); // as or default to div. If as is undefined, T is div but typescript is not sure\n return <Component {...(props as any)}>{children}</Component>;\n}\n","import { styled as styledLinaria } from '@linaria/react';\nimport type { ReactElement } from 'react';\nimport type { PressableProps } from 'react-native';\nimport { Platform } from 'react-native';\nimport type { DefaultTheme } from 'styled-components/native';\nimport styled from 'styled-components/native';\nimport { theme as kittTheme } from '../themes/default';\nimport { StyleWebWrapper } from '../utils/StyleWebWrapper';\nimport { withTheme } from '../utils/withTheme';\nimport type { IconButtonContentProps } from './IconButton';\n\ninterface PressableIconButtonWebWrapperProps {\n theme: DefaultTheme;\n $isWhite?: boolean;\n $isDisabled?: boolean;\n}\n\nconst PressableIconButtonWebWrapper = withTheme(styledLinaria.div<PressableIconButtonWebWrapperProps>`\n & > *:hover,\n .kitt-hover & > * {\n @media (hover: none) and (pointer: coarse) {\n transform: scale(${({ theme, $isDisabled }) => ($isDisabled ? 1 : theme.kitt.iconButton.scale.base.hover)});\n }\n\n @media (${kittTheme.breakpoints.min.mediumBreakpoint}) {\n transform: scale(${({ theme, $isDisabled }) => ($isDisabled ? 1 : theme.kitt.iconButton.scale.medium.hover)});\n }\n }\n\n & > *:active,\n .kitt-active & > * {\n transform: scale(${({ theme, $isDisabled }) => ($isDisabled ? 1 : theme.kitt.iconButton.scale.base.active)});\n }\n\n &,\n & > [data-focusvisible-polyfill] {\n outline: none;\n }\n\n & > *:hover,\n .kitt-hover & > *,\n & > *:focus,\n .kitt-focus & > *,\n & > [data-focusvisible-polyfill],\n & > *:active,\n .kitt-active & > * {\n background-color: ${({ theme, $isWhite, $isDisabled }) => {\n if ($isDisabled) return theme.kitt.iconButton.disabled.backgroundColor;\n\n const { white, default: defaultIconButton } = theme.kitt.iconButton;\n\n if ($isWhite) return white.pressedBackgroundColor;\n return defaultIconButton.pressedBackgroundColor;\n }};\n }\n`);\n\nconst StyledPressableIconButton = styled.Pressable`\n border-radius: ${({ theme }) => theme.kitt.iconButton.borderRadius}px;\n width: ${({ theme }) => theme.kitt.iconButton.width}px;\n height: ${({ theme }) => theme.kitt.iconButton.height}px;\n align-items: center;\n justify-content: center;\n position: relative;\n background-color: transparent;\n\n ${({ theme, disabled }) => {\n const { iconButton } = theme.kitt;\n\n if (Platform.OS !== 'web') {\n return undefined;\n }\n\n const { transition } = iconButton;\n\n if (disabled) {\n return `\n background-color: ${iconButton.disabled.backgroundColor};\n `;\n }\n\n return `\n transition: ${transition.property} ${transition.duration} ${transition.timingFunction};\n `;\n }};\n`;\n\nexport interface PressableIconButtonProps extends PressableProps {\n color: IconButtonContentProps['color'];\n}\n\nexport function PressableIconButton({ color, disabled, ...props }: PressableIconButtonProps): ReactElement {\n return (\n <StyleWebWrapper as={PressableIconButtonWebWrapper} $isWhite={color === 'white'} $isDisabled={Boolean(disabled)}>\n <StyledPressableIconButton {...props} disabled={disabled} />\n </StyleWebWrapper>\n );\n}\n","import type { ReactElement, ReactNode } from 'react';\nimport Animated, { useAnimatedStyle, useSharedValue, withSpring } from 'react-native-reanimated';\nimport styled, { useTheme } from 'styled-components/native';\nimport type { IconButtonContentProps } from './IconButton';\nimport type { PressableIconButtonProps } from './PressableIconButton';\nimport { PressableIconButton } from './PressableIconButton';\n\nexport interface PressableAnimatedContainerProps {\n children: NonNullable<ReactNode>;\n disabled?: boolean;\n color: IconButtonContentProps['color'];\n testID?: IconButtonContentProps['testID'];\n accessibilityLabel?: IconButtonContentProps['accessibilityLabel'];\n accessibilityRole?: IconButtonContentProps['accessibilityRole'];\n onPress: NonNullable<PressableIconButtonProps['onPress']>;\n}\n\ninterface AnimatedIconButtonBackgroundProps {\n color: IconButtonContentProps['color'];\n disabled?: boolean;\n}\n\nconst AnimatedIconButtonBackground = styled(Animated.View)<AnimatedIconButtonBackgroundProps>`\n background-color: ${({ theme, color, disabled }) => {\n const { iconButton } = theme.kitt;\n if (disabled) return iconButton.disabled.backgroundColor;\n\n if (color === 'white') return iconButton.white.pressedBackgroundColor;\n\n return iconButton.default.pressedBackgroundColor;\n }};\n border-radius: ${({ theme }) => theme.kitt.iconButton.borderRadius}px;\n width: ${({ theme }) => theme.kitt.iconButton.width}px;\n height: ${({ theme }) => theme.kitt.iconButton.height}px;\n position: absolute;\n bottom: 0;\n left: 0;\n`;\n\nconst AnimatedViewContainer = styled(Animated.View)`\n position: relative;\n align-items: center;\n justify-content: center;\n width: 100%;\n height: 100%;\n`;\n\nexport function PressableAnimatedContainer({\n disabled,\n color = 'black',\n testID,\n accessibilityRole = 'button',\n accessibilityLabel,\n children,\n onPress,\n}: PressableAnimatedContainerProps): ReactElement {\n const theme = useTheme();\n const pressed = useSharedValue(false);\n\n const opacityStyles = useAnimatedStyle(() => {\n return {\n opacity: withSpring(pressed.value ? 1 : 0),\n };\n });\n\n const scaleStyles = useAnimatedStyle(() => {\n return {\n transform: [\n {\n scale: withSpring(\n pressed.value ? theme.kitt.iconButton.scale.base.active : theme.kitt.iconButton.scale.base.default,\n ),\n },\n ],\n };\n });\n\n return (\n <PressableIconButton\n accessibilityRole={accessibilityRole}\n disabled={disabled}\n color={color}\n testID={testID}\n accessibilityLabel={accessibilityLabel}\n onPress={onPress}\n onPressIn={() => {\n pressed.value = true;\n }}\n onPressOut={() => {\n pressed.value = false;\n }}\n >\n <AnimatedViewContainer style={disabled ? [{ transform: [{ scale: 1 }] }] : [scaleStyles]}>\n <AnimatedIconButtonBackground\n disabled={disabled}\n color={color}\n style={disabled ? [{ opacity: 1 }] : [opacityStyles]}\n />\n {children}\n </AnimatedViewContainer>\n </PressableIconButton>\n );\n}\n","import type { ReactElement } from 'react';\nimport type { AccessibilityRole } from 'react-native';\nimport styled from 'styled-components/native';\nimport { TypographyIcon } from '../typography/TypographyIcon';\nimport { PressableAnimatedContainer } from './PressableAnimatedContainer';\n\ninterface IconButtonContentBorderProps {\n disabled?: boolean;\n}\n\nconst IconButtonContentBorder = styled.View<IconButtonContentBorderProps>`\n border: ${({ theme }) => `${theme.kitt.iconButton.borderWidth}px solid`};\n border-color: ${({ theme, disabled }) =>\n disabled ? theme.kitt.iconButton.disabled.borderColor : theme.kitt.iconButton.borderColor};\n width: ${({ theme }) => theme.kitt.iconButton.width - theme.kitt.iconButton.borderWidth}px;\n height: ${({ theme }) => theme.kitt.iconButton.height - theme.kitt.iconButton.borderWidth}px;\n align-items: center;\n justify-content: center;\n border-radius: ${({ theme }) => theme.kitt.iconButton.borderRadius}px;\n`;\nexport interface IconButtonContentProps {\n icon: NonNullable<ReactElement>;\n color?: 'black' | 'white';\n disabled?: boolean;\n testID?: string;\n accessibilityLabel?: string;\n accessibilityRole?: AccessibilityRole;\n}\n\nfunction IconButtonContent({ disabled, color, icon }: IconButtonContentProps): ReactElement {\n return (\n <IconButtonContentBorder disabled={disabled}>\n <TypographyIcon color={disabled ? 'black-light' : color} icon={icon} />\n </IconButtonContentBorder>\n );\n}\n\nexport interface IconButtonProps extends IconButtonContentProps {\n onPress: () => void;\n}\n\nexport function IconButton({\n icon,\n color,\n disabled,\n testID,\n accessibilityLabel,\n accessibilityRole,\n onPress,\n}: IconButtonProps): ReactElement {\n return (\n <PressableAnimatedContainer\n color={color}\n disabled={disabled}\n testID={testID}\n accessibilityLabel={accessibilityLabel}\n accessibilityRole={accessibilityRole}\n onPress={onPress}\n >\n <IconButtonContent disabled={disabled} color={color} icon={icon} />\n </PressableAnimatedContainer>\n );\n}\n","import { createContext } from 'react';\n\nexport const OnCloseContext = createContext<() => void>(() => {});\n","import { XIcon } from '@ornikar/kitt-icons';\nimport type { ReactElement, ReactNode } from 'react';\nimport { useContext } from 'react';\nimport styled from 'styled-components/native';\nimport { IconButton } from '../IconButton/IconButton';\nimport { OnCloseContext } from './OnCloseContext';\n\nexport interface HeaderProps {\n children: NonNullable<ReactNode>;\n left?: ReactNode;\n right?: ReactNode;\n}\n\nconst HeaderView = styled.View`\n position: relative;\n padding: ${({ theme }) => theme.kitt.spacing * 2}px;\n display: flex;\n flex: 0 0 auto;\n flex-direction: row;\n justify-content: space-between;\n align-items: center;\n border-bottom-width: 1px;\n border-bottom-color: ${({ theme }) => theme.kitt.colors.separator};\n min-height: 57px;\n`;\n\nconst LeftIconView = styled.View`\n align-self: flex-start;\n margin-right: ${({ theme }) => theme.kitt.spacing * 2}px;\n`;\n\nconst RightIconView = styled.View`\n align-self: flex-start;\n margin-left: ${({ theme }) => theme.kitt.spacing * 2}px;\n`;\n\ninterface TitleViewProps {\n isIconLeft?: boolean;\n}\n\nconst TitleView = styled.View<TitleViewProps>`\n padding-left: ${({ theme, isIconLeft }) => (isIconLeft ? 0 : theme.kitt.spacing * 2)}px;\n flex-shrink: 1;\n`;\n\nexport function ModalHeader({ left, right, children }: HeaderProps): ReactElement {\n const onClose = useContext(OnCloseContext);\n\n const isIconLeft = !!left;\n\n return (\n <HeaderView>\n {isIconLeft && <LeftIconView>{left}</LeftIconView>}\n\n <TitleView isIconLeft={isIconLeft}>{children}</TitleView>\n\n {right !== undefined ? (\n right\n ) : (\n <RightIconView>\n <IconButton icon={<XIcon />} onPress={onClose} />\n </RightIconView>\n )}\n </HeaderView>\n );\n}\n","import type { ReactElement, ReactNode } from 'react';\nimport { Modal as NativeModal } from 'react-native';\nimport styled from 'styled-components/native';\nimport { Overlay } from '../Overlay/Overlay';\nimport { ModalBody } from './Body';\nimport { ModalFooter } from './Footer';\nimport { ModalHeader } from './Header';\nimport { OnCloseContext } from './OnCloseContext';\n\nexport interface ModalProps {\n visible: boolean;\n children: ReactNode;\n onClose: () => void;\n onEntered?: () => void;\n onExited?: () => void;\n}\n\nconst ModalView = styled.View`\n top: 0;\n left: 0;\n width: 100%;\n height: 100%;\n\n display: flex;\n align-items: center;\n justify-content: center;\n padding: ${({ theme }) => theme.kitt.spacing * 20}px ${({ theme }) => theme.kitt.spacing * 4}px;\n`;\n\nconst ContentView = styled.View`\n position: relative;\n display: flex;\n flex-direction: column;\n max-height: 100%;\n max-width: 540px;\n height: auto;\n width: 100%;\n border-radius: ${({ theme }) => theme.kitt.card.borderRadius}px;\n background-color: ${({ theme }) => theme.kitt.colors.uiBackgroundLight};\n`;\n\nexport function Modal({ visible, children, onClose, onEntered, onExited }: ModalProps): ReactElement {\n return (\n <OnCloseContext.Provider value={onClose}>\n <NativeModal\n transparent\n animationType=\"fade\"\n visible={visible}\n onShow={onEntered}\n onDismiss={onExited}\n onRequestClose={onClose}\n >\n <ModalView>\n <Overlay onPress={onClose} />\n\n <ContentView>{children}</ContentView>\n </ModalView>\n </NativeModal>\n </OnCloseContext.Provider>\n );\n}\n\nModal.Header = ModalHeader;\nModal.Body = ModalBody;\nModal.Footer = ModalFooter;\n","import DateTimePicker from '@react-native-community/datetimepicker';\nimport type { DateTimePickerEvent } from '@react-native-community/datetimepicker';\nimport type { ComponentProps, ReactElement } from 'react';\nimport { Platform } from 'react-native';\nimport { useTheme } from 'styled-components/native';\n\ntype DateTimePickerProps = ComponentProps<typeof DateTimePicker>;\n\nfunction getDatePickerDisplayMode(): DateTimePickerProps['display'] {\n if (Platform.OS === 'android') return 'calendar';\n\n if (Platform.OS === 'ios') return 'spinner';\n\n return 'default';\n}\n\nexport interface PlatformDateTimePickerProps {\n value?: Date;\n defaultDate?: Date;\n maximumDate?: DateTimePickerProps['maximumDate'];\n minimuDate?: DateTimePickerProps['minimumDate'];\n testID?: DateTimePickerProps['testID'];\n onChange: (newDate?: Date) => void;\n}\n\nexport function PlatformDateTimePicker({\n value,\n defaultDate = new Date(),\n maximumDate,\n minimuDate,\n testID,\n onChange,\n}: PlatformDateTimePickerProps): ReactElement {\n const theme = useTheme();\n const displayMode = getDatePickerDisplayMode();\n\n const iosProps = Platform.OS === 'ios' ? { textColor: theme.kitt.colors.primary } : {};\n\n return (\n <DateTimePicker\n is24Hour\n testID={testID}\n value={value || defaultDate}\n mode=\"date\"\n maximumDate={maximumDate}\n minimumDate={minimuDate}\n display={displayMode}\n {...iosProps}\n onChange={(_event: DateTimePickerEvent, date?: Date | undefined) => onChange(date)}\n />\n );\n}\n","import type { ReactElement, ReactNode } from 'react';\nimport { useState } from 'react';\nimport { FormattedMessage } from 'react-intl';\nimport { Text } from 'react-native';\nimport { Button } from '../../Button/Button';\nimport { Modal } from '../../Modal/Modal';\nimport { Typography } from '../../typography/Typography';\nimport type { PlatformDateTimePickerProps } from './PlatformDateTimePicker';\nimport { PlatformDateTimePicker } from './PlatformDateTimePicker';\n\ninterface ModalTitleProps {\n children: NonNullable<ReactNode>;\n}\n\nfunction ModalTitle({ children }: ModalTitleProps): ReactElement {\n return (\n <Modal.Header>\n <Typography.Text base=\"body\" variant=\"bold\">\n {children}\n </Typography.Text>\n </Modal.Header>\n );\n}\n\ninterface ModalPlatformDateTimePickerProps extends PlatformDateTimePickerProps {\n title?: ReactNode;\n isVisible?: boolean;\n validateButtonLabel?: string;\n onClose: () => void;\n}\n\nexport function ModalPlatformDateTimePicker({\n title,\n isVisible,\n value,\n validateButtonLabel,\n onClose,\n onChange,\n ...props\n}: ModalPlatformDateTimePickerProps): ReactElement {\n const [currentValue, setCurrentValue] = useState(value);\n\n // Prevent unsynced value between the modal and its parent state\n const handleClose = (): void => {\n setCurrentValue(value);\n onClose();\n };\n\n const handleSubmit = (): void => {\n onChange(currentValue);\n };\n\n const handleChange = (newDate?: Date): void => {\n setCurrentValue((prev) => {\n return newDate || prev;\n });\n };\n\n return (\n <Modal visible={Boolean(isVisible)} onClose={handleClose}>\n {isVisible ? (\n <>\n {title ? <ModalTitle>{title}</ModalTitle> : null}\n\n <Modal.Body>\n <PlatformDateTimePicker {...props} value={currentValue} onChange={handleChange} />\n </Modal.Body>\n\n <Modal.Footer>\n <Button stretch type=\"primary\" onPress={handleSubmit}>\n {validateButtonLabel ? (\n <Text>{validateButtonLabel}</Text>\n ) : (\n <FormattedMessage id=\"kitt-universal.ModalDateTimePicker.confirm\" defaultMessage=\"Valider\" />\n )}\n </Button>\n </Modal.Footer>\n </>\n ) : null}\n </Modal>\n );\n}\n","import type { ReactElement } from 'react';\nimport { useState } from 'react';\nimport { Platform } from 'react-native';\nimport { DatePickerAndroid } from './DatePickerAndroid';\nimport { DatePickerInputs } from './DatePickerInputs';\nimport { ModalPlatformDateTimePicker } from './ModalPlatformDateTimePicker';\nimport type { DatePickerProps } from './types';\n\nexport function DatePicker({\n value,\n pickerUITestID,\n pickerUITitle,\n pickerUIValidateButtonLabel,\n isDefaultVisible,\n onChange,\n onFocus,\n onBlur,\n pickerDefaultDate,\n ...props\n}: DatePickerProps): ReactElement {\n const [isPickerUIVisible, setIsPickerUIVisible] = useState(isDefaultVisible);\n const [isFocused, setIsFocused] = useState(false);\n const [currentValue, setCurrentValue] = useState<Date | undefined>(value);\n\n if (Platform.OS === 'android') {\n return (\n <DatePickerAndroid\n pickerDefaultDate={pickerDefaultDate}\n pickerUITestID={pickerUITestID}\n isDefaultVisible={isDefaultVisible}\n currentValue={currentValue}\n setCurrentValue={setCurrentValue}\n isFocused={isFocused}\n setIsFocused={setIsFocused}\n onChange={onChange}\n onBlur={onBlur}\n {...props}\n />\n );\n }\n\n const handleModalOpen = (): void => {\n if (onFocus) onFocus();\n\n setIsPickerUIVisible(true);\n\n setIsFocused(true);\n };\n\n const handleModalClose = (): void => {\n if (onBlur) onBlur();\n\n setIsPickerUIVisible(false);\n\n setIsFocused(false);\n };\n\n const handleChange = (newDate?: Date): void => {\n setCurrentValue(newDate);\n\n onChange(newDate);\n\n handleModalClose();\n };\n return (\n <>\n <DatePickerInputs\n handleModalOpen={handleModalOpen}\n currentValue={currentValue}\n isFocused={isFocused}\n {...props}\n />\n <ModalPlatformDateTimePicker\n testID={pickerUITestID}\n value={currentValue}\n isVisible={isPickerUIVisible}\n title={pickerUITitle}\n validateButtonLabel={pickerUIValidateButtonLabel}\n defaultDate={pickerDefaultDate}\n onClose={handleModalClose}\n onChange={handleChange}\n />\n </>\n );\n}\n","import type { ReactNode } from 'react';\nimport styled from 'styled-components/native';\n\nexport interface InputTextContainerProps {\n children: NonNullable<ReactNode>;\n $isDisabled?: boolean;\n}\n\nexport const InputTextContainer = styled.View<InputTextContainerProps>`\n position: relative;\n`;\n","import type { ReactElement, ReactNode } from 'react';\nimport { forwardRef, useState } from 'react';\nimport type { TextInput as RNTextInput, TextInputProps as RNTextInputProps } from 'react-native';\nimport { Platform, TextInput } from 'react-native';\nimport styled, { useTheme } from 'styled-components/native';\nimport type { Except } from 'type-fest';\nimport { getTypographyTypeConfigKey } from '../../typography/Typography';\nimport type { TextInputMixinProps } from '../styledTextInputMixin';\nimport { styledTextInputMixin } from '../styledTextInputMixin';\nimport type { InputFormState, InputUIState } from '../utils';\nimport { getInputUIState } from '../utils';\nimport { InputTextContainer } from './InputTextContainer';\n\nexport interface InputTextProps extends Except<RNTextInputProps, 'nativeID'> {\n id?: string;\n name?: string;\n disabled?: boolean;\n minHeight?: number;\n state?: InputFormState;\n right?: ReactNode;\n /** @internal */\n internalForceState?: InputUIState;\n}\n\ninterface StyledTextInputProps extends TextInputMixinProps {\n $minHeight?: number;\n}\n\nconst StyledTextInput = styled(TextInput)<StyledTextInputProps>`\n ${styledTextInputMixin}\n\n padding: ${({ theme, multiline }) => {\n if (!multiline && Platform.OS !== 'web') return `0 ${theme.kitt.forms.input.padding.horizontal}px`;\n\n return `${theme.kitt.forms.input.padding.vertical}px ${theme.kitt.forms.input.padding.horizontal}px`;\n }};\n\n line-height: ${({ theme, multiline }) => {\n const shouldHandleSingleLineOnIOS = Platform.OS === 'ios' && !multiline;\n\n // On basic text input, we set the line-height to zero for iOS to fix vertical text alignment\n // This is a iOS only fix since having 0 as a line-height value breaks text inputs on Android\n if (shouldHandleSingleLineOnIOS) {\n return 0;\n }\n\n const typeConfigKey = getTypographyTypeConfigKey(theme);\n return `${theme.kitt.typography.types.bodies.configs.body[typeConfigKey].lineHeight}px`;\n }};\n\n width: 100%;\n min-height: ${({ theme, $minHeight = theme.kitt.forms.input.minHeight }) => $minHeight}px;\n`;\n\nconst RightInputContainer = styled.View`\n position: absolute;\n right: 0;\n top: 0;\n bottom: 0;\n justify-content: center;\n padding: 10px;\n`;\n\nexport const InputText = forwardRef<RNTextInput, InputTextProps>(\n (\n {\n id,\n right,\n minHeight,\n state: formState,\n internalForceState,\n disabled = false,\n autoCorrect = true,\n textContentType = 'none',\n autoComplete = 'off',\n keyboardType = 'default',\n multiline,\n onSubmitEditing,\n onFocus,\n onBlur,\n ...props\n }: InputTextProps,\n ref,\n ): ReactElement => {\n const theme = useTheme();\n const [isFocused, setIsFocused] = useState<boolean>(false);\n\n const state = internalForceState || getInputUIState({ isFocused, isDisabled: disabled, formState });\n\n return (\n <InputTextContainer $isDisabled={disabled}>\n <StyledTextInput\n ref={ref}\n multiline={multiline}\n nativeID={id}\n editable={!disabled}\n keyboardType={keyboardType}\n autoComplete={autoComplete}\n autoCorrect={autoCorrect}\n $minHeight={minHeight}\n textContentType={textContentType}\n placeholderTextColor={theme.kitt.forms.input.color.placeholder}\n selectionColor={theme.kitt.forms.input.color.selection}\n {...props}\n $state={state}\n onFocus={(e) => {\n setIsFocused(true);\n if (onFocus) onFocus(e);\n }}\n onBlur={(e) => {\n setIsFocused(false);\n if (onBlur) onBlur(e);\n }}\n onSubmitEditing={multiline ? () => null : onSubmitEditing}\n />\n {right ? <RightInputContainer>{right}</RightInputContainer> : null}\n </InputTextContainer>\n );\n },\n);\n","import type { ReactElement } from 'react';\nimport type { Except } from 'type-fest';\nimport type { InputTextProps } from '../InputText/InputText';\nimport { InputText } from '../InputText/InputText';\n\nexport interface InputEmailProps\n extends Except<InputTextProps, 'autoComplete' | 'keyboardType' | 'textContentType' | 'autoCapitalize'> {}\n\nexport function InputEmail(props: InputEmailProps): ReactElement {\n return (\n <InputText\n autoComplete=\"email\"\n keyboardType=\"email-address\"\n textContentType=\"emailAddress\"\n autoCapitalize=\"none\"\n {...props}\n />\n );\n}\n","import type { ReactElement, ReactNode } from 'react';\nimport type { TypographyColor, TypographyProps } from '../../typography/Typography';\nimport { Typography } from '../../typography/Typography';\nimport type { InputFormState } from '../utils';\n\nexport interface InputFeedbackProps {\n state?: InputFormState;\n testID?: TypographyProps['testID'];\n children: NonNullable<ReactNode>;\n}\n\nconst getColorFromState = (state?: InputFormState): TypographyColor => {\n switch (state) {\n case 'invalid':\n return 'danger';\n case 'valid':\n default:\n return 'black-light';\n }\n};\n\nexport function InputFeedback({ state, testID, children }: InputFeedbackProps): ReactElement {\n return (\n <Typography.Text base=\"body-small\" color={getColorFromState(state)} testID={testID}>\n {children}\n </Typography.Text>\n );\n}\n","import type { ReactElement, ReactNode } from 'react';\nimport styled from 'styled-components/native';\nimport { KittBreakpoints } from '../../KittBreakpoints';\n\nconst FieldContainer = styled.View`\n padding: 5px 0 10px;\n`;\n\nconst FeedbackContainer = styled.View`\n ${({ theme }) =>\n theme.responsive.ifWindowSizeMatches({ minWidth: KittBreakpoints.SMALL }, 'padding-top: 10px', 'padding-top: 5px')};\n`;\n\nconst FieldLabelContainer = styled.View`\n flex-direction: row;\n align-items: center;\n padding-bottom: ${({ theme }) => theme.kitt.forms.inputField.labelContainerPaddingBottom}px;\n`;\n\nconst LabelContainer = styled.View`\n margin-right: ${({ theme }) => theme.kitt.forms.inputField.iconMarginLeft}px;\n`;\n\nexport interface InputFieldProps {\n label?: ReactNode;\n labelFeedback?: ReactNode;\n input: NonNullable<ReactNode>;\n feedback?: ReactNode;\n}\n\nexport function InputField({ label, labelFeedback, input, feedback }: InputFieldProps): ReactElement {\n return (\n <FieldContainer>\n {label ? (\n <FieldLabelContainer>\n <LabelContainer>{label}</LabelContainer>\n {labelFeedback}\n </FieldLabelContainer>\n ) : null}\n {input}\n {feedback ? <FeedbackContainer>{feedback}</FeedbackContainer> : null}\n </FieldContainer>\n );\n}\n","import type { ReactElement } from 'react';\nimport { useTheme } from 'styled-components/native';\nimport type { InputFormState } from 'forms/utils';\nimport type { TypographyIconProps } from '../../typography/TypographyIcon';\nimport { TypographyIcon } from '../../typography/TypographyIcon';\n\nfunction getIconColor(state?: InputFormState, disabled?: boolean): TypographyIconProps['color'] {\n if (disabled) return 'black-light';\n\n switch (state) {\n case 'invalid':\n return 'danger';\n case 'valid':\n return 'success';\n default:\n return undefined;\n }\n}\n\nexport interface InputIconProps {\n icon: NonNullable<ReactElement>;\n disabled?: boolean;\n state?: InputFormState;\n}\n\nexport function InputIcon({ icon, state, disabled }: InputIconProps): ReactElement {\n const theme = useTheme();\n\n const color = getIconColor(state, disabled);\n\n return <TypographyIcon color={color} icon={icon} size={theme.kitt.forms.input.icon.size} />;\n}\n","import type { ReactElement } from 'react';\nimport type { PressableProps } from 'react-native';\nimport { Pressable } from 'react-native';\n\nexport interface InputPressableProps extends PressableProps {}\n\nexport function InputPressable({ ...props }: InputPressableProps): ReactElement {\n return <Pressable {...props} />;\n}\n","import { EyeIcon, EyeOffIcon } from '@ornikar/kitt-icons';\nimport type { ReactElement } from 'react';\nimport { useState } from 'react';\nimport { InputIcon } from '../InputIcon/InputIcon';\nimport { InputPressable } from '../InputPressable/InputPressable';\nimport type { InputTextProps } from '../InputText/InputText';\nimport { InputText } from '../InputText/InputText';\n\nexport interface InputPasswordProps extends InputTextProps {\n isPasswordDefaultVisible?: boolean;\n}\n\nexport function InputPassword({ isPasswordDefaultVisible, right, ...props }: InputPasswordProps): ReactElement {\n const [isVisible, setIsVisible] = useState(Boolean(isPasswordDefaultVisible));\n\n return (\n <InputText\n {...props}\n textContentType=\"password\"\n autoComplete=\"password\"\n autoCorrect={false}\n secureTextEntry={!isVisible}\n right={\n right || (\n <InputPressable hitSlop={20} accessibilityRole=\"button\" onPress={() => setIsVisible((prev) => !prev)}>\n <InputIcon icon={isVisible ? <EyeOffIcon /> : <EyeIcon />} />\n </InputPressable>\n )\n }\n />\n );\n}\n","import type { ReactElement } from 'react';\nimport type { Except } from 'type-fest';\nimport type { InputTextProps } from '../InputText/InputText';\nimport { InputText } from '../InputText/InputText';\n\nexport interface InputPhoneProps extends Except<InputTextProps, 'autoComplete' | 'keyboardType' | 'textContentType'> {}\n\nexport function InputPhone(props: InputPhoneProps): ReactElement {\n return <InputText {...props} autoComplete=\"tel\" keyboardType=\"number-pad\" textContentType=\"telephoneNumber\" />;\n}\n","import type { ReactElement, ReactNode } from 'react';\nimport { View } from 'react-native';\nimport styled from 'styled-components/native';\nimport type { TypographyColor } from '../../typography/Typography';\nimport { Typography } from '../../typography/Typography';\nimport { TypographyIcon } from '../../typography/TypographyIcon';\nimport { useKittTheme } from '../../useKittTheme';\n\ntype InputTagType = 'success' | 'danger';\n\nconst getTypographyColor = (type: InputTagType | undefined): TypographyColor => (type ? 'white' : 'black');\n\ninterface InputTagContainerProps {\n type?: InputTagType;\n}\n\nconst InputTagContainer = styled(View)<InputTagContainerProps>`\n align-items: center;\n justify-content: center;\n flex-direction: row;\n align-self: flex-start;\n overflow: hidden;\n padding-horizontal: ${({ theme }) => theme.kitt.spacing * 2}px;\n\n background-color: ${({ theme, type }) => {\n if (type === 'success') {\n return theme.kitt.forms.inputTag.success.backgroundColor;\n }\n if (type === 'danger') {\n return theme.kitt.forms.inputTag.danger.backgroundColor;\n }\n\n return theme.kitt.forms.inputTag.default.backgroundColor;\n }};\n border-radius: ${({ theme }) => theme.kitt.forms.inputTag.borderRadius}px;\n`;\n\nconst IconContainer = styled(View)`\n margin-right: ${({ theme }) => theme.kitt.spacing}px;\n`;\n\nexport interface InputTagProps {\n type?: InputTagType;\n children: ReactNode;\n icon?: ReactElement;\n}\n\nexport function InputTag({ children, type, icon }: InputTagProps): ReactElement {\n const typographyColor = getTypographyColor(type);\n const theme = useKittTheme();\n\n return (\n <InputTagContainer type={type}>\n {icon && (\n <IconContainer>\n <TypographyIcon icon={icon} size={theme.kitt.forms.inputTag.iconSize} color={typographyColor} />\n </IconContainer>\n )}\n <Typography.Text base=\"body-small\" color={typographyColor}>\n {children}\n </Typography.Text>\n </InputTagContainer>\n );\n}\n","import type { ReactElement, ReactNode } from 'react';\nimport { Platform } from 'react-native';\nimport { Typography } from '../../typography/Typography';\n\nexport interface LabelProps {\n htmlFor: string;\n children: NonNullable<ReactNode>;\n}\n\nexport function Label({ htmlFor, children }: LabelProps): ReactElement {\n return (\n <Typography.Text base=\"body\">\n {Platform.OS === 'web' ? <label htmlFor={htmlFor}>{children}</label> : children}\n </Typography.Text>\n );\n}\n","import type { ReactElement, ReactNode } from 'react';\nimport type { PressableProps } from 'react-native';\nimport styled from 'styled-components/native';\nimport { Typography } from '../../typography/Typography';\n\nexport interface RadioProps {\n id: string;\n name: string;\n checked?: boolean;\n disabled?: boolean;\n right?: boolean;\n children?: NonNullable<ReactNode>;\n value: string;\n onChange: (newValue: string) => void;\n}\n\ninterface OuterRadioProps {\n disabled: boolean;\n}\n\nconst OuterRadio = styled.View<OuterRadioProps>`\n background-color: ${({ theme, disabled }) =>\n theme.kitt.forms.radio[disabled ? 'disabled' : 'unchecked'].backgroundColor};\n width: ${({ theme }) => theme.kitt.forms.radio.size}px;\n height: ${({ theme }) => theme.kitt.forms.radio.size}px;\n border-radius: ${({ theme }) => theme.kitt.forms.radio.size / 2}px;\n border-width: ${({ theme }) => theme.kitt.forms.radio.unchecked.borderWidth}px;\n border-color: ${({ theme, disabled }) => theme.kitt.forms.radio[disabled ? 'disabled' : 'unchecked'].borderColor};\n`;\nconst SelectedOuterRadio = styled.View`\n background-color: ${({ theme }) => theme.kitt.forms.radio.checked.backgroundColor};\n width: ${({ theme }) => theme.kitt.forms.radio.size}px;\n height: ${({ theme }) => theme.kitt.forms.radio.size}px;\n border-radius: ${({ theme }) => theme.kitt.forms.radio.size / 2}px;\n justify-content: center;\n align-items: center;\n`;\nconst SelectedInnerRadio = styled.View`\n background-color: ${({ theme }) => theme.kitt.forms.radio.checked.innerBackgroundColor};\n width: ${({ theme }) => theme.kitt.forms.radio.checked.innerSize}px;\n height: ${({ theme }) => theme.kitt.forms.radio.checked.innerSize}px;\n border-radius: ${({ theme }) => theme.kitt.forms.radio.checked.innerSize / 2}px;\n`;\nconst Container = styled.Pressable`\n flex-direction: row;\n align-items: center;\n`;\n\nconst Text = styled(Typography.Text)`\n margin-left: ${({ theme }) => theme.kitt.spacing * 2}px;\n`;\n\nexport function Radio({ id, checked, onChange, value, disabled = false, children }: RadioProps): ReactElement {\n const handlePress: PressableProps['onPress'] = () => {\n onChange(value);\n };\n\n return (\n <Container\n nativeID={id}\n disabled={disabled}\n accessibilityRole=\"radio\"\n aria-checked={checked}\n focusable={checked && !disabled}\n onPress={handlePress}\n >\n {checked && !disabled ? (\n <SelectedOuterRadio>\n <SelectedInnerRadio />\n </SelectedOuterRadio>\n ) : (\n <OuterRadio disabled={disabled} />\n )}\n\n <Text base=\"body\" color={disabled ? 'black-light' : 'black'}>\n {children}\n </Text>\n </Container>\n );\n}\n","import type { ReactElement } from 'react';\nimport { useTheme } from 'styled-components/native';\nimport type { InputTextProps } from '../InputText/InputText';\nimport { InputText } from '../InputText/InputText';\n\nexport interface TextAreaProps extends InputTextProps {}\n\nexport function TextArea({ ...props }: TextAreaProps): ReactElement {\n const theme = useTheme();\n\n return <InputText multiline textAlignVertical=\"top\" minHeight={theme.kitt.forms.textArea.minHeight} {...props} />;\n}\n","import type { ReactElement, ReactNode } from 'react';\nimport styled from 'styled-components/native';\nimport { KittBreakpoints } from '../KittBreakpoints';\n\nconst Body = styled.View`\n ${({ theme }) =>\n theme.responsive.ifWindowSizeMatches(\n { minWidth: KittBreakpoints.MEDIUM },\n `padding-right: ${theme.kitt.spacing * 12}px;\n padding-left: ${theme.kitt.spacing * 12}px;`,\n `padding-right: ${theme.kitt.spacing * 6}px;\n padding-left: ${theme.kitt.spacing * 6}px;`,\n )}\n background-color: ${({ theme }) => theme.kitt.colors.uiBackgroundLight};\n flex: 1;\n`;\n\ninterface BodyProps {\n children: NonNullable<ReactNode>;\n}\n\nexport function FullScreenModalBody({ children }: BodyProps): ReactElement {\n return <Body>{children}</Body>;\n}\n","import type { ReactElement, ReactNode } from 'react';\nimport { useState } from 'react';\nimport type { LayoutChangeEvent } from 'react-native';\nimport { Platform, useWindowDimensions } from 'react-native';\nimport { useSafeAreaInsets } from 'react-native-safe-area-context';\nimport styled from 'styled-components/native';\nimport { KittBreakpoints } from '../KittBreakpoints';\n\ninterface SideContainerProps {\n side?: 'left' | 'right';\n}\n\nconst SideContainer = styled.View<SideContainerProps>`\n ${({ theme, side = 'left' }) => {\n const padding = theme.kitt.spacing * 2;\n\n if (side === 'left') {\n return `padding-right: ${padding}px;`;\n }\n\n return `padding-left: ${padding}px;`;\n }}\n`;\n\nfunction getHeaderHorizontalMediumPadding(spacing: number): number {\n return spacing * 6;\n}\n\ninterface HeaderProps {\n insetTop?: number;\n}\n\nconst Header = styled.View<HeaderProps>`\n ${({ theme, insetTop = 0 }) => {\n const paddingTop = insetTop + theme.kitt.fullScreenModal.header.paddingVertical;\n const { paddingVertical, paddingHorizontal } = theme.kitt.fullScreenModal.header;\n\n return theme.responsive.ifWindowSizeMatches(\n { minWidth: KittBreakpoints.MEDIUM },\n `padding: ${paddingTop}px ${getHeaderHorizontalMediumPadding(theme.kitt.spacing)}px ${paddingVertical}px;`,\n `padding: ${paddingTop}px ${paddingHorizontal}px ${paddingVertical}px;`,\n );\n }};\n border-bottom-color: ${({ theme }) => theme.kitt.fullScreenModal.header.borderColor};\n border-bottom-width: 1px;\n flex-direction: row;\n align-items: center;\n`;\n\ninterface HeaderContentProps {\n windowWidth: number;\n leftWidth: number;\n rightWidth: number;\n}\n\nconst HeaderContent = styled.View<HeaderContentProps>`\n ${({ theme, leftWidth, rightWidth, windowWidth }) => {\n /*\n * Since we don't have controll over the rendered left and right elements,\n * we must apply some logic to give the title all the available space\n */\n const sideElementMaxWidth = Math.max(leftWidth, rightWidth);\n\n const parentHorizontalPadding = theme.kitt.fullScreenModal.header.paddingHorizontal * 2;\n const parentHorizontalPaddingMedium = getHeaderHorizontalMediumPadding(theme.kitt.spacing) * 2;\n\n const computeWidth = (breakpointPadding: number): number =>\n windowWidth - breakpointPadding - sideElementMaxWidth * 2;\n\n return theme.responsive.ifWindowSizeMatches(\n { minWidth: KittBreakpoints.MEDIUM },\n `width: ${computeWidth(parentHorizontalPaddingMedium)}px;`,\n `width: ${computeWidth(parentHorizontalPadding)}px;`,\n );\n }};\n ${({ leftWidth, rightWidth }) => {\n // Depending of the wider element, we must add a margin to fill the diff in space between elements\n const deltaMargin = Math.abs(leftWidth - rightWidth);\n\n if (leftWidth > rightWidth) {\n return `margin-right: ${deltaMargin}px;`;\n }\n\n return `margin-left: ${deltaMargin}px;`;\n }};\n justify-content: center;\n align-items: center;\n`;\n\nexport interface FullScreenModalHeaderProps {\n children: NonNullable<ReactNode>;\n right?: ReactNode;\n left?: ReactNode;\n}\n\nexport function FullScreenModalHeader({ children, right, left }: FullScreenModalHeaderProps): ReactElement {\n const { top } = useSafeAreaInsets();\n const dimensions = useWindowDimensions();\n const [leftWidth, setLeftWidth] = useState(0);\n const [rightWidth, setRightWidth] = useState(0);\n\n const handleLayoutChange = (event: LayoutChangeEvent, side: 'left' | 'right'): void => {\n // Prevents react to nullify event on rerenders\n event.persist();\n\n if (side === 'left') {\n setLeftWidth(event.nativeEvent.layout.width);\n return;\n }\n\n setRightWidth(event.nativeEvent.layout.width);\n };\n\n return (\n <Header insetTop={Platform.OS === 'ios' ? undefined : top}>\n {left ? <SideContainer onLayout={(e) => handleLayoutChange(e, 'left')}>{left}</SideContainer> : null}\n\n <HeaderContent windowWidth={dimensions.width} leftWidth={leftWidth} rightWidth={rightWidth}>\n {children}\n </HeaderContent>\n\n {right ? (\n <SideContainer side=\"right\" onLayout={(e) => handleLayoutChange(e, 'right')}>\n {right}\n </SideContainer>\n ) : null}\n </Header>\n );\n}\n","import type { ReactElement, ReactNode } from 'react';\nimport styled from 'styled-components/native';\nimport { FullScreenModalBody } from './Body';\nimport { FullScreenModalHeader } from './Header';\n\nconst Container = styled.View`\n flex: 1;\n background-color: ${({ theme }) => theme.kitt.colors.uiBackground};\n`;\n\nexport interface FullScreenModalProps {\n children: ReactNode;\n}\n\nexport function FullScreenModal({ children }: FullScreenModalProps): ReactElement {\n return <Container>{children}</Container>;\n}\n\nFullScreenModal.Header = FullScreenModalHeader;\nFullScreenModal.Body = FullScreenModalBody;\n","import type { ReactElement } from 'react';\nimport { cloneElement, useEffect, useRef } from 'react';\nimport { Animated, Easing } from 'react-native';\n\nexport interface SpinningIconProps {\n icon: ReactElement;\n color?: string;\n}\n\nexport function SpinningIcon({ icon, color }: SpinningIconProps): ReactElement {\n if (process.env.NODE_ENV !== 'production' && !color) {\n throw new Error(`Invalid color passed to SpinningIcon: ${String(color)}`);\n }\n const clonedIcon = cloneElement(icon, { color });\n const animationRef = useRef(new Animated.Value(0));\n\n const rotation = animationRef.current.interpolate({\n inputRange: [0, 1],\n outputRange: ['0deg', '360deg'],\n });\n\n useEffect(() => {\n if (process.env.NODE_ENV === 'test') return undefined;\n\n const animation = Animated.loop(\n Animated.timing(animationRef.current, {\n toValue: 1,\n duration: 1100,\n easing: Easing.linear,\n useNativeDriver: true,\n }),\n );\n animation.start();\n return () => {\n if (process.env.NODE_ENV === 'test') return undefined;\n\n animation.stop();\n return undefined;\n };\n }, []);\n\n return <Animated.View style={{ transform: [{ rotate: rotation }] }}>{clonedIcon}</Animated.View>;\n}\n","import type { ReactElement, ReactNode } from 'react';\nimport type { ViewProps } from 'react-native';\nimport styled from 'styled-components/native';\n\nexport interface ListItemContentProps extends ViewProps {\n children: NonNullable<ReactNode>;\n}\n\nconst ContentView = styled.View`\n flex: 1 0 0%;\n align-self: center;\n`;\n\nexport function ListItemContent({ children, ...rest }: ListItemContentProps): ReactElement {\n return <ContentView {...rest}>{children}</ContentView>;\n}\n","import type { ReactElement, ReactNode } from 'react';\nimport type { ViewProps, ViewStyle } from 'react-native';\nimport styled from 'styled-components/native';\n\nexport interface ListItemSideContainerProps extends ViewProps {\n children: NonNullable<ReactNode>;\n side?: 'left' | 'right';\n}\n\nconst SideContainerView = styled.View<ListItemSideContainerProps>`\n flex-direction: row;\n margin-left: ${({ theme, side }) => (side === 'right' ? `${theme.kitt.listItem.innerMargin}px` : 0)};\n margin-right: ${({ theme, side }) => (side === 'left' ? `${theme.kitt.listItem.innerMargin}px` : 0)};\n`;\n\n// Handles the vertical alignment of the side elements of the list item\nexport function ListItemSideContainer({ children, side = 'left', ...rest }: ListItemSideContainerProps): ReactElement {\n return (\n <SideContainerView side={side} {...rest}>\n {children}\n </SideContainerView>\n );\n}\n\nexport interface ListItemSideContentProps extends ViewProps {\n children: NonNullable<ReactNode>;\n align?: ViewStyle['alignSelf'];\n}\n\nconst SideContentView = styled.View<ListItemSideContentProps>`\n align-self: ${({ align }) => align};\n`;\n\nexport function ListItemSideContent({ children, align = 'auto', ...rest }: ListItemSideContentProps): ReactElement {\n return (\n <SideContentView align={align} {...rest}>\n {children}\n </SideContentView>\n );\n}\n","import type { ReactElement, ReactNode } from 'react';\nimport { Fragment } from 'react';\nimport type { PressableProps, ViewProps } from 'react-native';\nimport { Pressable } from 'react-native';\nimport styled, { css } from 'styled-components/native';\nimport { ListItemContent } from './ListItemContent';\nimport { ListItemSideContainer, ListItemSideContent } from './ListItemSideContent';\n\ntype Borders = 'top' | 'bottom' | 'both';\n\nexport interface ListItemProps extends ViewProps {\n children: NonNullable<ReactNode>;\n left?: ReactNode;\n right?: ReactNode;\n borders?: Borders;\n withPadding?: boolean;\n onPress?: PressableProps['onPress'];\n}\n\ninterface ContainerViewProps extends Pick<ListItemProps, 'borders' | 'withPadding'> {}\n\nconst ContainerView = styled.View<ContainerViewProps>`\n flex-direction: row;\n padding: ${({ withPadding, theme }) => (withPadding ? theme.kitt.listItem.padding : 0)};\n ${({ theme, borders }) => {\n const { borderWidth } = theme.kitt.listItem;\n\n if (borders === 'top') {\n return `border-top-width: ${borderWidth}px`;\n }\n\n if (borders === 'bottom') {\n return `border-bottom-width: ${borderWidth}px`;\n }\n\n if (borders === 'both') {\n return css`\n border-top-width: ${borderWidth}px;\n border-bottom-width: ${borderWidth}px;\n `;\n }\n\n return 'border: none';\n }};\n border-color: ${({ theme }) => theme.kitt.listItem.borderColor};\n background-color: ${({ theme }) => theme.kitt.colors.uiBackgroundLight};\n`;\n\nexport function ListItem({\n children,\n withPadding,\n borders,\n left,\n right,\n onPress,\n ...rest\n}: ListItemProps): ReactElement {\n const Wrapper = onPress ? Pressable : Fragment;\n const wrapperProps = onPress ? { accessibilityRole: 'button', onPress, ...rest } : undefined;\n const containerProps = onPress ? undefined : rest;\n\n return (\n <Wrapper {...(wrapperProps as any)}>\n <ContainerView withPadding={withPadding} borders={borders} {...containerProps}>\n {left ? <ListItemSideContainer side=\"left\">{left}</ListItemSideContainer> : null}\n\n <ListItemContent>{children}</ListItemContent>\n\n {right ? <ListItemSideContainer side=\"right\">{right}</ListItemSideContainer> : null}\n </ContainerView>\n </Wrapper>\n );\n}\n\nListItem.Content = ListItemContent;\nListItem.SideContent = ListItemSideContent;\nListItem.SideContainer = ListItemSideContainer;\n","import { ArcIcon } from '@ornikar/kitt-icons';\nimport type { ReactElement } from 'react';\nimport type { SpinningIconProps } from '../Icon/SpinningIcon';\nimport { SpinningIcon } from '../Icon/SpinningIcon';\n\nexport interface LoaderIconProps {\n color?: SpinningIconProps['color'];\n}\n\nexport function LoaderIcon({ color }: LoaderIconProps): ReactElement {\n return <SpinningIcon color={color} icon={<ArcIcon />} />;\n}\n","import { AlertCircleIcon, AlertTriangleIcon, CheckIcon, InfoIcon } from '@ornikar/kitt-icons';\nimport type { ReactElement } from 'react';\nimport type { TypographyColor } from '../typography/Typography';\nimport type { MessageType } from './BaseMessage';\n\ninterface IconContentProps {\n type: MessageType;\n color: TypographyColor;\n}\n\nexport function IconContent({ type, color }: IconContentProps): ReactElement {\n switch (type) {\n case 'warning':\n return <AlertCircleIcon color={color} />;\n case 'success':\n return <CheckIcon color={color} />;\n case 'danger':\n return <AlertTriangleIcon color={color} />;\n default:\n return <InfoIcon color={color} />;\n }\n}\n","import type { IconButtonProps } from '../IconButton/IconButton';\nimport type { TypographyColor } from '../typography/Typography';\nimport type { MessageType } from './BaseMessage';\n\nexport const getColorByType = (type: MessageType): TypographyColor => {\n switch (type) {\n case 'success':\n return 'white';\n case 'danger':\n return 'white';\n case 'warning':\n default:\n return 'black';\n }\n};\n\nexport const getIconButtonColor = (messageType: MessageType): IconButtonProps['color'] => {\n switch (messageType) {\n case 'success':\n case 'danger':\n return 'white';\n case 'warning':\n default:\n return 'black';\n }\n};\n","import { XIcon } from '@ornikar/kitt-icons';\nimport type { ReactElement, ReactNode } from 'react';\nimport type { EdgeInsets } from 'react-native-safe-area-context';\nimport styled from 'styled-components/native';\nimport { Icon } from '../Icon/Icon';\nimport { IconButton } from '../IconButton/IconButton';\nimport { Typography } from '../typography/Typography';\nimport { IconContent } from './IconContent';\nimport { getColorByType, getIconButtonColor } from './helper';\n\nexport type MessageType = 'success' | 'warning' | 'danger' | 'info';\n\ninterface StyledMessageContainerProps {\n $type: MessageType;\n $hasNoRadius?: boolean;\n $insets?: EdgeInsets;\n}\n\nconst StyledMessageContainer = styled.View<StyledMessageContainerProps>`\n flex-direction: row;\n align-items: flex-start;\n justify-content: space-between;\n min-height: 60px;\n padding-top: ${({ $insets }) => $insets?.top ?? 0}px;\n border-radius: ${({ theme, $hasNoRadius }) => ($hasNoRadius ? 0 : theme.kitt.spacing * 5)}px;\n background-color: ${({ theme, $type }) => theme.kitt.feedbackMessage[$type].backgroundColor};\n`;\n\nconst StyledDismissWrapper = styled.View`\n align-items: center;\n align-items: flex-start;\n margin: ${({ theme }) => {\n const { spacing } = theme.kitt;\n return `${spacing * 2.5}px ${spacing * 2}px 0 ${spacing * 5}px`;\n }};\n`;\n\nconst StyledIconContainer = styled.View`\n margin: ${({ theme }) => {\n const { spacing } = theme.kitt;\n return `${spacing}px ${spacing * 5}px 0 0`;\n }};\n`;\n\ninterface StyledTextContentProps {\n $isCenteredText?: boolean;\n}\n\nconst StyledTextContent = styled(Typography.Text)<StyledTextContentProps>`\n flex: 1;\n text-align: ${({ $isCenteredText }) => ($isCenteredText ? 'center' : 'left')};\n`;\n\nconst StyledMessageContent = styled.View`\n display: flex;\n flex-direction: row;\n flex-grow: 1;\n align-self: center;\n align-items: flex-start;\n flex-shrink: 1;\n padding: ${({ theme }) => {\n const { spacing } = theme.kitt;\n return `${spacing * 4}px ${spacing * 5}px`;\n }};\n`;\n\nexport interface BaseMessageProps {\n type?: MessageType;\n children: NonNullable<ReactNode>;\n /**\n * @internal for styling between Message and Notification\n */\n hasNoRadius?: boolean;\n centeredText?: boolean;\n insets?: EdgeInsets;\n onDismiss?: () => void;\n}\n\nexport function BaseMessage({\n type = 'info',\n children,\n hasNoRadius,\n centeredText,\n insets,\n onDismiss,\n}: BaseMessageProps): ReactElement {\n const color = getColorByType(type);\n\n return (\n <StyledMessageContainer $type={type} $hasNoRadius={hasNoRadius} $insets={insets}>\n <StyledMessageContent>\n {centeredText ? null : (\n <StyledIconContainer>\n <Icon color={color} icon={<IconContent type={type} color={color} />} />\n </StyledIconContainer>\n )}\n <StyledTextContent $isCenteredText={centeredText} base=\"body\" color={color}>\n {children}\n </StyledTextContent>\n </StyledMessageContent>\n\n {onDismiss ? (\n <StyledDismissWrapper>\n <IconButton color={getIconButtonColor(type)} icon={<XIcon />} onPress={onDismiss} />\n </StyledDismissWrapper>\n ) : null}\n </StyledMessageContainer>\n );\n}\n","import type { ReactElement } from 'react';\nimport type { BaseMessageProps } from '../BaseMessage/BaseMessage';\nimport { BaseMessage } from '../BaseMessage/BaseMessage';\n\nexport interface MessageProps extends BaseMessageProps {}\n\nexport function Message({\n type = 'info',\n children,\n hasNoRadius,\n centeredText,\n insets,\n onDismiss,\n}: MessageProps): ReactElement {\n return (\n <BaseMessage\n insets={insets}\n hasNoRadius={hasNoRadius}\n type={type}\n centeredText={centeredText}\n onDismiss={onDismiss}\n >\n {children}\n </BaseMessage>\n );\n}\n","import type { ReactElement, ReactNode } from 'react';\n\nexport interface ModalBehaviourPortalProps {\n visible?: boolean;\n children: ReactNode;\n}\n\nexport function ModalBehaviourPortal({ children }: ModalBehaviourPortalProps): ReactElement {\n // eslint-disable-next-line react/jsx-no-useless-fragment\n return <>{children}</>;\n}\n","import type { ReactElement, ReactNode } from 'react';\nimport { createContext, useContext } from 'react';\n\ntype OnCloseCallback = () => void;\n\nexport const OnCloseContext = createContext<OnCloseCallback>(() => {});\n\ninterface OnCloseProviderProps {\n children: ReactNode;\n onClose: OnCloseCallback;\n}\n\nexport function OnCloseProvider({ children, onClose }: OnCloseProviderProps): ReactElement {\n return <OnCloseContext.Provider value={onClose}>{children}</OnCloseContext.Provider>;\n}\n\nexport function useOnCloseModalBehaviour(): OnCloseCallback {\n const onClose = useContext(OnCloseContext);\n return onClose;\n}\n","import type { ReactElement, ReactNode } from 'react';\nimport { cloneElement } from 'react';\nimport type { ViewStyle } from 'react-native';\nimport { Platform, View } from 'react-native';\nimport styled, { css } from 'styled-components/native';\nimport { ModalBehaviourPortal } from './ModalBehaviourPortal';\nimport { OnCloseProvider, useOnCloseModalBehaviour } from './OnCloseContext';\n\ninterface CloseButtonProps {\n children: ReactElement;\n onPress?: () => void;\n}\n\nfunction CloseButton({ children, onPress }: CloseButtonProps): ReactElement {\n const onCloseContextCallback = useOnCloseModalBehaviour();\n\n const handleClose = (): void => {\n if (onPress) onPress();\n onCloseContextCallback();\n };\n\n return cloneElement(children, { onPress: handleClose });\n}\n\nconst ModalBehaviourContainer = styled(View)`\n ${() => {\n if (Platform.OS !== 'web') return undefined;\n\n return css`\n position: fixed;\n top: 0;\n left: 0;\n width: 100%;\n `;\n }}\n`;\n\nexport interface ModalBehaviourProps {\n children: ReactNode;\n visible?: boolean;\n style?: ViewStyle;\n onClose: () => void;\n}\n\nexport function ModalBehaviour({ children, visible, style, onClose }: ModalBehaviourProps): ReactElement {\n return (\n <OnCloseProvider onClose={onClose}>\n <ModalBehaviourPortal visible={visible}>\n {visible ? <ModalBehaviourContainer style={style}>{children}</ModalBehaviourContainer> : null}\n </ModalBehaviourPortal>\n </OnCloseProvider>\n );\n}\n\nModalBehaviour.CloseButton = CloseButton;\n","import type { NativeBaseProviderProps } from 'native-base';\nimport { NativeBaseProvider, extendTheme } from 'native-base';\nimport type { ReactElement, ReactNode } from 'react';\nimport { useMemo } from 'react';\nimport type { KittTheme } from '..';\nimport { KittBreakpoints } from '../KittBreakpoints';\nimport type { Theme } from '../themes/default';\n\ntype Enumerate<N, A extends number[] = []> = A['length'] extends N ? A[number] : Enumerate<N, [...A, A['length']]>;\n\ntype KittSize = `kitt.${Exclude<Enumerate<65>, 0>}`;\n\ntype KittScaleRecord = Record<KittSize, number>;\n\nconst createKittSpaces = (spacing: number): KittScaleRecord => {\n const MAX_SIZE = 64;\n const sizes: Partial<KittScaleRecord> = {};\n for (let size = 1; size <= MAX_SIZE; size++) {\n sizes[`kitt.${size}` as KittSize] = size * spacing;\n }\n return sizes as KittScaleRecord;\n};\n\n// reset native-base to be able to set size / space as a number\n// https://docs.nativebase.io/next/default-theme#h2-size\nconst overridenNativeBaseSizeandSpaceScale = Object.fromEntries(\n [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 12, 16, 20, 24, 32, 40, 48, 56, 64, 72, 80, 96, 0.5, 1.5, 2.5, 3.5].map((value) => [\n value,\n value,\n ]),\n);\n\n// eslint-disable-next-line @typescript-eslint/explicit-module-boundary-types, @typescript-eslint/explicit-function-return-type -- let typescript infer types\nexport const createKittNativeBaseCustomTheme = (theme: Theme) => {\n const spaces = createKittSpaces(theme.spacing);\n\n const extendedTheme = extendTheme({\n colors: {\n kitt: {\n ...theme.colors,\n typography: theme.typography.colors,\n },\n },\n radii: {\n 'kitt.borderRadius': theme.card.borderRadius,\n },\n sizes: {\n ...spaces,\n ...overridenNativeBaseSizeandSpaceScale,\n },\n space: {\n ...spaces,\n ...overridenNativeBaseSizeandSpaceScale,\n },\n breakpoints: {\n // kitt breakpoints\n base: KittBreakpoints.BASE,\n small: KittBreakpoints.SMALL,\n medium: KittBreakpoints.MEDIUM,\n large: KittBreakpoints.LARGE,\n wide: KittBreakpoints.WIDE,\n\n // native base default naming\n sm: Number.MAX_SAFE_INTEGER,\n md: Number.MAX_SAFE_INTEGER,\n lg: Number.MAX_SAFE_INTEGER,\n xl: Number.MAX_SAFE_INTEGER,\n '2xl': Number.MAX_SAFE_INTEGER,\n },\n\n fontSizes: {\n baseAndSmall: {\n header1: `${theme.typography.types.headers.configs.header1.baseAndSmall.fontSize}px`,\n header2: `${theme.typography.types.headers.configs.header2.baseAndSmall.fontSize}px`,\n header3: `${theme.typography.types.headers.configs.header3.baseAndSmall.fontSize}px`,\n header4: `${theme.typography.types.headers.configs.header4.baseAndSmall.fontSize}px`,\n header5: `${theme.typography.types.headers.configs.header5.baseAndSmall.fontSize}px`,\n 'body-large': `${theme.typography.types.bodies.configs['body-large'].baseAndSmall.fontSize}px`,\n 'body-medium': `${theme.typography.types.bodies.configs['body-medium'].baseAndSmall.fontSize}px`,\n body: `${theme.typography.types.bodies.configs.body.baseAndSmall.fontSize}px`,\n 'body-small': `${theme.typography.types.bodies.configs['body-small'].baseAndSmall.fontSize}px`,\n 'body-xsmall': `${theme.typography.types.bodies.configs['body-xsmall'].baseAndSmall.fontSize}px`,\n },\n mediumAndWide: {\n header1: `${theme.typography.types.headers.configs.header1.mediumAndWide.fontSize}px`,\n header2: `${theme.typography.types.headers.configs.header2.mediumAndWide.fontSize}px`,\n header3: `${theme.typography.types.headers.configs.header3.mediumAndWide.fontSize}px`,\n header4: `${theme.typography.types.headers.configs.header4.mediumAndWide.fontSize}px`,\n header5: `${theme.typography.types.headers.configs.header5.mediumAndWide.fontSize}px`,\n 'body-large': `${theme.typography.types.bodies.configs['body-large'].mediumAndWide.fontSize}px`,\n 'body-medium': `${theme.typography.types.bodies.configs['body-medium'].mediumAndWide.fontSize}px`,\n body: `${theme.typography.types.bodies.configs.body.mediumAndWide.fontSize}px`,\n 'body-small': `${theme.typography.types.bodies.configs['body-small'].mediumAndWide.fontSize}px`,\n 'body-xsmall': `${theme.typography.types.bodies.configs['body-xsmall'].mediumAndWide.fontSize}px`,\n },\n },\n lineHeights: {\n baseAndSmall: {\n header1: theme.typography.types.headers.configs.header1.baseAndSmall.lineHeight,\n header2: theme.typography.types.headers.configs.header2.baseAndSmall.lineHeight,\n header3: theme.typography.types.headers.configs.header3.baseAndSmall.lineHeight,\n header4: theme.typography.types.headers.configs.header4.baseAndSmall.lineHeight,\n header5: theme.typography.types.headers.configs.header5.baseAndSmall.lineHeight,\n 'body-large': theme.typography.types.bodies.configs['body-large'].baseAndSmall.lineHeight,\n 'body-medium': theme.typography.types.bodies.configs['body-medium'].baseAndSmall.lineHeight,\n body: theme.typography.types.bodies.configs.body.baseAndSmall.lineHeight,\n 'body-small': theme.typography.types.bodies.configs['body-small'].baseAndSmall.lineHeight,\n 'body-xsmall': theme.typography.types.bodies.configs['body-xsmall'].baseAndSmall.lineHeight,\n },\n mediumAndWide: {\n header1: theme.typography.types.headers.configs.header1.mediumAndWide.lineHeight,\n header2: theme.typography.types.headers.configs.header2.mediumAndWide.lineHeight,\n header3: theme.typography.types.headers.configs.header3.mediumAndWide.lineHeight,\n header4: theme.typography.types.headers.configs.header4.mediumAndWide.lineHeight,\n header5: theme.typography.types.headers.configs.header5.mediumAndWide.lineHeight,\n 'body-large': theme.typography.types.bodies.configs['body-large'].mediumAndWide.lineHeight,\n 'body-medium': theme.typography.types.bodies.configs['body-medium'].mediumAndWide.lineHeight,\n body: theme.typography.types.bodies.configs.body.mediumAndWide.lineHeight,\n 'body-small': theme.typography.types.bodies.configs['body-small'].mediumAndWide.lineHeight,\n 'body-xsmall': theme.typography.types.bodies.configs['body-xsmall'].mediumAndWide.lineHeight,\n },\n },\n fontWeights: {\n headers: {\n regular: theme.typography.types.headers.fontWeight,\n bold: theme.typography.types.headers.fontWeight,\n },\n bodies: theme.typography.types.bodies.fontWeight,\n },\n fonts: {\n headers: theme.typography.types.headers.fontFamily,\n bodies: theme.typography.types.bodies.fontFamily,\n },\n\n components: {\n Text: {\n baseStyle: {\n _light: {\n color: 'kitt.typography.black',\n },\n _dark: {\n color: 'kitt.typography.white',\n },\n fontFamily: theme.typography.types.bodies.fontFamily.regular,\n fontStyle: theme.typography.types.bodies.fontStyle.regular,\n fontWeight: theme.typography.types.bodies.fontWeight.regular,\n fontSize: undefined,\n lineHeight: theme.typography.types.bodies.configs.body.baseAndSmall.lineHeight,\n },\n },\n },\n });\n\n return { ...extendedTheme, space: extendedTheme.space as typeof spaces };\n};\n\ntype KittNativeBaseCustomTheme = ReturnType<typeof createKittNativeBaseCustomTheme>;\n\ndeclare module 'native-base' {\n interface ICustomTheme extends KittNativeBaseCustomTheme {}\n}\n\nexport interface KittNativeBaseProviderProps {\n theme: KittTheme;\n isSSR: NativeBaseProviderProps['isSSR'];\n children: ReactNode;\n}\n\nexport function KittNativeBaseProvider({ theme, isSSR, children }: KittNativeBaseProviderProps): ReactElement {\n const kittTheme = theme.kitt;\n const nativeBaseCustomTheme = useMemo(() => createKittNativeBaseCustomTheme(kittTheme), [kittTheme]);\n return (\n <NativeBaseProvider theme={nativeBaseCustomTheme} isSSR={isSSR}>\n {children}\n </NativeBaseProvider>\n );\n}\n","import type { IStackProps } from 'native-base';\nimport { HStack as NativeBaseHStack, Stack as NativeBaseStack, VStack as NativeBaseVStack } from 'native-base';\nimport type { InterfaceStackProps } from 'native-base/lib/typescript/components/primitives/Stack/Stack';\nimport type { SafeAreaProps, SpaceType } from 'native-base/lib/typescript/components/types';\nimport type { ComponentType } from 'react';\nimport type { ViewProps as NativeViewProps } from 'react-native';\nimport type { Except } from 'type-fest';\nimport type { KittResponsivePropOrValue } from 'KittBreakpoints';\nimport type {\n NativeBaseAcceptedBorderProps,\n NativeBaseAcceptedBorderRadiusProps,\n NativeBaseAcceptedColorsProps,\n NativeBaseAcceptedFlexboxProps,\n NativeBaseAcceptedLayoutProps,\n NativeBaseAcceptedPositionProps,\n NativeBaseAcceptedShadowProps,\n NativeBaseAcceptedSpaceProps,\n} from './acceptable-native-base-props';\n\ntype NativeBaseAcceptedStackProps = Extract<\n keyof InterfaceStackProps,\n | 'divider'\n | 'reversed'\n | 'direction'\n | 'isHovered'\n | 'isFocused'\n | 'isDisabled'\n | 'isInvalid'\n | 'isReadOnly'\n | keyof NativeViewProps\n | keyof SafeAreaProps\n>;\n\nexport interface StackProps\n extends Pick<\n IStackProps,\n | NativeBaseAcceptedStackProps\n | NativeBaseAcceptedSpaceProps\n | NativeBaseAcceptedColorsProps\n | NativeBaseAcceptedBorderProps\n | NativeBaseAcceptedBorderRadiusProps\n | NativeBaseAcceptedPositionProps\n | NativeBaseAcceptedShadowProps\n | NativeBaseAcceptedLayoutProps\n | NativeBaseAcceptedFlexboxProps\n > {\n space?: KittResponsivePropOrValue<SpaceType>;\n}\n\nexport const Stack = NativeBaseStack as ComponentType<StackProps>;\n\nexport interface VStackProps extends Except<StackProps, 'direction'> {\n direction?: Extract<StackProps['direction'], 'column' | 'column-reverse'>;\n}\nexport const VStack = NativeBaseVStack as ComponentType<VStackProps>;\n\nexport interface HStackProps extends Except<StackProps, 'direction'> {\n direction?: Extract<StackProps['direction'], 'row' | 'row-reverse'>;\n}\nexport const HStack = NativeBaseHStack as ComponentType<HStackProps>;\n","import type { IPressableProps, IScrollViewProps } from 'native-base';\nimport {\n Pressable as NativeBasePressable,\n ScrollView as NativeBaseScrollView,\n View as NativeBaseView,\n} from 'native-base';\nimport type { InterfaceScrollViewProps } from 'native-base/lib/typescript/components/basic/ScrollView/types';\nimport type { IViewProps, InterfaceViewProps } from 'native-base/lib/typescript/components/basic/View/types';\nimport type { InterfacePressableProps } from 'native-base/lib/typescript/components/primitives/Pressable/types';\nimport type { ComponentType } from 'react';\nimport type {\n PressableProps as NativePressableProps,\n ScrollViewProps as NativeScrollViewProps,\n ViewProps as NativeViewProps,\n} from 'react-native';\nimport type {\n NativeBaseAcceptedBorderProps,\n NativeBaseAcceptedBorderRadiusProps,\n NativeBaseAcceptedColorsProps,\n NativeBaseAcceptedFlexboxProps,\n NativeBaseAcceptedLayoutProps,\n NativeBaseAcceptedPositionProps,\n NativeBaseAcceptedShadowProps,\n NativeBaseAcceptedSpaceProps,\n} from './acceptable-native-base-props';\n\ntype NativeBaseAcceptedViewProps = Extract<keyof InterfaceViewProps, 'children' | keyof NativeViewProps>;\n\nexport interface ViewProps\n extends Pick<\n IViewProps,\n | NativeBaseAcceptedViewProps\n | NativeBaseAcceptedSpaceProps\n | NativeBaseAcceptedColorsProps\n | NativeBaseAcceptedBorderProps\n | NativeBaseAcceptedBorderRadiusProps\n | NativeBaseAcceptedPositionProps\n | NativeBaseAcceptedShadowProps\n | NativeBaseAcceptedLayoutProps\n | NativeBaseAcceptedFlexboxProps\n > {}\n\nexport const View = NativeBaseView as ComponentType<ViewProps>;\n\ntype NativeBaseAcceptedScrollViewProps = Extract<\n keyof InterfaceScrollViewProps,\n 'children' | '_contentContainerStyle' | keyof NativeScrollViewProps\n>;\nexport interface ScrollViewProps\n extends Pick<\n IScrollViewProps,\n | NativeBaseAcceptedScrollViewProps\n | NativeBaseAcceptedSpaceProps\n | NativeBaseAcceptedColorsProps\n | NativeBaseAcceptedBorderProps\n | NativeBaseAcceptedBorderRadiusProps\n | NativeBaseAcceptedPositionProps\n | NativeBaseAcceptedShadowProps\n | NativeBaseAcceptedLayoutProps\n | NativeBaseAcceptedFlexboxProps\n > {}\n\nexport const ScrollView = NativeBaseScrollView as ComponentType<ScrollViewProps>;\n\ntype NativeBaseAcceptedPressableProps = Extract<\n keyof InterfacePressableProps,\n | 'children'\n | 'onHoverIn'\n | 'onHoverOut'\n | 'onFocus'\n | 'onBlur'\n | '_hover'\n | '_pressed'\n | '_focus'\n | '_disabled'\n | 'isDisabled'\n | 'isHovered'\n | 'isPressed'\n | 'isFocused'\n | 'isFocusVisible'\n | '_focusVisible'\n | keyof NativePressableProps\n>;\nexport interface PressableProps\n extends Pick<\n IPressableProps,\n | NativeBaseAcceptedPressableProps\n | NativeBaseAcceptedSpaceProps\n | NativeBaseAcceptedColorsProps\n | NativeBaseAcceptedBorderProps\n | NativeBaseAcceptedBorderRadiusProps\n | NativeBaseAcceptedPositionProps\n | NativeBaseAcceptedShadowProps\n | NativeBaseAcceptedLayoutProps\n | NativeBaseAcceptedFlexboxProps\n > {}\n\nexport const Pressable = NativeBasePressable as ComponentType<PressableProps>;\n","import type { ReactElement, ReactNode } from 'react';\nimport type { ViewProps } from 'react-native';\nimport { View } from 'react-native';\nimport styled from 'styled-components/native';\n\nconst ViewWithPadding = styled(View)`\n padding: ${({ theme }) => `0 ${theme.kitt.navigationModal.padding}px`};\n`;\n\nexport interface ContentPaddingProps extends ViewProps {\n children: ReactNode;\n}\n\nexport function ContentPadding({ children, ...props }: ContentPaddingProps): ReactElement {\n return <ViewWithPadding {...props}>{children}</ViewWithPadding>;\n}\n","import type { ReactElement, ReactNode } from 'react';\nimport type { ViewProps } from 'react-native';\nimport { useSafeAreaInsets } from 'react-native-safe-area-context';\nimport styled from 'styled-components/native';\nimport type { ContentPaddingProps } from './ContentPadding';\nimport { ContentPadding } from './ContentPadding';\n\ninterface StyledViewWithPaddingProps extends ContentPaddingProps {\n $insetBottom: number;\n}\n\nconst StyledViewWithPadding = styled(ContentPadding)<StyledViewWithPaddingProps>`\n padding-top: ${({ theme }) => theme.kitt.spacing * 6}px;\n padding-bottom: ${({ theme, $insetBottom }) => Math.max(theme.kitt.spacing * 4, $insetBottom)}px;\n`;\n\ninterface BodyProps extends ViewProps {\n children: NonNullable<ReactNode>;\n shouldHandleBottomNotch?: boolean;\n}\n\nexport function Body({ children, shouldHandleBottomNotch, style, ...props }: BodyProps): ReactElement {\n const { bottom } = useSafeAreaInsets();\n\n const insetBottom = shouldHandleBottomNotch ? bottom : 0;\n\n return (\n <StyledViewWithPadding {...props} $insetBottom={insetBottom} style={style}>\n {children}\n </StyledViewWithPadding>\n );\n}\n","import type { ReactElement, ReactNode } from 'react';\nimport type { ViewStyle } from 'react-native';\nimport { useSafeAreaInsets } from 'react-native-safe-area-context';\nimport styled, { css } from 'styled-components/native';\nimport type { ContentPaddingProps } from './ContentPadding';\nimport { ContentPadding } from './ContentPadding';\n\ninterface FooterContainerProps extends ContentPaddingProps {\n $hasSeparator?: boolean;\n $insetBottom: number;\n}\n\nconst FooterContainer = styled(ContentPadding)<FooterContainerProps>`\n padding-top: ${({ theme }) => theme.kitt.spacing * 3}px;\n padding-bottom: ${({ theme, $insetBottom }) => Math.max(theme.kitt.spacing * 3, $insetBottom)}px;\n\n ${({ $hasSeparator }) => {\n if (!$hasSeparator) return undefined;\n\n return css`\n border-top-width: 1px;\n border-top-color: ${({ theme }) => theme.kitt.colors.separator};\n `;\n }};\n`;\n\ninterface FooterProps {\n children: ReactNode;\n hasSeparator?: boolean;\n shouldHandleBottomNotch?: boolean;\n style?: ViewStyle;\n}\n\nexport function Footer({\n shouldHandleBottomNotch = true,\n hasSeparator = true,\n children,\n style,\n}: FooterProps): ReactElement {\n const { bottom } = useSafeAreaInsets();\n\n const insetBottom = shouldHandleBottomNotch ? bottom : 0;\n\n return (\n <FooterContainer $insetBottom={insetBottom} $hasSeparator={hasSeparator} style={style}>\n {children}\n </FooterContainer>\n );\n}\n","import type { ReactElement, ReactNode } from 'react';\nimport type { ViewStyle } from 'react-native';\nimport { View } from 'react-native';\nimport styled, { css } from 'styled-components/native';\nimport { Typography } from '../typography/Typography';\nimport type { ContentPaddingProps } from './ContentPadding';\nimport { ContentPadding } from './ContentPadding';\n\ninterface HeaderContainerProps extends ContentPaddingProps {\n $isTransparent?: boolean;\n $hasSeparator?: boolean;\n $hasLeft?: boolean;\n $hasRight?: boolean;\n}\n\nexport const HeaderContainer = styled(ContentPadding)<HeaderContainerProps>`\n height: ${({ theme }) => theme.kitt.navigationModal.height}px;\n width: 100%;\n justify-content: center;\n background-color: ${({ theme, $isTransparent }) => {\n if ($isTransparent) return 'transparent';\n\n return theme.kitt.colors.uiBackgroundLight;\n }};\n\n padding-right: ${({ theme, $hasRight }) =>\n $hasRight ? theme.kitt.spacing * 2 : theme.kitt.navigationModal.padding}px;\n\n padding-left: ${({ theme, $hasLeft }) => ($hasLeft ? theme.kitt.spacing * 2 : theme.kitt.navigationModal.padding)}px;\n\n ${({ $hasSeparator }) => {\n if (!$hasSeparator) return undefined;\n\n return css`\n border-bottom-width: 1px;\n border-bottom-color: ${({ theme }) => theme.kitt.colors.separator};\n `;\n }};\n`;\n\ninterface RowProps {\n $hasLeft?: boolean;\n $hasRight?: boolean;\n $hasContent?: boolean;\n}\n\nconst Row = styled(View)<RowProps>`\n flex-direction: row;\n justify-content: ${({ $hasContent, $hasLeft }) => (!$hasContent && !$hasLeft ? 'flex-end' : 'space-between')};\n align-items: center;\n`;\n\nconst ButtonContainer = styled.View`\n width: ${({ theme }) => theme.kitt.iconButton.width}px;\n`;\n\ninterface CenteredComponentProps {\n $hasLeft?: boolean;\n $hasRight?: boolean;\n}\n\nconst ChildrenComponent = styled(View)<CenteredComponentProps>`\n flex: 1;\n align-items: center;\n\n ${({ theme, $hasLeft, $hasRight }) => {\n const paddingHorizontal = theme.kitt.spacing * 2;\n return css`\n padding-right: ${$hasRight ? paddingHorizontal : 0}px;\n padding-left: ${$hasLeft ? paddingHorizontal : 0}px;\n `;\n }};\n`;\n\ninterface HeaderTitleProps extends CenteredComponentProps {}\n\nconst HeaderTitle = styled(Typography.Text)<HeaderTitleProps>`\n flex: 1;\n text-align: ${({ $hasLeft, $hasRight }) => {\n if (!$hasLeft && $hasRight) return 'left';\n\n return 'center';\n }};\n\n ${({ theme, $hasLeft, $hasRight }) => {\n const paddingHorizontal = theme.kitt.spacing * 2;\n return css`\n padding-right: ${$hasRight ? paddingHorizontal : 0}px;\n padding-left: ${$hasLeft ? paddingHorizontal : 0}px;\n `;\n }};\n`;\n\ninterface BaseHeaderProps {\n left?: ReactNode;\n right?: ReactNode;\n hasSeparator?: boolean;\n isTransparent?: boolean;\n style?: ViewStyle;\n}\n\ninterface TitledHeaderProps extends BaseHeaderProps {\n title?: ReactNode;\n children?: never;\n}\n\ninterface ComponentHeaderProps extends BaseHeaderProps {\n title?: never;\n children?: ReactNode;\n}\n\ntype HeaderProps = TitledHeaderProps | ComponentHeaderProps;\n\nexport function Header({\n hasSeparator = true,\n isTransparent,\n title,\n children,\n right,\n left,\n style,\n}: HeaderProps): ReactElement {\n const sharedProps = {\n $hasLeft: Boolean(left),\n $hasRight: Boolean(right),\n };\n\n return (\n <HeaderContainer\n $isTransparent={isTransparent}\n $hasSeparator={hasSeparator}\n $hasLeft={Boolean(left)}\n $hasRight={Boolean(right)}\n style={style}\n >\n <Row $hasContent={Boolean(title || children)} {...sharedProps}>\n {left ? <ButtonContainer>{left}</ButtonContainer> : null}\n\n {title ? (\n <HeaderTitle {...sharedProps} variant=\"bold\">\n {title}\n </HeaderTitle>\n ) : null}\n\n {children ? <ChildrenComponent {...sharedProps}>{children}</ChildrenComponent> : null}\n\n {right || left ? <ButtonContainer>{right}</ButtonContainer> : null}\n </Row>\n </HeaderContainer>\n );\n}\n","import type { ViewStyle } from 'react-native';\nimport { Platform, View } from 'react-native';\nimport styled, { css } from 'styled-components/native';\n\nexport interface NavigationModalContainerProps {\n $backgroundColor?: ViewStyle['backgroundColor'];\n}\n\nexport const NavigationModalContainer = styled(View)<NavigationModalContainerProps>`\n position: relative;\n background-color: ${({ theme, $backgroundColor }) =>\n ($backgroundColor as string) || theme.kitt.colors.uiBackgroundLight};\n flex: 1;\n\n ${() => {\n if (Platform.OS !== 'web') return undefined;\n return css`\n min-height: 100vh;\n `;\n }}\n`;\n","import type { ReactElement, ReactNode } from 'react';\nimport type { ViewStyle } from 'react-native';\nimport { ScrollView, View } from 'react-native';\nimport styled from 'styled-components/native';\nimport { Body } from './Body';\nimport { ContentPadding } from './ContentPadding';\nimport { Footer } from './Footer';\nimport { Header } from './Header';\nimport { NavigationModalContainer } from './NavigationModalContainer';\n\nconst ContainerWithoutHeader = styled(View)`\n justify-content: space-between;\n flex: 1;\n`;\n\nexport interface NavigationModalProps {\n header?: ReactNode;\n footer?: ReactNode;\n body: ReactNode;\n backgroundColor?: ViewStyle['backgroundColor'];\n}\n\nexport function NavigationModal({ body, header, footer, backgroundColor }: NavigationModalProps): ReactElement {\n return (\n <NavigationModalContainer $backgroundColor={backgroundColor}>\n {header ? <View>{header}</View> : null}\n\n <ContainerWithoutHeader>\n <ScrollView bounces={false} contentContainerStyle={{ flexGrow: 1, position: 'relative' }}>\n {body}\n </ScrollView>\n {footer || null}\n </ContainerWithoutHeader>\n </NavigationModalContainer>\n );\n}\n\nNavigationModal.Header = Header;\nNavigationModal.Footer = Footer;\nNavigationModal.Body = Body;\nNavigationModal.Padding = ContentPadding;\n","import type { ReactElement } from 'react';\nimport { BaseMessage } from '../BaseMessage/BaseMessage';\nimport type { BaseMessageProps } from '../BaseMessage/BaseMessage';\n\nexport interface NotificationProps extends BaseMessageProps {\n /**\n * @deprecated use onDismiss instead\n */\n onDelete?: BaseMessageProps['onDismiss'];\n}\n\nexport function Notification({\n type,\n children,\n centeredText,\n insets,\n onDelete,\n onDismiss,\n}: NotificationProps): ReactElement {\n if (__DEV__) {\n if (onDelete) {\n throw new Error('onDelete is deprecated us onDismiss instead');\n }\n }\n\n return (\n <BaseMessage hasNoRadius type={type} centeredText={centeredText} insets={insets} onDismiss={onDismiss}>\n {children}\n </BaseMessage>\n );\n}\n","import type { ReactElement } from 'react';\nimport Animated, { useAnimatedProps } from 'react-native-reanimated';\nimport type { CircleProps } from 'react-native-svg';\nimport { Circle } from 'react-native-svg';\nimport { useTheme } from 'styled-components/native';\n\nconst AnimatedCircle = Animated.createAnimatedComponent(Circle);\n\ninterface PageLoaderCircleProps {\n color: CircleProps['stroke'];\n progress: Animated.SharedValue<number>;\n}\n\nexport function AnimatedLoaderCircle({ color, progress }: PageLoaderCircleProps): ReactElement {\n const theme = useTheme();\n\n const { strokeWidth, size } = theme.kitt.pageLoader;\n\n const centerCoord = size * 0.5;\n const radius = centerCoord - strokeWidth;\n const circlePerimeter = 2 * Math.PI * (size * 0.5 - strokeWidth);\n\n const strokeAnimation = useAnimatedProps(() => {\n return {\n strokeDashoffset: circlePerimeter - circlePerimeter * progress.value,\n };\n });\n\n return (\n <AnimatedCircle\n transform-origin=\"center center\"\n strokeWidth={strokeWidth}\n stroke={color}\n strokeLinecap=\"round\"\n cx={centerCoord}\n cy={centerCoord}\n r={radius}\n fill=\"none\"\n strokeDasharray={circlePerimeter}\n animatedProps={strokeAnimation}\n />\n );\n}\n","import type { ReactElement } from 'react';\nimport { useEffect } from 'react';\nimport { Easing, useSharedValue, withDelay, withTiming } from 'react-native-reanimated';\nimport Svg from 'react-native-svg';\nimport { useTheme } from 'styled-components/native';\nimport { AnimatedLoaderCircle } from './AnimatedLoaderCircle';\n\nexport function AnimatedBackgroundCircle(): ReactElement {\n const theme = useTheme();\n const progress = useSharedValue(0);\n\n const { animation, colors, size } = theme.kitt.pageLoader;\n\n useEffect(() => {\n const { delay, circleBackgroundFillDuration, fillEasingFunction } = animation;\n const [x1, y1, x2, y2] = fillEasingFunction;\n\n progress.value = withDelay(\n delay,\n withTiming(1, { duration: circleBackgroundFillDuration, easing: Easing.bezier(x1, y1, x2, y2) }),\n );\n }, [progress, animation]);\n\n return (\n <Svg width={size} height={size} viewBox={`0 0 ${size} ${size}`}>\n <AnimatedLoaderCircle color={colors.base} progress={progress} />\n </Svg>\n );\n}\n","import type { ReactElement, ReactNode } from 'react';\nimport { useEffect } from 'react';\nimport { StyleSheet } from 'react-native';\nimport Animated, {\n Easing,\n useAnimatedStyle,\n useSharedValue,\n withDelay,\n withRepeat,\n withTiming,\n} from 'react-native-reanimated';\nimport { useTheme } from 'styled-components/native';\n\nconst isInfinitAnimation = -1;\n\ninterface AnimatedFillCircleContainerProps {\n children: NonNullable<ReactNode>;\n duration: number;\n}\n\nexport function AnimatedFillCircleContainer({ children, duration }: AnimatedFillCircleContainerProps): ReactElement {\n const theme = useTheme();\n const progress = useSharedValue(0);\n\n const { animation } = theme.kitt.pageLoader;\n\n useEffect(() => {\n const { delay } = animation;\n\n progress.value = withDelay(\n delay,\n withRepeat(withTiming(1, { duration, easing: Easing.linear }), isInfinitAnimation),\n );\n }, [progress, animation, duration]);\n\n const rotationStyles = useAnimatedStyle(() => {\n return {\n transform: [\n {\n rotate: `${360 * progress.value}deg`,\n },\n ],\n };\n });\n\n return <Animated.View style={[StyleSheet.absoluteFill, rotationStyles]}>{children}</Animated.View>;\n}\n","import type { ReactElement } from 'react';\nimport { useEffect } from 'react';\nimport { Easing, useSharedValue, withDelay, withRepeat, withTiming } from 'react-native-reanimated';\nimport Svg from 'react-native-svg';\nimport { useTheme } from 'styled-components/native';\nimport { AnimatedFillCircleContainer } from './AnimatedFillCircleContainer';\nimport { AnimatedLoaderCircle } from './AnimatedLoaderCircle';\n\nconst isInfinitAnimation = -1;\nconst shouldReverse = true;\n\nexport function AnimatedFilledCircle(): ReactElement {\n const theme = useTheme();\n const progress = useSharedValue(0);\n\n const { size, animation, colors } = theme.kitt.pageLoader;\n\n useEffect(() => {\n const { delay, filledCircleFillDuration, fillEasingFunction } = animation;\n const [x1, y1, x2, y2] = fillEasingFunction;\n\n progress.value = withDelay(\n delay,\n withRepeat(\n withTiming(0.8, { duration: filledCircleFillDuration, easing: Easing.bezier(x1, y1, x2, y2) }),\n isInfinitAnimation,\n shouldReverse,\n ),\n );\n }, [progress, animation]);\n\n return (\n <AnimatedFillCircleContainer duration={animation.groupFilledCircleRotationDuration}>\n <AnimatedFillCircleContainer duration={animation.filledCircleRotationDuration}>\n <Svg width={size} height={size} viewBox={`0 0 ${size} ${size}`}>\n <AnimatedLoaderCircle color={colors.fill} progress={progress} />\n </Svg>\n </AnimatedFillCircleContainer>\n </AnimatedFillCircleContainer>\n );\n}\n","import type { ReactElement, ReactNode } from 'react';\nimport styled from 'styled-components/native';\nimport { AnimatedBackgroundCircle } from './AnimatedBackgroundCircle';\nimport { AnimatedFilledCircle } from './AnimatedFillCircle';\n\ninterface PageLoaderContainerProps {\n children: NonNullable<ReactNode>;\n}\n\nconst PageLoaderContainer = styled.View<PageLoaderContainerProps>`\n /* Needed to make the animation starting from the top of the circles */\n transform: scale(-1) rotate(90deg);\n position: relative;\n width: ${({ theme }) => theme.kitt.pageLoader.size}px;\n height: ${({ theme }) => theme.kitt.pageLoader.size}px;\n`;\n\nexport type PageLoaderProps = Record<string, never>;\n\nexport function PageLoader(props: PageLoaderProps): ReactElement {\n return (\n <PageLoaderContainer>\n <AnimatedBackgroundCircle />\n <AnimatedFilledCircle />\n </PageLoaderContainer>\n );\n}\n","import type { PickerItemProps as NativePickerItemProps } from '@react-native-picker/picker';\nimport type { ReactElement } from 'react';\nimport styled from 'styled-components/native';\nimport { Typography } from '../typography/Typography';\n\nexport interface PickerItemProps<T> extends Pick<NativePickerItemProps<T>, 'label'> {\n isSelected?: boolean;\n value: T;\n onPress?: (value: T) => void;\n}\n\nconst ContainerPressable = styled.Pressable<{ $isSelected?: boolean }>`\n padding: ${({ theme }) => theme.kitt.picker.android.padding};\n background-color: ${({ theme, $isSelected }) =>\n $isSelected\n ? theme.kitt.picker.android.selected.backgroundColor\n : theme.kitt.picker.android.default.backgroundColor};\n`;\n\n// This item is for Android only, iOS uses its own implementation and web is not supported yet\nexport function PickerItem<T>({ label, value, isSelected, onPress }: PickerItemProps<T>): ReactElement {\n return (\n <ContainerPressable\n accessibilityRole=\"button\"\n accessibilityState={{\n selected: isSelected,\n }}\n $isSelected={isSelected}\n onPress={onPress ? () => onPress(value) : undefined}\n >\n <Typography.Text base=\"body\" color={isSelected ? 'white' : undefined}>\n {label}\n </Typography.Text>\n </ContainerPressable>\n );\n}\n","import type { PickerItemProps as NativePickerItemProps } from '@react-native-picker/picker';\nimport { Picker as NativePicker } from '@react-native-picker/picker';\nimport type { ReactElement, ReactNode } from 'react';\nimport React, { cloneElement, useState } from 'react';\nimport { FormattedMessage } from 'react-intl';\nimport { Platform, ScrollView } from 'react-native';\nimport { Button } from '../Button/Button';\nimport { Modal } from '../Modal/Modal';\nimport { theme } from '../themes/default';\nimport { Typography } from '../typography/Typography';\nimport type { PickerItemProps } from './PickerItem';\nimport { PickerItem } from './PickerItem';\n\nexport interface PickerProps<T> {\n children: ReactNode;\n isVisible: boolean;\n title: ReactNode;\n initialValue: T;\n validateButtonLabel?: ReactNode;\n testID?: string;\n onValueSelected: (value: T) => void;\n onClose: () => void;\n}\n\nexport function Picker<T>({\n children,\n isVisible,\n title,\n initialValue,\n validateButtonLabel,\n testID,\n onValueSelected,\n onClose,\n}: PickerProps<T>): ReactElement {\n const [value, setValue] = useState<T>(initialValue);\n\n const handleValueSelected = (): void => {\n onValueSelected(value);\n\n onClose();\n };\n\n return (\n <Modal visible={isVisible} onClose={onClose}>\n <Modal.Header>\n <Typography.Text base=\"body\" variant=\"bold\">\n {title}\n </Typography.Text>\n </Modal.Header>\n\n {Platform.OS === 'ios' ? (\n <NativePicker<T>\n testID={testID}\n selectedValue={value}\n itemStyle={theme.picker.ios.default}\n onValueChange={(itemValue) => setValue(itemValue)}\n >\n {React.Children.map(children, (child) => {\n const item = child as ReactElement<NativePickerItemProps<T>>;\n\n // iOS Picker doesn't support a custom Item component, we need to override its props manually for the selected one\n return cloneElement(item, {\n color: item.props.value === value ? theme.picker.ios.selected.color : undefined,\n });\n })}\n </NativePicker>\n ) : (\n <ScrollView testID={testID}>\n {React.Children.map(children, (child) => {\n const item = child as ReactElement<PickerItemProps<T>>;\n\n return cloneElement(item, {\n onPress: (newValue: T) => setValue(newValue),\n isSelected: item.props.value === value,\n });\n })}\n </ScrollView>\n )}\n\n <Modal.Footer>\n <Button stretch type=\"primary\" onPress={handleValueSelected}>\n {validateButtonLabel || <FormattedMessage defaultMessage=\"Valider\" id=\"kitt-universal.Picker.validate\" />}\n </Button>\n </Modal.Footer>\n </Modal>\n );\n}\n\nPicker.Item = PickerItem;\n","import { LinearGradient } from 'expo-linear-gradient';\nimport type { ReactElement } from 'react';\nimport { useEffect } from 'react';\nimport { StyleSheet } from 'react-native';\nimport Animated, {\n Easing,\n interpolate,\n useAnimatedStyle,\n useSharedValue,\n withRepeat,\n withTiming,\n} from 'react-native-reanimated';\nimport styled, { useTheme } from 'styled-components/native';\n\ninterface SkeletonProps {\n isLoading?: boolean;\n width: number;\n}\n\nconst Container = styled.View`\n background-color: ${({ theme }) => theme.kitt.skeleton.backgroundColor};\n border-color: ${({ theme }) => theme.kitt.skeleton.flareColor};\n height: 100%;\n width: 100%;\n`;\nconst AnimatedLinearGradient = Animated.createAnimatedComponent(LinearGradient);\n\nexport function SkeletonContent({ isLoading, width }: SkeletonProps): ReactElement {\n const theme = useTheme();\n const sharedX = useSharedValue(0);\n\n useEffect(() => {\n if (isLoading) {\n sharedX.value = withRepeat(\n withTiming(1, { duration: theme.kitt.skeleton.animationDuration, easing: Easing.inOut(Easing.ease) }),\n -1,\n );\n }\n }, [sharedX, width, isLoading, theme]);\n\n const linearGradientStyle = useAnimatedStyle(() => {\n return {\n transform: [{ translateX: interpolate(sharedX.value, [0, 1], [-width, width]) }],\n };\n });\n\n return (\n <Container>\n <AnimatedLinearGradient\n colors={[\n theme.kitt.skeleton.backgroundColor,\n theme.kitt.skeleton.flareColor,\n theme.kitt.skeleton.backgroundColor,\n ]}\n locations={[0.1, 0.5, 0.9]}\n start={{ x: 0, y: 0 }}\n end={{ x: 1, y: 0 }}\n style={[StyleSheet.absoluteFill, linearGradientStyle]}\n />\n </Container>\n );\n}\n","import type { ReactElement } from 'react';\nimport { useState } from 'react';\nimport type { StyleProp, ViewStyle } from 'react-native';\nimport { View } from 'react-native';\nimport styled from 'styled-components/native';\nimport { SkeletonContent } from './SkeletonContent';\n\nconst SkeletonContainer = styled(View)`\n overflow: hidden;\n`;\nexport interface SkeletonProps {\n isLoading?: boolean;\n style?: StyleProp<ViewStyle>;\n}\n\nexport function Skeleton({ isLoading, style }: SkeletonProps): ReactElement {\n const [width, setWidth] = useState(0);\n\n return (\n <SkeletonContainer style={style} onLayout={({ nativeEvent }) => setWidth(nativeEvent.layout.width)}>\n <SkeletonContent isLoading={isLoading} width={width} />\n </SkeletonContainer>\n );\n}\n\nconst Bar = styled(Skeleton)`\n width: 100%;\n height: ${({ theme }) => theme.kitt.spacing * 2}px;\n border-radius: ${({ theme }) => theme.kitt.spacing * 2}px;\n`;\n\nconst Circle = styled(Skeleton)`\n width: ${({ theme }) => theme.kitt.spacing * 12}px;\n height: ${({ theme }) => theme.kitt.spacing * 12}px;\n border-radius: ${({ theme }) => theme.kitt.spacing * 6}px;\n`;\n\nconst Square = styled(Skeleton)`\n width: ${({ theme }) => theme.kitt.spacing * 12}px;\n height: ${({ theme }) => theme.kitt.spacing * 12}px;\n border-radius: ${({ theme }) => theme.kitt.spacing * 1.5}px;\n`;\n\nSkeleton.Bar = Bar;\nSkeleton.Circle = Circle;\nSkeleton.Square = Square;\n","import type { ViewStyle } from 'react-native';\nimport styled from 'styled-components/native';\n\ninterface FlexProps {\n direction: ViewStyle['flexDirection'];\n padding?: number;\n}\n\nexport const Flex = styled.View.withConfig<FlexProps>({\n shouldForwardProp: (prop, defaultValidatorFn) => !['direction', 'padding'].includes(prop) && defaultValidatorFn(prop),\n})`\n display: flex;\n flex-direction: ${({ direction }) => direction};\n flex-wrap: wrap;\n padding: ${({ theme, padding = 0 }) => padding * theme.kitt.spacing}px;\n`;\n","export const storyPadding = 16;\n","import type { ReactElement, ReactNode } from 'react';\nimport { createContext, useContext } from 'react';\nimport type { DefaultTheme } from 'styled-components/native';\nimport styled from 'styled-components/native';\nimport type { TypographyColor } from '../typography/Typography';\nimport { storyPadding } from './theme';\n\nexport interface StoryBlockProps {\n background?: 'dark' | 'light' | 'primary' | 'transparent';\n children: ReactNode;\n}\n\nconst getBackgroundColorFromBlockColor = (\n theme: DefaultTheme,\n color: StoryBlockProps['background'] = 'transparent',\n): string => {\n switch (color) {\n case 'dark':\n return '#293033';\n case 'light':\n return '#ffffff';\n case 'primary':\n return theme.kitt.palettes.lateOcean.lateOcean;\n default:\n return 'transparent';\n }\n};\n\nconst getTypographyColorFromBlockColor = (color: StoryBlockProps['background'] = 'transparent'): TypographyColor => {\n switch (color) {\n case 'dark':\n case 'primary':\n return 'white';\n case 'light':\n default:\n return 'black';\n }\n};\n\nexport const StoryBlockBackgroundContext = createContext<StoryBlockProps['background']>('transparent');\nconst StoryBlockColorContext = createContext<TypographyColor>('black');\n\nexport const useStoryBlockColor = (color?: TypographyColor | undefined): TypographyColor => {\n const storyBlockColor = useContext(StoryBlockColorContext);\n return color || storyBlockColor;\n};\n\nconst StyledStoryBlockView = styled.View<StoryBlockProps>`\n padding: 16px ${storyPadding}px 0;\n margin: 0 -${storyPadding}px;\n background: ${({ theme, background }) => getBackgroundColorFromBlockColor(theme, background)};\n`;\n\nexport function StoryBlock({ children, background }: StoryBlockProps): ReactElement {\n return (\n <StyledStoryBlockView background={background}>\n <StoryBlockColorContext.Provider value={getTypographyColorFromBlockColor(background)}>\n <StoryBlockBackgroundContext.Provider value={background}>{children}</StoryBlockBackgroundContext.Provider>\n </StoryBlockColorContext.Provider>\n </StyledStoryBlockView>\n );\n}\n","import type { ReactElement, ReactNode } from 'react';\nimport styled from 'styled-components/native';\nimport type { TypographyProps } from '../typography/Typography';\nimport { Typography } from '../typography/Typography';\nimport { useStoryBlockColor } from './StoryBlock';\n\ninterface StoryTitleProps {\n color?: TypographyProps['color'];\n numberOfLines?: TypographyProps['numberOfLines'];\n children: ReactNode;\n}\n\nconst StoryTitleContainer = styled.View`\n margin-bottom: 30px;\n`;\n\nconst StorySubTitleContainer = styled.View`\n margin-bottom: 10px;\n`;\n\nexport function StoryTitle({ color, children, numberOfLines }: StoryTitleProps): ReactElement {\n return (\n <StoryTitleContainer>\n <Typography.Header1 variant=\"bold\" base=\"header1\" color={useStoryBlockColor(color)} numberOfLines={numberOfLines}>\n {children}\n </Typography.Header1>\n </StoryTitleContainer>\n );\n}\n\nfunction StoryTitleLevel2({ color, children, numberOfLines }: StoryTitleProps): ReactElement {\n return (\n <StoryTitleContainer>\n <Typography.Header2 variant=\"bold\" base=\"header2\" color={useStoryBlockColor(color)} numberOfLines={numberOfLines}>\n {children}\n </Typography.Header2>\n </StoryTitleContainer>\n );\n}\n\nStoryTitleLevel2.displayName = 'StoryTitle.Level2';\n\nfunction StoryTitleLevel3({ color, children, numberOfLines }: StoryTitleProps): ReactElement {\n return (\n <StorySubTitleContainer>\n <Typography.Header3\n variant=\"bold\"\n base=\"header3\"\n medium=\"header4\"\n color={useStoryBlockColor(color)}\n numberOfLines={numberOfLines}\n >\n {children}\n </Typography.Header3>\n </StorySubTitleContainer>\n );\n}\n\nStoryTitleLevel3.displayName = 'StoryTitle.Level3';\n\nfunction StoryTitleLevel4({ color, children, numberOfLines }: StoryTitleProps): ReactElement {\n return (\n <StorySubTitleContainer>\n <Typography.Header4\n variant=\"bold\"\n base=\"header4\"\n medium=\"header5\"\n color={useStoryBlockColor(color)}\n numberOfLines={numberOfLines}\n >\n {children}\n </Typography.Header4>\n </StorySubTitleContainer>\n );\n}\n\nStoryTitleLevel4.displayName = 'StoryTitle.Level3';\n\nStoryTitle.Level2 = StoryTitleLevel2;\nStoryTitle.Level3 = StoryTitleLevel3;\nStoryTitle.Level4 = StoryTitleLevel4;\n","import type { ReactElement, ReactNode } from 'react';\nimport type { ScrollViewProps } from 'react-native';\nimport styled from 'styled-components/native';\nimport { StoryTitle } from './StoryTitle';\nimport { storyPadding } from './theme';\n\nexport interface StoryProps {\n title: ReactNode;\n children: ReactNode;\n contentContainerStyle?: ScrollViewProps['contentContainerStyle'];\n}\n\nconst StoryContainer = styled.ScrollView`\n padding: ${storyPadding}px;\n`;\n\nexport function Story({ title, contentContainerStyle, children }: StoryProps): ReactElement {\n return (\n <StoryContainer contentContainerStyle={contentContainerStyle}>\n <StoryTitle>{title}</StoryTitle>\n {children}\n </StoryContainer>\n );\n}\n","import type { ReactElement, ReactNode } from 'react';\nimport type { ViewProps } from 'react-native';\nimport styled from 'styled-components/native';\nimport { StoryTitle } from './StoryTitle';\n\ninterface StyledSectionProps extends ViewProps {}\n\nconst StyledSection = styled.View<StyledSectionProps>`\n margin-bottom: 32px;\n`;\n\nexport interface StorySectionProps extends ViewProps {\n title: ReactNode;\n children: ReactNode;\n /** @private */\n internalIsDemoSection?: boolean;\n}\n\nexport function StorySection({ title, children, internalIsDemoSection, ...props }: StorySectionProps): ReactElement {\n if (title === 'Demo' && !internalIsDemoSection) throw new Error('Use StorySection.Demo instead');\n return (\n <StyledSection {...props}>\n <StoryTitle.Level2>{title}</StoryTitle.Level2>\n {children}\n </StyledSection>\n );\n}\n\nconst StyledSubSection = styled.View`\n margin-bottom: 16px;\n`;\n\nfunction SubSection({ title, children, ...props }: StorySectionProps): ReactElement {\n return (\n <StyledSubSection {...props}>\n <StoryTitle.Level3>{title}</StoryTitle.Level3>\n {children}\n </StyledSubSection>\n );\n}\n\nconst StyledBlockSection = styled.View`\n margin-bottom: 16px;\n`;\n\nfunction BlockSection({ title, children, ...props }: StorySectionProps): ReactElement {\n return (\n <StyledBlockSection {...props}>\n <StoryTitle.Level4>{title}</StoryTitle.Level4>\n {children}\n </StyledBlockSection>\n );\n}\n\nexport interface DemoSectionProps {\n children: ReactNode;\n}\n\nconst StyledDemoSection = styled.View`\n margin-bottom: 64px;\n`;\n\nfunction DemoSection({ children }: DemoSectionProps): ReactElement {\n return (\n <StyledDemoSection>\n <StorySection internalIsDemoSection title=\"Demo\">\n {children}\n </StorySection>\n </StyledDemoSection>\n );\n}\n\nStorySection.SubSection = SubSection;\nStorySection.BlockSection = BlockSection;\n/** @deprecated use StorySection.Demo instead */\nStorySection.DemoSection = DemoSection;\nStorySection.Demo = DemoSection;\n\n/** @deprecated use StorySection instead */\nexport const DeprecatedSection = StorySection;\n","import type { ReactElement, ReactNode } from 'react';\nimport { StorySection } from './StorySection';\n\nexport interface StoryContainerProps {\n children: NonNullable<ReactNode>;\n state?: 'none' | 'active' | 'hover' | 'focus';\n platform?: 'all' | 'native' | 'web';\n title?: ReactNode;\n}\n\nexport function StoryContainer({\n children,\n title,\n state = 'none',\n platform = 'all',\n}: StoryContainerProps): ReactElement | null {\n if (platform === 'web') return null;\n\n return (\n <StorySection.BlockSection testID={state} title={title}>\n {children}\n </StorySection.BlockSection>\n );\n}\n","import type { StoryContext } from '@storybook/addons';\nimport type { ReactElement, ReactNode } from 'react';\nimport { Story as StoryContainer } from './Story';\n\nexport function StoryDecorator(storyFn: () => ReactNode, context: StoryContext): ReactElement {\n return <StoryContainer title={context.name}>{storyFn()}</StoryContainer>;\n}\n","import type { ReactElement, ReactNode } from 'react';\nimport { Children } from 'react';\nimport { Platform, useWindowDimensions } from 'react-native';\nimport styled from 'styled-components/native';\nimport type { TypographyProps } from '..';\nimport { StoryTitle } from './StoryTitle';\n\nconst SmallScreenRow = styled.View`\n flex-direction: column;\n margin: 0;\n`;\n\nconst SmallScreenCol = styled.View`\n padding: 8px 0 16px;\n`;\n\nconst FlexRow = styled.View`\n flex-direction: row;\n margin: 0 -4px 16px;\n`;\n\nconst FlexCol = styled.View`\n flex-grow: 1;\n flex-basis: 0;\n margin: 0 8px;\n`;\n\nexport interface StoryGridRowProps {\n children: NonNullable<ReactNode>;\n breakpoint?: 'small' | 'medium';\n}\n\nfunction StoryGridRow({ children, breakpoint = 'small' }: StoryGridRowProps): ReactElement {\n // eslint-disable-next-line unicorn/expiring-todo-comments\n // TODO use useBreakpoint instead\n const { width } = useWindowDimensions();\n const breakpointValue = breakpoint === 'small' ? 480 : 768;\n\n if (width < breakpointValue) {\n return (\n <SmallScreenRow>\n {Children.map(children, (child) => (\n <SmallScreenCol>{child}</SmallScreenCol>\n ))}\n </SmallScreenRow>\n );\n }\n\n return (\n <FlexRow>\n {Children.map(children, (child) => (\n <FlexCol>{child}</FlexCol>\n ))}\n </FlexRow>\n );\n}\n\nexport interface StoryGridColProps {\n children: NonNullable<ReactNode>;\n title?: string;\n titleColor?: TypographyProps['color'];\n platform?: 'all' | 'native' | 'web';\n}\n\nfunction StoryGridCol({ title, titleColor, children, platform = 'all' }: StoryGridColProps): ReactElement | null {\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 (\n <>\n {title ? (\n <StoryTitle.Level4 numberOfLines={1} color={titleColor}>\n {title}\n </StoryTitle.Level4>\n ) : null}\n {children}\n </>\n );\n}\n\nexport const StoryGrid = {\n Row: StoryGridRow,\n Col: StoryGridCol,\n};\n","import type { ReactElement, ReactNode } from 'react';\nimport styled from 'styled-components/native';\nimport type { TypographyColor } from '../typography/Typography';\nimport { Typography } from '../typography/Typography';\n\nexport type TagType = 'primary' | 'default' | 'danger';\n\nexport type TagVariant = 'outline' | 'fill';\n\nexport interface TagProps {\n label: ReactNode;\n type?: TagType;\n variant?: TagVariant;\n}\n\ninterface ContainerProps {\n type: TagType;\n variant: TagVariant;\n}\n\nconst Container = styled.View<ContainerProps>`\n background-color: ${({ theme, type, variant }) => theme.kitt.tag[type][variant].backgroundColor};\n border-width: ${({ theme, type, variant }) => theme.kitt.tag[type][variant].borderWidth}px;\n border-color: ${({ theme, type, variant }) => theme.kitt.tag[type][variant].borderColor};\n padding: ${({ theme }) => theme.kitt.tag.padding};\n border-radius: ${({ theme }) => theme.kitt.tag.borderRadius}px;\n align-self: flex-start;\n`;\n\nexport const getLabelColor = (type: TagType, variant: TagVariant): TypographyColor => {\n switch (type) {\n case 'danger': {\n return variant === 'outline' ? 'danger' : 'black';\n }\n case 'primary': {\n return 'primary';\n }\n case 'default': {\n return 'black';\n }\n default: {\n return 'black';\n }\n }\n};\n\nexport function Tag({ label, type = 'default', variant = 'fill' }: TagProps): ReactElement {\n return (\n <Container type={type} variant={variant}>\n <Typography.Text base=\"body-xsmall\" color={getLabelColor(type, variant)}>\n {label}\n </Typography.Text>\n </Container>\n );\n}\n","import type { DateTimePickerEvent } from '@react-native-community/datetimepicker';\nimport DateTimePicker from '@react-native-community/datetimepicker';\nimport type { ReactElement, ReactNode } from 'react';\nimport { useState } from 'react';\nimport { FormattedMessage } from 'react-intl';\nimport { Platform, Text } from 'react-native';\nimport { Button } from '../Button/Button';\nimport { Modal } from '../Modal/Modal';\nimport { Typography } from '../typography/Typography';\n\ninterface TitleProps {\n children: NonNullable<ReactNode>;\n}\n\nfunction Title({ children }: TitleProps): ReactElement {\n return (\n <Modal.Header>\n <Typography.Text base=\"body\" variant=\"bold\">\n {children}\n </Typography.Text>\n </Modal.Header>\n );\n}\n\ninterface ModalDateTimePickerProps {\n title?: ReactNode;\n visible?: boolean;\n value: Date;\n validateButtonLabel?: string;\n onClose: () => void;\n onChange: (newDate: Date) => void;\n}\n\nexport function ModalDateTimePicker({\n title,\n visible,\n value,\n validateButtonLabel,\n onChange,\n onClose,\n}: ModalDateTimePickerProps): ReactElement {\n const [currentValue, setCurrentValue] = useState(value);\n\n // Prevent unsynced value between the modal and its parent state\n const handleClose = (): void => {\n setCurrentValue(value);\n onClose();\n };\n\n const handleSubmit = (): void => {\n onChange(currentValue);\n };\n\n return (\n <Modal visible={Boolean(visible)} onClose={handleClose}>\n {visible ? (\n <>\n {title ? <Title>{title}</Title> : null}\n\n <Modal.Body>\n <DateTimePicker\n is24Hour\n testID=\"date-picker-native-element\"\n value={currentValue}\n mode=\"time\"\n display={Platform.OS === 'ios' ? 'spinner' : 'default'}\n onChange={(_event: DateTimePickerEvent, date?: Date) =>\n setCurrentValue((prev) => {\n return date || prev;\n })\n }\n />\n </Modal.Body>\n <Modal.Footer>\n <Button stretch type=\"primary\" onPress={handleSubmit}>\n {validateButtonLabel ? (\n <Text>{validateButtonLabel}</Text>\n ) : (\n <FormattedMessage id=\"kitt-universal.ModalDateTimePicker.confirm\" defaultMessage=\"Valider\" />\n )}\n </Button>\n </Modal.Footer>\n </>\n ) : null}\n </Modal>\n );\n}\n","import type { InputUIState } from '@ornikar/kitt-universal';\nimport { useMemo, useState } from 'react';\n\nexport const timePickerPlaceholder = '--:--';\n\nexport const formatNumberToTimeString = (time: number): string => `${String(time).padStart(2, '0')}`;\n\nexport const formatDateToTimeString = (date: Date): string =>\n `${formatNumberToTimeString(date.getHours())}:${formatNumberToTimeString(date.getMinutes())}`;\n\nexport const useTimePicker = (\n value: Date | null,\n onChange: (time?: Date | null) => void,\n onBlur: () => void,\n disabled: boolean,\n defaultValue?: Date | null,\n isDefaultVisible?: boolean,\n): {\n displayedValue: string;\n dateTimePickerValue: Date;\n timePickerState: InputUIState;\n isTimePickerModalVisible: boolean;\n handleInputPress: () => void;\n handleModalClose: () => void;\n handleTimeChange: (date?: Date) => void;\n} => {\n const [isTimePickerModalVisible, setIsTimePickerModalVisible] = useState<boolean>(Boolean(isDefaultVisible));\n\n const todayAtNoon = useMemo(() => {\n const now = new Date(2000, 0, 1, 12);\n return new Date(now.getFullYear(), now.getMonth(), now.getDay(), 12);\n }, []);\n\n const defaultDate = defaultValue || todayAtNoon;\n const handleInputPress = (): void => {\n if (disabled) {\n return;\n }\n setIsTimePickerModalVisible(true);\n };\n\n const handleTimeChange = (date?: Date | null): void => {\n setIsTimePickerModalVisible(false);\n\n onChange(date || defaultDate);\n onBlur();\n };\n\n const dateTimePickerValue = value || defaultDate;\n const displayedValue = value === null ? timePickerPlaceholder : formatDateToTimeString(dateTimePickerValue);\n const timePickerState = isTimePickerModalVisible ? 'focus' : 'default';\n\n return {\n dateTimePickerValue,\n displayedValue,\n timePickerState,\n isTimePickerModalVisible,\n handleInputPress,\n handleTimeChange,\n handleModalClose: () => setIsTimePickerModalVisible(false),\n };\n};\n","import type { TextInputMixinProps } from '@ornikar/kitt-universal';\nimport type { DateTimePickerEvent } from '@react-native-community/datetimepicker';\nimport DateTimePicker from '@react-native-community/datetimepicker';\nimport type { ReactElement, ReactNode } from 'react';\nimport { Platform } from 'react-native';\nimport styled from 'styled-components/native';\nimport { styledTextInputMixin } from '../forms/styledTextInputMixin';\nimport { Typography } from '../typography/Typography';\nimport { ModalDateTimePicker } from './ModalDateTimePicker';\nimport { timePickerPlaceholder, useTimePicker } from './useTimePicker';\n\ninterface ContainerProps extends TextInputMixinProps {}\n\nconst Container = styled.Pressable<ContainerProps>`\n ${styledTextInputMixin}\n width: 100px;\n height: 40px;\n justify-content: center;\n align-items: center;\n`;\n\nexport type TimePickerValue = Date | null | undefined;\n\nexport interface TimePickerProps {\n title?: ReactNode;\n state?: TextInputMixinProps['$state'];\n disabled?: boolean;\n forceDefaultValue?: TimePickerValue;\n value?: Date | '' | null;\n validateButtonLabel?: string;\n isDefaultVisible?: boolean;\n onChange: (time: TimePickerValue) => void;\n onBlur: () => void;\n}\n\nexport function TimePicker({\n title,\n state = 'default',\n disabled = false,\n forceDefaultValue,\n value,\n validateButtonLabel,\n isDefaultVisible,\n onChange,\n onBlur,\n}: TimePickerProps): ReactElement {\n const {\n dateTimePickerValue,\n displayedValue,\n timePickerState,\n handleInputPress,\n handleModalClose,\n handleTimeChange,\n isTimePickerModalVisible,\n } = useTimePicker(value || null, onChange, onBlur, disabled, forceDefaultValue, isDefaultVisible);\n\n return (\n <Container\n $state={timePickerState === 'default' ? state : timePickerState}\n accessibilityRole=\"button\"\n onPress={handleInputPress}\n >\n <Typography.Text base=\"body\" color={displayedValue === timePickerPlaceholder ? 'black-light' : 'black'}>\n {displayedValue}\n </Typography.Text>\n\n {Platform.OS === 'android' && isTimePickerModalVisible ? (\n <DateTimePicker\n is24Hour\n testID=\"date-picker-native-element\"\n value={dateTimePickerValue}\n mode=\"time\"\n display=\"default\"\n onChange={(_event: DateTimePickerEvent, date?: Date) => handleTimeChange(date)}\n />\n ) : null}\n\n {Platform.OS !== 'android' ? (\n <ModalDateTimePicker\n title={title}\n visible={isTimePickerModalVisible}\n value={dateTimePickerValue}\n validateButtonLabel={validateButtonLabel}\n onChange={handleTimeChange}\n onClose={handleModalClose}\n />\n ) : null}\n </Container>\n );\n}\n","import { TooltipArrowIcon } from '@ornikar/kitt-icons';\nimport type { ReactElement, ReactNode } from 'react';\nimport type { ViewProps } from 'react-native';\nimport { View } from 'react-native';\nimport styled, { useTheme } from 'styled-components/native';\nimport { Typography } from '../typography/Typography';\nimport type { TooltipPosition } from './Tooltip';\n\nconst StyledTooltipView = styled.View`\n align-items: center;\n`;\n\nconst StyledTooltipContent = styled.View`\n background-color: ${({ theme }) => theme.kitt.tooltip.backgroundColor};\n border-radius: ${({ theme }) => theme.kitt.tooltip.borderRadius}px;\n opacity: ${({ theme }) => theme.kitt.tooltip.opacity};\n padding: ${({ theme }) => `${theme.kitt.tooltip.verticalPadding}px ${theme.kitt.tooltip.horizontalPadding}px`};\n`;\n\ninterface StyledArrowProps {\n $position: TooltipPosition;\n}\n\nfunction ArrowView(props: ViewProps): ReactElement {\n const theme = useTheme();\n return (\n <View {...props}>\n <TooltipArrowIcon color={theme.kitt.tooltip.backgroundColor} />\n </View>\n );\n}\n\nconst StyledArrow = styled(ArrowView)<StyledArrowProps>`\n color: ${({ theme }) => theme.kitt.tooltip.backgroundColor};\n transform: ${({ $position }) => `rotate(${$position === 'bottom' ? 180 : 0}deg)`};\n`;\n\nexport interface TooltipViewProps {\n children: NonNullable<ReactNode>;\n position: TooltipPosition;\n}\n\nexport function TooltipView({ children, position }: TooltipViewProps): ReactElement {\n return (\n <StyledTooltipView>\n {position === 'bottom' ? <StyledArrow $position={position} /> : null}\n <StyledTooltipContent>\n <Typography.Text base=\"body\" color=\"white\">\n {children}\n </Typography.Text>\n </StyledTooltipContent>\n {position === 'top' ? <StyledArrow $position={position} /> : null}\n </StyledTooltipView>\n );\n}\n","import type { TooltipProps } from '..';\nimport type { TooltipPosition } from './Tooltip';\n\nexport const tooltipDefaultPosition: TooltipPosition = 'top';\nexport const tooltipDefaultFloatingStrategy: TooltipProps['floatingStrategy'] = {\n web: 'absolute',\n};\n","import { flip, offset, shift, useFloating } from '@floating-ui/react-native';\nimport type { ReactElement, ReactNode } from 'react';\nimport { useEffect } from 'react';\nimport { Pressable, StyleSheet, View } from 'react-native';\nimport Animated, { useAnimatedStyle, useSharedValue, withSpring } from 'react-native-reanimated';\nimport styled, { useTheme } from 'styled-components/native';\nimport { TooltipView } from './TooltipView';\nimport { tooltipDefaultPosition } from './tooltipUtils';\n\nexport type TooltipPosition = 'bottom' | 'top';\nexport type WebFloatingPosition = 'fixed' | 'absolute';\n\n// Since the tooltip use absolute positionning, we need a parent to provide the relative root\nconst TooltipContainer = styled.View`\n position: relative;\n align-self: baseline;\n`;\n\nexport interface TooltipProps {\n children: NonNullable<ReactNode>;\n content: NonNullable<ReactNode>;\n floatingPadding?: number;\n position?: TooltipPosition;\n /**\n * @description\n * This value init the internal visibile state of the tooltip. This is mainly used for testing purpose.\n */\n defaultVisible?: boolean;\n // eslint-disable-next-line react/no-unused-prop-types\n fullWidth?: boolean;\n /**\n * @default absolute\n * @description\n * Specific position strategy to apply to the tooltip.\n * Might be usefull when dealing with edge case (see https://floating-ui.com/docs/misc#z-index-stacking).\n */\n // eslint-disable-next-line react/no-unused-prop-types\n floatingStrategy?: {\n web: WebFloatingPosition;\n };\n onUpdate?: (tooltipConfig: any) => void;\n}\n\n// eslint-disable-next-line unicorn/expiring-todo-comments\n// TODO : update position on scroll in future iteration\nexport function Tooltip({\n children,\n defaultVisible,\n position = tooltipDefaultPosition,\n content,\n floatingPadding,\n onUpdate,\n}: TooltipProps): ReactElement {\n const theme = useTheme();\n const padding = floatingPadding || theme.kitt.tooltip.floatingPadding;\n\n const pressed = useSharedValue(defaultVisible);\n\n const opacityStyles = useAnimatedStyle(() => {\n return {\n opacity: withSpring(pressed.value ? theme.kitt.tooltip.opacity : 0),\n };\n });\n\n const handlePress = (): void => {\n pressed.value = !pressed.value;\n };\n\n const { x, y, reference, floating, update, refs, middlewareData } = useFloating({\n placement: position,\n middleware: [offset(padding), shift(), flip({ padding })],\n });\n\n useEffect(() => {\n if (!onUpdate) return;\n onUpdate({\n x,\n y,\n reference,\n floating,\n strategy: 'absolute',\n update,\n refs,\n middlewareData,\n });\n }, [x, y, reference, floating, update, refs, middlewareData, onUpdate]);\n\n return (\n <TooltipContainer>\n <View ref={reference}>\n <Pressable accessibilityRole=\"button\" onPress={handlePress}>\n {children}\n </Pressable>\n </View>\n\n <View\n ref={floating}\n accessibilityElementsHidden={!pressed.value}\n importantForAccessibility={pressed.value === true ? 'auto' : 'no-hide-descendants'}\n style={{\n ...StyleSheet.absoluteFillObject,\n top: y && position === 'bottom' ? y : undefined,\n bottom: y && position === 'top' ? y : undefined,\n left: x ?? 0,\n }}\n >\n <Animated.View style={[opacityStyles]}>\n <TooltipView position={position}>{content}</TooltipView>\n </Animated.View>\n </View>\n </TooltipContainer>\n );\n}\n\nTooltip.View = TooltipView;\n","import { styled as styledLinaria } from '@linaria/react';\nimport type { ReactElement } from 'react';\nimport { useMemo } from 'react';\nimport type { DefaultTheme } from 'styled-components/native';\nimport { useTheme } from 'styled-components/native';\nimport type { Entries } from 'type-fest';\nimport type { TypographyTypeConfig } from 'themes/late-ocean/typography';\nimport type { EmojiProps } from '../Emoji/Emoji';\nimport { Emoji } from '../Emoji/Emoji';\nimport { KittBreakpointNameEnum } from '../KittBreakpoints';\nimport { StyleWebWrapper } from '../utils/StyleWebWrapper';\nimport { withTheme } from '../utils/withTheme';\nimport type { TypographyBreakpointType, TypographyType } from './Typography';\nimport { getTypographyTypeConfigKeyFromTypeName, isTypographyHeader } from './Typography';\n\ninterface EmojiWebWrapperProps {\n theme: DefaultTheme;\n}\n\nconst EmojiWebWrapper = withTheme(styledLinaria.span<EmojiWebWrapperProps>`\n & > * {\n transform: translateY(20%);\n }\n`);\n\nfunction getTypographyTypeConfig(type: TypographyType, theme: DefaultTheme): TypographyTypeConfig {\n if (isTypographyHeader(type, undefined)) {\n return theme.kitt.typography.types.headers.configs[type];\n }\n\n return theme.kitt.typography.types.bodies.configs[type];\n}\n\ninterface Sizes {\n size: EmojiProps['size'];\n marginLeft: NonNullable<EmojiProps['_web']>['marginLeft'];\n marginRight: NonNullable<EmojiProps['_web']>['marginRight'];\n}\n\nfunction calcSizesFromType(type: TypographyBreakpointType, theme: DefaultTheme): Sizes {\n const typeWithMediumForced = {\n ...type,\n medium: type.medium || type.small || type.base,\n };\n\n const size: Sizes['size'] = {\n base: getTypographyTypeConfig(type.base ?? 'body', theme).baseAndSmall.fontSize,\n };\n\n [\n KittBreakpointNameEnum.SMALL,\n KittBreakpointNameEnum.MEDIUM,\n KittBreakpointNameEnum.LARGE,\n KittBreakpointNameEnum.WIDE,\n ].forEach((typeName) => {\n const value = typeWithMediumForced[typeName];\n if (value) {\n size[typeName] = getTypographyTypeConfig(value, theme)[getTypographyTypeConfigKeyFromTypeName(typeName)].fontSize;\n }\n });\n\n const marginLeft: Sizes['marginLeft'] = {};\n const marginRight: Sizes['marginRight'] = {};\n\n (Object.entries(size) as Entries<typeof size>).forEach(([key, value]) => {\n if (value) {\n marginLeft[key] = value / 10;\n marginLeft[key] = value / 20;\n }\n });\n\n return { size, marginLeft, marginRight };\n}\n\nexport interface TypographyEmojiProps extends TypographyBreakpointType {\n type?: TypographyBreakpointType;\n emoji: string;\n}\n\nexport function TypographyEmoji({\n emoji,\n base: legacyBase,\n small: legacySmall,\n medium: legacyMedium,\n large: legacyLarge,\n wide: legacyWide,\n type = { base: legacyBase, small: legacySmall, medium: legacyMedium, large: legacyLarge, wide: legacyWide },\n}: TypographyEmojiProps): ReactElement {\n const theme = useTheme();\n const { base, small, medium, large, wide } = type;\n const { size, marginLeft, marginRight } = useMemo(\n () => calcSizesFromType({ base, small, medium, large, wide }, theme),\n [base, small, medium, large, wide, theme],\n );\n\n return (\n <StyleWebWrapper as={EmojiWebWrapper}>\n <Emoji\n size={size}\n emoji={emoji}\n alignSelf=\"center\"\n _web={{\n /* Style Twemoji: https://github.com/twitter/twemoji#inline-styles */\n marginLeft,\n marginRight,\n }}\n />\n </StyleWebWrapper>\n );\n}\n","import { styled as styledLinaria } from '@linaria/react';\nimport type { ReactElement, ReactNode } from 'react';\nimport type { TextProps } from 'react-native';\nimport { Platform } from 'react-native';\nimport type { DefaultTheme } from 'styled-components/native';\nimport styled from 'styled-components/native';\nimport type { Except } from 'type-fest';\nimport { StyleWebWrapper } from '../utils/StyleWebWrapper';\nimport { withTheme } from '../utils/withTheme';\nimport type { TypographyPropsWithoutRole } from './Typography';\nimport { Typography } from './Typography';\n\ninterface TypographyLinkWebWrapperProps {\n theme: DefaultTheme;\n $hasNoUnderline?: boolean;\n}\n\nconst TypographyLinkWebWrapper = withTheme(styledLinaria.span<TypographyLinkWebWrapperProps>`\n & > *:hover,\n & > *:active,\n .kitt-hover & > * {\n text-decoration: none;\n }\n\n & > *:hover,\n & > *:active,\n .kitt-hover & > * {\n text-decoration: ${({ $hasNoUnderline }) => ($hasNoUnderline ? 'underline' : 'none')}\n }\n`);\n\ninterface StyledLinkProps {\n $disabled?: boolean;\n $hasNoUnderline?: boolean;\n}\n\nconst StyledLink = styled.Text<StyledLinkProps & TextProps>`\n text-decoration: ${({ $hasNoUnderline }) => ($hasNoUnderline ? 'none' : 'underline')};\n\n ${({ $disabled }) => {\n if (Platform.OS !== 'web') return undefined;\n\n return `\n text-decoration-color: inherit;\n transition: color 0.2s ease-in-out;\n cursor: ${$disabled ? 'not-allowed' : 'pointer'};\n `;\n }};\n\n ${({ $disabled, theme }) => {\n if (!$disabled) return undefined;\n return `color: ${theme.kitt.typography.link.disabledColor};`;\n }};\n`;\n\nexport interface TypographyLinkProps extends Except<TypographyPropsWithoutRole, 'children'> {\n children: NonNullable<ReactNode>;\n disabled?: boolean;\n noUnderline?: boolean;\n variant: NonNullable<TypographyPropsWithoutRole['variant']>;\n href?: TextProps['href'];\n hrefAttrs?: TextProps['hrefAttrs'];\n onPress: TextProps['onPress'];\n}\n\nexport function TypographyLink({\n children,\n disabled,\n noUnderline,\n href,\n hrefAttrs,\n onPress,\n ...otherProps\n}: TypographyLinkProps): ReactElement {\n return (\n <Typography {...otherProps} accessibilityRole=\"none\">\n <StyleWebWrapper as={TypographyLinkWebWrapper} $hasNoUnderline={noUnderline}>\n <StyledLink\n $disabled={disabled}\n $hasNoUnderline={noUnderline}\n href={href}\n hrefAttrs={hrefAttrs}\n accessibilityRole=\"link\"\n dataSet={{\n // remove data-kitt-universal when we delete kitt web. See See :global(a) in Link styles.module.css\n 'kitt-universal': 'true',\n }}\n onPress={disabled ? undefined : onPress}\n >\n {children}\n </StyledLink>\n </StyleWebWrapper>\n </Typography>\n );\n}\n","export const hex2rgba = (hex: string, alpha = 1): string => {\n const r = parseInt(hex.slice(1, 3), 16);\n const g = parseInt(hex.slice(3, 5), 16);\n const b = parseInt(hex.slice(5, 7), 16);\n\n return `rgba(${r}, ${g}, ${b}, ${alpha})`;\n};\n","import { makeDecorator } from '@storybook/addons';\nimport type { ReactElement, ReactNode } from 'react';\nimport { ThemeProvider } from 'styled-components/native';\nimport type { KittNativeBaseProviderProps } from '../../native-base/KittNativeBaseProvider';\nimport { KittNativeBaseProvider } from '../../native-base/KittNativeBaseProvider';\nimport type { KittTheme } from '../../useKittTheme';\nimport { useKittTheme } from '../../useKittTheme';\n\ndeclare module 'styled-components' {\n export interface DefaultTheme extends KittTheme {}\n}\n\ninterface KittThemeProviderProps {\n isSSR?: KittNativeBaseProviderProps['isSSR'];\n children: ReactNode;\n}\n\nexport function KittThemeProvider({ isSSR, children }: KittThemeProviderProps): ReactElement {\n const theme = useKittTheme();\n return (\n <ThemeProvider theme={theme}>\n <KittNativeBaseProvider theme={theme} isSSR={isSSR}>\n {children}\n </KittNativeBaseProvider>\n </ThemeProvider>\n );\n}\n\nexport const KittThemeDecorator = makeDecorator({\n name: 'ThemeDecorator',\n parameterName: 'theme',\n wrapper: (storyFn, context, { options = {}, parameters = {} }) => {\n return (\n <KittThemeProvider isSSR={parameters.isSSR ?? (options as any).isSSR}>\n {storyFn(context) as ReactNode}\n </KittThemeProvider>\n );\n },\n});\n","import type { ReactElement, ReactNode } from 'react';\nimport type { MatchWindowSizeOptions } from './useMatchWindowSize';\nimport { useMatchWindowSize } from './useMatchWindowSize';\n\ninterface MatchWindowSizeProps extends MatchWindowSizeOptions {\n children: ReactNode;\n}\n\nexport function MatchWindowSize({ children, ...matchWindowSizeOptions }: MatchWindowSizeProps): ReactElement | null {\n const match = useMatchWindowSize(matchWindowSizeOptions);\n if (!match) return null;\n return children as ReactElement;\n}\n","import type { ComponentType, ForwardRefExoticComponent, PropsWithoutRef, RefAttributes } from 'react';\nimport { forwardRef } from 'react';\nimport { useTheme } from 'styled-components/native';\nimport type { DefaultTheme } from 'styled-components/native';\nimport type { Except } from 'type-fest';\n\n// type $Without<T, K extends keyof any> = T extends any ? Pick<T, Exclude<keyof T, K>> : never;\n// type $DeepPartial<T> = { [P in keyof T]?: $DeepPartial<T[P]> };\n\n// export function withTheme<Props extends { theme: DefaultTheme }, C>(\n// WrappedComponent: ComponentType<Props> & C,\n// ): ComponentType<SetOptional<Props, 'theme'>> & hoistNonReactStatics.NonReactStatics<typeof WrappedComponent> {\n// return function ThemedComponent(props) {\n// const theme = useTheme();\n\n// return (<WrappedComponent theme={theme} {...(props as any)} />) as any;\n// };\n// }\n\nexport function withTheme<Props extends { theme: DefaultTheme }, T>(\n WrappedComponent: ComponentType<Props>,\n): ForwardRefExoticComponent<PropsWithoutRef<Except<Props, 'theme'>> & RefAttributes<T>> {\n // eslint-disable-next-line prefer-arrow-callback\n return forwardRef<T, Except<Props, 'theme'>>(function ThemedComponent(props, ref) {\n const theme = useTheme();\n\n return <WrappedComponent ref={ref} theme={theme} {...(props as any)} />;\n });\n}\n"],"names":["defaultIconSize","IconContainer","styled","View","$color","$size","$align","Icon","icon","size","align","color","clonedIcon","cloneElement","_jsx","KittBreakpoints","BASE","SMALL","MEDIUM","LARGE","WIDE","KittBreakpointsMax","KittBreakpointNameEnum","IsHeaderTypographyContext","createContext","undefined","TypographyColorContext","useTypographyColor","useContext","getTypographyTypeConfigKey","theme","isMediumOrAbove","responsive","matchWindowSize","minWidth","getTypographyTypeConfigKeyFromTypeName","breakpointName","isTypeHeader","type","startsWith","isTypographyHeader","isHeaderTypographyInContext","Error","createNativeBaseFontSize","typeWithMediumForced","medium","small","base","fontSizeForNativeBase","forEach","typeName","value","Typography","accessibilityRole","legacyBase","legacySmall","legacyMedium","legacyLarge","large","legacyWide","wide","variant","otherProps","hasTypographyAncestor","baseOrDefaultToBody","isHeader","nonNullableVariant","process","env","NODE_ENV","Object","entries","key","text","NBText","content","TypographyText","props","TypographyParagraph","Platform","OS","createHeading","level","defaultBase","TypographyHeading","displayName","Text","Paragraph","Header1","Header2","Header3","Header4","Header5","Header6","h1","h2","h3","h4","h5","getInitials","firstname","lastname","toUpperCase","StyledAvatarView","$isRound","$sizeVariant","kitt","avatar","borderRadius","$isLight","light","backgroundColor","AvatarContent","src","alt","isLight","sizeVariant","uri","width","height","Avatar","round","warn","message","console","deprecatedMessage","symbol","deprecation","replaceBy","replaceMessage","deprecatedInComponent","component","hasVariant","button","getVariantValuesIfExist","StyledPressable","Pressable","$isStretch","StyledAnimatedView","Animated","AnimatedButtonPressable","forwardRef","ref","children","disabled","$type","$variant","href","hrefAttrs","testID","onPress","useTheme","pressed","useSharedValue","pressedBackgroundColor","scale","scaleStyles","useAnimatedStyle","interpolateColor","transform","withSpring","active","handlePressInOut","pressIn","BaseStyledButtonPressable","maxWidth","minHeight","$isDisabled","contentPadding","defaultPadding","disabledPadding","xLarge","TypographyIconSpecifiedColor","typography","colors","TypographyIconInheritColor","TypographyIcon","isSubtle","getTextColorByType","StyledButtonText","StyledIconContainer","$iconPosition","spacing","ButtonIcon","iconPosition","StyledChildrenWithIcon","ButtonContentChildren","isDisabled","isWebSubtle","buttonIconSharedProps","_jsxs","ButtonContentContainer","$isIconOnly","$isSubtle","ButtonContent","Boolean","StyledDisabled","borderWidth","borderColor","allowedGhostTypes","getButtonSize","Button","stretch","sizeProp","__DEV__","includes","deprecatedProp","Container","card","Card","Emoji","emoji","alignSelf","_web","style","useMemo","parse","assetType","emojiData","Image","url","ExternalAppLink","Component","as","appScheme","appValue","onOpenAppError","rest","handleOnPress","e","Linking","canOpenURL","canOpen","defaultPrevented","openURL","err","error","Sms","phoneNumber","Tel","Mail","emailAddress","defaultOpenLinkBehavior","web","ExternalLink","openLinkBehavior","WebBrowser","lateOceanColorPalette","lateOcean","lateOceanLight1","lateOceanLight2","lateOceanLight3","warmEmbrace","warmEmbraceLight1","black1000","black800","black555","black200","black100","black50","black25","white","viride","englishVermillon","goldCrayola","aero","transparent","moonPurple","moonPurpleLight1","primary","primaryLight","accent","accentLight","success","correct","danger","info","warning","separator","hover","black","blackAnthracite","uiBackground","uiBackgroundLight","overlay","dark","fullscreenLoader","focus","transition","duration","timingFunction","hoverBackgroundColor","focusBorderColor","ghost","hoverColor","activeColor","subtle","secondary","feedbackMessage","checkbox","iconSize","checkedBorderColor","checkedBackgroundColor","markColor","datePicker","day","month","year","calcLineHeight","fontSize","lineHeightMultiplier","Math","createTypographyTypeConfig","baseAndSmallFontSize","mediumAndWideFontSize","baseAndSmall","lineHeight","mediumAndWide","kittColors","types","headers","fontFamily","regular","bold","fontWeight","fontStyle","configs","header1","header2","header3","header4","header5","bodies","body","link","disabledColor","inputStatesStyle","pending","valid","invalid","input","selection","placeholder","padding","horizontal","vertical","property","states","inputField","labelContainerPaddingBottom","iconMarginLeft","inputTag","labelColor","radio","unchecked","checked","innerSize","innerBackgroundColor","textArea","forms","fullScreenModal","header","paddingVertical","paddingHorizontal","iconButton","listItem","innerMargin","navigationModal","pageLoader","strokeWidth","fill","animation","delay","circleBackgroundFillDuration","filledCircleFillDuration","groupFilledCircleRotationDuration","filledCircleRotationDuration","fillEasingFunction","picker","ios","selected","android","shadows","skeleton","flareColor","animationDuration","tag","outline","tooltip","opacity","horizontalPadding","verticalPadding","floatingPadding","breakpoints","values","min","smallBreakpoint","mediumBreakpoint","largeBreakpoint","wideBreakpoint","max","palettes","maxHeight","hasWidthMatched","hasHeightMatched","useMatchWindowSize","options","useWindowDimensions","createWindowSizeHelper","dimensions","ifWindowSizeMatches","valueIfTrue","valueIfFalse","mapWindowWidth","widthList","slice","index","previousMinWidth","found","find","Number","useKittTheme","useWindowSize","kittTheme","CheckboxAndLabelPressableWrapper","CheckboxContainer","$isChecked","css","$hasLabel","Checkbox","onChange","onBlur","onFocus","hitSlop","id","handlePress","getInputUIState","isFocused","formState","styledTextInputMixin","$state","typeConfigKey","StyledTypographyText","ViewInput","$partName","DatePickerInputPart","partName","prefixWithZero","padStart","PartContainer","$isLast","DatePickerPressable","DatePickerInputs","state","internalForceState","handleModalOpen","currentValue","currentState","sharedPartProps","getDate","getMonth","getFullYear","DatePickerAndroid","pickerDefaultDate","pickerUITestID","isDefaultVisible","setIsFocused","setCurrentValue","handleClose","DateTimePickerAndroid","open","Date","now","timestamp","nativeEvent","date","onTouchCancel","useEffect","OverlayPressable","StyleSheet","absoluteFillObject","Overlay","BodyView","ModalBody","ScrollView","FooterView","ModalFooter","StyleWebWrapper","PressableIconButtonWebWrapper","StyledPressableIconButton","PressableIconButton","AnimatedIconButtonBackground","AnimatedViewContainer","PressableAnimatedContainer","accessibilityLabel","opacityStyles","IconButtonContentBorder","IconButtonContent","IconButton","OnCloseContext","HeaderView","LeftIconView","RightIconView","TitleView","isIconLeft","ModalHeader","left","right","onClose","ModalView","ContentView","Modal","visible","onEntered","onExited","NativeModal","Header","Body","Footer","getDatePickerDisplayMode","PlatformDateTimePicker","defaultDate","maximumDate","minimuDate","displayMode","iosProps","textColor","_event","ModalTitle","ModalPlatformDateTimePicker","title","isVisible","validateButtonLabel","useState","handleChange","newDate","prev","handleSubmit","DatePicker","pickerUITitle","pickerUIValidateButtonLabel","isPickerUIVisible","setIsPickerUIVisible","handleModalClose","InputTextContainer","StyledTextInput","TextInput","multiline","shouldHandleSingleLineOnIOS","$minHeight","RightInputContainer","InputText","autoCorrect","textContentType","autoComplete","keyboardType","onSubmitEditing","InputEmail","getColorFromState","InputFeedback","FieldContainer","FeedbackContainer","FieldLabelContainer","LabelContainer","InputField","label","labelFeedback","feedback","getIconColor","InputIcon","InputPressable","InputPassword","isPasswordDefaultVisible","setIsVisible","InputPhone","getTypographyColor","InputTagContainer","InputTag","typographyColor","Label","htmlFor","OuterRadio","SelectedOuterRadio","SelectedInnerRadio","Radio","TextArea","FullScreenModalBody","SideContainer","side","getHeaderHorizontalMediumPadding","insetTop","paddingTop","HeaderContent","leftWidth","rightWidth","windowWidth","sideElementMaxWidth","parentHorizontalPadding","parentHorizontalPaddingMedium","computeWidth","breakpointPadding","deltaMargin","abs","FullScreenModalHeader","useSafeAreaInsets","top","setLeftWidth","setRightWidth","handleLayoutChange","event","persist","layout","FullScreenModal","SpinningIcon","String","animationRef","useRef","Value","rotation","current","interpolate","inputRange","outputRange","loop","timing","toValue","easing","Easing","linear","useNativeDriver","start","stop","rotate","ListItemContent","SideContainerView","ListItemSideContainer","SideContentView","ListItemSideContent","ContainerView","withPadding","borders","ListItem","Wrapper","Fragment","wrapperProps","containerProps","Content","SideContent","LoaderIcon","IconContent","getColorByType","getIconButtonColor","messageType","StyledMessageContainer","$insets","$hasNoRadius","StyledDismissWrapper","StyledTextContent","$isCenteredText","StyledMessageContent","BaseMessage","hasNoRadius","centeredText","insets","onDismiss","Message","ModalBehaviourPortal","OnCloseProvider","useOnCloseModalBehaviour","CloseButton","onCloseContextCallback","ModalBehaviourContainer","ModalBehaviour","createKittSpaces","sizes","overridenNativeBaseSizeandSpaceScale","fromEntries","map","createKittNativeBaseCustomTheme","spaces","extendedTheme","extendTheme","radii","space","sm","MAX_SAFE_INTEGER","md","lg","xl","fontSizes","lineHeights","fontWeights","fonts","components","baseStyle","_light","_dark","KittNativeBaseProvider","isSSR","nativeBaseCustomTheme","Stack","NativeBaseStack","VStack","NativeBaseVStack","HStack","NativeBaseHStack","NativeBaseView","NativeBaseScrollView","NativeBasePressable","ViewWithPadding","ContentPadding","StyledViewWithPadding","$insetBottom","shouldHandleBottomNotch","bottom","insetBottom","FooterContainer","$hasSeparator","hasSeparator","HeaderContainer","$isTransparent","$hasRight","$hasLeft","Row","$hasContent","ButtonContainer","ChildrenComponent","HeaderTitle","isTransparent","sharedProps","NavigationModalContainer","$backgroundColor","ContainerWithoutHeader","NavigationModal","footer","flexGrow","position","Padding","Notification","onDelete","AnimatedCircle","createAnimatedComponent","Circle","AnimatedLoaderCircle","progress","centerCoord","circlePerimeter","PI","strokeAnimation","useAnimatedProps","strokeDashoffset","AnimatedBackgroundCircle","x1","y1","x2","y2","withDelay","withTiming","bezier","isInfinitAnimation","AnimatedFillCircleContainer","withRepeat","rotationStyles","absoluteFill","shouldReverse","AnimatedFilledCircle","PageLoaderContainer","PageLoader","ContainerPressable","$isSelected","PickerItem","isSelected","Picker","initialValue","onValueSelected","setValue","NativePicker","itemValue","React","Children","child","item","newValue","handleValueSelected","Item","AnimatedLinearGradient","LinearGradient","SkeletonContent","isLoading","sharedX","inOut","ease","linearGradientStyle","translateX","x","y","SkeletonContainer","Skeleton","setWidth","Bar","Square","Flex","withConfig","shouldForwardProp","prop","defaultValidatorFn","direction","storyPadding","getBackgroundColorFromBlockColor","getTypographyColorFromBlockColor","StoryBlockBackgroundContext","StoryBlockColorContext","useStoryBlockColor","storyBlockColor","StyledStoryBlockView","background","StoryBlock","StoryTitleContainer","StorySubTitleContainer","StoryTitle","numberOfLines","StoryTitleLevel2","StoryTitleLevel3","StoryTitleLevel4","Level2","Level3","Level4","StoryContainer","Story","contentContainerStyle","StyledSection","StorySection","internalIsDemoSection","StyledSubSection","SubSection","StyledBlockSection","BlockSection","StyledDemoSection","DemoSection","Demo","DeprecatedSection","platform","StoryDecorator","storyFn","context","name","SmallScreenRow","SmallScreenCol","FlexRow","FlexCol","StoryGridRow","breakpoint","breakpointValue","StoryGridCol","titleColor","isNative","StoryGrid","Col","getLabelColor","Tag","Title","ModalDateTimePicker","timePickerPlaceholder","formatNumberToTimeString","time","formatDateToTimeString","getHours","getMinutes","useTimePicker","defaultValue","isTimePickerModalVisible","setIsTimePickerModalVisible","todayAtNoon","getDay","dateTimePickerValue","displayedValue","timePickerState","handleInputPress","handleTimeChange","TimePicker","forceDefaultValue","StyledTooltipView","StyledTooltipContent","ArrowView","StyledArrow","$position","TooltipView","tooltipDefaultPosition","TooltipContainer","Tooltip","defaultVisible","onUpdate","useFloating","placement","middleware","offset","shift","flip","reference","floating","update","refs","middlewareData","strategy","EmojiWebWrapper","getTypographyTypeConfig","calcSizesFromType","marginLeft","marginRight","TypographyEmoji","TypographyLinkWebWrapper","StyledLink","$hasNoUnderline","$disabled","TypographyLink","noUnderline","hex2rgba","hex","alpha","r","parseInt","g","b","KittThemeProvider","KittThemeDecorator","makeDecorator","parameterName","wrapper","parameters","MatchWindowSize","matchWindowSizeOptions","match","withTheme","WrappedComponent"],"mappings":"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"}
|