@ornikar/kitt-universal 9.34.1 → 9.34.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/index.d.ts +1 -1
- package/dist/definitions/index.d.ts.map +1 -1
- package/dist/definitions/native-base/KittNativeBaseProvider.d.ts +15 -1
- package/dist/definitions/native-base/KittNativeBaseProvider.d.ts.map +1 -1
- package/dist/index-browser-all.es.android.js.map +1 -1
- package/dist/index-browser-all.es.ios.js.map +1 -1
- package/dist/index-browser-all.es.js.map +1 -1
- package/dist/index-browser-all.es.web.js.map +1 -1
- package/dist/index-node-14.17.cjs.js.map +1 -1
- package/dist/index-node-14.17.cjs.web.js.map +1 -1
- package/dist/tsbuildinfo +1 -1
- package/package.json +2 -2
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index-browser-all.es.js","sources":["../src/native-base/layout.ts","../src/native-base/primitives.ts","../src/utils/createResponsiveStyleFromProp/createResponsiveStyleFromProp.ts","../src/utils/warnings.ts","../src/Button/AnimatedContainer.tsx","../src/KittBreakpoints.ts","../src/typography/Typography.tsx","../src/Icon/Icon.tsx","../src/typography/TypographyIcon.tsx","../src/Button/utils/getTextColorByType.ts","../src/Button/ButtonContent.tsx","../src/Button/ButtonPadding.tsx","../src/Button/DisabledBorder.tsx","../src/Button/FocusBorder.tsx","../src/Button/getVariantValuesIfExist.ts","../src/Button/hooks/useNativeAnimation.ts","../src/Button/utils/getButtonSize.ts","../src/Button/Button.tsx","../src/Icon/SpinningIcon.tsx","../src/LoaderIcon/LoaderIcon.tsx","../src/utils/windowSize/useMatchWindowSize.ts","../src/Actions/ActionsItem.tsx","../src/Actions/ActionsButton.tsx","../src/Actions/Actions.tsx","../src/themes/palettes/lateOceanColorPalette.ts","../src/themes/late-ocean/colors.ts","../src/themes/late-ocean/avatar.ts","../src/Avatar/utils/getCurrentRadius.ts","../src/Avatar/utils/getCurrentSize.ts","../src/Avatar/utils/getIconSize.ts","../src/Avatar/utils/getInitials.ts","../src/Avatar/Avatar.tsx","../src/BottomSheet/BottomSheet.tsx","../src/BottomSheet/useBottomSheet.ts","../src/BottomSheet/useStaticBottomSheet.tsx","../src/ModalBehaviour/ModalBehaviourPortal.tsx","../src/ModalBehaviour/OnCloseContext.tsx","../src/ModalBehaviour/ModalBehaviour.tsx","../src/Overlay/Overlay.tsx","../src/CardModal/CardModalAnimation/CardModalRotationContainer.tsx","../src/CardModal/CardModalAnimation/NativeOpacityAnimation.tsx","../src/CardModal/CardModalAnimation/NativeRotationAnimation.tsx","../src/CardModal/CardModalAnimation/CardModalAnimation.tsx","../src/CardModal/CardModalBehaviour.tsx","../src/CardModal/CardModalBody.tsx","../src/CardModal/CardModalFooter.tsx","../src/CardModal/CardModalHeader.tsx","../src/CardModal/CardModal.tsx","../src/Choices/hooks/useNativeAnimation.tsx","../src/Choices/ChoiceItem.tsx","../src/Choices/ChoiceItemContainer.tsx","../src/Choices/Choices.tsx","../src/DialogModal/DialogModalAnimation/NativeOpacityAnimation.tsx","../src/DialogModal/DialogModalAnimation/NativeRotationAnimation.tsx","../src/DialogModal/DialogModalAnimation/DialogModalAnimation.tsx","../src/DialogModal/DialogModalBehaviour.tsx","../src/DialogModal/DialogModal.tsx","../src/Emoji/Emoji.tsx","../src/ExternalAppLink/ExternalAppLink.tsx","../src/ExternalLink/ExternalLinkOpenLinkBehavior.ts","../src/ExternalLink/ExternalLink.tsx","../src/themes/late-ocean/spacing.ts","../src/themes/late-ocean/bottomSheet.ts","../src/themes/late-ocean/button.ts","../src/themes/late-ocean/card.ts","../src/themes/late-ocean/cardModal.ts","../src/themes/late-ocean/choices.ts","../src/themes/late-ocean/dialogModal.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/radioButtonGroup.ts","../src/themes/late-ocean/textArea.ts","../src/themes/late-ocean/forms.ts","../src/themes/late-ocean/highlight.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/utils/hexToRgba.ts","../src/themes/late-ocean/tooltip.ts","../src/themes/default.ts","../src/utils/windowSize/createWindowSizeHelper.ts","../src/useKittTheme.tsx","../src/forms/Checkbox/Checkbox.tsx","../src/forms/DatePicker/utils/dateFormatter.ts","../src/forms/DatePicker/utils/datePartInInterval.ts","../src/forms/DatePicker/utils/isNumber.ts","../src/forms/DatePicker/utils/onDatePartChange.ts","../src/forms/DatePicker/utils/stringToNumber.ts","../src/forms/DatePicker/reducers/keyboardDatePickerReducer.ts","../src/forms/InputText/InputTextContainer.tsx","../src/forms/InputText/InputText.tsx","../src/forms/DatePicker/components/InputPart.tsx","../src/forms/DatePicker/components/PartContainer.tsx","../src/forms/DatePicker/components/KeyboardDatePicker.tsx","../src/forms/DatePicker/components/PressableDateInputs.tsx","../src/forms/DatePicker/components/NativeUIDatePicker/DatePickerAndroid.tsx","../src/Modal/Body.tsx","../src/Modal/Footer.tsx","../src/utils/StyleWebWrapper.tsx","../src/IconButton/PressableIconButtonWebWrapper.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/components/NativeUIDatePicker/PlatformDateTimePicker.tsx","../src/forms/DatePicker/components/NativeUIDatePicker/ModalPlatformDateTimePicker.tsx","../src/forms/DatePicker/components/NativeUIDatePicker/DefaultNativeUIDatePicker.tsx","../src/forms/DatePicker/components/NativeUIDatePicker/NativeUIDatePicker.tsx","../src/forms/DatePicker/DatePicker.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/RadioButtonGroup/AnimatedContainer/AnimatedContainer.tsx","../src/forms/RadioButtonGroup/HoverBorder.tsx","../src/forms/RadioButtonGroup/hooks/useNativeAnimation.ts","../src/forms/RadioButtonGroup/utils/getCurrentTextColor.ts","../src/forms/RadioButtonGroup/RadioButton.tsx","../src/forms/RadioButtonGroup/RadioButtonGroup.tsx","../src/forms/TextArea/TextArea.tsx","../src/Highlight/Highlight.tsx","../src/KittMapConfigProvider/KittMapConfigProvider.tsx","../src/KittMapConfigProvider/hooks/useKittMapConfig.ts","../src/ListItem/ListItemContent.tsx","../src/ListItem/ListItemSideContent.tsx","../src/ListItem/ListItem.tsx","../src/MapMarker/assets/marker-large.inline.svg","../src/MapMarker/assets/marker.inline.svg","../src/MapMarker/assets/position-marker.inline.svg","../src/MapMarker/MapMarker.tsx","../src/BaseMessage/IconContent.tsx","../src/BaseMessage/helper.ts","../src/BaseMessage/BaseMessage.tsx","../src/Message/Message.tsx","../src/native-base/KittNativeBaseProvider.tsx","../src/NavigationModal/ContentPadding.tsx","../src/NavigationModal/Body.tsx","../src/NavigationModal/Footer.tsx","../src/NavigationModal/Header.tsx","../src/NavigationModal/components/NativeOpacityAnimation.tsx","../src/NavigationModal/components/NativeSlideInAnimation.tsx","../src/NavigationModal/NavigationModalAnimation.tsx","../src/NavigationModal/NavigationModalBehaviour.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/StaticMap/utils/getStaticMapImageUrl.ts","../src/StaticMap/hooks/useGetStaticMapImageUrl.ts","../src/StaticMap/StaticMapError.tsx","../src/StaticMap/StaticMapImage.tsx","../src/StaticMap/StaticMapLoader.tsx","../src/StaticMap/StaticMapMarker.tsx","../src/StaticMap/utils/getRangedWidthValue.ts","../src/StaticMap/utils/getShouldDisplay2x.ts","../src/StaticMap/StaticMap.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/forms/styledTextInputMixin.ts","../src/TimePicker/ModalDateTimePicker.tsx","../src/TimePicker/useTimePicker.ts","../src/TimePicker/TimePicker.tsx","../src/Tooltip/Arrow.tsx","../src/Tooltip/TooltipContent.tsx","../src/Tooltip/hooks/useCustomShift.ts","../src/Tooltip/Tooltip.tsx","../src/typography/TypographyEmoji.tsx","../src/utils/withTheme.tsx","../src/typography/TypographyLink.tsx","../src/utils/storybook/KittThemeDecorator.tsx","../src/utils/windowSize/MatchWindowSize.tsx","../src/utils/windowSize/useCurrentBreakpointName.ts"],"sourcesContent":["import type { ICenterProps, IStackProps } from 'native-base';\nimport {\n Center as NativeBaseCenter,\n HStack as NativeBaseHStack,\n Stack as NativeBaseStack,\n VStack as NativeBaseVStack,\n} 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 { ViewProps as NativeViewProps } from 'react-native';\nimport type { Except } from 'type-fest';\nimport type { KittResponsivePropOrValue } from 'KittBreakpoints';\nimport type {\n ForwardRefComponent,\n NativeBaseAcceptedBorderProps,\n NativeBaseAcceptedBorderRadiusProps,\n NativeBaseAcceptedChildrenProp,\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 | NativeBaseAcceptedChildrenProp\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 ForwardRefComponent<StackProps>;\n\nexport interface VStackProps extends Except<StackProps, 'direction'> {\n direction?: Extract<StackProps['direction'], 'column' | 'column-reverse'>;\n}\nexport const VStack = NativeBaseVStack as ForwardRefComponent<VStackProps>;\n\nexport interface HStackProps extends Except<StackProps, 'direction'> {\n direction?: Extract<StackProps['direction'], 'row' | 'row-reverse'>;\n}\nexport const HStack = NativeBaseHStack as ForwardRefComponent<HStackProps>;\n\nexport interface CenterProps\n extends Pick<\n ICenterProps,\n | keyof NativeViewProps\n | keyof SafeAreaProps\n | NativeBaseAcceptedChildrenProp\n | NativeBaseAcceptedSpaceProps\n | NativeBaseAcceptedColorsProps\n | NativeBaseAcceptedBorderProps\n | NativeBaseAcceptedBorderRadiusProps\n | NativeBaseAcceptedPositionProps\n | NativeBaseAcceptedShadowProps\n | NativeBaseAcceptedLayoutProps\n | NativeBaseAcceptedFlexboxProps\n > {}\n\nexport const Center = NativeBaseCenter as ForwardRefComponent<CenterProps>;\n","import type { IImageProps, IPressableProps, IScrollViewProps } from 'native-base';\nimport {\n FlatList as NativeBaseFlatList,\n Image as NativeBaseImage,\n Pressable as NativeBasePressable,\n ScrollView as NativeBaseScrollView,\n SectionList as NativeBaseSectionList,\n View as NativeBaseView,\n} from 'native-base';\nimport type {\n IFlatListProps,\n InterfaceFlatListProps,\n} from 'native-base/lib/typescript/components/basic/FlatList/types';\nimport type { InterfaceScrollViewProps } from 'native-base/lib/typescript/components/basic/ScrollView/types';\nimport type {\n ISectionListProps,\n InterfaceSectionListProps,\n} from 'native-base/lib/typescript/components/basic/SectionList/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 { ForwardedRef, MutableRefObject } from 'react';\nimport type {\n FlatList as NativeFlatList,\n FlatListProps as NativeFlatListProps,\n PressableProps as NativePressableProps,\n ScrollViewProps as NativeScrollViewProps,\n SectionList as NativeSectionList,\n SectionListProps as NativeSectionListProps,\n ViewProps as NativeViewProps,\n} from 'react-native';\nimport type {\n ForwardRefComponent,\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 ForwardRefComponent<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 ForwardRefComponent<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 ForwardRefComponent<PressableProps>;\n\nexport const Image = NativeBaseImage as ForwardRefComponent<IImageProps>;\n\ntype NativeBaseAcceptedFlatListProps<ItemT> = Extract<\n keyof InterfaceFlatListProps<ItemT>,\n 'ref' | '_contentContainerStyle' | keyof NativeFlatListProps<ItemT>\n>;\nexport interface FlatListProps<ItemT>\n extends Pick<\n IFlatListProps<ItemT>,\n | NativeBaseAcceptedFlatListProps<ItemT>\n | NativeBaseAcceptedSpaceProps\n | NativeBaseAcceptedColorsProps\n | NativeBaseAcceptedBorderProps\n | NativeBaseAcceptedBorderRadiusProps\n | NativeBaseAcceptedPositionProps\n | NativeBaseAcceptedShadowProps\n | NativeBaseAcceptedLayoutProps\n | NativeBaseAcceptedFlexboxProps\n > {}\n\n// See: https://fettblog.eu/typescript-react-generic-forward-refs/\nexport const FlatList = NativeBaseFlatList as <ItemT>(\n props: FlatListProps<ItemT> & { ref?: MutableRefObject<NativeFlatList<ItemT> | undefined> },\n) => ReturnType<typeof NativeBaseFlatList>;\n\ntype NativeBaseAcceptedSectionListProps<ItemT, SectionT> = Extract<\n keyof InterfaceSectionListProps<ItemT, SectionT>,\n 'ref' | keyof NativeSectionListProps<ItemT, SectionT>\n>;\nexport interface SectionListProps<ItemT, SectionT>\n extends Pick<\n ISectionListProps<ItemT, SectionT>,\n | NativeBaseAcceptedSectionListProps<ItemT, SectionT>\n | NativeBaseAcceptedSpaceProps\n | NativeBaseAcceptedColorsProps\n | NativeBaseAcceptedBorderProps\n | NativeBaseAcceptedBorderRadiusProps\n | NativeBaseAcceptedPositionProps\n | NativeBaseAcceptedShadowProps\n | NativeBaseAcceptedLayoutProps\n | NativeBaseAcceptedFlexboxProps\n > {}\n\n// See: https://fettblog.eu/typescript-react-generic-forward-refs/\nexport const SectionList = NativeBaseSectionList as <ItemT, SectionT>(\n props: SectionListProps<ItemT, SectionT> & { ref?: ForwardedRef<NativeSectionList<ItemT, SectionT> | undefined> },\n) => ReturnType<typeof NativeBaseSectionList>;\n","import type { KittBreakpointNameEnum } from '../../KittBreakpoints';\n\nexport type ResponsiveRecordValue<T> = { [key in KittBreakpointNameEnum]?: T };\nexport type ResponsiveValue<T> = T | ResponsiveRecordValue<T> | undefined;\n\nexport function createResponsiveStyleFromProp<PossibleStyleValue>(\n responsiveBooleanValue: ResponsiveValue<boolean | undefined>,\n valueIfTrue: PossibleStyleValue,\n valueIfFalse?: PossibleStyleValue,\n): ResponsiveValue<PossibleStyleValue> {\n // Handles simple boolean values\n if (!responsiveBooleanValue) return valueIfFalse;\n\n if (responsiveBooleanValue === true) return valueIfTrue;\n\n // Handles responsive value object\n const keys = Object.keys(responsiveBooleanValue) as KittBreakpointNameEnum[];\n\n if (keys.length === 0) return valueIfFalse;\n\n const responsiveValue = {} as ResponsiveRecordValue<PossibleStyleValue>;\n\n keys.forEach((breakpointName) => {\n responsiveValue[breakpointName] = responsiveBooleanValue[breakpointName] ? valueIfTrue : valueIfFalse;\n });\n\n return responsiveValue;\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 { ReactElement, ReactNode } from 'react';\nimport type { ViewStyle } from 'react-native';\nimport Animated from 'react-native-reanimated';\nimport styled from 'styled-components/native';\nimport type { ButtonProps, ButtonType, ButtonVariant } from './Button';\n\ninterface StyledAnimatedViewProps {\n $isDisabled?: boolean;\n}\n\nconst StyledAnimatedView = styled(Animated.View)<StyledAnimatedViewProps>`\n border-radius: ${({ theme }) => theme.kitt.button.borderRadius}px;\n background-color: ${({ theme, $isDisabled }) =>\n $isDisabled ? theme.kitt.button.disabled.default.backgroundColor : undefined};\n`;\n\nexport interface AnimatedContainerProps {\n children: ReactNode;\n disabled?: boolean;\n variant: ButtonVariant;\n type: ButtonType;\n isHovered?: boolean;\n isPressed?: boolean;\n isStretch?: ButtonProps['stretch'];\n animatedStyles: Partial<ViewStyle>;\n}\n\nexport function AnimatedContainer({ disabled, animatedStyles, children }: AnimatedContainerProps): ReactElement {\n return (\n <StyledAnimatedView style={disabled ? undefined : [animatedStyles]} $isDisabled={disabled}>\n {children}\n </StyledAnimatedView>\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 { PlatformProps } from 'native-base/lib/typescript/components/types';\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 { NativeBaseAcceptedFlexboxProps } from '../native-base/acceptable-native-base-props';\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-disabled'\n | 'black-light'\n | 'white'\n | 'white-light'\n | 'primary'\n | 'primary-light'\n | 'accent'\n | 'success'\n | 'danger'\n | 'warning';\n\nconst IsHeaderTypographyContext = createContext<boolean | undefined>(undefined);\nconst TypographyColorContext = createContext<TypographyColor>('black');\n\nexport function useTypographyColor(): TypographyColor {\n return useContext(TypographyColorContext);\n}\n\nconst TypographyDefaultColorContext = createContext<TypographyColor | undefined>(undefined);\n\nfunction useTypographyDefaultColor(): TypographyColor | undefined {\n return useContext(TypographyDefaultColorContext);\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\ntype NativeBaseTextPropsAcceptedProps = Pick<\n ITextProps,\n keyof Except<TextProps, 'accessibilityRole'> | 'textAlign' | 'textTransform' | NativeBaseAcceptedFlexboxProps\n>;\nexport interface TypographyProps\n extends TypographyBreakpointType,\n NativeBaseTextPropsAcceptedProps,\n Pick<PlatformProps<NativeBaseTextPropsAcceptedProps>, '_android' | '_ios' | '_web'> {\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}\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\nfunction getNBThemeColorFromColorProps(colorName: TypographyColor | undefined): string | undefined {\n return colorName ? `kitt.typography.${colorName}` : undefined;\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\n const defaultColor = useTypographyDefaultColor();\n\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 currentColor = !color && !hasTypographyAncestor ? defaultColor : color;\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={getNBThemeColorFromColorProps(currentColor)}\n textDecorationColor={getNBThemeColorFromColorProps(currentColor)}\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.SetDefaultColor = TypographyDefaultColorContext.Provider;\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 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","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 { TypographyColor } from '../../typography/Typography';\nimport type { ButtonType, ButtonVariant } from '../Button';\n\nexport const getTextColorByType = (\n type: ButtonType,\n variant: ButtonVariant,\n isHovered: boolean,\n isPressed: boolean,\n): TypographyColor => {\n const isButtonInteractedWith = isHovered || isPressed;\n\n switch (type) {\n case 'primary':\n return variant === 'ghost' ? 'primary' : 'white';\n case 'white':\n return 'white';\n case 'subtle':\n return isButtonInteractedWith ? 'primary-light' : 'primary';\n case 'subtle-dark':\n return isButtonInteractedWith ? 'black-light' : 'black';\n case 'default':\n return variant === 'ghost' ? 'white' : 'black';\n default:\n return 'black';\n }\n};\n","import type { ReactElement } from 'react';\nimport type { Except } from 'type-fest';\nimport { View } from '../native-base/primitives';\nimport type { TypographyColor } 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 { getTextColorByType } from './utils/getTextColorByType';\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 <View marginRight={iconPosition === 'left' ? 'kitt.2' : 0} marginLeft={iconPosition === 'right' ? 'kitt.2' : 0}>\n <TypographyIcon icon={icon} testID={testID} color={color} />\n </View>\n );\n}\n\ninterface ButtonContentProps extends Except<ButtonProps, 'onPress' | 'disabled' | 'stretch'> {\n isDisabled?: boolean;\n type: NonNullable<ButtonType>;\n variant: NonNullable<ButtonVariant>;\n isHovered: boolean;\n isPressed: boolean;\n isFocused: boolean;\n}\n\ninterface ButtonContentChildrenProps extends Except<ButtonProps, 'onPress' | 'disabled' | 'stretch'> {\n isDisabled?: boolean;\n type: NonNullable<ButtonType>;\n color: TypographyColor;\n}\n\nexport function ButtonContentChildren({\n type,\n icon,\n iconPosition,\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 if (!children) {\n return (\n <TypographyIcon\n // eslint-disable-next-line @typescript-eslint/no-non-null-assertion\n icon={icon!}\n color={color}\n />\n );\n }\n\n const buttonIconSharedProps = {\n type,\n iconPosition,\n color,\n };\n\n // Make the multilines case work properly on native - Breaks the web implem\n const sharedNativeStyle = {\n flexShrink: 1,\n };\n\n return (\n <View alignItems=\"center\" justifyContent=\"center\" flexDirection=\"row\">\n {icon && iconPosition === 'left' ? (\n <ButtonIcon {...buttonIconSharedProps} testID=\"button.ButtonContent.leftButtonIcon\" icon={icon} />\n ) : null}\n\n <Typography.Text\n /* On native code, this is the only way to ensure that the text is centered */\n textAlign=\"center\"\n _android={sharedNativeStyle}\n _ios={sharedNativeStyle}\n base=\"body\"\n variant=\"bold\"\n color={color}\n >\n {children}\n </Typography.Text>\n\n {icon && iconPosition === 'right' ? <ButtonIcon {...buttonIconSharedProps} icon={icon} /> : null}\n </View>\n );\n}\n\nexport function ButtonContent({\n type,\n variant,\n isDisabled,\n icon,\n children,\n isHovered,\n isPressed,\n isFocused,\n ...props\n}: ButtonContentProps): ReactElement {\n const color = isDisabled ? 'black-light' : getTextColorByType(type, variant, isHovered, isPressed);\n\n return (\n <View\n _web={{\n // Make the multilines case work properly on web\n // We don't apply those styles on native because it will break\n flexGrow: 0,\n flexShrink: 1,\n flexBasis: 'auto',\n }}\n >\n <ButtonContentChildren icon={icon} type={type} isDisabled={isDisabled} color={color} {...props}>\n {children}\n </ButtonContentChildren>\n </View>\n );\n}\n","import type { ReactElement, ReactNode } from 'react';\nimport { View } from '../native-base/primitives';\nimport type { ButtonTheme } from '../themes/late-ocean/button';\nimport type { ButtonSize } from './Button';\n\ninterface GetCurrentPaddingConfigParams {\n size?: ButtonSize;\n isDisabled?: boolean;\n}\n\nfunction getCurrentPaddingConfig({ size, isDisabled }: GetCurrentPaddingConfigParams): keyof ButtonTheme['padding'] {\n if (size === 'large') return 'large';\n if (size === 'xLarge') return 'xLarge';\n if (isDisabled) return 'disabled';\n\n return 'default';\n}\n\ninterface ButtonPaddingProps {\n children: ReactNode;\n size?: ButtonSize;\n isDisabled?: boolean;\n}\n\nexport function ButtonPadding({ children, size, isDisabled }: ButtonPaddingProps): ReactElement {\n const currentPaddingKey = getCurrentPaddingConfig({ size, isDisabled });\n\n return (\n <View\n position=\"relative\"\n flexDirection=\"row\"\n alignItems=\"center\"\n justifyContent=\"center\"\n paddingX={`kitt.button.padding.${currentPaddingKey}.horizontal`}\n paddingY={`kitt.button.padding.${currentPaddingKey}.vertical`}\n minHeight=\"kitt.button.minHeight\"\n >\n {children}\n </View>\n );\n}\n","import type { ReactElement } from 'react';\nimport { View } from '../native-base/primitives';\n\nexport function DisabledBorder(): ReactElement {\n return (\n <View\n position=\"absolute\"\n top={0}\n left={0}\n right={0}\n bottom={0}\n borderWidth=\"kitt.button.borderWidth.disabled\"\n borderColor=\"kitt.button.disabled.default.borderColor\"\n borderRadius=\"kitt.button.borderRadius\"\n />\n );\n}\n","import type { ReactElement } from 'react';\nimport { useTheme } from 'styled-components/native';\nimport { View } from '../native-base/primitives';\nimport type { ButtonType, ButtonVariant } from './Button';\n\ninterface FocusBorderProps {\n type: ButtonType;\n variant: ButtonVariant;\n isFocused?: boolean;\n isPressed?: boolean;\n isHovered?: boolean;\n}\n\nexport function FocusBorder({ type, variant, isFocused, isHovered, isPressed }: FocusBorderProps): ReactElement {\n const {\n kitt: { button: buttonTheme },\n } = useTheme();\n\n const hasPointerInteraction = isPressed || isHovered;\n\n return (\n <View\n _web={{\n style: {\n width: `calc(100% + ${buttonTheme.borderWidth.focus * 2}px)`,\n height: `calc(100% + ${buttonTheme.borderWidth.focus * 2}px)`,\n transitionProperty: 'opacity',\n transitionDuration: buttonTheme.transition.duration,\n transitionTimingFunction: buttonTheme.transition.timingFunction,\n },\n }}\n opacity={isFocused && !hasPointerInteraction ? 1 : 0}\n position=\"absolute\"\n left={-buttonTheme.borderWidth.focus}\n top={-buttonTheme.borderWidth.focus}\n borderWidth=\"kitt.button.borderWidth.focus\"\n borderColor={`kitt.button.${type}.${variant}.focusBorderColor`}\n borderRadius=\"kitt.button.borderRadius\"\n />\n );\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 { ViewStyle } from 'react-native';\nimport { interpolateColor, useAnimatedStyle, useSharedValue, withSpring } from 'react-native-reanimated';\nimport { useTheme } from 'styled-components/native';\nimport type { ButtonType, ButtonVariant } from 'Button/Button';\nimport { getVariantValuesIfExist } from '../getVariantValuesIfExist';\n\nexport interface UseNativeAnimationOptions {\n type: ButtonType;\n variant: ButtonVariant;\n isPressedInternal?: boolean;\n}\n\nexport interface NativeAnimation {\n onPressIn?: () => void;\n onPressOut?: () => void;\n animatedStyles: ViewStyle;\n}\n\nexport const useNativeAnimation = ({\n type,\n variant,\n isPressedInternal,\n}: UseNativeAnimationOptions): NativeAnimation => {\n const theme = useTheme();\n const pressed = useSharedValue<0 | 1>(isPressedInternal ? 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 animatedStyles = 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 handlePressIn = (): void => {\n color.value = withSpring(1);\n pressed.value = 1;\n };\n\n const handlePressOut = (): void => {\n color.value = withSpring(0);\n pressed.value = 0;\n };\n\n return {\n onPressIn: handlePressIn,\n onPressOut: handlePressOut,\n animatedStyles,\n };\n};\n","import type { ButtonProps } from '../Button';\n\nexport const getButtonSize = ({ large, xLarge, size }: Partial<ButtonProps>): ButtonProps['size'] => {\n if (large) return 'large';\n if (xLarge) return 'xLarge';\n return size;\n};\n","import type { ReactElement, ReactNode } from 'react';\nimport { forwardRef } from 'react';\nimport type { PressableProps } from 'react-native';\nimport type { View } from '../native-base/primitives';\nimport { Pressable } from '../native-base/primitives';\nimport type { ResponsiveValue } from '../utils/createResponsiveStyleFromProp/createResponsiveStyleFromProp';\nimport { createResponsiveStyleFromProp } from '../utils/createResponsiveStyleFromProp/createResponsiveStyleFromProp';\nimport { deprecatedInComponent } from '../utils/warnings';\nimport { AnimatedContainer } from './AnimatedContainer';\nimport { ButtonContent } from './ButtonContent';\nimport { ButtonPadding } from './ButtonPadding';\nimport { DisabledBorder } from './DisabledBorder';\nimport { FocusBorder } from './FocusBorder';\nimport { useNativeAnimation } from './hooks/useNativeAnimation';\nimport { getButtonSize } from './utils/getButtonSize';\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\nexport interface ButtonProps {\n children?: ReactNode;\n type?: ButtonType;\n variant?: ButtonVariant;\n disabled?: boolean;\n stretch?: ResponsiveValue<boolean | undefined>;\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 /**\n * @deprecated props className is not supported\n */\n className?: string;\n style?: PressableProps['style'];\n /** @internal for story purpose */\n isHoveredInternal?: boolean;\n /** @internal for story purpose */\n isPressedInternal?: boolean;\n /** @internal for story purpose */\n isFocusedInternal?: boolean;\n onPress?: PressableProps['onPress'];\n}\n\nexport const Button = forwardRef<typeof 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 isHoveredInternal,\n isPressedInternal,\n isFocusedInternal,\n onPress,\n }: ButtonProps,\n ref,\n ): ReactElement => {\n const { onPressIn, onPressOut, animatedStyles } = useNativeAnimation({\n type,\n variant,\n });\n\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 <Pressable\n ref={ref}\n disabled={disabled}\n accessibilityRole={accessibilityRole}\n testID={testID}\n href={href}\n hrefAttrs={hrefAttrs}\n /* Emulate inline-* css display by making the button taking only its necessary space */\n alignSelf={createResponsiveStyleFromProp(stretch, undefined, 'flex-start')}\n minWidth=\"kitt.button.minWidth\"\n maxWidth={createResponsiveStyleFromProp(stretch, '100%', 'kitt.button.maxWidth')}\n width={createResponsiveStyleFromProp(stretch, '100%', 'auto')}\n onPress={onPress}\n onPressIn={onPressIn}\n onPressOut={onPressOut}\n >\n {({ isHovered, isPressed, isFocused }) => (\n <AnimatedContainer\n animatedStyles={animatedStyles}\n type={type}\n isHovered={isHovered || isHoveredInternal}\n isPressed={isPressed || isPressedInternal}\n disabled={!!disabled}\n variant={variant}\n isStretch={stretch}\n >\n <ButtonPadding size={size} isDisabled={disabled}>\n <ButtonContent\n type={type}\n variant={variant}\n isDisabled={disabled}\n icon={icon}\n iconPosition={iconPosition}\n isHovered={isHovered}\n isPressed={isPressed}\n isFocused={isFocused}\n >\n {children}\n </ButtonContent>\n {disabled ? <DisabledBorder /> : null}\n <FocusBorder\n type={type}\n variant={variant}\n isFocused={isFocused || isFocusedInternal}\n isHovered={isHovered}\n isPressed={isPressed}\n />\n </ButtonPadding>\n </AnimatedContainer>\n )}\n </Pressable>\n );\n },\n);\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 { 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 { 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\n/**\n * Returns if a size matches based on dimensions passed as options.\n *\n * WARNING: Not SSR friendly.\n */\nexport function useMatchWindowSize(options: MatchWindowSizeOptions): boolean {\n const { width, height } = useWindowDimensions();\n return matchWindowSize({ width, height }, options);\n}\n","import type { ComponentProps, ElementType, ReactElement, VoidFunctionComponent } from 'react';\nimport { useEffect, useRef, useState } from 'react';\nimport type { ButtonProps } from '../Button/Button';\nimport { KittBreakpoints } from '../KittBreakpoints';\nimport { LoaderIcon } from '../LoaderIcon/LoaderIcon';\nimport { View } from '../native-base/primitives';\nimport { useMatchWindowSize } from '../utils/windowSize/useMatchWindowSize';\n\nfunction getCurrentStretchValue(isStretch: boolean | undefined, isMedium: boolean): boolean | undefined {\n // Stretch will follow the value passed from the component occurence if defined\n if (isStretch) return isStretch;\n\n return !isMedium ? true : undefined;\n}\n\ninterface ActionsItemMinimumRequiredProps extends Pick<ButtonProps, 'onPress'> {}\n\nexport interface ActionsItemProps<C extends VoidFunctionComponent<any>> {\n readonly onPress?: (\n e: Parameters<NonNullable<ButtonProps['onPress']>>[0],\n // eslint-disable-next-line @typescript-eslint/no-invalid-void-type\n ) => Promise<void | undefined | null> | void | undefined | null;\n readonly as: C;\n}\n\n// eslint-disable-next-line @typescript-eslint/ban-types\ntype ActionsItemSendableComponentProps<C extends VoidFunctionComponent<any>> = Omit<\n ComponentProps<C>,\n keyof ActionsItemProps<C> & keyof ActionsItemMinimumRequiredProps\n>;\n\nexport function ActionsItem<C extends VoidFunctionComponent<any>>({\n as,\n onPress,\n disabled,\n icon,\n stretch,\n ...props\n}: ActionsItemProps<C> & ActionsItemSendableComponentProps<C>): ReactElement {\n const isMedium = useMatchWindowSize({\n minWidth: KittBreakpoints.MEDIUM,\n });\n\n const isCurrentStretch = getCurrentStretchValue(stretch, isMedium);\n\n const [isLoading, setIsLoading] = useState(false);\n const mountedRef = useRef(false);\n\n // effect just for tracking mounted state, as onPress can unmount the ActionButton\n useEffect(() => {\n mountedRef.current = true;\n return () => {\n mountedRef.current = false;\n };\n }, []);\n\n const handlePress: ButtonProps['onPress'] = (e) => {\n const callPressAndUpdateLoadingState = async (): Promise<void> => {\n if (!onPress) return;\n setIsLoading(true);\n try {\n await onPress(e);\n if (mountedRef.current) {\n setIsLoading(false);\n }\n } catch (error) {\n if (mountedRef.current) {\n setIsLoading(false);\n }\n throw error;\n }\n };\n\n callPressAndUpdateLoadingState();\n };\n\n const Component: ElementType = as;\n\n return (\n <View>\n <Component\n {...props}\n stretch={isCurrentStretch}\n disabled={isLoading ? true : disabled}\n icon={isLoading ? <LoaderIcon /> : icon}\n onPress={handlePress}\n />\n </View>\n );\n}\n","import type { ReactElement } from 'react';\nimport type { Except } from 'type-fest';\nimport type { ButtonProps } from '../Button/Button';\nimport { Button } from '../Button/Button';\nimport type { ActionsItemProps } from './ActionsItem';\nimport { ActionsItem } from './ActionsItem';\n\nexport interface ActionsButtonProps\n extends Except<ButtonProps, 'onPress'>,\n Pick<ActionsItemProps<typeof Button>, 'onPress'> {}\n\nexport function ActionsButton({ ...props }: ActionsButtonProps): ReactElement {\n return <ActionsItem as={Button} {...props} />;\n}\n","import type { ReactElement } from 'react';\nimport type { Except } from 'type-fest';\nimport { Stack } from '../native-base/layout';\nimport type { StackProps } from '../native-base/layout';\nimport { ActionsButton } from './ActionsButton';\nimport { ActionsItem } from './ActionsItem';\n\ntype ActionsLayout = 'column' | 'row';\n\nfunction getCurrentLayout(layout: ActionsLayout | undefined): StackProps['alignItems'] {\n if (!layout) return { base: 'stretch', medium: 'center' };\n\n if (layout === 'column') return 'stretch';\n\n return 'center';\n}\n\nfunction getCurrentDirection(layout: ActionsLayout | undefined): StackProps['direction'] {\n if (!layout) return { base: 'column', medium: 'row' };\n\n if (layout === 'column') return 'column';\n\n return 'row';\n}\n\nexport interface ActionsProps extends Except<StackProps, 'space'> {\n layout?: ActionsLayout;\n}\n\nexport function Actions({ children, layout, ...props }: ActionsProps): ReactElement {\n const currentAlignItems = getCurrentLayout(layout);\n const currentDirection = getCurrentDirection(layout);\n\n return (\n <Stack alignItems={currentAlignItems} direction={currentDirection} flex={1} {...props} space=\"kitt.3\">\n {children}\n </Stack>\n );\n}\n\nActions.Button = ActionsButton;\nActions.Item = ActionsItem;\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: '#333333',\n black555: '#737373',\n black400: '#999999',\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 seaShell: '#FFF9F3',\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 blackDisabled: lateOceanColorPalette.black400,\n blackLight: lateOceanColorPalette.black555,\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 },\n};\n","import { lateOceanColorPalette } from '../palettes/lateOceanColorPalette';\nimport { colors } from './colors';\n\nexport const defaultAvatarSize = 40;\nexport const defaultAvatarIconSize = 20;\n\nexport const largeAvatarSize = 120;\nexport const largeAvatarIconSize = 30;\n\nexport interface AvatarThemeColorVariant {\n backgroundColor: string;\n}\n\nexport interface AvatarThemeSizeVariant {\n borderRadius: number;\n size: number;\n iconSize: number;\n}\n\nexport interface AvatarTheme {\n borderRadius: number;\n size: number;\n iconSize: number;\n default: AvatarThemeColorVariant;\n light: AvatarThemeColorVariant;\n large: AvatarThemeSizeVariant;\n}\n\nexport const avatar: AvatarTheme = {\n borderRadius: 10,\n size: defaultAvatarSize,\n iconSize: defaultAvatarIconSize,\n default: {\n backgroundColor: colors.primary,\n },\n light: {\n backgroundColor: lateOceanColorPalette.black100,\n },\n large: {\n borderRadius: 30,\n size: largeAvatarSize,\n iconSize: largeAvatarIconSize,\n },\n};\n","import { defaultAvatarSize, largeAvatarSize } from '../../themes/late-ocean/avatar';\nimport type { AvatarSizeVariant } from '../Avatar';\n\ninterface GetCurrentRadiusParams {\n size?: number;\n sizeVariant?: AvatarSizeVariant;\n round?: boolean;\n}\n\nexport function getCurrentRadius({ size, sizeVariant, round }: GetCurrentRadiusParams): string | number {\n if (round) {\n if (size) return size * 0.5;\n\n if (sizeVariant === 'large') return largeAvatarSize * 0.5;\n\n return defaultAvatarSize * 0.5;\n }\n\n if (sizeVariant === 'large') return 'kitt.avatar.large.borderRadius';\n\n return 'kitt.avatar.borderRadius';\n}\n","import type { AvatarSizeVariant } from '../Avatar';\n\ninterface GetCurrentSizeParams {\n size?: number;\n sizeVariant?: AvatarSizeVariant;\n}\n\nexport function getCurrentSize({ size, sizeVariant }: GetCurrentSizeParams): string | number {\n if (size) return size;\n\n if (sizeVariant === 'large') return 'kitt.avatar.large.size';\n\n return 'kitt.avatar.size';\n}\n","import { defaultAvatarIconSize, largeAvatarIconSize } from '../../themes/late-ocean/avatar';\nimport type { AvatarSizeVariant } from '../Avatar';\n\nexport function getIconSize(size: string | number, sizeVariant?: AvatarSizeVariant): number {\n if (typeof size === 'number') return size * 0.5;\n\n if (sizeVariant === 'large') return largeAvatarIconSize;\n\n return defaultAvatarIconSize;\n}\n","export function getInitials(firstname: string, lastname: string): string {\n return `${firstname[0]}${lastname[0]}`.toUpperCase();\n}\n","import { UserIcon } from '@ornikar/kitt-icons';\nimport type { ReactElement } from 'react';\nimport { Icon } from '../Icon/Icon';\nimport { Image, View } from '../native-base/primitives';\nimport { Typography } from '../typography/Typography';\nimport { getCurrentRadius } from './utils/getCurrentRadius';\nimport { getCurrentSize } from './utils/getCurrentSize';\nimport { getIconSize } from './utils/getIconSize';\nimport { getInitials } from './utils/getInitials';\n\nexport type AvatarSizeVariant = 'large';\n\ninterface AvatarContentProps extends Omit<AvatarProps, 'light' | 'round' | 'size'> {\n size: string | 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 }} width={size} height={size} alt={alt} 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={getIconSize(size, sizeVariant)} />;\n}\n\nexport interface AvatarProps {\n size?: number;\n src?: string;\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, round, light, sizeVariant, ...props }: AvatarProps): ReactElement {\n const currentSize = getCurrentSize({ size, sizeVariant });\n const currentBorderRadius = getCurrentRadius({ size, sizeVariant, round });\n\n return (\n <View\n overflow=\"hidden\"\n alignItems=\"center\"\n justifyContent=\"center\"\n width={currentSize}\n height={currentSize}\n borderRadius={currentBorderRadius}\n backgroundColor={`kitt.avatar.${light ? 'light' : 'default'}.backgroundColor`}\n >\n <AvatarContent size={currentSize} isLight={light} sizeVariant={sizeVariant} {...props} />\n </View>\n );\n}\n","import {\n BottomSheetBackdrop,\n BottomSheetHandle,\n BottomSheetModal,\n BottomSheetScrollView,\n BottomSheetView,\n useBottomSheetDynamicSnapPoints,\n} from '@gorhom/bottom-sheet';\nimport type { BottomSheetModalMethods } from '@gorhom/bottom-sheet/lib/typescript/types';\nimport type { ForwardRefExoticComponent, MutableRefObject, ReactElement, ReactNode, Ref, RefAttributes } from 'react';\nimport { forwardRef, useMemo } from 'react';\nimport { View } from 'react-native';\nimport { SafeAreaView } from 'react-native-safe-area-context';\n// eslint-disable-next-line no-restricted-imports\nimport type { StyledComponent } from 'styled-components';\nimport type { DefaultTheme } from 'styled-components/native';\nimport styled, { useTheme } from 'styled-components/native';\nimport type { Except } from 'type-fest';\n\nexport interface BottomSheetProps {\n children?: ((props?: never) => React.ReactNode) | ReactNode;\n ref: MutableRefObject<BottomSheetModalMethods | null>;\n hasScrollView?: boolean;\n hasHandle?: boolean;\n hasBackdrop?: boolean;\n onDismiss?: () => void;\n}\n\nconst BottomSheetContainerView = styled(View)`\n padding: ${({ theme }) => `${theme.kitt.bottomSheet.container.padding}px`};\n`;\n\nfunction BottomSheetComp(\n { children: Content, hasScrollView = false, hasBackdrop = true, hasHandle = true, onDismiss }: BottomSheetProps,\n ref: Ref<BottomSheetModal>,\n): ReactElement {\n const Wrapper = useMemo(() => (hasScrollView ? BottomSheetScrollView : BottomSheetView), [hasScrollView]);\n const theme = useTheme();\n const initialSnapPoints = useMemo(() => ['CONTENT_HEIGHT'], []);\n const { animatedHandleHeight, animatedSnapPoints, animatedContentHeight, handleContentLayout } =\n useBottomSheetDynamicSnapPoints(initialSnapPoints);\n\n return (\n <BottomSheetModal\n ref={ref}\n enablePanDownToClose\n snapPoints={animatedSnapPoints}\n index={0}\n handleHeight={animatedHandleHeight}\n handleIndicatorStyle={{\n width: 40,\n height: 4,\n borderRadius: 4,\n backgroundColor: theme.kitt.bottomSheet.handle.backgroundColor,\n }}\n handleComponent={(props) => (hasHandle ? <BottomSheetHandle {...props} /> : null)}\n backdropComponent={(props) =>\n hasBackdrop ? <BottomSheetBackdrop {...props} opacity={0.25} appearsOnIndex={0} disappearsOnIndex={-1} /> : null\n }\n contentHeight={animatedContentHeight}\n onDismiss={onDismiss}\n >\n {({ data }) => (\n <SafeAreaView edges={['bottom']} onLayout={handleContentLayout}>\n <Wrapper>{typeof Content === 'function' ? <Content {...data} /> : Content}</Wrapper>\n </SafeAreaView>\n )}\n </BottomSheetModal>\n );\n}\n\nexport const BottomSheet = forwardRef(BottomSheetComp) as ForwardRefExoticComponent<\n Except<BottomSheetProps, 'ref'> & RefAttributes<BottomSheetModalMethods>\n> & { View: StyledComponent<typeof View, DefaultTheme> };\n\nBottomSheet.View = BottomSheetContainerView;\n","import type { BottomSheetModalMethods } from '@gorhom/bottom-sheet/lib/typescript/types';\nimport type { RefObject } from 'react';\nimport { useRef } from 'react';\n\nexport function useBottomSheet(): RefObject<BottomSheetModalMethods> {\n const ref = useRef<BottomSheetModalMethods>(null);\n\n return ref;\n}\n","import type { BottomSheetModalMethods } from '@gorhom/bottom-sheet/lib/typescript/types';\nimport type { ElementType, ReactElement, RefObject } from 'react';\nimport { useMemo, useRef } from 'react';\nimport type { BottomSheetProps } from './BottomSheet';\nimport { BottomSheet } from './BottomSheet';\n\ninterface BottomSheetRef<T> extends BottomSheetModalMethods {\n present: (bottomSheetComponenProps: T) => void;\n}\n\ntype ReducedBottomSheetProps = Pick<BottomSheetProps, 'hasScrollView'>;\n\n// This is used to fix:\n// React.ComponentProps<O> -> if O is a function component without any props it will return unknown but we want to have undefined\ntype IsExact<T, U> = [T] extends [U] ? ([U] extends [T] ? true : false) : false;\n\ntype BottomSheetComponentProps<O extends ElementType> = IsExact<React.ComponentProps<O>, unknown> extends true\n ? undefined\n : React.ComponentProps<O>;\n\nexport function useStaticBottomSheet<T extends ElementType>(\n Content: T,\n): {\n bottomSheetRef: RefObject<BottomSheetRef<BottomSheetComponentProps<T>>>;\n BottomSheet: (props: ReducedBottomSheetProps) => ReactElement;\n} {\n const bottomSheetRef = useRef<BottomSheetRef<BottomSheetComponentProps<T>>>(null);\n\n const BottomSheetMemoized = useMemo(\n () =>\n function renderBottomSheet(props: ReducedBottomSheetProps) {\n return (\n <BottomSheet {...props} ref={bottomSheetRef}>\n {Content}\n </BottomSheet>\n );\n },\n [Content],\n );\n\n return {\n bottomSheetRef,\n BottomSheet: BottomSheetMemoized,\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 { View } from '../native-base/primitives';\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\nexport interface ModalBehaviourProps {\n children: ReactNode;\n visible?: boolean;\n onClose: () => void;\n}\n\nexport function ModalBehaviour({ children, visible, onClose }: ModalBehaviourProps): ReactElement {\n return (\n <OnCloseProvider onClose={onClose}>\n <ModalBehaviourPortal visible={visible}>\n {visible ? (\n <View\n _web={{\n position: 'fixed',\n top: 0,\n left: 0,\n width: '100%',\n height: '100%',\n }}\n >\n {children}\n </View>\n ) : null}\n </ModalBehaviourPortal>\n </OnCloseProvider>\n );\n}\n\nModalBehaviour.CloseButton = CloseButton;\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 } from 'react';\nimport type { ViewProps } from '../../native-base/primitives';\nimport { View } from '../../native-base/primitives';\n\ninterface CardModalRotationContainerProps extends ViewProps {}\n\nexport function CardModalRotationContainer(props: CardModalRotationContainerProps): ReactElement {\n return (\n <View\n paddingX=\"kitt.cardModal.overlayPadding.horizontal\"\n paddingY=\"kitt.cardModal.overlayPadding.vertical\"\n maxWidth=\"kitt.cardModal.maxWidthWithPadding\"\n width=\"100%\"\n {...props}\n />\n );\n}\n","import type { ReactElement, ReactNode } from 'react';\nimport { useRef } from 'react';\nimport { StyleSheet } from 'react-native';\nimport Animated, { Easing, runOnJS, useAnimatedStyle, withTiming } from 'react-native-reanimated';\nimport { useTheme } from 'styled-components/native';\n\nexport interface NativeOpacityAnimationProps {\n visible?: boolean;\n children: ReactNode;\n onExited: () => void;\n}\n\nexport function NativeOpacityAnimation({ visible, children, onExited }: NativeOpacityAnimationProps): ReactElement {\n const theme = useTheme();\n const hasRunAnimationRef = useRef(false);\n\n function handleAnimationFinished(): void {\n if (visible) {\n hasRunAnimationRef.current = true;\n }\n\n if (!visible && hasRunAnimationRef.current) {\n onExited();\n }\n }\n\n const opacityStyle = useAnimatedStyle(() => {\n const { duration, easing } = theme.kitt.cardModal.animation.overlay;\n const [x1, y1, x2, y2] = easing;\n\n return {\n opacity: withTiming(visible ? 1 : 0, { duration, easing: Easing.bezier(x1, y1, x2, y2) }, (isFinished) => {\n if (!isFinished) return;\n runOnJS(handleAnimationFinished)();\n }),\n };\n });\n\n return <Animated.View style={[StyleSheet.absoluteFillObject, opacityStyle]}>{children}</Animated.View>;\n}\n","import type { ReactElement, ReactNode } from 'react';\nimport { useRef } from 'react';\nimport Animated, { Easing, runOnJS, useAnimatedStyle, useSharedValue, withTiming } from 'react-native-reanimated';\nimport { useTheme } from 'styled-components/native';\nimport type { CardModalAnimationProps } from './CardModalAnimation';\n\nexport interface NativeRotationAnimationProps {\n children: ReactNode;\n topInset?: number;\n visible?: CardModalAnimationProps['visible'];\n onEntered?: CardModalAnimationProps['onEntered'];\n onExited: () => void;\n}\n\nexport function NativeRotationAnimation({\n visible,\n children,\n onEntered,\n onExited,\n}: NativeRotationAnimationProps): ReactElement | null {\n const theme = useTheme();\n\n const hasRunAnimationRef = useRef(false);\n\n const rotation = useSharedValue(0.8);\n\n function handleAnimationFinished(): void {\n if (visible) {\n if (onEntered) onEntered();\n hasRunAnimationRef.current = true;\n }\n\n if (!visible && hasRunAnimationRef.current) onExited();\n }\n\n const animatedStyle = useAnimatedStyle(() => {\n const { duration, easing } = theme.kitt.cardModal.animation.content;\n\n const [x1, y1, x2, y2] = easing;\n\n rotation.value = withTiming(visible ? 0 : 5, { duration, easing: Easing.bezier(x1, y1, x2, y2) }, (isFinished) => {\n if (!isFinished) return;\n runOnJS(handleAnimationFinished)();\n });\n\n return {\n opacity: withTiming(visible ? 1 : 0, { duration, easing: Easing.bezier(x1, y1, x2, y2) }),\n transform: [\n { scale: withTiming(visible ? 1 : 0.8, { duration, easing: Easing.bezier(x1, y1, x2, y2) }) },\n {\n rotateZ: `${rotation.value}deg`,\n },\n ],\n };\n });\n\n return <Animated.View style={[animatedStyle]}>{children}</Animated.View>;\n}\n","import type { ReactElement, ReactNode } from 'react';\nimport { useEffect, useState } from 'react';\nimport { Modal } from 'react-native';\nimport { Overlay } from '../../Overlay/Overlay';\nimport type { ViewProps } from '../../native-base/primitives';\nimport { ScrollView, View } from '../../native-base/primitives';\nimport { CardModalRotationContainer } from './CardModalRotationContainer';\nimport { NativeOpacityAnimation } from './NativeOpacityAnimation';\nimport { NativeRotationAnimation } from './NativeRotationAnimation';\n\nexport interface CardModalAnimationProps extends ViewProps {\n children: ReactNode;\n appear?: boolean;\n visible?: boolean;\n unmountOnExit?: boolean;\n isAnimationEnabled?: boolean;\n onEnter?: () => void;\n onEntered?: () => void;\n onExit?: () => void;\n onExited?: () => void;\n onClose?: () => void;\n}\n\nexport function CardModalAnimation({\n visible,\n children,\n onEnter,\n onEntered,\n onExit,\n onExited,\n onClose,\n}: CardModalAnimationProps): ReactElement {\n const [isModalVisible, setIsModalVisible] = useState(visible);\n const [isContentVisible, setIsContentVisible] = useState(false);\n\n const handleAnimationExited = (): void => {\n setIsModalVisible(false);\n };\n\n useEffect(() => {\n const shouldHideContent = !visible && isContentVisible;\n\n if (!shouldHideContent) return;\n\n if (onExit) onExit();\n setIsContentVisible(false);\n }, [visible, isContentVisible, onExit]);\n\n return (\n <Modal\n transparent\n visible={isModalVisible}\n onShow={() => {\n if (onEnter) onEnter();\n setIsContentVisible(true);\n }}\n onDismiss={() => {\n if (onExited) onExited();\n }}\n >\n <ScrollView bounces={false} contentContainerStyle={{ flexGrow: 1 }}>\n <View position=\"relative\" flex={1} justifyContent=\"center\">\n <NativeOpacityAnimation visible={isContentVisible} onExited={handleAnimationExited}>\n <Overlay onPress={onClose} />\n </NativeOpacityAnimation>\n\n <CardModalRotationContainer>\n <NativeRotationAnimation visible={isContentVisible} onExited={handleAnimationExited} onEntered={onEntered}>\n {children}\n </NativeRotationAnimation>\n </CardModalRotationContainer>\n </View>\n </ScrollView>\n </Modal>\n );\n}\n","import type { ReactElement } from 'react';\nimport { useEffect, useState } from 'react';\nimport { Platform } from 'react-native';\nimport type { ModalBehaviourProps } from '../ModalBehaviour/ModalBehaviour';\nimport { ModalBehaviour } from '../ModalBehaviour/ModalBehaviour';\nimport { ScrollView, View } from '../native-base/primitives';\nimport type { ScrollViewProps } from '../native-base/primitives';\nimport type { CardModalAnimationProps } from './CardModalAnimation/CardModalAnimation';\nimport { CardModalAnimation } from './CardModalAnimation/CardModalAnimation';\n\ninterface ScrollContainerProps extends ScrollViewProps {}\n\nfunction ScrollContainer({ children, ...props }: ScrollContainerProps): ReactElement {\n if (Platform.OS !== 'web') {\n return <View>{children}</View>;\n }\n\n return <ScrollView {...props}>{children}</ScrollView>;\n}\n\nexport interface CardModalBehaviourProps extends CardModalAnimationProps {\n onClose: ModalBehaviourProps['onClose'];\n}\n\nexport function CardModalBehaviour({\n children,\n visible,\n onClose,\n onExited,\n ...props\n}: CardModalBehaviourProps): ReactElement {\n const [isModalBehaviourVisible, setIsModalBehaviourVisible] = useState(visible);\n\n useEffect(() => {\n if (visible === true) {\n setIsModalBehaviourVisible(true);\n }\n }, [visible]);\n\n const handleExitAnimationDone = (): void => {\n if (onExited) onExited();\n setIsModalBehaviourVisible(false);\n };\n\n return (\n <ModalBehaviour visible={isModalBehaviourVisible} onClose={onClose}>\n <ScrollContainer bounces={false} contentContainerStyle={{ flexGrow: 1 }}>\n <CardModalAnimation {...props} visible={visible} onExited={handleExitAnimationDone} onClose={onClose}>\n {children}\n </CardModalAnimation>\n </ScrollContainer>\n </ModalBehaviour>\n );\n}\n","import type { ReactElement } from 'react';\nimport type { ViewProps } from '../native-base/primitives';\nimport { View } from '../native-base/primitives';\n\nexport interface CardModalBodyProps extends ViewProps {}\n\nexport function CardModalBody({\n children,\n paddingX = { base: 'kitt.4', medium: 'kitt.6' },\n paddingY = 'kitt.4',\n ...props\n}: CardModalBodyProps): ReactElement {\n return (\n <View paddingX={paddingX} paddingY={paddingY} {...props}>\n {children}\n </View>\n );\n}\n","import type { ReactElement } from 'react';\nimport type { ViewProps } from '../native-base/primitives';\nimport { View } from '../native-base/primitives';\n\nexport interface CardModalFooterProps extends ViewProps {\n hasSeparator?: boolean;\n}\n\nexport function CardModalFooter({\n children,\n padding = { base: 'kitt.4', medium: 'kitt.2' },\n hasSeparator = true,\n ...props\n}: CardModalFooterProps): ReactElement {\n return (\n <View\n {...props}\n marginTop=\"kitt.2\"\n padding={padding}\n borderTopWidth={hasSeparator ? 'kitt.cardModal.footer.borderWidth' : 0}\n borderColor=\"kitt.separator\"\n alignItems={{ base: undefined, medium: 'flex-end' }}\n >\n {children}\n </View>\n );\n}\n","import type { ReactElement, ReactNode } from 'react';\nimport type { Except } from 'type-fest';\nimport type { ViewProps } from '../native-base/primitives';\nimport { View } from '../native-base/primitives';\nimport { Typography } from '../typography/Typography';\n\ninterface BaseHeaderProps extends Except<ViewProps, 'left' | 'right'> {\n hasSeparator?: boolean;\n left?: ReactNode;\n right?: ReactNode;\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\nexport type CardModalHeaderProps = TitledHeaderProps | ComponentHeaderProps;\n\nexport function CardModalHeader({\n children,\n title,\n paddingBottom = { base: 'kitt.4', medium: 'kitt.2' },\n hasSeparator = true,\n right,\n left,\n ...props\n}: CardModalHeaderProps): ReactElement {\n const defaultContainerPadding = { base: 'kitt.4', medium: 'kitt.6' };\n\n return (\n <View\n {...props}\n padding={paddingBottom}\n borderBottomWidth={hasSeparator ? 'kitt.cardModal.footer.borderWidth' : 0}\n borderColor=\"kitt.separator\"\n justifyContent=\"center\"\n width=\"100%\"\n height=\"kitt.cardModal.header.height\"\n paddingRight={right ? 'kitt.2' : defaultContainerPadding}\n paddingLeft={left ? 'kitt.2' : defaultContainerPadding}\n >\n <View alignItems=\"center\" flexDirection=\"row\" justifyContent={!children && !left ? 'flex-end' : 'space-between'}>\n {left ? <View width=\"kitt.iconButton.width\">{left}</View> : null}\n\n <View flexGrow=\"1\" paddingRight={right ? 'kitt.2' : 0} paddingLeft={left ? 'kitt.2' : 0}>\n {title ? (\n <Typography.Text textAlign={!left && right ? 'left' : 'center'} variant=\"bold\">\n {title}\n </Typography.Text>\n ) : null}\n {children}\n </View>\n\n {right ? <View width=\"kitt.iconButton.width\">{right}</View> : null}\n </View>\n </View>\n );\n}\n","import type { ReactElement } from 'react';\nimport type { ViewProps } from '../native-base/primitives';\nimport { View } from '../native-base/primitives';\nimport { CardModalBehaviour } from './CardModalBehaviour';\nimport { CardModalBody } from './CardModalBody';\nimport { CardModalFooter } from './CardModalFooter';\nimport { CardModalHeader } from './CardModalHeader';\n\nexport interface CardModalProps extends ViewProps {\n withoutShadow?: boolean;\n}\n\nexport function CardModal({\n children,\n backgroundColor = 'kitt.uiBackgroundLight',\n maxWidth = 'kitt.cardModal.maxWidth',\n withoutShadow,\n ...props\n}: CardModalProps): ReactElement {\n return (\n <View\n {...props}\n overflow=\"hidden\"\n backgroundColor={backgroundColor}\n shadow={withoutShadow ? undefined : 'kitt.cardModal.shadow'}\n borderRadius=\"kitt.cardModal.borderRadius\"\n width=\"100%\"\n maxWidth={maxWidth}\n >\n {children}\n </View>\n );\n}\n\nCardModal.Body = CardModalBody;\nCardModal.Header = CardModalHeader;\nCardModal.Footer = CardModalFooter;\nCardModal.ModalBehaviour = CardModalBehaviour;\n","import type { ViewStyle } from 'react-native';\nimport {\n interpolateColor,\n useAnimatedStyle,\n useDerivedValue,\n useSharedValue,\n withTiming,\n} from 'react-native-reanimated';\nimport { useTheme } from 'styled-components/native';\n\ninterface UseNativeAnimationOptions {\n selected?: boolean;\n disabled?: boolean;\n isPressedInternal?: boolean;\n}\n\ninterface NativeAnimation {\n onPressIn: () => void;\n onPressOut: () => void;\n backgroundStyles: ViewStyle;\n}\n\nexport const useNativeAnimation = ({\n selected,\n disabled,\n isPressedInternal,\n}: UseNativeAnimationOptions): NativeAnimation => {\n const theme = useTheme();\n\n const pressed = useSharedValue(Boolean(isPressedInternal));\n const progress = useDerivedValue(() => {\n return withTiming(pressed.value ? 1 : 0, { duration: theme.kitt.choices.item.transition.duration });\n });\n\n const backgroundStyles = useAnimatedStyle(() => {\n const {\n default: defaultBg,\n pressed: pressedBg,\n selected: selectedBg,\n disabled: disabledBg,\n } = theme.kitt.choices.item.backgroundColor;\n\n if (disabled) return { backgroundColor: disabledBg };\n\n if (selected) return { backgroundColor: selectedBg };\n\n return {\n backgroundColor: interpolateColor(progress.value, [0, 1], [defaultBg, pressedBg]),\n };\n });\n\n const onPressIn = (): void => {\n pressed.value = true;\n };\n\n const onPressOut = (): void => {\n pressed.value = false;\n };\n\n return {\n onPressIn,\n onPressOut,\n backgroundStyles,\n };\n};\n","import type { ReactElement, ReactNode } from 'react';\nimport type { GestureResponderEvent } from 'react-native';\nimport { Platform, StyleSheet, View } from 'react-native';\nimport Animated from 'react-native-reanimated';\nimport styled, { css } from 'styled-components/native';\nimport { KittBreakpoints } from '../KittBreakpoints';\nimport { Pressable } from '../native-base/primitives';\nimport type { TypographyColor } from '../typography/Typography';\nimport { Typography } from '../typography/Typography';\nimport type { BaseChoicesProps } from './Choices';\nimport { useNativeAnimation } from './hooks/useNativeAnimation';\n\ninterface GetCurrentTextColorParams {\n isDisabled?: boolean;\n isSelected?: boolean;\n isPressed?: boolean;\n isHovered?: boolean;\n}\n\nfunction getCurrentTextColor({\n isDisabled,\n isSelected,\n isPressed,\n isHovered,\n}: GetCurrentTextColorParams): TypographyColor {\n if (isDisabled) return 'black-light';\n\n if (isSelected && isHovered) return 'white';\n\n if (isSelected || isPressed) return 'white';\n\n return 'black';\n}\n\ntype ChoiceItemVariant = 'rounded';\ntype ChoiceItemSize = BaseChoicesProps<null>['size'];\n\nfunction getBorderRadius(defaultRadius: number, variant?: ChoiceItemVariant): number {\n // The clean way to have the rounded effect would have been to know the children height since radius >= height * 0.5\n // We don't control over the height of the rendered children we just go with a arbitrary really high value\n const arbitraryHighHeightValue = 800;\n if (variant === 'rounded') return arbitraryHighHeightValue;\n\n return defaultRadius;\n}\n\ninterface DisabledBorderProps {\n $variant?: ChoiceItemVariant;\n}\n\nconst DisabledBorder = styled(View)<DisabledBorderProps>`\n border-radius: ${({ theme, $variant }) => getBorderRadius(theme.kitt.choices.item.borderRadius, $variant)}px;\n ${({ theme }) => {\n const { width, color } = theme.kitt.choices.item.disabled.border;\n\n return css`\n border: ${width}px solid ${color};\n `;\n }};\n`;\n\ninterface ChoiceItemPressableProps {\n $variant?: ChoiceItemVariant;\n $size?: ChoiceItemSize;\n $isHovered?: boolean;\n $isPressed?: boolean;\n $isDisabled?: boolean;\n $isSelected?: boolean;\n}\n\nconst ChoiceItemView = styled(Platform.OS === 'web' ? View : Animated.View)<ChoiceItemPressableProps>`\n position: relative;\n border-radius: ${({ theme, $variant }) => getBorderRadius(theme.kitt.choices.item.borderRadius, $variant)}px;\n background-color: ${({ theme, $isHovered, $isPressed, $isDisabled, $isSelected }) => {\n const {\n hoverWhenSelected,\n hover,\n disabled,\n selected,\n pressed,\n default: defaultBackground,\n } = theme.kitt.choices.item.backgroundColor;\n\n if ($isDisabled) return disabled;\n\n if ($isSelected && $isHovered) return hoverWhenSelected;\n\n if ($isPressed) return pressed;\n\n if ($isHovered) return hover;\n\n if ($isSelected) return selected;\n\n return defaultBackground;\n }};\n\n ${({ theme, $size }) => {\n const { base, small } = theme.kitt.choices.item.padding;\n\n if ($size === 'small') {\n return css`\n padding: ${base / 2}px ${base}px;\n `;\n }\n\n return theme.responsive.ifWindowSizeMatches(\n {\n minWidth: KittBreakpoints.SMALL,\n },\n css`\n padding: ${small}px;\n `,\n css`\n padding: ${base}px;\n `,\n );\n }};\n\n ${({ theme }) => {\n if (Platform.OS !== 'web') return undefined;\n\n const { property, duration, timingFunction } = theme.kitt.choices.item.transition;\n\n return css`\n transition: ${property} ${duration}ms ${timingFunction};\n `;\n }}\n`;\n\nexport type ChoiceItemType = 'button' | 'radio' | 'checkbox' | undefined;\n\nexport interface BaseChoiceItemProps<V> {\n type?: ChoiceItemType;\n children: ReactNode;\n disabled?: boolean;\n variant?: ChoiceItemVariant;\n size?: ChoiceItemSize;\n value?: V;\n selected?: boolean;\n /**\n * @internal Used to display pressed UI for testing and storybook purpose\n */\n isPressedInternal?: boolean;\n /**\n * @internal Used to display hovered UI for testing and storybook purpose\n */\n isHoveredInternal?: boolean;\n onPress?: () => void;\n onChange?: (value?: V) => void;\n onFocus?: (e?: any | GestureResponderEvent) => void;\n onBlur?: (e?: any | GestureResponderEvent) => void;\n}\n\nexport interface ChoiceItemButtonProps<V> extends BaseChoiceItemProps<V> {\n type?: 'button';\n value?: never;\n selected?: never;\n onChange?: never;\n}\n\nexport interface ChoiceItemFormElementProps<V> extends BaseChoiceItemProps<V> {\n type: 'radio' | 'checkbox';\n onPress?: never;\n}\n\nexport type ChoiceItemProps<V> = ChoiceItemButtonProps<V> | ChoiceItemFormElementProps<V>;\n\nexport function ChoiceItem<V>({\n type = 'button',\n value,\n selected,\n disabled,\n variant,\n children,\n isPressedInternal,\n isHoveredInternal,\n onPress,\n onChange,\n onBlur,\n onFocus,\n size,\n}: ChoiceItemProps<V>): ReactElement {\n const { onPressIn, onPressOut, backgroundStyles } = useNativeAnimation({ selected, disabled, isPressedInternal });\n\n const handleChange = (): void => {\n if (!onChange) return;\n\n // Checkbox can be toggled\n if (type === 'checkbox') {\n onChange(selected ? undefined : value);\n return;\n }\n\n onChange(value);\n };\n\n const handlePress = (e: GestureResponderEvent): void => {\n if (onFocus) onFocus(e);\n\n if (onPress) onPress();\n handleChange();\n\n if (onBlur) onBlur(e);\n };\n\n return (\n <Pressable\n disabled={disabled}\n accessibilityRole={type}\n accessibilityState={{ checked: selected }}\n onBlur={onBlur}\n onFocus={onFocus}\n onPress={handlePress}\n onPressIn={onPressIn}\n onPressOut={onPressOut}\n >\n {({ isHovered, isPressed }) => (\n <ChoiceItemView\n style={Platform.OS !== 'web' ? [backgroundStyles] : undefined}\n $isHovered={isHovered || isHoveredInternal}\n $isDisabled={disabled}\n $isSelected={selected}\n $isPressed={isPressed || isPressedInternal}\n $variant={variant}\n $size={size}\n >\n <Typography.SetDefaultColor\n value={getCurrentTextColor({\n isDisabled: disabled,\n isSelected: selected || isPressedInternal,\n isPressed,\n isHovered: isHovered || isHoveredInternal,\n })}\n >\n {children}\n </Typography.SetDefaultColor>\n {disabled ? <DisabledBorder $variant={variant} style={StyleSheet.absoluteFillObject} /> : null}\n </ChoiceItemView>\n )}\n </Pressable>\n );\n}\n","import { View } from 'react-native';\nimport styled, { css } from 'styled-components/native';\nimport type { ChoicesDirection } from './Choices';\n\ninterface ChoiceItemContainerProps {\n $isLast?: boolean;\n $direction: ChoicesDirection;\n}\n\nexport const ChoiceItemContainer = styled(View)<ChoiceItemContainerProps>`\n ${({ theme, $isLast, $direction }) => {\n const { row, column } = theme.kitt.choices.spacing;\n\n if ($direction === 'row') {\n return css`\n margin-right: ${$isLast ? 0 : row}px;\n `;\n }\n\n return css`\n margin-bottom: ${$isLast ? 0 : column}px;\n `;\n }}\n`;\n","import type { ReactElement, ReactNode } from 'react';\nimport { Children, cloneElement, useState } from 'react';\nimport type { ViewProps } from 'react-native';\nimport { ScrollView, View } from 'react-native';\nimport type { Except, SetOptional } from 'type-fest';\nimport type { ChoiceItemButtonProps, ChoiceItemFormElementProps, ChoiceItemType } from './ChoiceItem';\nimport { ChoiceItem } from './ChoiceItem';\nimport { ChoiceItemContainer } from './ChoiceItemContainer';\n\nexport type ChoicesDirection = 'row' | 'column';\n\ninterface ChoicesContainerProps extends ViewProps {\n children: ReactNode;\n direction: ChoicesDirection;\n}\n\nfunction ChoicesContainer({ direction, ...props }: ChoicesContainerProps): ReactElement {\n if (direction === 'row') {\n return <ScrollView horizontal {...props} />;\n }\n\n return <View {...props} />;\n}\n\ntype ChoicesPropsToPick = 'type' | 'variant' | 'disabled' | 'value' | 'onPress' | 'onChange' | 'onBlur' | 'onFocus';\ntype ChoicesSize = 'small';\n\n// eslint-disable-next-line @typescript-eslint/no-unused-vars\nexport interface BaseChoicesProps<V> {\n id?: string;\n testID?: string;\n children: ReactNode;\n direction?: ChoicesDirection;\n size?: ChoicesSize;\n}\n\nexport interface ChoicesButtonProps<V, ChoiceType extends ChoiceItemButtonProps<V>['type']>\n extends BaseChoicesProps<V>,\n Pick<ChoiceItemButtonProps<V>, ChoicesPropsToPick> {\n type?: ChoiceType;\n}\n\nexport interface ChoicesFormElementProps<V, ChoiceType extends ChoiceItemFormElementProps<V>['type']>\n extends BaseChoicesProps<V>,\n Pick<ChoiceItemFormElementProps<V>, ChoicesPropsToPick> {\n type: ChoiceType;\n}\n\nexport type ChoicesItemPropsFromChoiceType<\n V,\n ChoiceType extends ChoiceItemType,\n> = ChoiceType extends ChoiceItemFormElementProps<V>['type'] ? ChoiceItemFormElementProps<V> : ChoiceItemButtonProps<V>;\n\nexport type ChoicesProps<\n V,\n ChoiceType extends ChoiceItemType,\n> = ChoiceType extends ChoiceItemFormElementProps<V>['type']\n ? ChoicesFormElementProps<V, ChoiceType>\n : ChoicesButtonProps<V, 'button'>;\n\ntype ExcludeChoiceItemProvidedByChoices = 'type' | 'onPress' | 'onChange' | 'onFocus' | 'onBlur';\ntype OptionalChoiceItemProvidedByChoices = 'variant' | 'disabled' | 'size';\n\nfunction Choices<V, ChoiceType extends ChoiceItemType>({\n id,\n testID,\n type,\n direction = 'column',\n disabled,\n children,\n value,\n variant,\n onPress,\n onChange,\n onFocus,\n onBlur,\n size,\n}: ChoicesProps<V, ChoiceType>): ReactElement {\n const [currentValue, setCurrentValue] = useState(value);\n\n const isForm = type && ['radio', 'checkbox'].includes(type);\n\n const childrenArray = Children.toArray(children) as ReactElement<\n ChoicesItemPropsFromChoiceType<V, ChoiceType>,\n typeof ChoiceItem\n >[];\n\n const handleChange: ChoicesItemPropsFromChoiceType<V, ChoiceType>['onChange'] = (newValue) => {\n setCurrentValue(newValue);\n if (onChange) onChange(newValue);\n };\n\n const sharedProps: Pick<\n ChoicesItemPropsFromChoiceType<V, ChoiceType>,\n ExcludeChoiceItemProvidedByChoices | OptionalChoiceItemProvidedByChoices\n > = {\n type,\n disabled,\n variant,\n onPress: !isForm ? onPress : undefined,\n onChange: isForm ? handleChange : undefined,\n onFocus,\n onBlur,\n size,\n };\n\n return (\n <ChoicesContainer direction={direction} testID={testID} nativeID={id}>\n {childrenArray.map((child, index) => {\n const element = cloneElement<ChoicesItemPropsFromChoiceType<V, ChoiceType>>(child, {\n selected: isForm ? child.props.value === currentValue : undefined,\n ...sharedProps,\n } as any);\n\n return (\n <ChoiceItemContainer key={child.key} $direction={direction} $isLast={index === childrenArray.length - 1}>\n {element}\n </ChoiceItemContainer>\n );\n })}\n </ChoicesContainer>\n );\n}\n\nChoices.Item = ChoiceItem;\n\nexport interface CreateChoices<V, ChoiceType extends ChoiceItemType> {\n (props: ChoicesProps<V, ChoiceType>): ReactElement;\n Item: (\n props: SetOptional<\n Except<ChoicesItemPropsFromChoiceType<V, ChoiceType>, OptionalChoiceItemProvidedByChoices>,\n ExcludeChoiceItemProvidedByChoices\n >,\n ) => ReactElement;\n}\n\nexport function createChoicesComponent<V, ChoiceType extends ChoiceItemType>(): CreateChoices<V, ChoiceType> {\n return Choices as CreateChoices<V, ChoiceType>;\n}\n\nconst ButtonChoices = createChoicesComponent<never, 'button'>();\n\nChoices.ButtonChoices = ButtonChoices;\n\nexport const ChoicesElements = {\n Item: ChoiceItem,\n ButtonChoices,\n};\n","import type { ReactElement, ReactNode } from 'react';\nimport { useRef } from 'react';\nimport { StyleSheet } from 'react-native';\nimport Animated, { Easing, runOnJS, useAnimatedStyle, withTiming } from 'react-native-reanimated';\nimport { useTheme } from 'styled-components/native';\n\nexport interface NativeOpacityAnimationProps {\n visible?: boolean;\n children: ReactNode;\n onExited: () => void;\n}\n\nexport function NativeOpacityAnimation({ visible, children, onExited }: NativeOpacityAnimationProps): ReactElement {\n const theme = useTheme();\n const hasRunAnimationRef = useRef(false);\n\n function handleAnimationFinished(): void {\n if (visible) {\n hasRunAnimationRef.current = true;\n }\n\n if (!visible && hasRunAnimationRef.current) {\n onExited();\n }\n }\n\n const opacityStyle = useAnimatedStyle(() => {\n const { duration, easing } = theme.kitt.dialogModal.animation.overlay;\n const [x1, y1, x2, y2] = easing;\n\n return {\n opacity: withTiming(visible ? 1 : 0, { duration, easing: Easing.bezier(x1, y1, x2, y2) }, (isFinished) => {\n if (!isFinished) return;\n runOnJS(handleAnimationFinished)();\n }),\n };\n });\n\n return <Animated.View style={[StyleSheet.absoluteFillObject, opacityStyle]}>{children}</Animated.View>;\n}\n","import type { ReactElement, ReactNode } from 'react';\nimport { useRef } from 'react';\nimport Animated, { Easing, runOnJS, useAnimatedStyle, useSharedValue, withTiming } from 'react-native-reanimated';\nimport { useTheme } from 'styled-components/native';\nimport type { DialogModalAnimationProps } from './DialogModalAnimation';\n\nexport interface NativeRotationAnimationProps {\n children: ReactNode;\n topInset?: number;\n visible?: DialogModalAnimationProps['visible'];\n onEntered?: DialogModalAnimationProps['onEntered'];\n onExited: () => void;\n}\n\nexport function NativeRotationAnimation({\n visible,\n children,\n onEntered,\n onExited,\n}: NativeRotationAnimationProps): ReactElement | null {\n const theme = useTheme();\n\n const hasRunAnimationRef = useRef(false);\n\n const rotation = useSharedValue(0.8);\n\n function handleAnimationFinished(): void {\n if (visible) {\n if (onEntered) onEntered();\n hasRunAnimationRef.current = true;\n }\n\n if (!visible && hasRunAnimationRef.current) onExited();\n }\n\n const animatedStyle = useAnimatedStyle(() => {\n const { duration, easing } = theme.kitt.dialogModal.animation.content;\n\n const [x1, y1, x2, y2] = easing;\n\n rotation.value = withTiming(visible ? 0 : 5, { duration, easing: Easing.bezier(x1, y1, x2, y2) }, (isFinished) => {\n if (!isFinished) return;\n runOnJS(handleAnimationFinished)();\n });\n\n return {\n opacity: withTiming(visible ? 1 : 0, { duration, easing: Easing.bezier(x1, y1, x2, y2) }),\n transform: [\n { scale: withTiming(visible ? 1 : 0.8, { duration, easing: Easing.bezier(x1, y1, x2, y2) }) },\n {\n rotateZ: `${rotation.value}deg`,\n },\n ],\n };\n });\n\n return <Animated.View style={[animatedStyle]}>{children}</Animated.View>;\n}\n","import type { ReactElement, ReactNode } from 'react';\nimport { useEffect, useState } from 'react';\nimport { Modal } from 'react-native';\nimport { Overlay } from '../../Overlay/Overlay';\nimport type { ViewProps } from '../../native-base/primitives';\nimport { View } from '../../native-base/primitives';\nimport { NativeOpacityAnimation } from './NativeOpacityAnimation';\nimport { NativeRotationAnimation } from './NativeRotationAnimation';\n\nexport interface DialogModalAnimationProps extends ViewProps {\n children: ReactNode;\n appear?: boolean;\n visible?: boolean;\n unmountOnExit?: boolean;\n isAnimationEnabled?: boolean;\n onEnter?: () => void;\n onEntered?: () => void;\n onExit?: () => void;\n onExited?: () => void;\n onClose?: () => void;\n}\n\nexport function DialogModalAnimation({\n visible,\n children,\n onEnter,\n onEntered,\n onExit,\n onExited,\n onClose,\n}: DialogModalAnimationProps): ReactElement {\n const [isModalVisible, setIsModalVisible] = useState(visible);\n const [isContentVisible, setIsContentVisible] = useState(false);\n\n const handleAnimationExited = (): void => {\n setIsModalVisible(false);\n };\n\n useEffect(() => {\n const shouldHideContent = !visible && isContentVisible;\n\n if (!shouldHideContent) return;\n\n if (onExit) onExit();\n setIsContentVisible(false);\n }, [visible, isContentVisible, onExit]);\n\n return (\n <Modal\n transparent\n visible={isModalVisible}\n onShow={() => {\n if (onEnter) onEnter();\n setIsContentVisible(true);\n }}\n onDismiss={() => {\n if (onExited) onExited();\n }}\n >\n <View position=\"relative\" flex={1} justifyContent=\"center\" alignItems=\"center\">\n <NativeOpacityAnimation visible={isContentVisible} onExited={handleAnimationExited}>\n <Overlay onPress={onClose} />\n </NativeOpacityAnimation>\n\n <NativeRotationAnimation visible={isContentVisible} onExited={handleAnimationExited} onEntered={onEntered}>\n <View\n paddingX=\"kitt.dialogModal.overlayPadding.horizontal\"\n paddingY=\"kitt.dialogModal.overlayPadding.vertical\"\n >\n {children}\n </View>\n </NativeRotationAnimation>\n </View>\n </Modal>\n );\n}\n","import type { ReactElement } from 'react';\nimport { useEffect, useState } from 'react';\nimport type { ModalBehaviourProps } from '../ModalBehaviour/ModalBehaviour';\nimport { ModalBehaviour } from '../ModalBehaviour/ModalBehaviour';\nimport { ScrollView } from '../native-base/primitives';\nimport type { DialogModalAnimationProps } from './DialogModalAnimation/DialogModalAnimation';\nimport { DialogModalAnimation } from './DialogModalAnimation/DialogModalAnimation';\n\nexport interface DialogModalBehaviourProps extends DialogModalAnimationProps {\n onClose: ModalBehaviourProps['onClose'];\n}\n\nexport function DialogModalBehaviour({\n children,\n visible,\n onClose,\n onExited,\n ...props\n}: DialogModalBehaviourProps): ReactElement {\n const [isModalBehaviourVisible, setIsModalBehaviourVisible] = useState(visible);\n\n useEffect(() => {\n if (visible === true) {\n setIsModalBehaviourVisible(true);\n }\n }, [visible]);\n\n const handleExitAnimationDone = (): void => {\n if (onExited) onExited();\n setIsModalBehaviourVisible(false);\n };\n\n return (\n <ModalBehaviour visible={isModalBehaviourVisible} onClose={onClose}>\n <ScrollView bounces={false} contentContainerStyle={{ flexGrow: 1 }}>\n <DialogModalAnimation {...props} visible={visible} onExited={handleExitAnimationDone} onClose={onClose}>\n {children}\n </DialogModalAnimation>\n </ScrollView>\n </ModalBehaviour>\n );\n}\n","import type { ReactElement, ReactFragment, ReactNode } from 'react';\nimport type { ActionsButtonProps } from '..';\nimport { Actions } from '../Actions/Actions';\nimport { View } from '../native-base/primitives';\nimport { DialogModalBehaviour } from './DialogModalBehaviour';\n\nexport interface DialogModalProps {\n illustration?: ReactNode;\n actions?: ReactFragment;\n title?: ReactNode;\n children: ReactNode;\n}\n\nexport function DialogModal({ illustration, title, children, actions }: DialogModalProps): ReactElement {\n return (\n <View\n alignItems=\"center\"\n maxWidth=\"kitt.dialogModal.maxWidth\"\n backgroundColor=\"kitt.uiBackgroundLight\"\n borderRadius=\"kitt.dialogModal.borderRadius\"\n shadow=\"kitt.dialogModal.shadow\"\n >\n {illustration ? <View>{illustration}</View> : null}\n\n <View\n width=\"100%\"\n alignItems=\"center\"\n padding={{ base: 'kitt.4', medium: 'kitt.6' }}\n paddingTop={illustration ? 'kitt.8' : 'kitt.6'}\n >\n {title ? <View marginBottom=\"kitt.2\">{title}</View> : null}\n\n <View marginBottom=\"kitt.8\">{children}</View>\n\n {actions ? (\n <Actions flex={undefined} width=\"100%\" layout=\"column\">\n {actions}\n </Actions>\n ) : null}\n </View>\n </View>\n );\n}\n\nDialogModal.ModalBehaviour = DialogModalBehaviour;\n\ninterface DialogModalButtonProps extends ActionsButtonProps {}\n\nfunction DialogModalButton({ stretch = true, ...props }: DialogModalButtonProps): ReactElement {\n return <Actions.Button stretch={stretch} {...props} />;\n}\n\nDialogModal.Button = DialogModalButton;\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((error) => {\n console.error(`An error occurred while opening ${href}`, error);\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((error) => {\n console.error(`An error occurred while opening ${href}`, error);\n });\n break;\n case 'openBrowserApp':\n Linking.openURL(href).catch((error) => {\n console.error(`An error occurred while opening ${href}`, error);\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 spacing = 4;\n","import { lateOceanColorPalette } from '../palettes/lateOceanColorPalette';\nimport { spacing } from './spacing';\n\nexport interface BottomSheetTheme {\n container: {\n padding: number;\n };\n handle: {\n backgroundColor: string;\n };\n}\n\nexport const bottomSheet: BottomSheetTheme = {\n container: {\n padding: spacing * 4,\n },\n handle: {\n backgroundColor: lateOceanColorPalette.black200,\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\ninterface ButtonPadding {\n horizontal: number;\n vertical: number;\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 /**\n * @deprecated use `padding` instead\n */\n contentPadding: {\n default: string;\n large: string;\n xLarge: string;\n disabled: string;\n };\n padding: {\n default: ButtonPadding;\n large: ButtonPadding;\n xLarge: ButtonPadding;\n disabled: ButtonPadding;\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 padding: {\n default: {\n horizontal: 16,\n vertical: 7,\n },\n large: {\n horizontal: 24,\n vertical: 11,\n },\n xLarge: {\n horizontal: 24,\n vertical: 15,\n },\n disabled: {\n horizontal: 14,\n vertical: 5,\n },\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 CardModalTheme {\n borderRadius: number;\n maxWidth: number;\n maxWidthWithPadding: number;\n shadow: {\n color: string;\n offsetX: number;\n offsetY: number;\n opacity: number;\n radius: number;\n };\n header: {\n height: number;\n borderWidth: number;\n borderColor: string;\n };\n footer: {\n borderWidth: number;\n borderColor: string;\n };\n overlayPadding: {\n horizontal: number;\n vertical: number;\n };\n animation: {\n overlay: {\n duration: number;\n easing: number[];\n };\n content: {\n duration: number;\n easing: number[];\n };\n };\n}\n\nexport const webAnimationContentDuration = 400;\nexport const webAnimationContentEasing = [0.77, 0, 0.175, 1];\n\nexport const webAnimationOverlayDuration = 250;\nexport const webAnimationOverlayEasing = [0.42, 0, 1, 1];\n\nconst maxWidth = 540;\nconst overlayHorizontalPadding = 24;\n\nexport const cardModal: CardModalTheme = {\n borderRadius: 20,\n maxWidth,\n maxWidthWithPadding: maxWidth + overlayHorizontalPadding * 2,\n shadow: {\n color: colors.black,\n offsetX: 0,\n offsetY: 10,\n opacity: 0.15,\n radius: 20,\n },\n header: {\n height: 56,\n borderWidth: 1,\n borderColor: colors.separator,\n },\n footer: {\n borderWidth: 1,\n borderColor: colors.separator,\n },\n overlayPadding: {\n horizontal: 24,\n vertical: 32,\n },\n animation: {\n overlay: {\n duration: webAnimationOverlayDuration,\n easing: webAnimationOverlayEasing,\n },\n content: {\n duration: webAnimationContentDuration,\n easing: webAnimationContentEasing,\n },\n },\n};\n","import { lateOceanColorPalette } from '../palettes/lateOceanColorPalette';\nimport { colors } from './colors';\n\nexport interface ChoicesItemTheme {\n borderRadius: number;\n padding: {\n base: number;\n small: number;\n };\n backgroundColor: {\n default: string;\n disabled: string;\n selected: string;\n pressed: string;\n hover: string;\n hoverWhenSelected: string;\n };\n disabled: {\n border: {\n width: number;\n color: string;\n };\n };\n transition: {\n property: string;\n duration: number;\n timingFunction: string;\n };\n}\n\nexport interface ChoicesTheme {\n spacing: {\n row: number;\n column: number;\n };\n item: ChoicesItemTheme;\n}\n\nexport const choices: ChoicesTheme = {\n spacing: {\n row: 12,\n column: 12,\n },\n item: {\n borderRadius: 10,\n padding: {\n base: 16,\n small: 24,\n },\n backgroundColor: {\n default: lateOceanColorPalette.black50,\n disabled: colors.disabled,\n selected: colors.primary,\n pressed: lateOceanColorPalette.lateOceanLight1,\n hover: lateOceanColorPalette.black100,\n hoverWhenSelected: lateOceanColorPalette.lateOceanLight1,\n },\n disabled: {\n border: {\n width: 2,\n color: lateOceanColorPalette.black100,\n },\n },\n transition: {\n property: 'all',\n duration: 300,\n timingFunction: 'cubic-bezier(0.645, 0.045, 0.355, 1)',\n },\n },\n};\n","import { colors } from './colors';\n\nexport interface DialogModalTheme {\n borderRadius: number;\n maxWidth: number;\n overlayPadding: {\n horizontal: number;\n vertical: number;\n };\n shadow: {\n color: string;\n offsetX: number;\n offsetY: number;\n opacity: number;\n radius: number;\n };\n animation: {\n overlay: {\n duration: number;\n easing: number[];\n };\n content: {\n duration: number;\n easing: number[];\n };\n };\n}\n\nexport const webAnimationContentDuration = 400;\nexport const webAnimationContentEasing = [0.77, 0, 0.175, 1];\n\nexport const webAnimationOverlayDuration = 250;\nexport const webAnimationOverlayEasing = [0.42, 0, 1, 1];\n\nexport const dialogModal: DialogModalTheme = {\n borderRadius: 20,\n maxWidth: 540,\n overlayPadding: {\n horizontal: 24,\n vertical: 32,\n },\n shadow: {\n color: colors.black,\n offsetX: 0,\n offsetY: 10,\n opacity: 0.15,\n radius: 20,\n },\n animation: {\n overlay: {\n duration: webAnimationOverlayDuration,\n easing: webAnimationOverlayEasing,\n },\n content: {\n duration: webAnimationContentDuration,\n easing: webAnimationContentEasing,\n },\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 { 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-disabled': lateOceanColorPalette.black400,\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 warning: kittColors.warning,\n },\n types: {\n headers: {\n fontFamily: {\n native: {\n regular: 'Moderat-Extended-Bold',\n bold: 'Moderat-Extended-Bold',\n },\n web: {\n regular: 'Moderat',\n bold: 'Moderat',\n },\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 web: {\n regular: 'Noto Sans',\n bold: 'Noto Sans',\n },\n native: {\n regular: 'NotoSans',\n bold: 'NotoSans-Bold',\n },\n },\n fontWeight: {\n regular: 400,\n bold: 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: kittColors.blackDisabled,\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: string;\n}\n\nexport type InputStateTheme = Record<InputUIState, InputStateStyle>;\n\nconst inputStatesStyle: InputStateTheme = {\n default: {\n backgroundColor: colors.uiBackgroundLight,\n borderColor: colors.separator,\n color: colors.black,\n },\n pending: {\n backgroundColor: colors.uiBackgroundLight,\n borderColor: colors.separator,\n color: colors.black,\n },\n valid: {\n backgroundColor: colors.uiBackgroundLight,\n borderColor: lateOceanColorPalette.black100,\n color: colors.black,\n },\n hover: {\n borderColor: lateOceanColorPalette.black200,\n color: colors.black,\n },\n focus: {\n borderColor: colors.primary,\n color: colors.black,\n },\n disabled: {\n backgroundColor: colors.disabled,\n borderColor: colors.separator,\n color: colors.blackDisabled,\n },\n invalid: {\n borderColor: colors.separator,\n color: colors.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 rightContainer: {\n padding: 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 rightContainer: {\n padding: 10,\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 containerPaddingTop: 5,\n containerPaddingBottom: 10,\n feedbackPaddingTop: { base: 5, small: 10 },\n labelContainerPaddingBottom: 5,\n labelFeedbackMarginLeft: 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","import { colors } from './colors';\n\nexport interface RadioButtonGroupTheme {\n item: {\n minHeight: number;\n borderWidth: number;\n borderColor: {\n default: string;\n hover: string;\n pressed: string;\n active: string;\n disabled: string;\n [key: string]: string;\n };\n backgroundColor: {\n default: string;\n hover: string;\n pressed: string;\n active: string;\n disabled: string;\n };\n borderRadius: number;\n padding: {\n horizontal: number;\n vertical: number;\n };\n transition: {\n property: string;\n duration: string;\n timingFunction: string;\n };\n };\n}\n\nexport const radioButtonGroup: RadioButtonGroupTheme = {\n item: {\n minHeight: 40,\n borderWidth: 2,\n borderRadius: 20,\n borderColor: {\n default: colors.separator,\n hover: colors.primary,\n pressed: colors.primary,\n active: colors.primary,\n disabled: colors.separator,\n },\n backgroundColor: {\n default: colors.uiBackgroundLight,\n hover: colors.white,\n pressed: colors.primary,\n active: colors.primary,\n disabled: colors.disabled,\n },\n padding: {\n horizontal: 18,\n vertical: 6,\n },\n transition: {\n property: 'all',\n duration: '200ms',\n timingFunction: 'ease-in-out',\n },\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 { radioButtonGroup } from './radioButtonGroup';\nimport { textArea } from './textArea';\n\nexport const forms = {\n datePicker,\n input,\n radio,\n inputField,\n textArea,\n checkbox,\n inputTag,\n radioButtonGroup,\n};\n","import type { KittResponsivePropOrValue } from '../../KittBreakpoints';\nimport { lateOceanColorPalette } from '../palettes/lateOceanColorPalette';\nimport { colors } from './colors';\nimport { spacing } from './spacing';\n\nexport interface HighlightThemeType {\n backgroundColor: string;\n}\n\nexport interface HighlightTheme {\n borderRadius: KittResponsivePropOrValue<number>;\n padding: KittResponsivePropOrValue<number>;\n regular: HighlightThemeType;\n dark: HighlightThemeType;\n}\n\nexport const highlight: HighlightTheme = {\n borderRadius: {\n base: spacing * 5,\n },\n regular: {\n backgroundColor: colors.accentLight,\n },\n dark: {\n backgroundColor: lateOceanColorPalette.black100,\n },\n padding: {\n base: spacing * 5,\n },\n};\n","import { lateOceanColorPalette } from '../palettes/lateOceanColorPalette';\nimport { 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 primary: 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 primary: {\n pressedBackgroundColor: lateOceanColorPalette.moonPurpleLight1,\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 animation: {\n overlay: {\n duration: number;\n easing: number[];\n };\n content: {\n duration: number;\n easing: number[];\n };\n };\n}\n\nexport const webAnimationContentDuration = 600;\nexport const webAnimationContentEasing = [0.77, 0, 0.175, 1];\n\nexport const webAnimationOverlayDuration = 250;\nexport const webAnimationOverlayEasing = [0.42, 0, 1, 1];\n\nexport const navigationModal: NavigationModalTheme = {\n height: 56,\n padding: 16,\n animation: {\n overlay: {\n duration: webAnimationOverlayDuration,\n easing: webAnimationOverlayEasing,\n },\n content: {\n duration: webAnimationContentDuration,\n easing: webAnimationContentEasing,\n },\n },\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.native.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","import { colors } from './colors';\n\ninterface ShadowShapeTheme {\n color: string;\n offsetX: number;\n offsetY: number;\n opacity: number;\n radius: number;\n}\n\nexport interface ShadowsTheme {\n medium: string;\n cards: Record<string, ShadowShapeTheme>;\n navigation: Record<string, ShadowShapeTheme>;\n panel: ShadowShapeTheme;\n}\n\nexport const shadows: ShadowsTheme = {\n /** @deprecated: use cards.medium instead - shorthand shadow doesnt work with Native Base */\n medium: '0px 10px 20px rgba(41, 48, 51, 0.25)',\n cards: {\n low: {\n color: colors.black,\n offsetX: 0,\n offsetY: 5,\n opacity: 0.1,\n radius: 20,\n },\n medium: {\n color: colors.black,\n offsetX: 0,\n offsetY: 10,\n opacity: 0.15,\n radius: 20,\n },\n highBase: {\n color: colors.black,\n offsetX: 0,\n offsetY: 10,\n opacity: 0.15,\n radius: 20,\n },\n highMedium: {\n color: colors.black,\n offsetX: 0,\n offsetY: 60,\n opacity: 0.08,\n radius: 40,\n },\n highLarge: {\n color: colors.black,\n offsetX: 0,\n offsetY: 80,\n opacity: 0.08,\n radius: 60,\n },\n },\n navigation: {\n left: {\n color: colors.black,\n offsetX: 10,\n offsetY: 0,\n opacity: 0.15,\n radius: 30,\n },\n right: {\n color: colors.black,\n offsetX: -10,\n offsetY: 0,\n opacity: 0.15,\n radius: 30,\n },\n },\n panel: {\n color: colors.black,\n offsetX: 0,\n offsetY: 20,\n opacity: 1,\n radius: 40,\n },\n};\n","import { lateOceanColorPalette } from '../palettes/lateOceanColorPalette';\n\ninterface SkeletonShapeTheme {\n size: number;\n borderRadius: number;\n}\nexport interface SkeletonTheme {\n backgroundColor: string;\n flareColor: string;\n animationDuration: number;\n shape: Record<string, SkeletonShapeTheme>;\n}\n\nexport const skeleton: SkeletonTheme = {\n backgroundColor: lateOceanColorPalette.black100,\n flareColor: lateOceanColorPalette.black200,\n animationDuration: 1000,\n shape: {\n bar: {\n size: 8,\n borderRadius: 4,\n },\n circle: {\n size: 48,\n borderRadius: 24,\n },\n square: {\n size: 48,\n borderRadius: 6,\n },\n },\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 warn: 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 warn: {\n fill: {\n backgroundColor: colors.warning,\n borderWidth: 0,\n borderColor: colors.transparent,\n },\n outline: {\n backgroundColor: colors.transparent,\n borderWidth: 1,\n borderColor: colors.warning,\n },\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 { hex2rgba } from '../../utils/hexToRgba';\nimport { colors } from './colors';\n\ninterface TooltipTransition {\n duration: string;\n timingFunction: string;\n property: string;\n}\n\nexport interface TooltipTheme {\n backgroundColor: string;\n borderRadius: number;\n opacity: number;\n horizontalPadding: number;\n verticalPadding: number;\n floatingPadding: number;\n maxWidth: number;\n transition: {\n in: TooltipTransition;\n out: TooltipTransition;\n };\n arrow: {\n width: number;\n height: number;\n };\n}\n\nexport const tooltip: TooltipTheme = {\n backgroundColor: hex2rgba(colors.black, 0.95),\n borderRadius: 10,\n opacity: 0.95,\n horizontalPadding: 16,\n verticalPadding: 8,\n floatingPadding: 8,\n maxWidth: 328,\n transition: {\n in: {\n duration: '150ms',\n timingFunction: 'ease-out',\n property: 'opacity',\n },\n out: {\n duration: '75ms',\n timingFunction: 'ease-out',\n property: 'opacity',\n },\n },\n arrow: {\n width: 39,\n height: 9,\n },\n};\n","import { avatar } from './late-ocean/avatar';\nimport { bottomSheet } from './late-ocean/bottomSheet';\nimport { button } from './late-ocean/button';\nimport { card } from './late-ocean/card';\nimport { cardModal } from './late-ocean/cardModal';\nimport { choices } from './late-ocean/choices';\nimport { colors } from './late-ocean/colors';\nimport { dialogModal } from './late-ocean/dialogModal';\nimport { feedbackMessage } from './late-ocean/feedback';\nimport { forms } from './late-ocean/forms';\nimport { highlight } from './late-ocean/highlight';\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 { spacing } from './late-ocean/spacing';\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,\n colors,\n palettes: { lateOcean: lateOceanColorPalette },\n avatar,\n breakpoints,\n button,\n bottomSheet,\n card,\n cardModal,\n choices,\n dialogModal,\n feedbackMessage,\n forms,\n highlight,\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","// 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 /**\n * @deprecated use native-base responsive props or `useBreakpointValue` or `useMatchWindowSize` instead\n *\n * Prefer using if or map variants, at it should be more web friendly\n * */\n matchWindowSize: (options: MatchWindowSizeOptions) => boolean;\n\n /**\n * @deprecated use native-base responsive props or `useBreakpointValue` or `useMatchWindowSize` instead\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 * @deprecated use native-base responsive props or `useBreakpointValue` or `useMatchWindowSize` instead\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\n/** @deprecated use native-base responsive props or `useBreakpointValue` or `useMatchWindowSize` instead */\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 /** @deprecated responsive is not SSR friendly and will be remove soon. Please use native-base breakpoints instead. */\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","function prefixWithZero(value: number, maxLength = 2): string {\n return `${value}`.padStart(maxLength, '0');\n}\n\nexport function dayFormatter(day: number): string {\n return prefixWithZero(day);\n}\n\nexport function monthFormatter(month: number): string {\n return prefixWithZero(month);\n}\n\nexport function yearFormatter(year: number): string {\n return prefixWithZero(year, 4);\n}\n","export function getDayInInterval(value: number | undefined): number | undefined {\n const minValue = 1;\n const maxValue = 31;\n\n return value !== undefined ? Math.max(minValue, Math.min(maxValue, value)) : value;\n}\n\nexport function getMonthInInterval(\n value: number | undefined,\n minDate: Date | undefined,\n maxDate: Date | undefined,\n): number | undefined {\n const maxMonthInYear = 12;\n\n const minValue = minDate ? minDate.getMonth() + 1 : 1;\n const maxValue = maxDate ? maxDate.getMonth() + 1 : maxMonthInYear;\n\n return value !== undefined ? Math.max(minValue, Math.min(maxValue, value)) : value;\n}\n\nexport function getYearInInterval(\n value: number | undefined,\n minDate: Date | undefined,\n maxDate: Date | undefined,\n): number | undefined {\n const maxPossibleYear = 9999;\n\n const minValue = minDate ? minDate.getFullYear() : 1;\n const maxValue = maxDate ? maxDate.getFullYear() : maxPossibleYear;\n\n return value !== undefined ? Math.max(minValue, Math.min(maxValue, value)) : value;\n}\n","export function isNumber(input?: unknown): boolean {\n // Number.isNaN and isNaN are not consistent\n // eslint-disable-next-line no-restricted-globals\n return !isNaN(input as any);\n}\n","interface OnDatePartChangeParams {\n day?: number;\n month?: number;\n year?: number;\n validYearMinLength?: number;\n minDate?: Date;\n maxDate?: Date;\n onChange: (v?: Date) => void;\n onBlur?: () => void;\n onFocus?: () => void;\n}\n\nexport function onDatePartChange({\n day,\n month,\n year,\n validYearMinLength = 4,\n minDate,\n maxDate,\n onChange,\n onBlur,\n onFocus,\n}: OnDatePartChangeParams): void {\n const arrayParts = [day, month, year];\n\n const isEverythingUndefined = arrayParts.every((v) => v === undefined);\n const isEverythingDefined = arrayParts.every(Boolean);\n\n // every parts are undefined\n if (isEverythingUndefined) {\n if (onFocus) onFocus();\n onChange(undefined);\n if (onBlur) onBlur();\n\n return;\n }\n\n // Do nothing if some input parts are empty\n if (!isEverythingDefined) {\n return;\n }\n\n const nextValue = new Date();\n\n const isValidYear = year && year.toString().length >= validYearMinLength;\n\n if (!isValidYear) {\n return;\n }\n\n if (day) nextValue.setDate(day);\n if (month) nextValue.setMonth(month - 1);\n if (year) nextValue.setFullYear(year);\n\n nextValue.setMinutes(0);\n nextValue.setHours(0);\n nextValue.setSeconds(0);\n nextValue.setMilliseconds(0);\n\n if (minDate) {\n minDate.setMinutes(0);\n minDate.setHours(0);\n minDate.setSeconds(0);\n minDate.setMilliseconds(0);\n const isMinDateAfterNextValue = minDate.getTime() > nextValue.getTime();\n\n if (isMinDateAfterNextValue) {\n if (onFocus) onFocus();\n onChange(undefined);\n if (onBlur) onBlur();\n\n return;\n }\n }\n\n if (maxDate) {\n maxDate.setMinutes(0);\n maxDate.setHours(0);\n maxDate.setSeconds(0);\n maxDate.setMilliseconds(0);\n\n const isMaxDateBeforeNextValue = nextValue.getTime() > maxDate.getTime();\n\n if (isMaxDateBeforeNextValue) {\n if (onFocus) onFocus();\n onChange(undefined);\n if (onBlur) onBlur();\n\n return;\n }\n }\n\n if (onFocus) onFocus();\n onChange(nextValue);\n if (onBlur) onBlur();\n}\n","export function stringToNumber(text: string): number | undefined {\n if (text.length === 0) return undefined;\n return parseInt(text, 10);\n}\n","import type { Reducer } from 'react';\nimport type { DatePickerProps } from '../DatePicker';\nimport { dayFormatter, monthFormatter, yearFormatter } from '../utils/dateFormatter';\nimport { getDayInInterval, getMonthInInterval, getYearInInterval } from '../utils/datePartInInterval';\nimport { isNumber } from '../utils/isNumber';\nimport { onDatePartChange } from '../utils/onDatePartChange';\nimport { stringToNumber } from '../utils/stringToNumber';\n\nexport interface State {\n currentValue: DatePickerProps['value'];\n currentDay?: number;\n currentMonth?: number;\n currentYear?: number;\n displayedDay?: string;\n displayedMonth?: string;\n displayedYear?: string;\n minDate: DatePickerProps['minDate'];\n maxDate: DatePickerProps['maxDate'];\n onChange: DatePickerProps['onChange'];\n onBlur: DatePickerProps['onBlur'];\n onFocus: DatePickerProps['onFocus'];\n}\n\ninterface DayChangeAction {\n type: 'day-change';\n nextDay?: string;\n}\n\ninterface MonthChangeAction {\n type: 'month-change';\n nextMonth?: string;\n}\n\ninterface YearChangeAction {\n type: 'year-change';\n nextYear?: string;\n}\n\ninterface DayBlurAction {\n type: 'day-blur';\n}\n\ninterface MonthBlurAction {\n type: 'month-blur';\n}\n\ninterface YearBlurAction {\n type: 'year-blur';\n}\n\ntype Actions =\n | DayChangeAction\n | MonthChangeAction\n | YearChangeAction\n | DayBlurAction\n | MonthBlurAction\n | YearBlurAction;\n\nexport const keyboardDatePickerReducer: Reducer<State, Actions> = (state, action) => {\n const handleChange = (dateParts: { day?: number; month?: number; year?: number }): void => {\n const { onFocus, onBlur, onChange, minDate, maxDate } = state;\n\n onDatePartChange({ ...dateParts, onFocus, onBlur, onChange, minDate, maxDate });\n };\n\n switch (action.type) {\n case 'day-change': {\n const nextDay = stringToNumber(action.nextDay || '');\n\n if (nextDay === undefined || !isNumber(action.nextDay)) {\n return {\n ...state,\n currentDay: undefined,\n displayedDay: '',\n };\n }\n\n handleChange({ day: nextDay, month: state.currentMonth, year: state.currentYear });\n\n return {\n ...state,\n currentDay: nextDay,\n displayedDay: nextDay.toString(),\n };\n }\n\n case 'month-change': {\n const nextMonth = stringToNumber(action.nextMonth || '');\n\n if (nextMonth === undefined || !isNumber(action.nextMonth)) {\n return {\n ...state,\n currentMonth: undefined,\n displayedMonth: '',\n };\n }\n\n handleChange({ day: state.currentDay, month: nextMonth, year: state.currentYear });\n\n return {\n ...state,\n currentMonth: nextMonth,\n displayedMonth: nextMonth.toString(),\n };\n }\n\n case 'year-change': {\n const nextYear = stringToNumber(action.nextYear || '');\n\n if (nextYear === undefined || !isNumber(action.nextYear)) {\n return {\n ...state,\n currentYear: undefined,\n displayedYear: '',\n };\n }\n\n handleChange({ day: state.currentDay, month: state.currentMonth, year: nextYear });\n\n return {\n ...state,\n currentYear: nextYear,\n displayedYear: nextYear.toString(),\n };\n }\n\n case 'day-blur': {\n const nextCurrentDay = getDayInInterval(state.currentDay);\n\n return {\n ...state,\n displayedDay: nextCurrentDay ? dayFormatter(nextCurrentDay) : state.displayedDay,\n };\n }\n\n case 'month-blur': {\n const { minDate, maxDate } = state;\n\n const nextCurrentMonth = getMonthInInterval(state.currentMonth, minDate, maxDate);\n\n return {\n ...state,\n currentMonth: nextCurrentMonth,\n displayedMonth: nextCurrentMonth !== undefined ? monthFormatter(nextCurrentMonth) : state.displayedMonth,\n };\n }\n\n case 'year-blur': {\n const { minDate, maxDate } = state;\n\n const nextCurrentYear = getYearInInterval(state.currentYear, minDate, maxDate);\n\n return {\n ...state,\n currentYear: nextCurrentYear,\n displayedYear: nextCurrentYear !== undefined ? yearFormatter(nextCurrentYear) : state.displayedYear,\n };\n }\n\n default:\n return state;\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 { Input } from 'native-base';\nimport type { ResponsiveValue } from 'native-base/lib/typescript/components/types';\nimport type { ReactElement, ReactNode } from 'react';\nimport { forwardRef } from 'react';\nimport type { TextInput as RNTextInput, TextInputProps as RNTextInputProps } from 'react-native';\nimport { Platform } from 'react-native';\nimport { useTheme } from 'styled-components/native';\nimport type { Except } from 'type-fest';\nimport { View } from '../../native-base/primitives';\nimport { createNativeBaseFontSize } from '../../typography/Typography';\nimport type { InputFormState, InputUIState } from '../utils';\nimport { InputTextContainer } from './InputTextContainer';\n\nexport interface InputTextProps extends Except<RNTextInputProps, 'nativeID'> {\n id?: string;\n name?: string;\n // See InterfaceInputProps from native-base\n variant?: ResponsiveValue<'outline' | 'unstyled'>;\n disabled?: boolean;\n minHeight?: number;\n state?: InputFormState;\n right?: ReactNode;\n /**\n * @internal\n * @deprecated\n */\n internalForceState?: InputUIState;\n}\n\nexport const InputText = forwardRef<RNTextInput, InputTextProps>(\n (\n {\n id,\n right,\n state: formState,\n variant = 'outline',\n internalForceState,\n disabled = false,\n autoCorrect = true,\n textContentType = 'none',\n autoComplete = 'off',\n keyboardType = 'default',\n multiline,\n onSubmitEditing,\n ...props\n }: InputTextProps,\n ref,\n ): ReactElement => {\n const theme = useTheme();\n const fontSizeForNativeBase = createNativeBaseFontSize({ base: 'body' });\n const shouldHandleSingleLineOnIOS = Platform.OS === 'ios' && !multiline;\n\n return (\n <InputTextContainer $isDisabled={disabled}>\n <Input\n ref={ref as any}\n multiline={multiline}\n nativeID={id}\n isDisabled={internalForceState ? internalForceState === 'disabled' : disabled}\n isHovered={internalForceState ? internalForceState === 'hover' : undefined}\n isFocused={internalForceState ? internalForceState === 'focus' : undefined}\n keyboardType={keyboardType}\n autoComplete={autoComplete}\n autoCorrect={autoCorrect}\n textContentType={textContentType}\n fontSize={fontSizeForNativeBase}\n lineHeight={\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 shouldHandleSingleLineOnIOS ? 0 : fontSizeForNativeBase\n }\n fontWeight=\"bodies.regular\"\n fontFamily=\"bodies.regular\"\n py={!multiline && Platform.OS !== 'web' ? 0 : undefined}\n variant={variant}\n {...props}\n onSubmitEditing={multiline ? () => null : onSubmitEditing}\n />\n {right ? (\n <View\n position=\"absolute\"\n right={0}\n top={0}\n bottom={0}\n justifyContent=\"center\"\n padding={theme.kitt.forms.input.rightContainer.padding}\n >\n {right}\n </View>\n ) : null}\n </InputTextContainer>\n );\n },\n);\n","import type { ReactElement, Ref } from 'react';\nimport { forwardRef } from 'react';\nimport type { TextInput } from 'react-native';\nimport type { InputTextProps } from '../../InputText/InputText';\nimport { InputText } from '../../InputText/InputText';\nimport type { InputUIState } from '../../utils';\n\ninterface GetCurrentInternalForcedStateParams {\n isDisabled?: boolean;\n isFocusedInternal?: boolean;\n isPressedInternal?: boolean;\n isHoveredInternal?: boolean;\n}\n\nfunction getCurrentInternalForcedState({\n isDisabled,\n isHoveredInternal,\n isFocusedInternal,\n isPressedInternal,\n}: GetCurrentInternalForcedStateParams): InputUIState | 'disabled' {\n if (isDisabled) return 'disabled';\n\n if (isHoveredInternal) return 'hover';\n\n if (isFocusedInternal) return 'focus';\n\n if (isPressedInternal) return 'hover';\n\n return 'default';\n}\n\ninterface InputPartProps {\n value?: string;\n placeholder?: InputTextProps['placeholder'];\n disabled?: boolean;\n isFocusedInternal?: boolean;\n isHoveredInternal?: boolean;\n isPressedInternal?: boolean;\n onChange?: InputTextProps['onChange'];\n onBlur?: () => void;\n}\n\nexport const InputPart = forwardRef(\n (\n {\n value,\n placeholder,\n disabled,\n isFocusedInternal,\n isHoveredInternal,\n isPressedInternal,\n onChange,\n onBlur,\n }: InputPartProps,\n ref: Ref<TextInput>,\n ): ReactElement => {\n return (\n <InputText\n ref={ref}\n internalForceState={getCurrentInternalForcedState({\n isDisabled: disabled,\n isHoveredInternal,\n isFocusedInternal,\n isPressedInternal,\n })}\n value={value}\n placeholder={placeholder}\n disabled={disabled}\n keyboardType=\"numeric\"\n textAlign=\"center\"\n onChange={onChange}\n onBlur={onBlur}\n />\n );\n },\n);\n","import type { ReactElement, ReactNode } from 'react';\nimport type { ViewProps } from '../../../native-base/primitives';\nimport { View } from '../../../native-base/primitives';\nimport { createResponsiveStyleFromProp } from '../../../utils/createResponsiveStyleFromProp/createResponsiveStyleFromProp';\nimport type { DatePickerProps } from '../DatePicker';\n\ninterface PartContainerProps {\n children: ReactNode;\n isStretch?: DatePickerProps['stretch'];\n width?: ViewProps['width'];\n}\n\nexport function PartContainer({ children, isStretch, width }: PartContainerProps): ReactElement {\n return (\n <View\n flex={createResponsiveStyleFromProp(isStretch, 0.33)}\n flexGrow={createResponsiveStyleFromProp(isStretch, 1)}\n width={isStretch ? undefined : width}\n >\n {children}\n </View>\n );\n}\n","import type { ReactElement } from 'react';\nimport { useReducer, useRef } from 'react';\nimport type { TextInput } from 'react-native';\nimport { HStack } from '../../../native-base/layout';\nimport { View } from '../../../native-base/primitives';\nimport type { DatePickerProps } from '../DatePicker';\nimport { keyboardDatePickerReducer } from '../reducers/keyboardDatePickerReducer';\nimport { dayFormatter, monthFormatter, yearFormatter } from '../utils/dateFormatter';\nimport { InputPart } from './InputPart';\nimport { PartContainer } from './PartContainer';\n\ninterface KeyboardDatePickerProps extends DatePickerProps {}\n\nexport function KeyboardDatePicker({\n value,\n testID,\n id,\n stretch,\n placeholder,\n minDate,\n maxDate,\n disabled,\n isFocusedInternal,\n isHoveredInternal,\n isPressedInternal,\n onChange,\n onBlur,\n onFocus,\n ...props\n}: KeyboardDatePickerProps): ReactElement {\n const dayRef = useRef<TextInput>(null);\n const monthRef = useRef<TextInput>(null);\n const yearRef = useRef<TextInput>(null);\n\n const defaultValue = value;\n\n const defaultDay = defaultValue?.getDate();\n const defaultMonth = defaultValue ? defaultValue.getMonth() + 1 : undefined;\n const defaultYear = defaultValue?.getFullYear();\n\n const [state, dispatch] = useReducer(keyboardDatePickerReducer, {\n currentValue: defaultValue,\n currentDay: defaultDay,\n currentMonth: defaultMonth,\n currentYear: defaultYear,\n displayedDay: defaultDay ? dayFormatter(defaultDay) : '',\n displayedMonth: defaultMonth ? monthFormatter(defaultMonth) : '',\n displayedYear: defaultYear ? yearFormatter(defaultYear) : '',\n minDate,\n maxDate,\n onChange,\n onBlur,\n onFocus,\n });\n\n const sharedInputPartProps = {\n isFocusedInternal,\n isHoveredInternal,\n isPressedInternal,\n disabled,\n };\n\n return (\n <View testID={testID} nativeID={id}>\n <HStack space=\"kitt.2\">\n <PartContainer isStretch={stretch} width=\"kitt.forms.datePicker.day.minWidth\">\n <InputPart\n ref={dayRef}\n {...sharedInputPartProps}\n placeholder={placeholder?.day}\n value={state.displayedDay}\n onChange={(e) => {\n const nextDay = e.nativeEvent.text;\n dispatch({ type: 'day-change', nextDay });\n\n if (nextDay.length === 2 && monthRef.current) {\n monthRef.current.focus();\n }\n }}\n onBlur={() => dispatch({ type: 'day-blur' })}\n />\n </PartContainer>\n\n <PartContainer isStretch={stretch} width=\"kitt.forms.datePicker.month.minWidth\">\n <InputPart\n ref={monthRef}\n {...sharedInputPartProps}\n placeholder={placeholder?.month}\n value={state.displayedMonth}\n onChange={(e) => {\n const nextMonth = e.nativeEvent.text;\n dispatch({ type: 'month-change', nextMonth: e.nativeEvent.text });\n\n if (nextMonth.length === 2 && yearRef.current) {\n yearRef.current.focus();\n }\n }}\n onBlur={() => dispatch({ type: 'month-blur' })}\n />\n </PartContainer>\n\n <PartContainer isStretch={stretch} width=\"kitt.forms.datePicker.year.minWidth\">\n <InputPart\n ref={yearRef}\n {...sharedInputPartProps}\n placeholder={placeholder?.year}\n value={state.displayedYear}\n onChange={(e) => {\n dispatch({ type: 'year-change', nextYear: e.nativeEvent.text });\n }}\n onBlur={() => dispatch({ type: 'year-blur' })}\n />\n </PartContainer>\n </HStack>\n </View>\n );\n}\n","import type { ReactElement } from 'react';\nimport { HStack } from '../../../native-base/layout';\nimport { Pressable, View } from '../../../native-base/primitives';\nimport { createResponsiveStyleFromProp } from '../../../utils/createResponsiveStyleFromProp/createResponsiveStyleFromProp';\nimport type { DatePickerProps } from '../DatePicker';\nimport { dayFormatter, monthFormatter, yearFormatter } from '../utils/dateFormatter';\nimport { InputPart } from './InputPart';\nimport { PartContainer } from './PartContainer';\n\ninterface PressableDateInputsProps extends Omit<DatePickerProps, 'onChange'> {\n onPress: () => void;\n}\n\nexport function PressableDateInputs({\n disabled,\n stretch,\n id,\n testID,\n value,\n placeholder,\n isFocusedInternal,\n isHoveredInternal,\n isPressedInternal,\n onPress,\n}: PressableDateInputsProps): ReactElement {\n const sharedInputPartProps = {\n isFocusedInternal,\n isHoveredInternal,\n isPressedInternal,\n disabled,\n };\n\n return (\n <Pressable\n display=\"flex\"\n flexDirection=\"row\"\n position=\"relative\"\n alignSelf={createResponsiveStyleFromProp(stretch, undefined, 'baseline')}\n nativeID={id}\n disabled={disabled}\n testID={testID}\n onPress={onPress}\n >\n <View position=\"relative\" width={createResponsiveStyleFromProp(stretch, '100%')} pointerEvents=\"none\">\n <HStack space=\"kitt.2\" width={createResponsiveStyleFromProp(stretch, '100%')}>\n <PartContainer isStretch={stretch} width=\"kitt.forms.datePicker.day.minWidth\">\n <InputPart\n {...sharedInputPartProps}\n placeholder={placeholder?.day}\n value={value ? dayFormatter(value.getDate()) : undefined}\n />\n </PartContainer>\n\n <PartContainer isStretch={stretch} width=\"kitt.forms.datePicker.month.minWidth\">\n <InputPart\n {...sharedInputPartProps}\n placeholder={placeholder?.month}\n value={value ? monthFormatter(value.getMonth() + 1) : undefined}\n />\n </PartContainer>\n\n <PartContainer isStretch={stretch} width=\"kitt.forms.datePicker.year.minWidth\">\n <InputPart\n {...sharedInputPartProps}\n placeholder={placeholder?.year}\n value={value ? yearFormatter(value.getFullYear()) : undefined}\n />\n </PartContainer>\n </HStack>\n <View width=\"100%\" height=\"100%\" position=\"absolute\" top=\"0\" left=\"0\" />\n </View>\n </Pressable>\n );\n}\n","import { DateTimePickerAndroid } from '@react-native-community/datetimepicker';\nimport { useEffect, useState } from 'react';\nimport type { ReactElement } from 'react';\nimport type { Except } from 'type-fest';\nimport type { DatePickerProps } from '../../DatePicker';\nimport { PressableDateInputs } from '../PressableDateInputs';\n\ninterface DatePickerAndroidProps extends Except<DatePickerProps, 'pickerUITitle' | 'pickerUIValidateButtonLabel'> {}\n\nexport function DatePickerAndroid({\n onBlur,\n onFocus,\n pickerDefaultDate,\n pickerUITestID,\n isDefaultVisible,\n value,\n onChange,\n ...props\n}: DatePickerAndroidProps): ReactElement {\n const [isFocused, setIsFocused] = useState(false);\n const [currentValue, setCurrentValue] = useState<Date | undefined>(value);\n\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 <PressableDateInputs value={currentValue} isFocusedInternal={isFocused} onPress={handleModalOpen} {...props} />\n );\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 type { ReactElement } from 'react';\nimport type { PressableIconButtonWebWrapperWithThemeProps } from './PressableIconButtonWebWrapper.web';\n\nexport type { PressableIconButtonWebWrapperWithThemeProps } from './PressableIconButtonWebWrapper.web';\n\nexport function PressableIconButtonWebWrapperWithTheme(\n props: PressableIconButtonWebWrapperWithThemeProps,\n): ReactElement {\n throw new Error('This component is not supposed to be called in native');\n}\n","import type { ReactElement } from 'react';\nimport type { PressableProps } from 'react-native';\nimport { Platform } from 'react-native';\nimport styled, { withTheme } from 'styled-components/native';\nimport { StyleWebWrapper } from '../utils/StyleWebWrapper';\nimport type { IconButtonContentProps } from './IconButton';\nimport { PressableIconButtonWebWrapperWithTheme } from './PressableIconButtonWebWrapper';\n\nconst PressableIconButtonWebWrapper = withTheme(PressableIconButtonWebWrapperWithTheme);\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\n as={PressableIconButtonWebWrapper}\n $isWhite={color === 'white'}\n $isPrimary={color === 'primary'}\n $isDisabled={Boolean(disabled)}\n >\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: 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 if (color === 'white') return iconButton.white.pressedBackgroundColor;\n if (color === 'primary') return iconButton.primary.pressedBackgroundColor;\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' | 'primary';\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\n/**\n * @deprecated This component will be deleted in a later Kitt Universal version. Use CardModal instead\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 type { DatePickerProps } from '../../DatePicker';\nimport { PressableDateInputs } from '../PressableDateInputs';\nimport { ModalPlatformDateTimePicker } from './ModalPlatformDateTimePicker';\n\nexport function DefaultNativeUIDatePicker({\n value,\n pickerUITestID,\n pickerUITitle,\n pickerUIValidateButtonLabel,\n isDefaultVisible,\n pickerDefaultDate,\n isFocusedInternal,\n isHoveredInternal,\n isPressedInternal,\n onChange,\n onFocus,\n onBlur,\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 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\n return (\n <>\n <PressableDateInputs\n value={currentValue}\n isFocusedInternal={isFocused || isFocusedInternal}\n isHoveredInternal={isHoveredInternal}\n isPressedInternal={isPressedInternal}\n onPress={handleModalOpen}\n {...props}\n />\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 { ReactElement } from 'react';\nimport { Platform } from 'react-native';\nimport type { DatePickerProps } from '../../DatePicker';\nimport { DatePickerAndroid } from './DatePickerAndroid';\nimport { DefaultNativeUIDatePicker } from './DefaultNativeUIDatePicker';\n\ninterface NativeUIDatePickerProps extends DatePickerProps {}\n\nexport function NativeUIDatePicker({\n value,\n pickerUITestID,\n isDefaultVisible,\n pickerDefaultDate,\n onChange,\n onBlur,\n ...props\n}: NativeUIDatePickerProps): ReactElement {\n if (Platform.OS === 'android') {\n return (\n <DatePickerAndroid\n pickerDefaultDate={pickerDefaultDate}\n pickerUITestID={pickerUITestID}\n isDefaultVisible={isDefaultVisible}\n value={value}\n onChange={onChange}\n onBlur={onBlur}\n {...props}\n />\n );\n }\n\n return (\n <DefaultNativeUIDatePicker\n value={value}\n isDefaultVisible={isDefaultVisible}\n pickerUITestID={pickerUITestID}\n onChange={onChange}\n onBlur={onBlur}\n {...props}\n />\n );\n}\n","import type { ReactElement } from 'react';\nimport type { ResponsiveValue } from '../../utils/createResponsiveStyleFromProp/createResponsiveStyleFromProp';\nimport { KeyboardDatePicker } from './components/KeyboardDatePicker';\nimport { NativeUIDatePicker } from './components/NativeUIDatePicker/NativeUIDatePicker';\n\ntype DatePickerFillMode = 'keyboard' | 'native';\n\ninterface DatePickerPlaceholder {\n day: string;\n month: string;\n year: string;\n}\n\nexport interface DatePickerProps {\n id?: string;\n testID?: string;\n disabled?: boolean;\n /**\n * @description value of the input\n */\n value?: Date;\n placeholder?: DatePickerPlaceholder;\n /** @description minimum date for the value to be valid */\n minDate?: Date;\n /** @description maximum date for the value to be valid */\n maxDate?: Date;\n /** @description Native only props - testID of the native platform picker */\n pickerUITestID?: string;\n /** @description Display a keyboard or the native picker. Web only has \"keyboard\" mode available */\n fillMode?: DatePickerFillMode;\n /** @description Native only props - Default date to be displayed on the native UI before any interactions */\n pickerDefaultDate?: Date;\n /** @description iOS only props - Text of the title of the Kitt modal displaying the platform picker on iOS */\n pickerUITitle?: string;\n /** @description iOS only props - Label of the validate button shown in the Kitt modal displaying the platform picker on iOS */\n pickerUIValidateButtonLabel?: string;\n /** @description Native only props - Controls the default visibility of the native picker */\n isDefaultVisible?: boolean;\n stretch?: ResponsiveValue<boolean | undefined>;\n /** @internal for story purpose */\n isHoveredInternal?: boolean;\n /** @internal for story purpose */\n isPressedInternal?: boolean;\n /** @internal for story purpose */\n isFocusedInternal?: boolean;\n onChange: (date?: Date) => void;\n onBlur?: (e?: any) => void;\n onFocus?: (e?: any) => void;\n}\n\nexport function DatePicker({ fillMode = 'native', value, ...props }: DatePickerProps): ReactElement {\n // in apps, final-form can give a string value that will break the component\n const currentValue = value || undefined;\n\n if (fillMode === 'keyboard') {\n return <KeyboardDatePicker {...props} value={currentValue} />;\n }\n\n return <NativeUIDatePicker {...props} value={currentValue} />;\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 { useTheme } from 'styled-components/native';\nimport { View } from '../../native-base/primitives';\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 const theme = useTheme();\n return (\n <View\n paddingTop={theme.kitt.forms.inputField.containerPaddingTop}\n paddingBottom={theme.kitt.forms.inputField.containerPaddingBottom}\n >\n {label ? (\n <View\n flexDirection=\"row\"\n alignItems=\"center\"\n paddingBottom={theme.kitt.forms.inputField.labelContainerPaddingBottom}\n >\n <View marginRight={theme.kitt.forms.inputField.labelFeedbackMarginLeft}>{label}</View>\n {labelFeedback}\n </View>\n ) : null}\n {input}\n {feedback ? <View paddingTop={theme.kitt.forms.inputField.feedbackPaddingTop}>{feedback}</View> : null}\n </View>\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, ReactNode } from 'react';\nimport type { ViewStyle } from 'react-native';\nimport Animated from 'react-native-reanimated';\nimport styled from 'styled-components/native';\n\ninterface StyledAnimatedViewProps {\n $isFocused?: boolean;\n $isPressed?: boolean;\n $isSelected?: boolean;\n $isDisabled?: boolean;\n $isFirst?: boolean;\n $isLast?: boolean;\n}\n\nconst StyledAnimatedView = styled(Animated.View)<StyledAnimatedViewProps>`\n border-width: ${({ theme }) => theme.kitt.forms.radioButtonGroup.item.borderWidth}px;\n border-top-left-radius: ${({ theme, $isFirst }) =>\n $isFirst ? theme.kitt.forms.radioButtonGroup.item.borderRadius : 0}px;\n border-bottom-left-radius: ${({ theme, $isFirst }) =>\n $isFirst ? theme.kitt.forms.radioButtonGroup.item.borderRadius : 0}px;\n border-top-right-radius: ${({ theme, $isLast }) =>\n $isLast ? theme.kitt.forms.radioButtonGroup.item.borderRadius : 0}px;\n border-bottom-right-radius: ${({ theme, $isLast }) =>\n $isLast ? theme.kitt.forms.radioButtonGroup.item.borderRadius : 0}px;\n border-left-width: ${({ theme, $isFirst }) => ($isFirst ? theme.kitt.forms.radioButtonGroup.item.borderWidth : 0)}px;\n`;\n\nexport interface AnimatedContainerProps {\n children: ReactNode;\n isFocused?: boolean;\n isPressed?: boolean;\n isSelected?: boolean;\n isDisabled?: boolean;\n isFirst?: boolean;\n isLast?: boolean;\n animatedStyles: Partial<ViewStyle>;\n}\n\nexport function AnimatedContainer({\n children,\n isFocused,\n isPressed,\n isSelected,\n isDisabled,\n isFirst,\n isLast,\n animatedStyles,\n}: AnimatedContainerProps): ReactElement {\n return (\n <StyledAnimatedView\n style={[animatedStyles]}\n $isFocused={isFocused}\n $isPressed={isPressed}\n $isSelected={isSelected}\n $isDisabled={isDisabled}\n $isFirst={isFirst}\n $isLast={isLast}\n >\n {children}\n </StyledAnimatedView>\n );\n}\n","import type { ReactElement } from 'react';\nimport { useTheme } from 'styled-components/native';\nimport { View } from '../../native-base/primitives';\n\ninterface FocusBorderProps {\n isPressed?: boolean;\n isHovered?: boolean;\n isSelected?: boolean;\n isFocused?: boolean;\n isFirst?: boolean;\n isLast?: boolean;\n}\n\nexport function HoverBorder({\n isFirst,\n isLast,\n isSelected,\n isHovered,\n isFocused,\n isPressed,\n}: FocusBorderProps): ReactElement {\n const theme = useTheme();\n const hasPointerInteraction = isPressed || isHovered || isFocused;\n const shouldDisplayBorder = isSelected ? true : hasPointerInteraction;\n\n return (\n <View\n _web={{\n style: {\n width: `calc(100% + ${theme.kitt.forms.radioButtonGroup.item.borderWidth * 2}px)`,\n height: `calc(100% + ${theme.kitt.forms.radioButtonGroup.item.borderWidth * 2}px)`,\n transitionProperty: theme.kitt.forms.radioButtonGroup.item.transition.property,\n transitionDuration: theme.kitt.forms.radioButtonGroup.item.transition.duration,\n transitionTimingFunction: theme.kitt.forms.radioButtonGroup.item.transition.timingFunction,\n },\n }}\n opacity={shouldDisplayBorder ? 1 : 0}\n position=\"absolute\"\n top={-theme.kitt.forms.radioButtonGroup.item.borderWidth}\n left={-theme.kitt.forms.radioButtonGroup.item.borderWidth}\n margin={0}\n borderColor={`kitt.forms.radioButtonGroup.item.borderColor.${\n isHovered || isSelected || isFocused ? 'hover' : 'default'\n }`}\n borderWidth=\"kitt.forms.radioButtonGroup.item.borderWidth\"\n borderTopLeftRadius={isFirst ? 'kitt.forms.radioButtonGroup.item.borderRadius' : 0}\n borderBottomLeftRadius={isFirst ? 'kitt.forms.radioButtonGroup.item.borderRadius' : 0}\n borderTopRightRadius={isLast ? 'kitt.forms.radioButtonGroup.item.borderRadius' : 0}\n borderBottomRightRadius={isLast ? 'kitt.forms.radioButtonGroup.item.borderRadius' : 0}\n />\n );\n}\n","import type { ViewStyle } from 'react-native';\nimport { interpolateColor, useAnimatedStyle, useSharedValue, withSpring } from 'react-native-reanimated';\nimport { useTheme } from 'styled-components/native';\n\nexport interface UseNativeAnimationOptions {\n isDisabled?: boolean;\n isSelected?: boolean;\n isPressedInternal?: boolean;\n}\n\nexport interface NativeAnimation {\n onPressIn?: () => void;\n onPressOut?: () => void;\n animatedStyles: ViewStyle;\n}\n\nexport const useNativeAnimation = ({\n isDisabled,\n isSelected,\n isPressedInternal,\n}: UseNativeAnimationOptions): NativeAnimation => {\n const theme = useTheme();\n const pressed = useSharedValue<0 | 1>(isPressedInternal ? 1 : 0);\n const color = useSharedValue(0);\n\n const { default: backgroundColor, pressed: pressedBackgroundColor } =\n theme.kitt.forms.radioButtonGroup.item.backgroundColor;\n\n const { default: borderColor, pressed: pressedBorderColor } = theme.kitt.forms.radioButtonGroup.item.borderColor;\n\n const animatedStyles = useAnimatedStyle(() => {\n if (isDisabled) {\n return {\n backgroundColor: theme.kitt.forms.radioButtonGroup.item.backgroundColor.disabled,\n borderColor: theme.kitt.forms.radioButtonGroup.item.borderColor.disabled,\n };\n }\n\n if (isSelected) {\n return {\n backgroundColor: pressedBackgroundColor,\n borderColor: pressedBorderColor,\n };\n }\n\n return {\n backgroundColor: interpolateColor(color.value, [0, 1], [backgroundColor, pressedBackgroundColor]),\n borderColor: interpolateColor(color.value, [0, 1], [borderColor, pressedBorderColor]),\n };\n });\n\n const handlePressIn = (): void => {\n color.value = withSpring(1);\n pressed.value = 1;\n };\n\n const handlePressOut = (): void => {\n color.value = withSpring(0);\n pressed.value = 0;\n };\n\n return {\n onPressIn: handlePressIn,\n onPressOut: handlePressOut,\n animatedStyles,\n };\n};\n","import type { TypographyColor } from '../../../typography/Typography';\n\ninterface GetCurrentTextColorParams {\n isDisabled?: boolean;\n isSelected?: boolean;\n isPressed?: boolean;\n isHovered?: boolean;\n isFocused?: boolean;\n}\n\nexport function getCurrentTextColor({\n isDisabled,\n isSelected,\n isPressed,\n isHovered,\n isFocused,\n}: GetCurrentTextColorParams): TypographyColor {\n if (isDisabled) return 'black-light';\n\n if (isSelected) return 'white';\n\n if (isPressed) return 'white';\n\n if (isFocused) return 'white';\n\n if (isHovered && !isSelected) return 'black';\n\n return 'black';\n}\n","import type { ReactElement, ReactNode } from 'react';\nimport type { GestureResponderEvent } from 'react-native';\nimport { Platform } from 'react-native';\nimport { Pressable, View } from '../../native-base/primitives';\nimport { Typography } from '../../typography/Typography';\nimport { AnimatedContainer } from './AnimatedContainer/AnimatedContainer';\nimport { HoverBorder } from './HoverBorder';\nimport { useNativeAnimation } from './hooks/useNativeAnimation';\nimport { getCurrentTextColor } from './utils/getCurrentTextColor';\n\nexport interface RadioButtonProps<V> {\n children: ReactNode;\n isFirst?: boolean;\n isLast?: boolean;\n disabled?: boolean;\n value: V;\n selected?: boolean;\n stretch?: boolean;\n /**\n * @internal Used to display pressed UI for testing and storybook purpose\n */\n isPressedInternal?: boolean;\n /**\n * @internal Used to display hovered UI for testing and storybook purpose\n */\n isHoveredInternal?: boolean;\n /**\n * @internal Used to display focused UI for testing and storybook purpose\n */\n isFocusedInternal?: boolean;\n onChange?: (value?: V) => void;\n onFocus?: (e?: any | GestureResponderEvent) => void;\n onBlur?: (e?: any | GestureResponderEvent) => void;\n}\n\nexport function RadioButton<V>({\n children,\n value,\n selected,\n isFirst,\n isLast,\n disabled,\n stretch,\n isHoveredInternal,\n isPressedInternal,\n isFocusedInternal,\n onChange,\n onFocus,\n onBlur,\n}: RadioButtonProps<V>): ReactElement {\n const { onPressIn, onPressOut, animatedStyles } = useNativeAnimation({\n isDisabled: disabled,\n isSelected: selected,\n isPressedInternal,\n });\n\n const handlePress = (e: GestureResponderEvent): void => {\n if (onFocus) onFocus(e);\n\n if (onChange) onChange(value);\n\n if (onBlur) onBlur(e);\n };\n\n return (\n <Pressable\n accessibilityRole=\"radiogroup\"\n accessibilityState={{ checked: selected }}\n flex={stretch ? 1 : undefined}\n disabled={disabled}\n onPress={handlePress}\n onPressIn={onPressIn}\n onPressOut={onPressOut}\n onFocus={onFocus}\n onBlur={onBlur}\n >\n {({ isHovered, isPressed, isFocused }) => (\n <AnimatedContainer\n animatedStyles={animatedStyles}\n isFocused={isFocused || isFocusedInternal}\n isPressed={isPressed || isPressedInternal}\n isSelected={selected}\n isDisabled={disabled}\n isFirst={isFirst}\n isLast={isLast}\n >\n <View\n paddingX=\"kitt.forms.radioButtonGroup.item.padding.horizontal\"\n paddingY=\"kitt.forms.radioButtonGroup.item.padding.vertical\"\n alignItems=\"center\"\n >\n <Typography.SetDefaultColor\n value={getCurrentTextColor({\n isSelected: selected || isPressedInternal,\n isPressed,\n isHovered: isHovered || isHoveredInternal,\n isDisabled: disabled,\n isFocused: isFocused || isFocusedInternal,\n })}\n >\n {children}\n </Typography.SetDefaultColor>\n {Platform.OS === 'web' ? (\n <HoverBorder\n isFirst={isFirst}\n isLast={isLast}\n isSelected={selected}\n isHovered={isHovered || isHoveredInternal}\n isPressed={isPressed || isPressedInternal}\n isFocused={isFocused || isFocusedInternal}\n />\n ) : null}\n </View>\n </AnimatedContainer>\n )}\n </Pressable>\n );\n}\n","import type { ReactElement, ReactNode } from 'react';\nimport { Children, cloneElement, useState } from 'react';\nimport type { ViewProps } from '../../native-base/primitives';\nimport { View } from '../../native-base/primitives';\nimport type { RadioButtonProps } from './RadioButton';\nimport { RadioButton } from './RadioButton';\n\ntype InternalInheritedProps =\n | 'isFirst'\n | 'isLast'\n | 'selected'\n | 'stretch'\n | 'disabled'\n | 'onChange'\n | 'onFocus'\n | 'onBlur';\n\ninterface RadioButtonGroupItemProps<V> extends Omit<RadioButtonProps<V>, InternalInheritedProps> {}\n\nfunction RadioButtonGroupItem<V>({ ...props }: RadioButtonGroupItemProps<V>): ReactElement {\n return <RadioButton {...props} />;\n}\n\nexport interface RadioButtonGroupProps<V> extends Exclude<ViewProps, 'onBlur' | 'onFocus'> {\n children: ReactNode;\n disabled?: boolean;\n hovered?: boolean;\n selected?: boolean;\n stretch?: boolean;\n value?: V;\n onChange?: (newValue: V) => void;\n onFocus?: (e?: any) => void;\n onBlur?: (e?: any) => void;\n}\n\nexport function RadioButtonGroup<V>({\n children,\n stretch,\n value,\n disabled,\n onFocus,\n onBlur,\n onChange,\n ...props\n}: RadioButtonGroupProps<V>): ReactElement {\n const [currentValue, setCurrentValue] = useState(value);\n\n const handleChange = (newValue: V): void => {\n if (disabled) return;\n\n setCurrentValue(newValue);\n if (onChange) onChange(newValue);\n };\n\n const childrenArray = Children.toArray(children) as ReactElement<RadioButtonProps<V>, typeof RadioButton>[];\n\n return (\n <View flexDirection=\"row\" flexWrap=\"wrap\" {...props}>\n {childrenArray.map((child, index) => {\n const clone = cloneElement<RadioButtonProps<V>>(child, {\n stretch,\n disabled,\n selected: child.props.value === currentValue,\n isFirst: index === 0,\n isLast: index === childrenArray.length - 1,\n onChange: handleChange,\n onFocus,\n onBlur,\n } as any);\n\n return clone;\n })}\n </View>\n );\n}\n\nRadioButtonGroup.RadioButton = RadioButtonGroupItem;\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 { useTheme } from 'styled-components/native';\nimport { View } from '../native-base/primitives';\n\ntype HighlightVariant = 'regular' | 'dark';\n\nexport interface HighlightProps {\n variant?: HighlightVariant;\n children: NonNullable<ReactNode>;\n}\n\nexport function Highlight({ variant = 'regular', children }: HighlightProps): ReactElement {\n const {\n kitt: { highlight },\n } = useTheme();\n\n return (\n <View\n borderRadius={highlight.borderRadius}\n padding={highlight.padding}\n backgroundColor={highlight[variant].backgroundColor}\n >\n {children}\n </View>\n );\n}\n","import type { ReactElement, ReactNode } from 'react';\nimport { createContext, useMemo } from 'react';\n\nexport interface KittMapConfigProviderConfig {\n mapId: string;\n apiToken: string;\n}\n\nexport const KittMapConfigProviderContext = createContext<KittMapConfigProviderConfig | undefined>(undefined);\n\nexport interface KittMapProviderProps {\n mapId: string;\n apiToken: string;\n children: ReactNode;\n}\n\nexport function KittMapConfigProvider({ children, mapId, apiToken }: KittMapProviderProps): ReactElement {\n const providerValue = useMemo(\n () => ({\n mapId,\n apiToken,\n }),\n [mapId, apiToken],\n );\n\n return (\n <KittMapConfigProviderContext.Provider value={providerValue}>{children}</KittMapConfigProviderContext.Provider>\n );\n}\n","import { useContext } from 'react';\nimport type { KittMapConfigProviderConfig } from '../KittMapConfigProvider';\nimport { KittMapConfigProviderContext } from '../KittMapConfigProvider';\n\nexport function useKittMapConfig(): KittMapConfigProviderConfig {\n const context = useContext(KittMapConfigProviderContext);\n\n if (!context) {\n throw new Error('<KittMapConfigProvider> missing in the react tree');\n }\n\n return context;\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","<svg fill=\"none\" viewBox=\"0 0 54 56\" width=\"54\" xmlns=\"http://www.w3.org/2000/svg\"><linearGradient id=\"marker-large_inline_svg__b\" gradientUnits=\"userSpaceOnUse\" x1=\"26.828\" x2=\"7.181\" y1=\"5.072\" y2=\"39.102\"><stop offset=\"0\" stop-opacity=\".01\"/><stop offset=\"1\"/></linearGradient><filter id=\"marker-large_inline_svg__a\" color-interpolation-filters=\"sRGB\" filterUnits=\"userSpaceOnUse\" height=\"48.706\" width=\"42.761\" x=\"10.437\" y=\"5.167\"><feFlood flood-opacity=\"0\" result=\"BackgroundImageFix\"/><feBlend in=\"SourceGraphic\" in2=\"BackgroundImageFix\" result=\"shape\"/><feGaussianBlur result=\"effect1_foregroundBlur_257_3018\" stdDeviation=\"2.718\"/></filter><mask id=\"marker-large_inline_svg__c\" height=\"43\" maskUnits=\"userSpaceOnUse\" width=\"31\" x=\"3\" y=\"3\"><path d=\"M16.303 44.99a3.002 3.002 0 0 0 4.394 0C29.631 35.38 34 26.678 34 18.938 34 10.12 27.04 3 18.5 3S3 10.12 3 18.938c0 7.74 4.369 16.442 13.303 26.052z\" fill=\"#fff\"/></mask><g filter=\"url(#marker-large_inline_svg__a)\" opacity=\".25\"><path d=\"M24.022 48.149c-3.018 1.02-6.128-.775-6.753-3.899-1.372-6.862-2.799-18.548 1.348-25.73C22.966 10.985 32.545 8.374 40 12.678c7.454 4.303 9.982 13.903 5.63 21.44-4.146 7.182-14.98 11.79-21.608 14.032z\" fill=\"url(#marker-large_inline_svg__b)\"/></g><g mask=\"url(#marker-large_inline_svg__c)\"><path d=\"M3 3h31v43H3z\" fill=\"#4c34e0\"/></g><path d=\"M15.677 46.315c-2.682-3.029-6.253-7.443-9.145-12.356C3.622 29.015 1.5 23.735 1.5 18.938 1.5 9.27 9.152 1.5 18.5 1.5c9.349 0 17 7.771 17 17.438 0 4.797-2.122 10.077-5.032 15.02-2.892 4.914-6.463 9.328-9.145 12.357-1.536 1.735-4.11 1.735-5.646 0z\" stroke=\"#fff\" stroke-width=\"3\"/></svg>","<svg viewBox=\"0 0 40 39\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\"><path d=\"M16.417 33.38c-2.3.776-4.668-.592-5.146-2.971-1.059-5.274-2.171-14.297 1.027-19.837 3.348-5.798 10.717-7.806 16.452-4.495 5.735 3.31 7.68 10.697 4.333 16.495-3.198 5.54-11.57 9.088-16.666 10.808z\" fill=\"url(#marker_inline_svg__a)\" opacity=\".25\" filter=\"url(#marker_inline_svg__b)\"/><path d=\"M10.89 29.536a2.81 2.81 0 0 0 4.22 0C20.428 23.492 23 18.054 23 13.256 23 7.58 18.507 3 13 3S3 7.58 3 13.256c0 4.798 2.572 10.236 7.89 16.28z\" fill=\"#4C34E0\"/><mask id=\"marker_inline_svg__c\" style=\"mask-type:alpha\" maskUnits=\"userSpaceOnUse\" x=\"3\" y=\"3\" width=\"20\" height=\"28\"><path d=\"M10.89 29.536a2.81 2.81 0 0 0 4.22 0C20.428 23.492 23 18.054 23 13.256 23 7.58 18.507 3 13 3S3 7.58 3 13.256c0 4.798 2.572 10.236 7.89 16.28z\" fill=\"#fff\"/></mask><g mask=\"url(#marker_inline_svg__c)\"><path fill=\"#4C34E0\" d=\"M3 3h20v27H3z\"/></g><path d=\"M10.374 31c-1.884-2.216-4.125-5.144-5.888-8.307C2.71 19.505 1.5 16.22 1.5 13.256 1.5 6.734 6.681 1.5 13 1.5s11.5 5.234 11.5 11.756c0 2.964-1.21 6.249-2.986 9.437-1.763 3.163-4.004 6.091-5.888 8.307-1.414 1.662-3.838 1.662-5.252 0z\" stroke=\"#fff\" stroke-width=\"3\"/><defs><linearGradient id=\"marker_inline_svg__a\" x1=\"18.616\" y1=\".226\" x2=\"3.501\" y2=\"26.405\" gradientUnits=\"userSpaceOnUse\"><stop stop-opacity=\".01\"/><stop offset=\"1\"/></linearGradient><filter id=\"marker_inline_svg__b\" x=\"6.046\" y=\".339\" width=\"32.817\" height=\"37.4\" filterUnits=\"userSpaceOnUse\" color-interpolation-filters=\"sRGB\"><feFlood flood-opacity=\"0\" result=\"BackgroundImageFix\"/><feBlend in=\"SourceGraphic\" in2=\"BackgroundImageFix\" result=\"shape\"/><feGaussianBlur stdDeviation=\"2.071\" result=\"effect1_foregroundBlur_257_3020\"/></filter></defs></svg>","<svg viewBox=\"0 0 47 47\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\"><path fill-rule=\"evenodd\" clip-rule=\"evenodd\" d=\"M23.5 36C30.404 36 36 30.404 36 23.5S30.404 11 23.5 11 11 16.596 11 23.5 16.596 36 23.5 36z\" fill=\"#38836D\" opacity=\".8\" filter=\"url(#position-marker_inline_svg__a)\"/><path d=\"M31 18.5a7.5 7.5 0 1 1-15 0 7.5 7.5 0 0 1 15 0z\" fill=\"#fff\" stroke=\"#38836D\" stroke-width=\"10\"/><circle cx=\"23.5\" cy=\"18.5\" r=\"2.5\" fill=\"#fff\"/><defs><filter id=\"position-marker_inline_svg__a\" x=\".127\" y=\".127\" width=\"46.746\" height=\"46.746\" filterUnits=\"userSpaceOnUse\" color-interpolation-filters=\"sRGB\"><feFlood flood-opacity=\"0\" result=\"BackgroundImageFix\"/><feBlend in=\"SourceGraphic\" in2=\"BackgroundImageFix\" result=\"shape\"/><feGaussianBlur stdDeviation=\"5.437\" result=\"effect1_foregroundBlur_257_3019\"/></filter></defs></svg>","import type { ReactElement } from 'react';\nimport LargeMarkerSvg from './assets/marker-large.inline.svg';\nimport DefaultMarkerSvg from './assets/marker.inline.svg';\nimport PositionMarkerSvg from './assets/position-marker.inline.svg';\n\ninterface BaseMarkerWithSizeProps {\n width: number;\n height: number;\n}\n\ninterface BaseMarkerWithoutSizeProps {\n width?: never;\n height?: never;\n}\n\nexport type MapMarkerProps = BaseMarkerWithSizeProps | BaseMarkerWithoutSizeProps;\n\nexport function MapMarkerSimple({ width = 40, height = 39 }: MapMarkerProps): ReactElement {\n return <DefaultMarkerSvg width={width} height={height} />;\n}\n\nexport function MapMarkerLarge({ width = 54, height = 56 }: MapMarkerProps): ReactElement {\n return <LargeMarkerSvg width={width} height={height} />;\n}\n\nexport function MapMarkerPosition({ width = 47, height = 47 }: MapMarkerProps): ReactElement {\n return <PositionMarkerSvg width={width} height={height} />;\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 { Platform } from 'react-native';\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\nexport interface AppKittThemeExtensionsBreakpoints {}\nexport interface AppKittThemeExtensionsColors {}\nexport interface AppKittThemeExtensionsSizes {}\nexport interface AppKittThemeExtensionsSpace {}\nexport interface AppKittThemeExtensionsShadows {}\nexport interface AppKittThemeExtensionsOpacity {}\nexport interface AppKittThemeExtensionsBorderWidths {}\nexport interface AppKittThemeExtensionsRadii {}\n\nexport interface AppKittThemeExtensions {\n sizes: AppKittThemeExtensionsSpace;\n space: AppKittThemeExtensionsSpace;\n shadows: AppKittThemeExtensionsShadows;\n opacity: AppKittThemeExtensionsOpacity;\n borderWidths: AppKittThemeExtensionsBorderWidths;\n colors: AppKittThemeExtensionsColors;\n radii: AppKittThemeExtensionsRadii;\n breakpoints: AppKittThemeExtensionsBreakpoints;\n}\n\nexport type ExtensibleNativeBaseThemeKey =\n | 'sizes'\n | 'space'\n | 'shadows'\n | 'opacity'\n | 'borderWidths'\n | 'colors'\n | 'radii'\n | 'breakpoints';\n\nexport type ExtensibleNativeBaseAppThemeConfig = Partial<Record<ExtensibleNativeBaseThemeKey, Record<string, any>>>;\n\ntype ValidAppTheme<T> = T extends ExtensibleNativeBaseAppThemeConfig ? T : never;\n\nexport type AppTheme = Partial<ValidAppTheme<AppKittThemeExtensions>>;\n\n// eslint-disable-next-line @typescript-eslint/explicit-module-boundary-types, @typescript-eslint/explicit-function-return-type -- let typescript infer types\nexport function createKittNativeBaseCustomTheme(theme: Theme, appTheme?: AppTheme) {\n const spaces = createKittSpaces(theme.spacing);\n\n const appBreakpoints: AppKittThemeExtensionsBreakpoints =\n appTheme?.breakpoints || ({} as AppKittThemeExtensionsBreakpoints);\n\n const extendedTheme = extendTheme({\n colors: {\n kitt: {\n ...theme.colors,\n avatar: {\n default: {\n backgroundColor: theme.colors.primary,\n },\n light: {\n backgroundColor: theme.palettes.lateOcean.black100,\n },\n },\n button: {\n default: theme.button.default,\n primary: theme.button.primary,\n white: theme.button.white,\n subtle: theme.button.subtle,\n 'subtle-dark': theme.button['subtle-dark'],\n disabled: theme.button.disabled,\n },\n tooltip: {\n backgroundColor: theme.tooltip.backgroundColor,\n },\n typography: theme.typography.colors,\n palettes: theme.palettes,\n forms: {\n input: {\n states: theme.forms.input.states,\n },\n radioButtonGroup: {\n item: {\n borderColor: theme.forms.radioButtonGroup.item.borderColor,\n backgroundColor: theme.forms.radioButtonGroup.item.backgroundColor,\n },\n },\n skeleton: {\n backgroundColor: theme.skeleton.backgroundColor,\n flareColor: theme.skeleton.flareColor,\n },\n },\n },\n app: appTheme?.colors,\n },\n radii: {\n // Make original native base values unsusable\n lg: Number.MAX_SAFE_INTEGER,\n md: Number.MAX_SAFE_INTEGER,\n sm: Number.MAX_SAFE_INTEGER,\n xl: Number.MAX_SAFE_INTEGER,\n xs: Number.MAX_SAFE_INTEGER,\n\n // Allow values like kitt.X\n ...spaces,\n\n kitt: {\n avatar: {\n borderRadius: theme.avatar.borderRadius,\n large: {\n borderRadius: theme.avatar.large.borderRadius,\n },\n },\n borderRadius: theme.card.borderRadius,\n button: {\n borderRadius: theme.button.borderRadius,\n },\n card: {\n borderRadius: theme.card.borderRadius,\n },\n cardModal: {\n borderRadius: theme.cardModal.borderRadius,\n },\n dialogModal: {\n borderRadius: theme.dialogModal.borderRadius,\n },\n forms: {\n input: {\n borderRadius: theme.forms.input.borderRadius,\n },\n radioButtonGroup: {\n item: {\n borderRadius: theme.forms.radioButtonGroup.item.borderRadius,\n },\n },\n },\n tooltip: {\n borderRadius: theme.tooltip.borderRadius,\n },\n skeleton: {\n shape: {\n bar: {\n borderRadius: theme.skeleton.shape.bar.borderRadius,\n },\n circle: {\n borderRadius: theme.skeleton.shape.circle.borderRadius,\n },\n square: {\n borderRadius: theme.skeleton.shape.square.borderRadius,\n },\n },\n },\n },\n app: appTheme?.radii,\n },\n borderWidths: {\n kitt: {\n button: {\n borderWidth: theme.button.borderWidth,\n },\n forms: {\n input: {\n borderWidth: theme.forms.input.borderWidth,\n },\n radioButtonGroup: {\n item: {\n borderWidth: theme.forms.radioButtonGroup.item.borderWidth,\n },\n },\n },\n cardModal: {\n header: {\n borderWidth: theme.cardModal.header.borderWidth,\n },\n footer: {\n borderWidth: theme.cardModal.footer.borderWidth,\n },\n },\n },\n app: appTheme?.borderWidths,\n },\n sizes: {\n ...spaces,\n ...overridenNativeBaseSizeandSpaceScale,\n kitt: {\n avatar: {\n size: theme.avatar.size,\n iconSize: theme.avatar.iconSize,\n large: {\n size: theme.avatar.large.size,\n iconSize: theme.avatar.large.iconSize,\n },\n },\n button: {\n minWidth: theme.button.minWidth,\n maxWidth: theme.button.maxWidth,\n minHeight: theme.button.minHeight,\n },\n cardModal: {\n header: {\n height: theme.cardModal.header.height,\n },\n maxWidth: theme.cardModal.maxWidth,\n maxWidthWithPadding: theme.cardModal.maxWidthWithPadding,\n },\n dialogModal: {\n maxWidth: theme.dialogModal.maxWidth,\n overlayPadding: theme.dialogModal.overlayPadding,\n },\n forms: {\n datePicker: {\n minHeight: theme.forms.input.minHeight,\n day: {\n minWidth: theme.forms.datePicker.day.minWidth,\n },\n month: {\n minWidth: theme.forms.datePicker.month.minWidth,\n },\n year: {\n minWidth: theme.forms.datePicker.year.minWidth,\n },\n },\n input: {\n minHeight: theme.forms.input.minHeight,\n },\n radioButtonGroup: {\n item: {\n minHeight: theme.forms.radioButtonGroup.item.minHeight,\n },\n },\n },\n iconButton: {\n width: theme.iconButton.width,\n },\n tooltip: {\n maxWidth: theme.tooltip.maxWidth,\n arrow: {\n width: theme.tooltip.arrow.width,\n height: theme.tooltip.arrow.height,\n },\n },\n skeleton: {\n shape: {\n bar: {\n size: theme.skeleton.shape.bar.size,\n },\n circle: {\n size: theme.skeleton.shape.circle.size,\n },\n square: {\n size: theme.skeleton.shape.square.size,\n },\n },\n },\n },\n app: appTheme?.sizes,\n },\n space: {\n ...spaces,\n ...overridenNativeBaseSizeandSpaceScale,\n kitt: {\n button: {\n padding: theme.button.padding,\n },\n cardModal: {\n overlayPadding: theme.dialogModal.overlayPadding,\n },\n dialogModal: {\n overlayPadding: theme.dialogModal.overlayPadding,\n },\n forms: {\n datePicker: {\n padding: theme.forms.input.padding,\n },\n input: {\n padding: theme.forms.input.padding,\n },\n radioButtonGroup: {\n item: {\n padding: theme.forms.radioButtonGroup.item.padding,\n },\n },\n },\n tooltip: {\n horizontalPadding: theme.tooltip.horizontalPadding,\n verticalPadding: theme.tooltip.verticalPadding,\n floatingPadding: theme.tooltip.floatingPadding,\n },\n },\n app: appTheme?.space,\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 // Breakpoints can't be nested in objects\n ...appBreakpoints,\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: {\n regular: theme.typography.types.bodies.fontWeight.regular,\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 : theme.typography.types.bodies.fontWeight.bold,\n },\n },\n fonts: {\n headers:\n Platform.OS === 'web'\n ? theme.typography.types.headers.fontFamily.web\n : theme.typography.types.headers.fontFamily.native,\n bodies:\n Platform.OS === 'web'\n ? theme.typography.types.bodies.fontFamily.web\n : theme.typography.types.bodies.fontFamily.native,\n },\n\n shadows: {\n kitt: {\n shadows: {\n cards: {\n low: {\n shadowColor: theme.shadows.cards.low.color,\n shadowOffset: { width: theme.shadows.cards.low.offsetX, height: theme.shadows.cards.low.offsetY },\n shadowOpacity: theme.shadows.cards.low.opacity,\n shadowRadius: theme.shadows.cards.low.radius,\n },\n medium: {\n shadowColor: theme.shadows.cards.medium.color,\n shadowOffset: { width: theme.shadows.cards.medium.offsetX, height: theme.shadows.cards.medium.offsetY },\n shadowOpacity: theme.shadows.cards.medium.opacity,\n shadowRadius: theme.shadows.cards.medium.radius,\n },\n highBase: {\n shadowColor: theme.shadows.cards.highBase.color,\n shadowOffset: {\n width: theme.shadows.cards.highBase.offsetX,\n height: theme.shadows.cards.highBase.offsetY,\n },\n shadowOpacity: theme.shadows.cards.highBase.opacity,\n shadowRadius: theme.shadows.cards.highBase.radius,\n },\n highMedium: {\n shadowColor: theme.shadows.cards.highMedium.color,\n shadowOffset: {\n width: theme.shadows.cards.highMedium.offsetX,\n height: theme.shadows.cards.highMedium.offsetY,\n },\n shadowOpacity: theme.shadows.cards.highMedium.opacity,\n shadowRadius: theme.shadows.cards.highMedium.radius,\n },\n highLarge: {\n shadowColor: theme.shadows.cards.highLarge.color,\n shadowOffset: {\n width: theme.shadows.cards.highLarge.offsetX,\n height: theme.shadows.cards.highLarge.offsetY,\n },\n shadowOpacity: theme.shadows.cards.highLarge.opacity,\n shadowRadius: theme.shadows.cards.highLarge.radius,\n },\n },\n navigation: {\n left: {\n shadowColor: theme.shadows.navigation.left.color,\n shadowOffset: {\n width: theme.shadows.navigation.left.offsetX,\n height: theme.shadows.navigation.left.offsetY,\n },\n shadowOpacity: theme.shadows.navigation.left.opacity,\n shadowRadius: theme.shadows.navigation.left.radius,\n },\n right: {\n shadowColor: theme.shadows.navigation.right.color,\n shadowOffset: {\n width: theme.shadows.navigation.right.offsetX,\n height: theme.shadows.navigation.right.offsetY,\n },\n shadowOpacity: theme.shadows.navigation.right.opacity,\n shadowRadius: theme.shadows.navigation.right.radius,\n },\n },\n panel: {\n shadowColor: theme.shadows.panel.color,\n shadowOffset: { width: theme.shadows.panel.offsetX, height: theme.shadows.panel.offsetY },\n shadowOpacity: theme.shadows.panel.opacity,\n shadowRadius: theme.shadows.panel.radius,\n },\n },\n cardModals: {\n shadow: {\n shadowColor: theme.cardModal.shadow.color,\n shadowOffset: { width: theme.cardModal.shadow.offsetX, height: theme.cardModal.shadow.offsetY },\n shadowOpacity: theme.cardModal.shadow.opacity,\n shadowRadius: theme.cardModal.shadow.radius,\n },\n },\n dialogModal: {\n shadow: {\n shadowColor: theme.dialogModal.shadow.color,\n shadowOffset: { width: theme.dialogModal.shadow.offsetX, height: theme.dialogModal.shadow.offsetY },\n shadowOpacity: theme.dialogModal.shadow.opacity,\n shadowRadius: theme.dialogModal.shadow.radius,\n },\n },\n },\n app: appTheme?.shadows,\n },\n\n opacity: {\n app: appTheme?.opacity,\n kitt: {\n tooltip: {\n opacity: theme.tooltip.opacity,\n },\n },\n },\n\n components: {\n Input: {\n baseStyle: {\n width: '100%',\n minHeight: theme.forms.input.minHeight,\n py: theme.forms.input.padding.vertical,\n px: theme.forms.input.padding.horizontal,\n borderRadius: theme.forms.input.borderRadius,\n _disabled: {\n opacity: 1, // override default native-base opacity\n },\n _light: {\n color: theme.forms.input.states.default.color,\n placeholderTextColor: theme.forms.input.color.placeholder,\n borderColor: theme.forms.input.states.default.borderColor,\n bg: theme.forms.input.states.default.backgroundColor,\n _hover: {\n borderColor: theme.forms.input.states.hover.borderColor,\n color: theme.forms.input.states.hover.color,\n _focus: {\n borderColor: theme.forms.input.states.focus.borderColor,\n color: theme.forms.input.states.focus.color,\n },\n },\n _focus: {\n borderColor: theme.forms.input.states.focus.borderColor,\n color: theme.forms.input.states.focus.color,\n _hover: {\n borderColor: theme.forms.input.states.focus.borderColor,\n color: theme.forms.input.states.focus.color,\n },\n _stack: {\n style: {\n outlineWidth: 0,\n },\n },\n },\n _invalid: {\n borderColor: theme.forms.input.states.invalid.borderColor,\n color: theme.forms.input.states.invalid.color,\n _hover: {\n borderColor: theme.forms.input.states.hover.borderColor,\n color: theme.forms.input.states.hover.color,\n },\n },\n _ios: {\n selectionColor: theme.forms.input.color.selection,\n },\n _android: {\n selectionColor: theme.forms.input.color.selection,\n },\n _disabled: {\n placeholderTextColor: theme.forms.input.states.disabled.color,\n color: theme.forms.input.states.disabled.color,\n borderColor: theme.forms.input.states.disabled.borderColor,\n bg: theme.forms.input.states.disabled.backgroundColor,\n },\n },\n },\n variants: {\n outline: {\n borderWidth: theme.forms.input.borderWidth,\n _focus: {\n bg: theme.forms.input.states.default.backgroundColor,\n },\n },\n underlined: {},\n rounded: {},\n filled: {},\n unstyled: {},\n },\n },\n Text: {\n baseStyle: {\n _light: {\n color: 'kitt.typography.black',\n },\n _dark: {\n color: 'kitt.typography.white',\n },\n fontFamily:\n Platform.OS === 'web'\n ? theme.typography.types.bodies.fontFamily.web.regular\n : theme.typography.types.bodies.fontFamily.native.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 /**\n * `theme` should come from `useKittTheme`\n */\n theme: KittTheme;\n isSSR: NativeBaseProviderProps['isSSR'];\n /**\n * `appTheme` is optional and provides extended theme configuration. It's a native-base representation of your application theme.\n * This variable must not change at each render\n */\n appTheme?: AppTheme;\n children: ReactNode;\n}\n\n/**\n * Provide theme to native-base\n *\n * `appTheme` is optional and provides extended theme configuration. This variable must not change at each render\n *\n * @exemple\n * ```tsx\n * const appTheme = {};\n * export function MyAppThemeProvider({ children }) {\n * const theme = useKittTheme();\n * return <KittNativeBaseProvider theme={theme} appTheme={appTheme}>{children}</KittNativeBaseProvider>\n * }\n * ```\n */\nexport function KittNativeBaseProvider({\n theme,\n isSSR,\n appTheme,\n children,\n}: KittNativeBaseProviderProps): ReactElement {\n const kittTheme = theme.kitt;\n\n const nativeBaseCustomTheme = useMemo(\n () => createKittNativeBaseCustomTheme(kittTheme, appTheme),\n [kittTheme, appTheme],\n );\n\n return (\n <NativeBaseProvider theme={nativeBaseCustomTheme} isSSR={isSSR}>\n {children}\n </NativeBaseProvider>\n );\n}\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 $insetTop: number;\n}\n\nconst StyledViewWithPadding = styled(ContentPadding)<StyledViewWithPaddingProps>`\n padding-top: ${({ theme, $insetTop }) => Math.max(theme.kitt.spacing * 6, $insetTop)}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 shouldHandleTopNotch?: boolean;\n}\n\nexport function Body({\n children,\n shouldHandleBottomNotch,\n style,\n shouldHandleTopNotch,\n ...props\n}: BodyProps): ReactElement {\n const { bottom, top } = useSafeAreaInsets();\n\n const insetBottom = shouldHandleBottomNotch ? bottom : 0;\n const insetTop = shouldHandleTopNotch ? top : 0;\n\n return (\n <StyledViewWithPadding {...props} $insetBottom={insetBottom} $insetTop={insetTop} 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 { useSafeAreaInsets } from 'react-native-safe-area-context';\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 $insetTop: number;\n $hasSeparator?: boolean;\n $hasLeft?: boolean;\n $hasRight?: boolean;\n}\n\nexport const HeaderContainer = styled(ContentPadding)<HeaderContainerProps>`\n height: ${({ theme, $insetTop }) => theme.kitt.navigationModal.height + $insetTop}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 padding-top: ${({ $insetTop }) => $insetTop}px;\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 shouldHandleTopNotch?: 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 shouldHandleTopNotch = true,\n style,\n}: HeaderProps): ReactElement {\n const { top } = useSafeAreaInsets();\n\n const insetTop = shouldHandleTopNotch ? top : 0;\n const sharedProps = {\n $hasLeft: Boolean(left),\n $hasRight: Boolean(right),\n };\n\n return (\n <HeaderContainer\n $isTransparent={isTransparent}\n $insetTop={insetTop}\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 { ReactElement, ReactNode } from 'react';\nimport { StyleSheet } from 'react-native';\nimport Animated, { Easing, useAnimatedStyle, withTiming } from 'react-native-reanimated';\nimport { useTheme } from 'styled-components/native';\n\nexport interface NativeOpacityAnimationProps {\n visible?: boolean;\n children: ReactNode;\n}\n\nexport function NativeOpacityAnimation({ visible, children }: NativeOpacityAnimationProps): ReactElement {\n const theme = useTheme();\n\n const opacityStyle = useAnimatedStyle(() => {\n const { duration, easing } = theme.kitt.navigationModal.animation.overlay;\n const [x1, y1, x2, y2] = easing;\n\n return {\n opacity: withTiming(visible ? 1 : 0, { duration, easing: Easing.bezier(x1, y1, x2, y2) }),\n };\n });\n\n return <Animated.View style={[StyleSheet.absoluteFillObject, opacityStyle]}>{children}</Animated.View>;\n}\n","import type { ReactElement, ReactNode } from 'react';\nimport { useRef } from 'react';\nimport { useWindowDimensions } from 'react-native';\nimport Animated, { Easing, runOnJS, useAnimatedStyle, withTiming } from 'react-native-reanimated';\nimport { useTheme } from 'styled-components/native';\nimport type { NavigationModalAnimationProps } from '../NavigationModalAnimation';\n\nexport interface NativeSlideInAnimationProps {\n children: ReactNode;\n visible?: NavigationModalAnimationProps['visible'];\n onEntered?: NavigationModalAnimationProps['onEntered'];\n onExited: () => void;\n}\n\nexport function NativeSlideInAnimation({\n visible,\n children,\n onEntered,\n onExited,\n}: NativeSlideInAnimationProps): ReactElement | null {\n const theme = useTheme();\n const { height: wHeight } = useWindowDimensions();\n const hasRunAnimationRef = useRef(false);\n\n function handleAnimationFinished(): void {\n if (visible) {\n if (onEntered) onEntered();\n hasRunAnimationRef.current = true;\n }\n\n // Since animation callback is called on component mount, we must make sure that the animation has been runed once to call it an exit\n if (!visible && hasRunAnimationRef.current) onExited();\n }\n\n const translateStyle = useAnimatedStyle(() => {\n const { duration, easing } = theme.kitt.navigationModal.animation.content;\n const [x1, y1, x2, y2] = easing;\n\n return {\n transform: [\n {\n translateY: withTiming(\n visible ? 0 : wHeight,\n { duration, easing: Easing.bezier(x1, y1, x2, y2) },\n (isFinished) => {\n if (!isFinished) return;\n runOnJS(handleAnimationFinished)();\n },\n ),\n },\n ],\n };\n });\n\n return (\n <Animated.View style={[{ transform: [{ translateY: wHeight }] }, translateStyle, { width: '100%', flex: 1 }]}>\n {children}\n </Animated.View>\n );\n}\n","import type { ReactElement, ReactNode } from 'react';\nimport { useEffect, useState } from 'react';\nimport { Modal } from 'react-native';\nimport { Overlay } from '../Overlay/Overlay';\nimport type { ViewProps } from '../native-base/primitives';\nimport { View } from '../native-base/primitives';\nimport { NativeOpacityAnimation } from './components/NativeOpacityAnimation';\nimport { NativeSlideInAnimation } from './components/NativeSlideInAnimation';\n\nexport interface NavigationModalAnimationProps extends ViewProps {\n children: ReactNode;\n appear?: boolean;\n visible?: boolean;\n unmountOnExit?: boolean;\n isAnimationEnabled?: boolean;\n onEnter?: () => void;\n onEntered?: () => void;\n onExit?: () => void;\n onExited?: () => void;\n onClose?: () => void;\n}\n\nexport function NavigationModalAnimation({\n visible,\n children,\n onEnter,\n onEntered,\n onExit,\n onExited,\n}: NavigationModalAnimationProps): ReactElement {\n const [isModalVisible, setIsModalVisible] = useState(visible);\n const [isContentVisible, setIsContentVisible] = useState(false);\n\n const handleAnimationExited = (): void => {\n setIsModalVisible(false);\n };\n\n // When parent visibility is set to false, in order to have our exit animation we must in this order :\n // 1 - run the exit animation\n // 2 - once it is done, unmount the Modal\n useEffect(() => {\n const shouldHideContent = !visible && isContentVisible;\n\n if (!shouldHideContent) return;\n\n if (onExit) onExit();\n setIsContentVisible(false);\n }, [visible, isContentVisible, onExit]);\n\n return (\n <Modal\n transparent\n visible={isModalVisible}\n onShow={() => {\n if (onEnter) onEnter();\n setIsContentVisible(true);\n }}\n onDismiss={() => {\n if (onExited) onExited();\n }}\n >\n <View position=\"relative\" flex={1} justifyContent=\"center\" alignItems=\"center\">\n <NativeOpacityAnimation visible={isContentVisible}>\n <Overlay onPress={handleAnimationExited} />\n </NativeOpacityAnimation>\n <NativeSlideInAnimation visible={isContentVisible} onExited={handleAnimationExited} onEntered={onEntered}>\n <View flex={1}>{children}</View>\n </NativeSlideInAnimation>\n </View>\n </Modal>\n );\n}\n","import type { ReactElement } from 'react';\nimport { useEffect, useState } from 'react';\nimport type { ModalBehaviourProps } from '../ModalBehaviour/ModalBehaviour';\nimport { ModalBehaviour } from '../ModalBehaviour/ModalBehaviour';\nimport type { NavigationModalAnimationProps } from './NavigationModalAnimation';\nimport { NavigationModalAnimation } from './NavigationModalAnimation';\n\ninterface NavigationModalBehaviourProps extends NavigationModalAnimationProps {\n onClose: ModalBehaviourProps['onClose'];\n}\n\nexport function NavigationModalBehaviour({\n children,\n visible,\n onClose,\n onExited,\n ...props\n}: NavigationModalBehaviourProps): ReactElement {\n const [isModalBehaviourVisible, setIsModalBehaviourVisible] = useState(visible);\n\n useEffect(() => {\n if (visible === true) {\n setIsModalBehaviourVisible(true);\n }\n }, [visible]);\n\n const handleExitAnimationDone = (): void => {\n if (onExited) onExited();\n setIsModalBehaviourVisible(false);\n };\n\n return (\n <ModalBehaviour visible={isModalBehaviourVisible} onClose={onClose}>\n <NavigationModalAnimation {...props} visible={visible} onExited={handleExitAnimationDone}>\n {children}\n </NavigationModalAnimation>\n </ModalBehaviour>\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 { NavigationModalBehaviour } from './NavigationModalBehaviour';\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;\nNavigationModal.ModalBehaviour = NavigationModalBehaviour;\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 type { ViewProps } from '../native-base/primitives';\nimport { View } from '../native-base/primitives';\nimport { SkeletonContent } from './SkeletonContent';\n\nexport interface SkeletonProps extends Omit<ViewProps, 'onLayout'> {\n isLoading?: boolean;\n style?: StyleProp<ViewStyle>;\n}\n\nexport function Skeleton({ isLoading = false, style, ...props }: SkeletonProps): ReactElement {\n const [width, setWidth] = useState(0);\n\n return (\n <View {...props} overflow=\"hidden\" style={style} onLayout={({ nativeEvent }) => setWidth(nativeEvent.layout.width)}>\n <SkeletonContent isLoading={isLoading} width={width} />\n </View>\n );\n}\n\nexport interface BarSkeletonProps extends Omit<SkeletonProps, 'width' | 'height' | 'borderRadius'> {\n size?: number;\n}\n\nfunction Bar({ size, ...props }: BarSkeletonProps): ReactElement {\n const currentBorderRadius = size ? size * 0.5 : 'kitt.skeleton.shape.bar.borderRadius';\n\n return (\n <Skeleton\n {...props}\n width=\"100%\"\n height={size || 'kitt.skeleton.shape.bar.size'}\n borderRadius={currentBorderRadius}\n />\n );\n}\n\nexport interface CircleSkeletonProps extends Omit<SkeletonProps, 'width' | 'height' | 'borderRadius'> {\n size?: number;\n}\n\nfunction Circle({ size, ...props }: CircleSkeletonProps): ReactElement {\n const currentSize = size || 'kitt.skeleton.shape.circle.size';\n const currentBorderRadius = size ? size * 0.5 : 'kitt.skeleton.shape.circle.borderRadius';\n\n return <Skeleton {...props} width={currentSize} height={currentSize} borderRadius={currentBorderRadius} />;\n}\n\nexport interface SquareSkeletonProps extends Omit<SkeletonProps, 'width' | 'height' | 'borderRadius'> {\n size?: number;\n}\n\nfunction Square({ size, ...props }: SquareSkeletonProps): ReactElement {\n const currentSize = size || 'kitt.skeleton.shape.square.size';\n const currentBorderRadius = size ? size * 0.5 : 'kitt.skeleton.shape.square.borderRadius';\n\n return <Skeleton {...props} width={currentSize} height={currentSize} borderRadius={currentBorderRadius} />;\n}\n\nSkeleton.Bar = Bar;\nSkeleton.Circle = Circle;\nSkeleton.Square = Square;\n","export interface MapCenter {\n long: number;\n lat: number;\n zoom: number;\n}\n\nexport interface GetStaticMapImageUrlParams {\n mapId: string;\n apiToken: string;\n mapWidth: number;\n mapHeight: number;\n center: MapCenter;\n is2x?: boolean;\n}\n\nexport function getStaticMapImageUrl({\n mapId,\n apiToken,\n mapWidth,\n mapHeight,\n center,\n is2x,\n}: GetStaticMapImageUrlParams): string {\n const width = Math.round(mapWidth);\n const height = Math.round(mapHeight);\n\n const centerPart = `${center.long},${center.lat},${center.zoom}/`;\n\n const sizePart = `${width}x${height}`;\n\n const urlParts = [\n `https://api.mapbox.com/styles/v1/ornikar/${mapId}/static/`,\n centerPart,\n sizePart,\n is2x ? '@2x' : '',\n ];\n\n const mapImageUrl = new URL(urlParts.join(''));\n mapImageUrl.searchParams.append('access_token', apiToken);\n\n return mapImageUrl.toString();\n}\n","import { useEffect, useRef, useState } from 'react';\nimport { useKittMapConfig } from '../../KittMapConfigProvider/hooks/useKittMapConfig';\nimport type { GetStaticMapImageUrlParams } from '../utils/getStaticMapImageUrl';\nimport { getStaticMapImageUrl } from '../utils/getStaticMapImageUrl';\n\ninterface UseGetStaticMapImageUrlParams extends Omit<GetStaticMapImageUrlParams, 'mapId' | 'apiToken'> {\n forceMapId?: string;\n forceApiToken?: string;\n}\n\nexport function useGetStaticMapImageUrl({\n forceMapId,\n forceApiToken,\n mapWidth,\n mapHeight,\n center,\n is2x,\n}: UseGetStaticMapImageUrlParams): string {\n const { mapId, apiToken } = useKittMapConfig();\n const [currentUrl, setCurrentUrl] = useState<string>('');\n\n const currentMapIdRef = useRef(forceMapId || mapId);\n const currentApiTokenRef = useRef(forceApiToken || apiToken);\n\n useEffect(() => {\n const newUrl = getStaticMapImageUrl({\n center,\n is2x,\n mapHeight,\n mapWidth,\n mapId: currentMapIdRef.current,\n apiToken: currentApiTokenRef.current,\n });\n\n setCurrentUrl(newUrl);\n }, [mapHeight, mapWidth, center, is2x]);\n\n return currentUrl;\n}\n","import { RotateCCWIcon } from '@ornikar/kitt-icons';\nimport type { ReactElement } from 'react';\nimport { IconButton } from '../IconButton/IconButton';\nimport { View } from '../native-base/primitives';\n\ninterface StaticMapErrorProps {\n onReload?: () => void;\n}\n\nexport function StaticMapError({ onReload }: StaticMapErrorProps): ReactElement {\n return (\n <View alignItems=\"center\" justifyContent=\"center\" height=\"100%\" backgroundColor=\"kitt.separator\">\n <IconButton icon={<RotateCCWIcon />} onPress={onReload} />\n </View>\n );\n}\n","import type { ReactElement } from 'react';\nimport { Image } from '../native-base/primitives';\n\ninterface StaticMapImageProps {\n url: string;\n alt?: string;\n width: number;\n height: number;\n onLoadEnd?: () => void;\n onError?: () => void;\n}\n\nexport function StaticMapImage({ url, alt, width, height, onLoadEnd, onError }: StaticMapImageProps): ReactElement {\n return (\n <Image source={{ uri: url }} width={width} height={height} alt={alt} onError={onError} onLoadEnd={onLoadEnd} />\n );\n}\n","import type { ReactElement } from 'react';\nimport { Skeleton } from '../Skeleton/Skeleton';\nimport { View } from '../native-base/primitives';\n\nexport function StaticMapLoader(): ReactElement {\n return (\n <View alignItems=\"center\" justifyContent=\"center\" height=\"100%\">\n <Skeleton isLoading width=\"100%\" height=\"100%\" />\n </View>\n );\n}\n","import type { ReactElement } from 'react';\nimport { MapMarkerLarge, MapMarkerPosition, MapMarkerSimple } from '../MapMarker/MapMarker';\nimport { View } from '../native-base/primitives';\n\ntype MarkerVariant = 'large' | 'position' | 'simple';\n\ninterface MarkerProps {\n variant?: MarkerVariant;\n}\n\nfunction getMarkerPosition(variant: MarkerVariant): [{ translateX: number }, { translateY: number }] {\n if (variant === 'position') return [{ translateX: -2 }, { translateY: 8 }];\n\n if (variant === 'large') return [{ translateX: 8 }, { translateY: -20 }];\n\n return [{ translateX: 6 }, { translateY: -15 }];\n}\n\nexport function StaticMapMarker({ variant = 'simple' }: MarkerProps): ReactElement {\n return (\n <View position=\"absolute\" top=\"0\" left=\"0\" width=\"100%\" height=\"100%\">\n <View\n justifyContent=\"center\"\n alignItems=\"center\"\n height=\"100%\"\n style={{\n transform: getMarkerPosition(variant),\n }}\n >\n {variant === 'position' ? <MapMarkerPosition /> : null}\n {variant === 'large' ? <MapMarkerLarge /> : null}\n {variant === 'simple' ? <MapMarkerSimple /> : null}\n </View>\n </View>\n );\n}\n","export function getRangedWidthValue(nextWidth: number, maxValue: number): number {\n const rangedMapWidth = Math.max(1, Math.min(nextWidth, maxValue));\n\n return rangedMapWidth;\n}\n","import { PixelRatio } from 'react-native';\n\nexport function getShouldDisplay2x(): boolean {\n const currentDevicePixelRatio = PixelRatio.get();\n\n return currentDevicePixelRatio > 1;\n}\n","import type { ReactElement, ReactNode } from 'react';\nimport { useState } from 'react';\nimport type { LayoutChangeEvent } from 'react-native';\nimport type { ViewProps } from '../native-base/primitives';\nimport { View } from '../native-base/primitives';\nimport { StaticMapError } from './StaticMapError';\nimport { StaticMapImage } from './StaticMapImage';\nimport { StaticMapLoader } from './StaticMapLoader';\nimport { StaticMapMarker } from './StaticMapMarker';\nimport { useGetStaticMapImageUrl } from './hooks/useGetStaticMapImageUrl';\nimport { getRangedWidthValue } from './utils/getRangedWidthValue';\nimport { getShouldDisplay2x } from './utils/getShouldDisplay2x';\nimport type { MapCenter } from './utils/getStaticMapImageUrl';\n\nconst mapBoxMaxPictureWidth = 1280;\n\n// Mapbox requestable width for image is between 1 - 1280px\nfunction getPictureWidth(nextWidth: number): number {\n return getRangedWidthValue(nextWidth, mapBoxMaxPictureWidth);\n}\n\nexport interface StaticMapProps extends Omit<ViewProps, 'onLayout'> {\n width?: number;\n height: number;\n alt?: string;\n center: MapCenter;\n marker?: ReactNode;\n /**\n * Mapbox map id.\n * Only use this props if you want to use something different that the config in <KittMapConfigProvider />\n */\n mapId?: string;\n /**\n * Mapbox api access token.\n * Only use this props if you want to use something different that the config in <KittMapConfigProvider />\n */\n apiToken?: string;\n\n onLoaded?: () => void;\n onError?: () => void;\n}\n\nexport function StaticMap({\n width = 0,\n height,\n alt,\n apiToken,\n mapId,\n marker,\n center,\n onLoaded,\n onError,\n ...props\n}: StaticMapProps): ReactElement {\n const [currentWidth, setCurrentWidth] = useState(getPictureWidth(width));\n const [isLoading, setIsLoading] = useState(true);\n const [hasError, setHasError] = useState(false);\n const [currentMapKey, setCurrentMapKey] = useState(0);\n\n const shouldDisplay2xImage = getShouldDisplay2x();\n\n const mapUrl = useGetStaticMapImageUrl({\n forceApiToken: apiToken,\n forceMapId: mapId,\n mapWidth: currentWidth,\n mapHeight: height,\n center,\n is2x: shouldDisplay2xImage,\n });\n\n const handleParentLayout = (event: LayoutChangeEvent): void => {\n const { nativeEvent } = event;\n const rangedMapWidth = getPictureWidth(nativeEvent.layout.width);\n\n setCurrentWidth(rangedMapWidth);\n };\n\n const handleImageLoadEnd = (): void => {\n setIsLoading(false);\n\n if (onLoaded) onLoaded();\n };\n\n const handleError = (): void => {\n setHasError(true);\n\n if (onError) onError();\n };\n\n const handleReload = (): void => {\n setHasError(false);\n setIsLoading(true);\n setCurrentMapKey((prev) => prev + 1);\n };\n\n const shouldDisplayMarker = marker && !isLoading && !hasError;\n\n // Prevents requesting unusable image\n const shouldDisplayPicture = currentWidth > 1 && mapUrl;\n\n return (\n <View\n position=\"relative\"\n maxWidth={mapBoxMaxPictureWidth}\n height={height}\n onLayout={handleParentLayout}\n {...props}\n data-chromatic={process.env.KITT_MAP_CHROMATIC_IGNORE === 'true' ? 'ignore' : undefined}\n >\n {shouldDisplayPicture ? (\n <StaticMapImage\n key={`map-key-${currentMapKey}`}\n url={mapUrl}\n width={currentWidth}\n height={height}\n alt={alt}\n onLoadEnd={handleImageLoadEnd}\n onError={handleError}\n />\n ) : null}\n\n {shouldDisplayMarker ? (\n <View position=\"absolute\" top=\"0\" left=\"0\" width=\"100%\" height=\"100%\">\n {marker}\n </View>\n ) : null}\n\n {isLoading ? (\n <View position=\"absolute\" top=\"0\" left=\"0\" width=\"100%\" height=\"100%\">\n <StaticMapLoader />\n </View>\n ) : null}\n\n {hasError ? (\n <View position=\"absolute\" top=\"0\" left=\"0\" width=\"100%\" height=\"100%\">\n <StaticMapError onReload={handleReload} />\n </View>\n ) : null}\n </View>\n );\n}\n\nStaticMap.Image = StaticMapImage;\nStaticMap.Loader = StaticMapLoader;\nStaticMap.Error = StaticMapError;\nStaticMap.Marker = StaticMapMarker;\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' | 'warn';\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 'warn': {\n return variant === 'outline' ? 'warning' : '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 { Platform } from 'react-native';\nimport { css } from 'styled-components/native';\nimport { getTypographyTypeConfigKey } from '../typography/Typography';\nimport type { InputUIState } from './utils';\n\nexport interface TextInputMixinProps {\n $state: InputUIState;\n}\n\n/** @deprecated this mixin is not SSR compatible */\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 }) =>\n theme.kitt.forms.input.states[$state].color || theme.kitt.forms.input.states.default.color};\n font-family: ${({ theme }) =>\n Platform.OS === 'web'\n ? theme.kitt.typography.types.bodies.fontFamily.web.regular\n : theme.kitt.typography.types.bodies.fontFamily.native.regular};\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=\"timePicker.ModalDateTimePicker.dateTimeNativePicker\"\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=\"timePicker.TimePicker.dateTimeNativePicker\"\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 } from 'react';\nimport { forwardRef } from 'react';\nimport { useTheme } from 'styled-components/native';\nimport type { ViewProps } from '../native-base/primitives';\nimport { View } from '../native-base/primitives';\nimport type { TooltipPosition } from './Tooltip';\n\nexport interface ArrowProps {\n position: TooltipPosition;\n top?: number;\n left?: number;\n display?: ViewProps['display'];\n}\n\nexport const Arrow = forwardRef<typeof View, ArrowProps>(\n ({ position, top, left, display }: ArrowProps, ref): ReactElement => {\n const theme = useTheme();\n\n const transformStyle = [\n {\n rotate: position === 'bottom' ? '180deg' : '0deg',\n },\n ];\n\n return (\n <View\n ref={ref}\n display={display || { base: 'none', small: 'flex' }}\n width=\"kitt.tooltip.arrow.width\"\n height=\"kitt.tooltip.arrow.height\"\n left={left}\n top={top}\n style={{\n transform: transformStyle,\n }}\n >\n <TooltipArrowIcon color={theme.kitt.tooltip.backgroundColor} opacity={theme.kitt.tooltip.opacity} />\n </View>\n );\n },\n);\n","import type { ReactElement, ReactNode } from 'react';\nimport { View } from '../native-base/primitives';\nimport { Typography } from '../typography/Typography';\n\ninterface TooltipContentProps {\n children: ReactNode;\n}\n\nexport function TooltipContent({ children }: TooltipContentProps): ReactElement {\n return (\n <View\n backgroundColor=\"kitt.tooltip.backgroundColor\"\n borderRadius=\"kitt.tooltip.borderRadius\"\n opacity=\"kitt.tooltip.opacity\"\n paddingY=\"kitt.tooltip.verticalPadding\"\n paddingX=\"kitt.tooltip.horizontalPadding\"\n >\n <Typography.Text base=\"body-small\" color=\"white-light\">\n {children}\n </Typography.Text>\n </View>\n );\n}\n","import { useEffect, useState } from 'react';\nimport { useWindowDimensions } from 'react-native';\n\ninterface CustomShiftParams {\n tooltipX: number;\n refPageX: number;\n refWidth: number;\n floatingWidth: number;\n wWidth: number;\n}\n// HG 08/11/2022\n// At the moment `shift` from `@floating-ui/react-native` does not work properly\nexport function customShift({ tooltipX, refPageX, refWidth, floatingWidth, wWidth }: CustomShiftParams): {\n left?: number;\n right?: number;\n} {\n const refCenterOnScreen = refPageX + refWidth * 0.5;\n const halfFloatingWith = floatingWidth * 0.5;\n\n // Left collisions\n if (refCenterOnScreen - halfFloatingWith < 0) {\n return {\n left: 0,\n right: undefined,\n };\n }\n\n // Right collisions\n if (refCenterOnScreen + halfFloatingWith > wWidth) {\n return {\n left: undefined,\n right: 0,\n };\n }\n\n // No collisions\n return {\n left: tooltipX,\n right: undefined,\n };\n}\n\ninterface UseCustomShiftParams {\n tooltipX: number;\n pressableRect?: {\n pageX: number;\n width: number;\n };\n floatingWidth?: number;\n}\n\nexport function useCustomShift({ tooltipX, pressableRect, floatingWidth }: UseCustomShiftParams): {\n left?: number;\n right?: number;\n} {\n const windowDimensions = useWindowDimensions();\n const [customShiftData, setCustomShiftData] = useState<{ left?: number; right?: number }>({\n left: undefined,\n right: undefined,\n });\n\n useEffect(() => {\n if (tooltipX === undefined || !pressableRect || floatingWidth === undefined) return;\n\n const res = customShift({\n tooltipX,\n refPageX: pressableRect.pageX,\n refWidth: pressableRect.width,\n wWidth: windowDimensions.width,\n floatingWidth,\n });\n\n setCustomShiftData(res);\n }, [floatingWidth, tooltipX, windowDimensions, pressableRect]);\n\n return customShiftData;\n}\n","import type { MiddlewareData, Placement } from '@floating-ui/react-native';\nimport { autoPlacement, offset, useFloating } from '@floating-ui/react-native';\nimport type { ReactElement, ReactNode, RefObject } from 'react';\nimport { useCallback, useEffect, useRef, useState } from 'react';\nimport Animated, { useAnimatedStyle, useSharedValue, withSpring } from 'react-native-reanimated';\nimport { useTheme } from 'styled-components/native';\nimport { Pressable, View } from '../native-base/primitives';\nimport { Arrow } from './Arrow';\nimport { TooltipContent } from './TooltipContent';\nimport { useCustomShift } from './hooks/useCustomShift';\n\nexport type TooltipPosition = 'bottom' | 'top';\nexport type WebFloatingPosition = 'fixed' | 'absolute';\n\nexport interface UpdateCallbackParams {\n x: number;\n y: number;\n placement: Placement;\n strategy: string;\n refs: {\n reference: RefObject<any>;\n floating: RefObject<any>;\n offsetParent?: RefObject<any>;\n };\n middlewareData: MiddlewareData;\n update: () => void;\n}\n\ntype OnUpdateCallback = (params: UpdateCallbackParams) => void;\n\nexport interface TooltipProps {\n children: NonNullable<ReactNode>;\n content: NonNullable<ReactNode>;\n floatingPadding?: number;\n position?: TooltipPosition;\n zIndex?: number;\n fullWidth?: boolean;\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 /**\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 floatingStrategy?: {\n web: WebFloatingPosition;\n };\n onToggle?: (isVisible: boolean) => void;\n onUpdate?: OnUpdateCallback;\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 = 'top',\n content,\n floatingPadding,\n zIndex = 1000,\n fullWidth,\n onUpdate,\n onToggle,\n}: TooltipProps): ReactElement {\n const theme = useTheme();\n const currentFloatingPadding = floatingPadding || theme.kitt.tooltip.floatingPadding;\n\n const [floatingWidth, setFloatingWidth] = useState<number | undefined>(undefined);\n const pressableRectRef = useRef<{ width: number; pageX: number } | undefined>(undefined);\n\n const pressed = useSharedValue(defaultVisible);\n\n const animatedStyles = useAnimatedStyle(() => {\n return {\n opacity: withSpring(pressed.value ? theme.kitt.tooltip.opacity : 0),\n transform: [\n {\n scale: withSpring(pressed.value ? 1 : 0.8),\n },\n ],\n };\n });\n\n const { x, y, reference, floating, update, refs, middlewareData, strategy, placement } = useFloating({\n placement: position,\n middleware: [\n // Order matters\n offset(currentFloatingPadding),\n // shift() => shift is replaced by customShift\n autoPlacement({\n allowedPlacements: ['top', 'bottom'],\n padding: currentFloatingPadding,\n }),\n // arrow is not reliable enough for implementation\n // arrow({ element: arrowRef }),\n ],\n });\n\n const tooltipY = Math.round(y ?? 0);\n const tooltipX = Math.round(x ?? 0);\n\n useEffect(() => {\n if (!onUpdate) return;\n onUpdate({\n x: tooltipX,\n y: tooltipY,\n placement,\n strategy,\n update,\n refs,\n middlewareData,\n });\n }, [tooltipX, tooltipY, placement, strategy, update, refs, middlewareData, onUpdate]);\n\n const getPressableRect = useCallback(\n (element) => {\n if (element) {\n element.measure((_x: number, _y: number, width: number, _h: number, pageX: number) => {\n pressableRectRef.current = { width, pageX };\n });\n }\n },\n [pressableRectRef],\n );\n\n const customShiftData = useCustomShift({ tooltipX, pressableRect: pressableRectRef.current, floatingWidth });\n\n const handlePress = (): void => {\n if (onToggle) onToggle(!!pressed.value);\n pressed.value = !pressed.value;\n };\n\n return (\n <View position=\"relative\">\n <View ref={reference}>\n <Pressable ref={getPressableRect} 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 position=\"absolute\"\n maxWidth={fullWidth ? undefined : { base: '100%', small: 'kitt.tooltip.maxWidth' }}\n top={tooltipY}\n left={customShiftData.left}\n right={customShiftData.right}\n onLayout={({ nativeEvent }) => setFloatingWidth(nativeEvent.layout.width)}\n >\n <Animated.View style={[animatedStyles]}>\n <TooltipContent>{content}</TooltipContent>\n </Animated.View>\n </View>\n </View>\n );\n}\n\nTooltip.Arrow = Arrow;\nTooltip.Content = TooltipContent;\n","import 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 type { TypographyBreakpointType, TypographyType } from './Typography';\nimport { getTypographyTypeConfigKeyFromTypeName, isTypographyHeader } from './Typography';\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 <Emoji\n size={size}\n emoji={emoji}\n alignSelf=\"center\"\n _web={{\n // @ts-expect-error -- transform expects number, but string works on web\n style: {\n transform: 'translateY(20%)',\n },\n /* Style Twemoji: https://github.com/twitter/twemoji#inline-styles */\n marginLeft,\n marginRight,\n }}\n />\n );\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","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","import { makeDecorator } from '@storybook/addons';\nimport type { ReactElement, ReactNode } from 'react';\nimport { ThemeProvider } from 'styled-components/native';\nimport type { AppTheme, 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 appTheme?: AppTheme;\n isSSR?: KittNativeBaseProviderProps['isSSR'];\n children: ReactNode;\n}\n\nexport function KittThemeProvider({ isSSR, children, appTheme }: KittThemeProviderProps): ReactElement {\n const theme = useKittTheme();\n return (\n <ThemeProvider theme={theme}>\n <KittNativeBaseProvider theme={theme} isSSR={isSSR} appTheme={appTheme}>\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\n/**\n * Display children if match window size options\n *\n * WARNING: Not SSR friendly.\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 { useBreakpointValue } from 'native-base';\nimport { KittBreakpointNameEnum } from '../../KittBreakpoints';\n\nexport function useCurrentBreakpointName(): KittBreakpointNameEnum {\n return useBreakpointValue({\n base: KittBreakpointNameEnum.BASE,\n small: KittBreakpointNameEnum.SMALL,\n medium: KittBreakpointNameEnum.MEDIUM,\n large: KittBreakpointNameEnum.LARGE,\n wide: KittBreakpointNameEnum.WIDE,\n });\n}\n"],"names":["Stack","NativeBaseStack","VStack","NativeBaseVStack","HStack","NativeBaseHStack","Center","NativeBaseCenter","View","NativeBaseView","ScrollView","NativeBaseScrollView","Pressable","NativeBasePressable","Image","NativeBaseImage","FlatList","NativeBaseFlatList","SectionList","NativeBaseSectionList","createResponsiveStyleFromProp","responsiveBooleanValue","valueIfTrue","valueIfFalse","keys","Object","length","responsiveValue","forEach","breakpointName","warn","message","process","env","NODE_ENV","console","deprecatedMessage","symbol","deprecation","replaceBy","replaceMessage","undefined","deprecatedInComponent","component","StyledAnimatedView","styled","Animated","theme","kitt","button","borderRadius","$isDisabled","disabled","backgroundColor","AnimatedContainer","animatedStyles","children","_jsx","KittBreakpoints","BASE","SMALL","MEDIUM","LARGE","WIDE","KittBreakpointsMax","KittBreakpointNameEnum","IsHeaderTypographyContext","createContext","TypographyColorContext","useTypographyColor","useContext","TypographyDefaultColorContext","useTypographyDefaultColor","getTypographyTypeConfigKey","isMediumOrAbove","responsive","matchWindowSize","minWidth","getTypographyTypeConfigKeyFromTypeName","isTypeHeader","type","startsWith","isTypographyHeader","isHeaderTypographyInContext","Error","createNativeBaseFontSize","typeWithMediumForced","medium","small","base","fontSizeForNativeBase","typeName","value","getNBThemeColorFromColorProps","colorName","Typography","accessibilityRole","legacyBase","legacySmall","legacyMedium","legacyLarge","large","legacyWide","wide","variant","color","otherProps","_excluded","defaultColor","hasTypographyAncestor","baseOrDefaultToBody","isHeader","nonNullableVariant","entries","key","currentColor","text","NBText","content","TypographyText","props","TypographyParagraph","Platform","OS","createHeading","level","defaultBase","TypographyHeading","displayName","SetDefaultColor","Provider","Text","Paragraph","Header1","Header2","Header3","Header4","Header5","Header6","h1","h2","h3","h4","h5","defaultIconSize","IconContainer","$color","$size","$align","Icon","icon","size","align","clonedIcon","cloneElement","TypographyIconSpecifiedColor","useTheme","typography","colors","TypographyIconInheritColor","TypographyIcon","_excluded2","getTextColorByType","isHovered","isPressed","isButtonInteractedWith","ButtonIcon","iconPosition","testID","ButtonContentChildren","buttonIconSharedProps","sharedNativeStyle","flexShrink","_jsxs","ButtonContent","isDisabled","isFocused","flexGrow","flexBasis","getCurrentPaddingConfig","ButtonPadding","currentPaddingKey","DisabledBorder","FocusBorder","buttonTheme","style","width","borderWidth","focus","height","transitionProperty","transitionDuration","transition","duration","transitionTimingFunction","timingFunction","hasVariant","getVariantValuesIfExist","useNativeAnimation","isPressedInternal","pressed","useSharedValue","pressedBackgroundColor","scale","useAnimatedStyle","interpolateColor","transform","withSpring","active","onPressIn","handlePressIn","onPressOut","handlePressOut","getButtonSize","xLarge","allowedGhostTypes","Button","forwardRef","ref","stretch","sizeProp","href","hrefAttrs","isHoveredInternal","isFocusedInternal","onPress","__DEV__","includes","deprecatedProp","SpinningIcon","String","animationRef","useRef","Value","rotation","current","interpolate","inputRange","outputRange","useEffect","animation","loop","timing","toValue","easing","Easing","linear","useNativeDriver","start","stop","rotate","LoaderIcon","maxWidth","minHeight","maxHeight","hasWidthMatched","hasHeightMatched","useMatchWindowSize","options","useWindowDimensions","getCurrentStretchValue","isStretch","isMedium","ActionsItem","as","isCurrentStretch","useState","isLoading","setIsLoading","mountedRef","handlePress","e","callPressAndUpdateLoadingState","ActionsButton","getCurrentLayout","layout","getCurrentDirection","Actions","currentAlignItems","currentDirection","Item","lateOceanColorPalette","lateOcean","lateOceanLight1","lateOceanLight2","lateOceanLight3","warmEmbrace","warmEmbraceLight1","black1000","black800","black555","black400","black200","black100","black50","black25","white","viride","englishVermillon","goldCrayola","aero","seaShell","transparent","moonPurple","moonPurpleLight1","primary","primaryLight","accent","accentLight","success","correct","danger","info","warning","separator","hover","black","blackDisabled","blackLight","blackAnthracite","uiBackground","uiBackgroundLight","overlay","dark","light","defaultAvatarSize","defaultAvatarIconSize","largeAvatarSize","largeAvatarIconSize","avatar","iconSize","getCurrentRadius","sizeVariant","round","getCurrentSize","getIconSize","getInitials","firstname","lastname","toUpperCase","AvatarContent","src","alt","isLight","uri","Avatar","currentSize","currentBorderRadius","BottomSheetContainerView","bottomSheet","container","padding","BottomSheetComp","Content","hasScrollView","hasBackdrop","hasHandle","onDismiss","Wrapper","useMemo","BottomSheetScrollView","BottomSheetView","initialSnapPoints","useBottomSheetDynamicSnapPoints","animatedHandleHeight","animatedSnapPoints","animatedContentHeight","handleContentLayout","handle","data","BottomSheet","useBottomSheet","useStaticBottomSheet","bottomSheetRef","BottomSheetMemoized","ModalBehaviourPortal","_Fragment","OnCloseContext","OnCloseProvider","onClose","useOnCloseModalBehaviour","CloseButton","onCloseContextCallback","handleClose","ModalBehaviour","visible","position","top","left","OverlayPressable","StyleSheet","absoluteFillObject","Overlay","CardModalRotationContainer","NativeOpacityAnimation","onExited","hasRunAnimationRef","handleAnimationFinished","opacityStyle","cardModal","x1","y1","x2","y2","opacity","withTiming","bezier","isFinished","runOnJS","NativeRotationAnimation","onEntered","animatedStyle","rotateZ","CardModalAnimation","onEnter","onExit","isModalVisible","setIsModalVisible","isContentVisible","setIsContentVisible","handleAnimationExited","Modal","ScrollContainer","CardModalBehaviour","isModalBehaviourVisible","setIsModalBehaviourVisible","handleExitAnimationDone","CardModalBody","paddingX","paddingY","CardModalFooter","hasSeparator","CardModalHeader","title","paddingBottom","right","defaultContainerPadding","CardModal","withoutShadow","Body","Header","Footer","selected","Boolean","progress","useDerivedValue","choices","item","backgroundStyles","defaultBg","pressedBg","selectedBg","disabledBg","getCurrentTextColor","isSelected","getBorderRadius","defaultRadius","$variant","border","css","ChoiceItemView","$isHovered","$isPressed","$isSelected","hoverWhenSelected","defaultBackground","ifWindowSizeMatches","property","ChoiceItem","onChange","onBlur","onFocus","handleChange","checked","ChoiceItemContainer","$isLast","$direction","spacing","row","column","ChoicesContainer","direction","Choices","id","currentValue","setCurrentValue","isForm","childrenArray","Children","toArray","sharedProps","newValue","map","child","index","element","createChoicesComponent","ButtonChoices","ChoicesElements","dialogModal","DialogModalAnimation","DialogModalBehaviour","DialogModal","illustration","actions","DialogModalButton","Emoji","emoji","alignSelf","_web","parse","assetType","emojiData","url","ExternalAppLink","Component","appScheme","appValue","onOpenAppError","rest","handleOnPress","Linking","canOpenURL","canOpen","defaultPrevented","openURL","error","Sms","phoneNumber","Tel","_excluded3","Mail","emailAddress","_excluded4","defaultOpenLinkBehavior","web","ExternalLink","openLinkBehavior","WebBrowser","openBrowserAsync","contentPadding","horizontal","vertical","hoverBackgroundColor","focusBorderColor","ghost","hoverColor","activeColor","subtle","borderColor","card","secondary","webAnimationContentDuration","webAnimationContentEasing","webAnimationOverlayDuration","webAnimationOverlayEasing","overlayHorizontalPadding","maxWidthWithPadding","shadow","offsetX","offsetY","radius","header","footer","overlayPadding","feedbackMessage","checkbox","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","rightContainer","states","inputField","containerPaddingTop","containerPaddingBottom","feedbackPaddingTop","labelContainerPaddingBottom","labelFeedbackMarginLeft","inputTag","labelColor","radio","unchecked","innerSize","innerBackgroundColor","radioButtonGroup","textArea","forms","highlight","iconButton","listItem","innerMargin","navigationModal","pageLoader","strokeWidth","fill","delay","circleBackgroundFillDuration","filledCircleFillDuration","groupFilledCircleRotationDuration","filledCircleRotationDuration","fillEasingFunction","picker","ios","android","shadows","cards","low","highBase","highMedium","highLarge","navigation","panel","skeleton","flareColor","animationDuration","shape","bar","circle","square","tag","outline","hex2rgba","hex","alpha","r","parseInt","slice","g","b","tooltip","horizontalPadding","verticalPadding","floatingPadding","out","arrow","breakpoints","values","min","smallBreakpoint","mediumBreakpoint","largeBreakpoint","wideBreakpoint","max","palettes","createWindowSizeHelper","dimensions","mapWindowWidth","widthList","previousMinWidth","found","find","Number","useKittTheme","useWindowSize","kittTheme","CheckboxAndLabelPressableWrapper","CheckboxContainer","$isChecked","$hasLabel","Checkbox","hitSlop","prefixWithZero","maxLength","padStart","dayFormatter","monthFormatter","yearFormatter","getDayInInterval","getMonthInInterval","minDate","maxDate","minValue","getMonth","maxValue","getYearInInterval","getFullYear","isNumber","isNaN","onDatePartChange","validYearMinLength","arrayParts","isEverythingUndefined","every","v","isEverythingDefined","nextValue","Date","isValidYear","toString","setDate","setMonth","setFullYear","setMinutes","setHours","setSeconds","setMilliseconds","isMinDateAfterNextValue","getTime","isMaxDateBeforeNextValue","stringToNumber","keyboardDatePickerReducer","state","action","dateParts","nextDay","currentDay","displayedDay","currentMonth","currentYear","nextMonth","displayedMonth","nextYear","displayedYear","nextCurrentDay","nextCurrentMonth","nextCurrentYear","InputTextContainer","InputText","formState","internalForceState","autoCorrect","textContentType","autoComplete","keyboardType","multiline","onSubmitEditing","shouldHandleSingleLineOnIOS","getCurrentInternalForcedState","InputPart","PartContainer","KeyboardDatePicker","dayRef","monthRef","yearRef","defaultValue","defaultDay","getDate","defaultMonth","defaultYear","useReducer","dispatch","sharedInputPartProps","nativeEvent","PressableDateInputs","DatePickerAndroid","pickerDefaultDate","pickerUITestID","isDefaultVisible","setIsFocused","handleModalOpen","DateTimePickerAndroid","open","now","timestamp","date","onTouchCancel","BodyView","ModalBody","FooterView","ModalFooter","StyleWebWrapper","PressableIconButtonWebWrapperWithTheme","PressableIconButtonWebWrapper","withTheme","StyledPressableIconButton","PressableIconButton","AnimatedIconButtonBackground","AnimatedViewContainer","PressableAnimatedContainer","accessibilityLabel","opacityStyles","scaleStyles","IconButtonContentBorder","IconButtonContent","IconButton","HeaderView","LeftIconView","RightIconView","TitleView","isIconLeft","ModalHeader","ModalView","ContentView","NativeModal","getDatePickerDisplayMode","PlatformDateTimePicker","defaultDate","maximumDate","minimuDate","displayMode","iosProps","textColor","_event","ModalTitle","ModalPlatformDateTimePicker","isVisible","validateButtonLabel","newDate","prev","handleSubmit","DefaultNativeUIDatePicker","pickerUITitle","pickerUIValidateButtonLabel","isPickerUIVisible","setIsPickerUIVisible","handleModalClose","NativeUIDatePicker","DatePicker","fillMode","InputEmail","getColorFromState","InputFeedback","InputField","label","labelFeedback","feedback","getIconColor","InputIcon","InputPressable","InputPassword","isPasswordDefaultVisible","setIsVisible","InputPhone","getTypographyColor","InputTagContainer","InputTag","typographyColor","Label","htmlFor","OuterRadio","SelectedOuterRadio","SelectedInnerRadio","Container","Radio","$isFirst","isFirst","isLast","HoverBorder","shouldDisplayBorder","pressedBorderColor","RadioButton","RadioButtonGroupItem","RadioButtonGroup","clone","TextArea","Highlight","KittMapConfigProviderContext","KittMapConfigProvider","mapId","apiToken","providerValue","useKittMapConfig","context","ListItemContent","SideContainerView","side","ListItemSideContainer","SideContentView","ListItemSideContent","ContainerView","withPadding","borders","ListItem","Fragment","wrapperProps","containerProps","SideContent","SideContainer","MapMarkerSimple","DefaultMarkerSvg","MapMarkerLarge","LargeMarkerSvg","MapMarkerPosition","PositionMarkerSvg","IconContent","getColorByType","getIconButtonColor","messageType","StyledMessageContainer","$insets","$hasNoRadius","$type","StyledDismissWrapper","StyledIconContainer","StyledTextContent","$isCenteredText","StyledMessageContent","BaseMessage","hasNoRadius","centeredText","insets","Message","createKittSpaces","sizes","overridenNativeBaseSizeandSpaceScale","fromEntries","createKittNativeBaseCustomTheme","appTheme","spaces","appBreakpoints","extendedTheme","extendTheme","app","radii","lg","MAX_SAFE_INTEGER","md","sm","xl","xs","borderWidths","space","fontSizes","lineHeights","fontWeights","fonts","shadowColor","shadowOffset","shadowOpacity","shadowRadius","cardModals","components","Input","baseStyle","py","px","_disabled","_light","placeholderTextColor","bg","_hover","_focus","_stack","outlineWidth","_invalid","_ios","selectionColor","_android","variants","underlined","rounded","filled","unstyled","_dark","KittNativeBaseProvider","isSSR","nativeBaseCustomTheme","ViewWithPadding","ContentPadding","StyledViewWithPadding","$insetTop","$insetBottom","shouldHandleBottomNotch","shouldHandleTopNotch","useSafeAreaInsets","bottom","insetBottom","insetTop","FooterContainer","$hasSeparator","HeaderContainer","$isTransparent","$hasRight","$hasLeft","Row","$hasContent","ButtonContainer","ChildrenComponent","paddingHorizontal","HeaderTitle","isTransparent","NativeSlideInAnimation","wHeight","translateStyle","translateY","flex","NavigationModalAnimation","NavigationModalBehaviour","NavigationModalContainer","$backgroundColor","ContainerWithoutHeader","NavigationModal","Padding","Notification","onDelete","AnimatedCircle","createAnimatedComponent","Circle","AnimatedLoaderCircle","centerCoord","circlePerimeter","PI","strokeAnimation","useAnimatedProps","strokeDashoffset","AnimatedBackgroundCircle","withDelay","isInfinitAnimation","AnimatedFillCircleContainer","withRepeat","rotationStyles","absoluteFill","shouldReverse","AnimatedFilledCircle","PageLoaderContainer","PageLoader","ContainerPressable","PickerItem","Picker","initialValue","onValueSelected","setValue","NativePicker","itemValue","React","handleValueSelected","AnimatedLinearGradient","LinearGradient","SkeletonContent","sharedX","inOut","ease","linearGradientStyle","translateX","x","y","Skeleton","setWidth","Bar","Square","getStaticMapImageUrl","mapWidth","mapHeight","center","is2x","centerPart","lat","zoom","sizePart","urlParts","mapImageUrl","URL","join","searchParams","append","useGetStaticMapImageUrl","forceMapId","forceApiToken","currentUrl","setCurrentUrl","currentMapIdRef","currentApiTokenRef","newUrl","StaticMapError","onReload","StaticMapImage","onLoadEnd","onError","StaticMapLoader","getMarkerPosition","StaticMapMarker","getRangedWidthValue","nextWidth","rangedMapWidth","getShouldDisplay2x","currentDevicePixelRatio","PixelRatio","get","mapBoxMaxPictureWidth","getPictureWidth","StaticMap","marker","onLoaded","currentWidth","setCurrentWidth","hasError","setHasError","currentMapKey","setCurrentMapKey","shouldDisplay2xImage","mapUrl","handleParentLayout","event","KITT_MAP_CHROMATIC_IGNORE","handleImageLoadEnd","handleError","handleReload","Loader","Marker","Flex","withConfig","shouldForwardProp","prop","defaultValidatorFn","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","name","SmallScreenRow","SmallScreenCol","FlexRow","FlexCol","StoryGridRow","breakpoint","breakpointValue","StoryGridCol","titleColor","isNative","StoryGrid","Col","getLabelColor","Tag","styledTextInputMixin","$state","typeConfigKey","Title","ModalDateTimePicker","timePickerPlaceholder","formatNumberToTimeString","time","formatDateToTimeString","getHours","getMinutes","useTimePicker","isTimePickerModalVisible","setIsTimePickerModalVisible","todayAtNoon","getDay","dateTimePickerValue","displayedValue","timePickerState","handleInputPress","handleTimeChange","TimePicker","forceDefaultValue","Arrow","display","transformStyle","TooltipContent","customShift","tooltipX","refPageX","refWidth","floatingWidth","wWidth","refCenterOnScreen","halfFloatingWith","useCustomShift","pressableRect","windowDimensions","customShiftData","setCustomShiftData","res","pageX","Tooltip","defaultVisible","zIndex","fullWidth","onUpdate","onToggle","currentFloatingPadding","setFloatingWidth","pressableRectRef","useFloating","placement","middleware","offset","autoPlacement","allowedPlacements","reference","floating","update","refs","middlewareData","strategy","tooltipY","getPressableRect","useCallback","measure","_x","_y","_h","getTypographyTypeConfig","calcSizesFromType","marginLeft","marginRight","TypographyEmoji","WrappedComponent","_exp","$hasNoUnderline","TypographyLinkWebWrapper","styledLinaria","vars","StyledLink","$disabled","TypographyLink","noUnderline","KittThemeProvider","KittThemeDecorator","makeDecorator","parameterName","wrapper","parameters","MatchWindowSize","matchWindowSizeOptions","match","useCurrentBreakpointName","useBreakpointValue"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index-browser-all.es.js","sources":["../src/native-base/layout.ts","../src/native-base/primitives.ts","../src/utils/createResponsiveStyleFromProp/createResponsiveStyleFromProp.ts","../src/utils/warnings.ts","../src/Button/AnimatedContainer.tsx","../src/KittBreakpoints.ts","../src/typography/Typography.tsx","../src/Icon/Icon.tsx","../src/typography/TypographyIcon.tsx","../src/Button/utils/getTextColorByType.ts","../src/Button/ButtonContent.tsx","../src/Button/ButtonPadding.tsx","../src/Button/DisabledBorder.tsx","../src/Button/FocusBorder.tsx","../src/Button/getVariantValuesIfExist.ts","../src/Button/hooks/useNativeAnimation.ts","../src/Button/utils/getButtonSize.ts","../src/Button/Button.tsx","../src/Icon/SpinningIcon.tsx","../src/LoaderIcon/LoaderIcon.tsx","../src/utils/windowSize/useMatchWindowSize.ts","../src/Actions/ActionsItem.tsx","../src/Actions/ActionsButton.tsx","../src/Actions/Actions.tsx","../src/themes/palettes/lateOceanColorPalette.ts","../src/themes/late-ocean/colors.ts","../src/themes/late-ocean/avatar.ts","../src/Avatar/utils/getCurrentRadius.ts","../src/Avatar/utils/getCurrentSize.ts","../src/Avatar/utils/getIconSize.ts","../src/Avatar/utils/getInitials.ts","../src/Avatar/Avatar.tsx","../src/BottomSheet/BottomSheet.tsx","../src/BottomSheet/useBottomSheet.ts","../src/BottomSheet/useStaticBottomSheet.tsx","../src/ModalBehaviour/ModalBehaviourPortal.tsx","../src/ModalBehaviour/OnCloseContext.tsx","../src/ModalBehaviour/ModalBehaviour.tsx","../src/Overlay/Overlay.tsx","../src/CardModal/CardModalAnimation/CardModalRotationContainer.tsx","../src/CardModal/CardModalAnimation/NativeOpacityAnimation.tsx","../src/CardModal/CardModalAnimation/NativeRotationAnimation.tsx","../src/CardModal/CardModalAnimation/CardModalAnimation.tsx","../src/CardModal/CardModalBehaviour.tsx","../src/CardModal/CardModalBody.tsx","../src/CardModal/CardModalFooter.tsx","../src/CardModal/CardModalHeader.tsx","../src/CardModal/CardModal.tsx","../src/Choices/hooks/useNativeAnimation.tsx","../src/Choices/ChoiceItem.tsx","../src/Choices/ChoiceItemContainer.tsx","../src/Choices/Choices.tsx","../src/DialogModal/DialogModalAnimation/NativeOpacityAnimation.tsx","../src/DialogModal/DialogModalAnimation/NativeRotationAnimation.tsx","../src/DialogModal/DialogModalAnimation/DialogModalAnimation.tsx","../src/DialogModal/DialogModalBehaviour.tsx","../src/DialogModal/DialogModal.tsx","../src/Emoji/Emoji.tsx","../src/ExternalAppLink/ExternalAppLink.tsx","../src/ExternalLink/ExternalLinkOpenLinkBehavior.ts","../src/ExternalLink/ExternalLink.tsx","../src/themes/late-ocean/spacing.ts","../src/themes/late-ocean/bottomSheet.ts","../src/themes/late-ocean/button.ts","../src/themes/late-ocean/card.ts","../src/themes/late-ocean/cardModal.ts","../src/themes/late-ocean/choices.ts","../src/themes/late-ocean/dialogModal.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/radioButtonGroup.ts","../src/themes/late-ocean/textArea.ts","../src/themes/late-ocean/forms.ts","../src/themes/late-ocean/highlight.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/utils/hexToRgba.ts","../src/themes/late-ocean/tooltip.ts","../src/themes/default.ts","../src/utils/windowSize/createWindowSizeHelper.ts","../src/useKittTheme.tsx","../src/forms/Checkbox/Checkbox.tsx","../src/forms/DatePicker/utils/dateFormatter.ts","../src/forms/DatePicker/utils/datePartInInterval.ts","../src/forms/DatePicker/utils/isNumber.ts","../src/forms/DatePicker/utils/onDatePartChange.ts","../src/forms/DatePicker/utils/stringToNumber.ts","../src/forms/DatePicker/reducers/keyboardDatePickerReducer.ts","../src/forms/InputText/InputTextContainer.tsx","../src/forms/InputText/InputText.tsx","../src/forms/DatePicker/components/InputPart.tsx","../src/forms/DatePicker/components/PartContainer.tsx","../src/forms/DatePicker/components/KeyboardDatePicker.tsx","../src/forms/DatePicker/components/PressableDateInputs.tsx","../src/forms/DatePicker/components/NativeUIDatePicker/DatePickerAndroid.tsx","../src/Modal/Body.tsx","../src/Modal/Footer.tsx","../src/utils/StyleWebWrapper.tsx","../src/IconButton/PressableIconButtonWebWrapper.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/components/NativeUIDatePicker/PlatformDateTimePicker.tsx","../src/forms/DatePicker/components/NativeUIDatePicker/ModalPlatformDateTimePicker.tsx","../src/forms/DatePicker/components/NativeUIDatePicker/DefaultNativeUIDatePicker.tsx","../src/forms/DatePicker/components/NativeUIDatePicker/NativeUIDatePicker.tsx","../src/forms/DatePicker/DatePicker.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/RadioButtonGroup/AnimatedContainer/AnimatedContainer.tsx","../src/forms/RadioButtonGroup/HoverBorder.tsx","../src/forms/RadioButtonGroup/hooks/useNativeAnimation.ts","../src/forms/RadioButtonGroup/utils/getCurrentTextColor.ts","../src/forms/RadioButtonGroup/RadioButton.tsx","../src/forms/RadioButtonGroup/RadioButtonGroup.tsx","../src/forms/TextArea/TextArea.tsx","../src/Highlight/Highlight.tsx","../src/KittMapConfigProvider/KittMapConfigProvider.tsx","../src/KittMapConfigProvider/hooks/useKittMapConfig.ts","../src/ListItem/ListItemContent.tsx","../src/ListItem/ListItemSideContent.tsx","../src/ListItem/ListItem.tsx","../src/MapMarker/assets/marker-large.inline.svg","../src/MapMarker/assets/marker.inline.svg","../src/MapMarker/assets/position-marker.inline.svg","../src/MapMarker/MapMarker.tsx","../src/BaseMessage/IconContent.tsx","../src/BaseMessage/helper.ts","../src/BaseMessage/BaseMessage.tsx","../src/Message/Message.tsx","../src/native-base/KittNativeBaseProvider.tsx","../src/NavigationModal/ContentPadding.tsx","../src/NavigationModal/Body.tsx","../src/NavigationModal/Footer.tsx","../src/NavigationModal/Header.tsx","../src/NavigationModal/components/NativeOpacityAnimation.tsx","../src/NavigationModal/components/NativeSlideInAnimation.tsx","../src/NavigationModal/NavigationModalAnimation.tsx","../src/NavigationModal/NavigationModalBehaviour.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/StaticMap/utils/getStaticMapImageUrl.ts","../src/StaticMap/hooks/useGetStaticMapImageUrl.ts","../src/StaticMap/StaticMapError.tsx","../src/StaticMap/StaticMapImage.tsx","../src/StaticMap/StaticMapLoader.tsx","../src/StaticMap/StaticMapMarker.tsx","../src/StaticMap/utils/getRangedWidthValue.ts","../src/StaticMap/utils/getShouldDisplay2x.ts","../src/StaticMap/StaticMap.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/forms/styledTextInputMixin.ts","../src/TimePicker/ModalDateTimePicker.tsx","../src/TimePicker/useTimePicker.ts","../src/TimePicker/TimePicker.tsx","../src/Tooltip/Arrow.tsx","../src/Tooltip/TooltipContent.tsx","../src/Tooltip/hooks/useCustomShift.ts","../src/Tooltip/Tooltip.tsx","../src/typography/TypographyEmoji.tsx","../src/utils/withTheme.tsx","../src/typography/TypographyLink.tsx","../src/utils/storybook/KittThemeDecorator.tsx","../src/utils/windowSize/MatchWindowSize.tsx","../src/utils/windowSize/useCurrentBreakpointName.ts"],"sourcesContent":["import type { ICenterProps, IStackProps } from 'native-base';\nimport {\n Center as NativeBaseCenter,\n HStack as NativeBaseHStack,\n Stack as NativeBaseStack,\n VStack as NativeBaseVStack,\n} 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 { ViewProps as NativeViewProps } from 'react-native';\nimport type { Except } from 'type-fest';\nimport type { KittResponsivePropOrValue } from 'KittBreakpoints';\nimport type {\n ForwardRefComponent,\n NativeBaseAcceptedBorderProps,\n NativeBaseAcceptedBorderRadiusProps,\n NativeBaseAcceptedChildrenProp,\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 | NativeBaseAcceptedChildrenProp\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 ForwardRefComponent<StackProps>;\n\nexport interface VStackProps extends Except<StackProps, 'direction'> {\n direction?: Extract<StackProps['direction'], 'column' | 'column-reverse'>;\n}\nexport const VStack = NativeBaseVStack as ForwardRefComponent<VStackProps>;\n\nexport interface HStackProps extends Except<StackProps, 'direction'> {\n direction?: Extract<StackProps['direction'], 'row' | 'row-reverse'>;\n}\nexport const HStack = NativeBaseHStack as ForwardRefComponent<HStackProps>;\n\nexport interface CenterProps\n extends Pick<\n ICenterProps,\n | keyof NativeViewProps\n | keyof SafeAreaProps\n | NativeBaseAcceptedChildrenProp\n | NativeBaseAcceptedSpaceProps\n | NativeBaseAcceptedColorsProps\n | NativeBaseAcceptedBorderProps\n | NativeBaseAcceptedBorderRadiusProps\n | NativeBaseAcceptedPositionProps\n | NativeBaseAcceptedShadowProps\n | NativeBaseAcceptedLayoutProps\n | NativeBaseAcceptedFlexboxProps\n > {}\n\nexport const Center = NativeBaseCenter as ForwardRefComponent<CenterProps>;\n","import type { IImageProps, IPressableProps, IScrollViewProps } from 'native-base';\nimport {\n FlatList as NativeBaseFlatList,\n Image as NativeBaseImage,\n Pressable as NativeBasePressable,\n ScrollView as NativeBaseScrollView,\n SectionList as NativeBaseSectionList,\n View as NativeBaseView,\n} from 'native-base';\nimport type {\n IFlatListProps,\n InterfaceFlatListProps,\n} from 'native-base/lib/typescript/components/basic/FlatList/types';\nimport type { InterfaceScrollViewProps } from 'native-base/lib/typescript/components/basic/ScrollView/types';\nimport type {\n ISectionListProps,\n InterfaceSectionListProps,\n} from 'native-base/lib/typescript/components/basic/SectionList/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 { ForwardedRef, MutableRefObject } from 'react';\nimport type {\n FlatList as NativeFlatList,\n FlatListProps as NativeFlatListProps,\n PressableProps as NativePressableProps,\n ScrollViewProps as NativeScrollViewProps,\n SectionList as NativeSectionList,\n SectionListProps as NativeSectionListProps,\n ViewProps as NativeViewProps,\n} from 'react-native';\nimport type {\n ForwardRefComponent,\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 ForwardRefComponent<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 ForwardRefComponent<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 ForwardRefComponent<PressableProps>;\n\nexport const Image = NativeBaseImage as ForwardRefComponent<IImageProps>;\n\ntype NativeBaseAcceptedFlatListProps<ItemT> = Extract<\n keyof InterfaceFlatListProps<ItemT>,\n 'ref' | '_contentContainerStyle' | keyof NativeFlatListProps<ItemT>\n>;\nexport interface FlatListProps<ItemT>\n extends Pick<\n IFlatListProps<ItemT>,\n | NativeBaseAcceptedFlatListProps<ItemT>\n | NativeBaseAcceptedSpaceProps\n | NativeBaseAcceptedColorsProps\n | NativeBaseAcceptedBorderProps\n | NativeBaseAcceptedBorderRadiusProps\n | NativeBaseAcceptedPositionProps\n | NativeBaseAcceptedShadowProps\n | NativeBaseAcceptedLayoutProps\n | NativeBaseAcceptedFlexboxProps\n > {}\n\n// See: https://fettblog.eu/typescript-react-generic-forward-refs/\nexport const FlatList = NativeBaseFlatList as <ItemT>(\n props: FlatListProps<ItemT> & { ref?: MutableRefObject<NativeFlatList<ItemT> | undefined> },\n) => ReturnType<typeof NativeBaseFlatList>;\n\ntype NativeBaseAcceptedSectionListProps<ItemT, SectionT> = Extract<\n keyof InterfaceSectionListProps<ItemT, SectionT>,\n 'ref' | keyof NativeSectionListProps<ItemT, SectionT>\n>;\nexport interface SectionListProps<ItemT, SectionT>\n extends Pick<\n ISectionListProps<ItemT, SectionT>,\n | NativeBaseAcceptedSectionListProps<ItemT, SectionT>\n | NativeBaseAcceptedSpaceProps\n | NativeBaseAcceptedColorsProps\n | NativeBaseAcceptedBorderProps\n | NativeBaseAcceptedBorderRadiusProps\n | NativeBaseAcceptedPositionProps\n | NativeBaseAcceptedShadowProps\n | NativeBaseAcceptedLayoutProps\n | NativeBaseAcceptedFlexboxProps\n > {}\n\n// See: https://fettblog.eu/typescript-react-generic-forward-refs/\nexport const SectionList = NativeBaseSectionList as <ItemT, SectionT>(\n props: SectionListProps<ItemT, SectionT> & { ref?: ForwardedRef<NativeSectionList<ItemT, SectionT> | undefined> },\n) => ReturnType<typeof NativeBaseSectionList>;\n","import type { KittBreakpointNameEnum } from '../../KittBreakpoints';\n\nexport type ResponsiveRecordValue<T> = { [key in KittBreakpointNameEnum]?: T };\nexport type ResponsiveValue<T> = T | ResponsiveRecordValue<T> | undefined;\n\nexport function createResponsiveStyleFromProp<PossibleStyleValue>(\n responsiveBooleanValue: ResponsiveValue<boolean | undefined>,\n valueIfTrue: PossibleStyleValue,\n valueIfFalse?: PossibleStyleValue,\n): ResponsiveValue<PossibleStyleValue> {\n // Handles simple boolean values\n if (!responsiveBooleanValue) return valueIfFalse;\n\n if (responsiveBooleanValue === true) return valueIfTrue;\n\n // Handles responsive value object\n const keys = Object.keys(responsiveBooleanValue) as KittBreakpointNameEnum[];\n\n if (keys.length === 0) return valueIfFalse;\n\n const responsiveValue = {} as ResponsiveRecordValue<PossibleStyleValue>;\n\n keys.forEach((breakpointName) => {\n responsiveValue[breakpointName] = responsiveBooleanValue[breakpointName] ? valueIfTrue : valueIfFalse;\n });\n\n return responsiveValue;\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 { ReactElement, ReactNode } from 'react';\nimport type { ViewStyle } from 'react-native';\nimport Animated from 'react-native-reanimated';\nimport styled from 'styled-components/native';\nimport type { ButtonProps, ButtonType, ButtonVariant } from './Button';\n\ninterface StyledAnimatedViewProps {\n $isDisabled?: boolean;\n}\n\nconst StyledAnimatedView = styled(Animated.View)<StyledAnimatedViewProps>`\n border-radius: ${({ theme }) => theme.kitt.button.borderRadius}px;\n background-color: ${({ theme, $isDisabled }) =>\n $isDisabled ? theme.kitt.button.disabled.default.backgroundColor : undefined};\n`;\n\nexport interface AnimatedContainerProps {\n children: ReactNode;\n disabled?: boolean;\n variant: ButtonVariant;\n type: ButtonType;\n isHovered?: boolean;\n isPressed?: boolean;\n isStretch?: ButtonProps['stretch'];\n animatedStyles: Partial<ViewStyle>;\n}\n\nexport function AnimatedContainer({ disabled, animatedStyles, children }: AnimatedContainerProps): ReactElement {\n return (\n <StyledAnimatedView style={disabled ? undefined : [animatedStyles]} $isDisabled={disabled}>\n {children}\n </StyledAnimatedView>\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 { PlatformProps } from 'native-base/lib/typescript/components/types';\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 { NativeBaseAcceptedFlexboxProps } from '../native-base/acceptable-native-base-props';\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-disabled'\n | 'black-light'\n | 'white'\n | 'white-light'\n | 'primary'\n | 'primary-light'\n | 'accent'\n | 'success'\n | 'danger'\n | 'warning';\n\nconst IsHeaderTypographyContext = createContext<boolean | undefined>(undefined);\nconst TypographyColorContext = createContext<TypographyColor>('black');\n\nexport function useTypographyColor(): TypographyColor {\n return useContext(TypographyColorContext);\n}\n\nconst TypographyDefaultColorContext = createContext<TypographyColor | undefined>(undefined);\n\nfunction useTypographyDefaultColor(): TypographyColor | undefined {\n return useContext(TypographyDefaultColorContext);\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\ntype NativeBaseTextPropsAcceptedProps = Pick<\n ITextProps,\n keyof Except<TextProps, 'accessibilityRole'> | 'textAlign' | 'textTransform' | NativeBaseAcceptedFlexboxProps\n>;\nexport interface TypographyProps\n extends TypographyBreakpointType,\n NativeBaseTextPropsAcceptedProps,\n Pick<PlatformProps<NativeBaseTextPropsAcceptedProps>, '_android' | '_ios' | '_web'> {\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}\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\nfunction getNBThemeColorFromColorProps(colorName: TypographyColor | undefined): string | undefined {\n return colorName ? `kitt.typography.${colorName}` : undefined;\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\n const defaultColor = useTypographyDefaultColor();\n\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 currentColor = !color && !hasTypographyAncestor ? defaultColor : color;\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={getNBThemeColorFromColorProps(currentColor)}\n textDecorationColor={getNBThemeColorFromColorProps(currentColor)}\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.SetDefaultColor = TypographyDefaultColorContext.Provider;\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 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","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 { TypographyColor } from '../../typography/Typography';\nimport type { ButtonType, ButtonVariant } from '../Button';\n\nexport const getTextColorByType = (\n type: ButtonType,\n variant: ButtonVariant,\n isHovered: boolean,\n isPressed: boolean,\n): TypographyColor => {\n const isButtonInteractedWith = isHovered || isPressed;\n\n switch (type) {\n case 'primary':\n return variant === 'ghost' ? 'primary' : 'white';\n case 'white':\n return 'white';\n case 'subtle':\n return isButtonInteractedWith ? 'primary-light' : 'primary';\n case 'subtle-dark':\n return isButtonInteractedWith ? 'black-light' : 'black';\n case 'default':\n return variant === 'ghost' ? 'white' : 'black';\n default:\n return 'black';\n }\n};\n","import type { ReactElement } from 'react';\nimport type { Except } from 'type-fest';\nimport { View } from '../native-base/primitives';\nimport type { TypographyColor } 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 { getTextColorByType } from './utils/getTextColorByType';\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 <View marginRight={iconPosition === 'left' ? 'kitt.2' : 0} marginLeft={iconPosition === 'right' ? 'kitt.2' : 0}>\n <TypographyIcon icon={icon} testID={testID} color={color} />\n </View>\n );\n}\n\ninterface ButtonContentProps extends Except<ButtonProps, 'onPress' | 'disabled' | 'stretch'> {\n isDisabled?: boolean;\n type: NonNullable<ButtonType>;\n variant: NonNullable<ButtonVariant>;\n isHovered: boolean;\n isPressed: boolean;\n isFocused: boolean;\n}\n\ninterface ButtonContentChildrenProps extends Except<ButtonProps, 'onPress' | 'disabled' | 'stretch'> {\n isDisabled?: boolean;\n type: NonNullable<ButtonType>;\n color: TypographyColor;\n}\n\nexport function ButtonContentChildren({\n type,\n icon,\n iconPosition,\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 if (!children) {\n return (\n <TypographyIcon\n // eslint-disable-next-line @typescript-eslint/no-non-null-assertion\n icon={icon!}\n color={color}\n />\n );\n }\n\n const buttonIconSharedProps = {\n type,\n iconPosition,\n color,\n };\n\n // Make the multilines case work properly on native - Breaks the web implem\n const sharedNativeStyle = {\n flexShrink: 1,\n };\n\n return (\n <View alignItems=\"center\" justifyContent=\"center\" flexDirection=\"row\">\n {icon && iconPosition === 'left' ? (\n <ButtonIcon {...buttonIconSharedProps} testID=\"button.ButtonContent.leftButtonIcon\" icon={icon} />\n ) : null}\n\n <Typography.Text\n /* On native code, this is the only way to ensure that the text is centered */\n textAlign=\"center\"\n _android={sharedNativeStyle}\n _ios={sharedNativeStyle}\n base=\"body\"\n variant=\"bold\"\n color={color}\n >\n {children}\n </Typography.Text>\n\n {icon && iconPosition === 'right' ? <ButtonIcon {...buttonIconSharedProps} icon={icon} /> : null}\n </View>\n );\n}\n\nexport function ButtonContent({\n type,\n variant,\n isDisabled,\n icon,\n children,\n isHovered,\n isPressed,\n isFocused,\n ...props\n}: ButtonContentProps): ReactElement {\n const color = isDisabled ? 'black-light' : getTextColorByType(type, variant, isHovered, isPressed);\n\n return (\n <View\n _web={{\n // Make the multilines case work properly on web\n // We don't apply those styles on native because it will break\n flexGrow: 0,\n flexShrink: 1,\n flexBasis: 'auto',\n }}\n >\n <ButtonContentChildren icon={icon} type={type} isDisabled={isDisabled} color={color} {...props}>\n {children}\n </ButtonContentChildren>\n </View>\n );\n}\n","import type { ReactElement, ReactNode } from 'react';\nimport { View } from '../native-base/primitives';\nimport type { ButtonTheme } from '../themes/late-ocean/button';\nimport type { ButtonSize } from './Button';\n\ninterface GetCurrentPaddingConfigParams {\n size?: ButtonSize;\n isDisabled?: boolean;\n}\n\nfunction getCurrentPaddingConfig({ size, isDisabled }: GetCurrentPaddingConfigParams): keyof ButtonTheme['padding'] {\n if (size === 'large') return 'large';\n if (size === 'xLarge') return 'xLarge';\n if (isDisabled) return 'disabled';\n\n return 'default';\n}\n\ninterface ButtonPaddingProps {\n children: ReactNode;\n size?: ButtonSize;\n isDisabled?: boolean;\n}\n\nexport function ButtonPadding({ children, size, isDisabled }: ButtonPaddingProps): ReactElement {\n const currentPaddingKey = getCurrentPaddingConfig({ size, isDisabled });\n\n return (\n <View\n position=\"relative\"\n flexDirection=\"row\"\n alignItems=\"center\"\n justifyContent=\"center\"\n paddingX={`kitt.button.padding.${currentPaddingKey}.horizontal`}\n paddingY={`kitt.button.padding.${currentPaddingKey}.vertical`}\n minHeight=\"kitt.button.minHeight\"\n >\n {children}\n </View>\n );\n}\n","import type { ReactElement } from 'react';\nimport { View } from '../native-base/primitives';\n\nexport function DisabledBorder(): ReactElement {\n return (\n <View\n position=\"absolute\"\n top={0}\n left={0}\n right={0}\n bottom={0}\n borderWidth=\"kitt.button.borderWidth.disabled\"\n borderColor=\"kitt.button.disabled.default.borderColor\"\n borderRadius=\"kitt.button.borderRadius\"\n />\n );\n}\n","import type { ReactElement } from 'react';\nimport { useTheme } from 'styled-components/native';\nimport { View } from '../native-base/primitives';\nimport type { ButtonType, ButtonVariant } from './Button';\n\ninterface FocusBorderProps {\n type: ButtonType;\n variant: ButtonVariant;\n isFocused?: boolean;\n isPressed?: boolean;\n isHovered?: boolean;\n}\n\nexport function FocusBorder({ type, variant, isFocused, isHovered, isPressed }: FocusBorderProps): ReactElement {\n const {\n kitt: { button: buttonTheme },\n } = useTheme();\n\n const hasPointerInteraction = isPressed || isHovered;\n\n return (\n <View\n _web={{\n style: {\n width: `calc(100% + ${buttonTheme.borderWidth.focus * 2}px)`,\n height: `calc(100% + ${buttonTheme.borderWidth.focus * 2}px)`,\n transitionProperty: 'opacity',\n transitionDuration: buttonTheme.transition.duration,\n transitionTimingFunction: buttonTheme.transition.timingFunction,\n },\n }}\n opacity={isFocused && !hasPointerInteraction ? 1 : 0}\n position=\"absolute\"\n left={-buttonTheme.borderWidth.focus}\n top={-buttonTheme.borderWidth.focus}\n borderWidth=\"kitt.button.borderWidth.focus\"\n borderColor={`kitt.button.${type}.${variant}.focusBorderColor`}\n borderRadius=\"kitt.button.borderRadius\"\n />\n );\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 { ViewStyle } from 'react-native';\nimport { interpolateColor, useAnimatedStyle, useSharedValue, withSpring } from 'react-native-reanimated';\nimport { useTheme } from 'styled-components/native';\nimport type { ButtonType, ButtonVariant } from 'Button/Button';\nimport { getVariantValuesIfExist } from '../getVariantValuesIfExist';\n\nexport interface UseNativeAnimationOptions {\n type: ButtonType;\n variant: ButtonVariant;\n isPressedInternal?: boolean;\n}\n\nexport interface NativeAnimation {\n onPressIn?: () => void;\n onPressOut?: () => void;\n animatedStyles: ViewStyle;\n}\n\nexport const useNativeAnimation = ({\n type,\n variant,\n isPressedInternal,\n}: UseNativeAnimationOptions): NativeAnimation => {\n const theme = useTheme();\n const pressed = useSharedValue<0 | 1>(isPressedInternal ? 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 animatedStyles = 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 handlePressIn = (): void => {\n color.value = withSpring(1);\n pressed.value = 1;\n };\n\n const handlePressOut = (): void => {\n color.value = withSpring(0);\n pressed.value = 0;\n };\n\n return {\n onPressIn: handlePressIn,\n onPressOut: handlePressOut,\n animatedStyles,\n };\n};\n","import type { ButtonProps } from '../Button';\n\nexport const getButtonSize = ({ large, xLarge, size }: Partial<ButtonProps>): ButtonProps['size'] => {\n if (large) return 'large';\n if (xLarge) return 'xLarge';\n return size;\n};\n","import type { ReactElement, ReactNode } from 'react';\nimport { forwardRef } from 'react';\nimport type { PressableProps } from 'react-native';\nimport type { View } from '../native-base/primitives';\nimport { Pressable } from '../native-base/primitives';\nimport type { ResponsiveValue } from '../utils/createResponsiveStyleFromProp/createResponsiveStyleFromProp';\nimport { createResponsiveStyleFromProp } from '../utils/createResponsiveStyleFromProp/createResponsiveStyleFromProp';\nimport { deprecatedInComponent } from '../utils/warnings';\nimport { AnimatedContainer } from './AnimatedContainer';\nimport { ButtonContent } from './ButtonContent';\nimport { ButtonPadding } from './ButtonPadding';\nimport { DisabledBorder } from './DisabledBorder';\nimport { FocusBorder } from './FocusBorder';\nimport { useNativeAnimation } from './hooks/useNativeAnimation';\nimport { getButtonSize } from './utils/getButtonSize';\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\nexport interface ButtonProps {\n children?: ReactNode;\n type?: ButtonType;\n variant?: ButtonVariant;\n disabled?: boolean;\n stretch?: ResponsiveValue<boolean | undefined>;\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 /**\n * @deprecated props className is not supported\n */\n className?: string;\n style?: PressableProps['style'];\n /** @internal for story purpose */\n isHoveredInternal?: boolean;\n /** @internal for story purpose */\n isPressedInternal?: boolean;\n /** @internal for story purpose */\n isFocusedInternal?: boolean;\n onPress?: PressableProps['onPress'];\n}\n\nexport const Button = forwardRef<typeof 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 isHoveredInternal,\n isPressedInternal,\n isFocusedInternal,\n onPress,\n }: ButtonProps,\n ref,\n ): ReactElement => {\n const { onPressIn, onPressOut, animatedStyles } = useNativeAnimation({\n type,\n variant,\n });\n\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 <Pressable\n ref={ref}\n disabled={disabled}\n accessibilityRole={accessibilityRole}\n testID={testID}\n href={href}\n hrefAttrs={hrefAttrs}\n /* Emulate inline-* css display by making the button taking only its necessary space */\n alignSelf={createResponsiveStyleFromProp(stretch, undefined, 'flex-start')}\n minWidth=\"kitt.button.minWidth\"\n maxWidth={createResponsiveStyleFromProp(stretch, '100%', 'kitt.button.maxWidth')}\n width={createResponsiveStyleFromProp(stretch, '100%', 'auto')}\n onPress={onPress}\n onPressIn={onPressIn}\n onPressOut={onPressOut}\n >\n {({ isHovered, isPressed, isFocused }) => (\n <AnimatedContainer\n animatedStyles={animatedStyles}\n type={type}\n isHovered={isHovered || isHoveredInternal}\n isPressed={isPressed || isPressedInternal}\n disabled={!!disabled}\n variant={variant}\n isStretch={stretch}\n >\n <ButtonPadding size={size} isDisabled={disabled}>\n <ButtonContent\n type={type}\n variant={variant}\n isDisabled={disabled}\n icon={icon}\n iconPosition={iconPosition}\n isHovered={isHovered}\n isPressed={isPressed}\n isFocused={isFocused}\n >\n {children}\n </ButtonContent>\n {disabled ? <DisabledBorder /> : null}\n <FocusBorder\n type={type}\n variant={variant}\n isFocused={isFocused || isFocusedInternal}\n isHovered={isHovered}\n isPressed={isPressed}\n />\n </ButtonPadding>\n </AnimatedContainer>\n )}\n </Pressable>\n );\n },\n);\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 { 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 { 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\n/**\n * Returns if a size matches based on dimensions passed as options.\n *\n * WARNING: Not SSR friendly.\n */\nexport function useMatchWindowSize(options: MatchWindowSizeOptions): boolean {\n const { width, height } = useWindowDimensions();\n return matchWindowSize({ width, height }, options);\n}\n","import type { ComponentProps, ElementType, ReactElement, VoidFunctionComponent } from 'react';\nimport { useEffect, useRef, useState } from 'react';\nimport type { ButtonProps } from '../Button/Button';\nimport { KittBreakpoints } from '../KittBreakpoints';\nimport { LoaderIcon } from '../LoaderIcon/LoaderIcon';\nimport { View } from '../native-base/primitives';\nimport { useMatchWindowSize } from '../utils/windowSize/useMatchWindowSize';\n\nfunction getCurrentStretchValue(isStretch: boolean | undefined, isMedium: boolean): boolean | undefined {\n // Stretch will follow the value passed from the component occurence if defined\n if (isStretch) return isStretch;\n\n return !isMedium ? true : undefined;\n}\n\ninterface ActionsItemMinimumRequiredProps extends Pick<ButtonProps, 'onPress'> {}\n\nexport interface ActionsItemProps<C extends VoidFunctionComponent<any>> {\n readonly onPress?: (\n e: Parameters<NonNullable<ButtonProps['onPress']>>[0],\n // eslint-disable-next-line @typescript-eslint/no-invalid-void-type\n ) => Promise<void | undefined | null> | void | undefined | null;\n readonly as: C;\n}\n\n// eslint-disable-next-line @typescript-eslint/ban-types\ntype ActionsItemSendableComponentProps<C extends VoidFunctionComponent<any>> = Omit<\n ComponentProps<C>,\n keyof ActionsItemProps<C> & keyof ActionsItemMinimumRequiredProps\n>;\n\nexport function ActionsItem<C extends VoidFunctionComponent<any>>({\n as,\n onPress,\n disabled,\n icon,\n stretch,\n ...props\n}: ActionsItemProps<C> & ActionsItemSendableComponentProps<C>): ReactElement {\n const isMedium = useMatchWindowSize({\n minWidth: KittBreakpoints.MEDIUM,\n });\n\n const isCurrentStretch = getCurrentStretchValue(stretch, isMedium);\n\n const [isLoading, setIsLoading] = useState(false);\n const mountedRef = useRef(false);\n\n // effect just for tracking mounted state, as onPress can unmount the ActionButton\n useEffect(() => {\n mountedRef.current = true;\n return () => {\n mountedRef.current = false;\n };\n }, []);\n\n const handlePress: ButtonProps['onPress'] = (e) => {\n const callPressAndUpdateLoadingState = async (): Promise<void> => {\n if (!onPress) return;\n setIsLoading(true);\n try {\n await onPress(e);\n if (mountedRef.current) {\n setIsLoading(false);\n }\n } catch (error) {\n if (mountedRef.current) {\n setIsLoading(false);\n }\n throw error;\n }\n };\n\n callPressAndUpdateLoadingState();\n };\n\n const Component: ElementType = as;\n\n return (\n <View>\n <Component\n {...props}\n stretch={isCurrentStretch}\n disabled={isLoading ? true : disabled}\n icon={isLoading ? <LoaderIcon /> : icon}\n onPress={handlePress}\n />\n </View>\n );\n}\n","import type { ReactElement } from 'react';\nimport type { Except } from 'type-fest';\nimport type { ButtonProps } from '../Button/Button';\nimport { Button } from '../Button/Button';\nimport type { ActionsItemProps } from './ActionsItem';\nimport { ActionsItem } from './ActionsItem';\n\nexport interface ActionsButtonProps\n extends Except<ButtonProps, 'onPress'>,\n Pick<ActionsItemProps<typeof Button>, 'onPress'> {}\n\nexport function ActionsButton({ ...props }: ActionsButtonProps): ReactElement {\n return <ActionsItem as={Button} {...props} />;\n}\n","import type { ReactElement } from 'react';\nimport type { Except } from 'type-fest';\nimport { Stack } from '../native-base/layout';\nimport type { StackProps } from '../native-base/layout';\nimport { ActionsButton } from './ActionsButton';\nimport { ActionsItem } from './ActionsItem';\n\ntype ActionsLayout = 'column' | 'row';\n\nfunction getCurrentLayout(layout: ActionsLayout | undefined): StackProps['alignItems'] {\n if (!layout) return { base: 'stretch', medium: 'center' };\n\n if (layout === 'column') return 'stretch';\n\n return 'center';\n}\n\nfunction getCurrentDirection(layout: ActionsLayout | undefined): StackProps['direction'] {\n if (!layout) return { base: 'column', medium: 'row' };\n\n if (layout === 'column') return 'column';\n\n return 'row';\n}\n\nexport interface ActionsProps extends Except<StackProps, 'space'> {\n layout?: ActionsLayout;\n}\n\nexport function Actions({ children, layout, ...props }: ActionsProps): ReactElement {\n const currentAlignItems = getCurrentLayout(layout);\n const currentDirection = getCurrentDirection(layout);\n\n return (\n <Stack alignItems={currentAlignItems} direction={currentDirection} flex={1} {...props} space=\"kitt.3\">\n {children}\n </Stack>\n );\n}\n\nActions.Button = ActionsButton;\nActions.Item = ActionsItem;\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: '#333333',\n black555: '#737373',\n black400: '#999999',\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 seaShell: '#FFF9F3',\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 blackDisabled: lateOceanColorPalette.black400,\n blackLight: lateOceanColorPalette.black555,\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 },\n};\n","import { lateOceanColorPalette } from '../palettes/lateOceanColorPalette';\nimport { colors } from './colors';\n\nexport const defaultAvatarSize = 40;\nexport const defaultAvatarIconSize = 20;\n\nexport const largeAvatarSize = 120;\nexport const largeAvatarIconSize = 30;\n\nexport interface AvatarThemeColorVariant {\n backgroundColor: string;\n}\n\nexport interface AvatarThemeSizeVariant {\n borderRadius: number;\n size: number;\n iconSize: number;\n}\n\nexport interface AvatarTheme {\n borderRadius: number;\n size: number;\n iconSize: number;\n default: AvatarThemeColorVariant;\n light: AvatarThemeColorVariant;\n large: AvatarThemeSizeVariant;\n}\n\nexport const avatar: AvatarTheme = {\n borderRadius: 10,\n size: defaultAvatarSize,\n iconSize: defaultAvatarIconSize,\n default: {\n backgroundColor: colors.primary,\n },\n light: {\n backgroundColor: lateOceanColorPalette.black100,\n },\n large: {\n borderRadius: 30,\n size: largeAvatarSize,\n iconSize: largeAvatarIconSize,\n },\n};\n","import { defaultAvatarSize, largeAvatarSize } from '../../themes/late-ocean/avatar';\nimport type { AvatarSizeVariant } from '../Avatar';\n\ninterface GetCurrentRadiusParams {\n size?: number;\n sizeVariant?: AvatarSizeVariant;\n round?: boolean;\n}\n\nexport function getCurrentRadius({ size, sizeVariant, round }: GetCurrentRadiusParams): string | number {\n if (round) {\n if (size) return size * 0.5;\n\n if (sizeVariant === 'large') return largeAvatarSize * 0.5;\n\n return defaultAvatarSize * 0.5;\n }\n\n if (sizeVariant === 'large') return 'kitt.avatar.large.borderRadius';\n\n return 'kitt.avatar.borderRadius';\n}\n","import type { AvatarSizeVariant } from '../Avatar';\n\ninterface GetCurrentSizeParams {\n size?: number;\n sizeVariant?: AvatarSizeVariant;\n}\n\nexport function getCurrentSize({ size, sizeVariant }: GetCurrentSizeParams): string | number {\n if (size) return size;\n\n if (sizeVariant === 'large') return 'kitt.avatar.large.size';\n\n return 'kitt.avatar.size';\n}\n","import { defaultAvatarIconSize, largeAvatarIconSize } from '../../themes/late-ocean/avatar';\nimport type { AvatarSizeVariant } from '../Avatar';\n\nexport function getIconSize(size: string | number, sizeVariant?: AvatarSizeVariant): number {\n if (typeof size === 'number') return size * 0.5;\n\n if (sizeVariant === 'large') return largeAvatarIconSize;\n\n return defaultAvatarIconSize;\n}\n","export function getInitials(firstname: string, lastname: string): string {\n return `${firstname[0]}${lastname[0]}`.toUpperCase();\n}\n","import { UserIcon } from '@ornikar/kitt-icons';\nimport type { ReactElement } from 'react';\nimport { Icon } from '../Icon/Icon';\nimport { Image, View } from '../native-base/primitives';\nimport { Typography } from '../typography/Typography';\nimport { getCurrentRadius } from './utils/getCurrentRadius';\nimport { getCurrentSize } from './utils/getCurrentSize';\nimport { getIconSize } from './utils/getIconSize';\nimport { getInitials } from './utils/getInitials';\n\nexport type AvatarSizeVariant = 'large';\n\ninterface AvatarContentProps extends Omit<AvatarProps, 'light' | 'round' | 'size'> {\n size: string | 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 }} width={size} height={size} alt={alt} 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={getIconSize(size, sizeVariant)} />;\n}\n\nexport interface AvatarProps {\n size?: number;\n src?: string;\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, round, light, sizeVariant, ...props }: AvatarProps): ReactElement {\n const currentSize = getCurrentSize({ size, sizeVariant });\n const currentBorderRadius = getCurrentRadius({ size, sizeVariant, round });\n\n return (\n <View\n overflow=\"hidden\"\n alignItems=\"center\"\n justifyContent=\"center\"\n width={currentSize}\n height={currentSize}\n borderRadius={currentBorderRadius}\n backgroundColor={`kitt.avatar.${light ? 'light' : 'default'}.backgroundColor`}\n >\n <AvatarContent size={currentSize} isLight={light} sizeVariant={sizeVariant} {...props} />\n </View>\n );\n}\n","import {\n BottomSheetBackdrop,\n BottomSheetHandle,\n BottomSheetModal,\n BottomSheetScrollView,\n BottomSheetView,\n useBottomSheetDynamicSnapPoints,\n} from '@gorhom/bottom-sheet';\nimport type { BottomSheetModalMethods } from '@gorhom/bottom-sheet/lib/typescript/types';\nimport type { ForwardRefExoticComponent, MutableRefObject, ReactElement, ReactNode, Ref, RefAttributes } from 'react';\nimport { forwardRef, useMemo } from 'react';\nimport { View } from 'react-native';\nimport { SafeAreaView } from 'react-native-safe-area-context';\n// eslint-disable-next-line no-restricted-imports\nimport type { StyledComponent } from 'styled-components';\nimport type { DefaultTheme } from 'styled-components/native';\nimport styled, { useTheme } from 'styled-components/native';\nimport type { Except } from 'type-fest';\n\nexport interface BottomSheetProps {\n children?: ((props?: never) => React.ReactNode) | ReactNode;\n ref: MutableRefObject<BottomSheetModalMethods | null>;\n hasScrollView?: boolean;\n hasHandle?: boolean;\n hasBackdrop?: boolean;\n onDismiss?: () => void;\n}\n\nconst BottomSheetContainerView = styled(View)`\n padding: ${({ theme }) => `${theme.kitt.bottomSheet.container.padding}px`};\n`;\n\nfunction BottomSheetComp(\n { children: Content, hasScrollView = false, hasBackdrop = true, hasHandle = true, onDismiss }: BottomSheetProps,\n ref: Ref<BottomSheetModal>,\n): ReactElement {\n const Wrapper = useMemo(() => (hasScrollView ? BottomSheetScrollView : BottomSheetView), [hasScrollView]);\n const theme = useTheme();\n const initialSnapPoints = useMemo(() => ['CONTENT_HEIGHT'], []);\n const { animatedHandleHeight, animatedSnapPoints, animatedContentHeight, handleContentLayout } =\n useBottomSheetDynamicSnapPoints(initialSnapPoints);\n\n return (\n <BottomSheetModal\n ref={ref}\n enablePanDownToClose\n snapPoints={animatedSnapPoints}\n index={0}\n handleHeight={animatedHandleHeight}\n handleIndicatorStyle={{\n width: 40,\n height: 4,\n borderRadius: 4,\n backgroundColor: theme.kitt.bottomSheet.handle.backgroundColor,\n }}\n handleComponent={(props) => (hasHandle ? <BottomSheetHandle {...props} /> : null)}\n backdropComponent={(props) =>\n hasBackdrop ? <BottomSheetBackdrop {...props} opacity={0.25} appearsOnIndex={0} disappearsOnIndex={-1} /> : null\n }\n contentHeight={animatedContentHeight}\n onDismiss={onDismiss}\n >\n {({ data }) => (\n <SafeAreaView edges={['bottom']} onLayout={handleContentLayout}>\n <Wrapper>{typeof Content === 'function' ? <Content {...data} /> : Content}</Wrapper>\n </SafeAreaView>\n )}\n </BottomSheetModal>\n );\n}\n\nexport const BottomSheet = forwardRef(BottomSheetComp) as ForwardRefExoticComponent<\n Except<BottomSheetProps, 'ref'> & RefAttributes<BottomSheetModalMethods>\n> & { View: StyledComponent<typeof View, DefaultTheme> };\n\nBottomSheet.View = BottomSheetContainerView;\n","import type { BottomSheetModalMethods } from '@gorhom/bottom-sheet/lib/typescript/types';\nimport type { RefObject } from 'react';\nimport { useRef } from 'react';\n\nexport function useBottomSheet(): RefObject<BottomSheetModalMethods> {\n const ref = useRef<BottomSheetModalMethods>(null);\n\n return ref;\n}\n","import type { BottomSheetModalMethods } from '@gorhom/bottom-sheet/lib/typescript/types';\nimport type { ElementType, ReactElement, RefObject } from 'react';\nimport { useMemo, useRef } from 'react';\nimport type { BottomSheetProps } from './BottomSheet';\nimport { BottomSheet } from './BottomSheet';\n\ninterface BottomSheetRef<T> extends BottomSheetModalMethods {\n present: (bottomSheetComponenProps: T) => void;\n}\n\ntype ReducedBottomSheetProps = Pick<BottomSheetProps, 'hasScrollView'>;\n\n// This is used to fix:\n// React.ComponentProps<O> -> if O is a function component without any props it will return unknown but we want to have undefined\ntype IsExact<T, U> = [T] extends [U] ? ([U] extends [T] ? true : false) : false;\n\ntype BottomSheetComponentProps<O extends ElementType> = IsExact<React.ComponentProps<O>, unknown> extends true\n ? undefined\n : React.ComponentProps<O>;\n\nexport function useStaticBottomSheet<T extends ElementType>(\n Content: T,\n): {\n bottomSheetRef: RefObject<BottomSheetRef<BottomSheetComponentProps<T>>>;\n BottomSheet: (props: ReducedBottomSheetProps) => ReactElement;\n} {\n const bottomSheetRef = useRef<BottomSheetRef<BottomSheetComponentProps<T>>>(null);\n\n const BottomSheetMemoized = useMemo(\n () =>\n function renderBottomSheet(props: ReducedBottomSheetProps) {\n return (\n <BottomSheet {...props} ref={bottomSheetRef}>\n {Content}\n </BottomSheet>\n );\n },\n [Content],\n );\n\n return {\n bottomSheetRef,\n BottomSheet: BottomSheetMemoized,\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 { View } from '../native-base/primitives';\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\nexport interface ModalBehaviourProps {\n children: ReactNode;\n visible?: boolean;\n onClose: () => void;\n}\n\nexport function ModalBehaviour({ children, visible, onClose }: ModalBehaviourProps): ReactElement {\n return (\n <OnCloseProvider onClose={onClose}>\n <ModalBehaviourPortal visible={visible}>\n {visible ? (\n <View\n _web={{\n position: 'fixed',\n top: 0,\n left: 0,\n width: '100%',\n height: '100%',\n }}\n >\n {children}\n </View>\n ) : null}\n </ModalBehaviourPortal>\n </OnCloseProvider>\n );\n}\n\nModalBehaviour.CloseButton = CloseButton;\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 } from 'react';\nimport type { ViewProps } from '../../native-base/primitives';\nimport { View } from '../../native-base/primitives';\n\ninterface CardModalRotationContainerProps extends ViewProps {}\n\nexport function CardModalRotationContainer(props: CardModalRotationContainerProps): ReactElement {\n return (\n <View\n paddingX=\"kitt.cardModal.overlayPadding.horizontal\"\n paddingY=\"kitt.cardModal.overlayPadding.vertical\"\n maxWidth=\"kitt.cardModal.maxWidthWithPadding\"\n width=\"100%\"\n {...props}\n />\n );\n}\n","import type { ReactElement, ReactNode } from 'react';\nimport { useRef } from 'react';\nimport { StyleSheet } from 'react-native';\nimport Animated, { Easing, runOnJS, useAnimatedStyle, withTiming } from 'react-native-reanimated';\nimport { useTheme } from 'styled-components/native';\n\nexport interface NativeOpacityAnimationProps {\n visible?: boolean;\n children: ReactNode;\n onExited: () => void;\n}\n\nexport function NativeOpacityAnimation({ visible, children, onExited }: NativeOpacityAnimationProps): ReactElement {\n const theme = useTheme();\n const hasRunAnimationRef = useRef(false);\n\n function handleAnimationFinished(): void {\n if (visible) {\n hasRunAnimationRef.current = true;\n }\n\n if (!visible && hasRunAnimationRef.current) {\n onExited();\n }\n }\n\n const opacityStyle = useAnimatedStyle(() => {\n const { duration, easing } = theme.kitt.cardModal.animation.overlay;\n const [x1, y1, x2, y2] = easing;\n\n return {\n opacity: withTiming(visible ? 1 : 0, { duration, easing: Easing.bezier(x1, y1, x2, y2) }, (isFinished) => {\n if (!isFinished) return;\n runOnJS(handleAnimationFinished)();\n }),\n };\n });\n\n return <Animated.View style={[StyleSheet.absoluteFillObject, opacityStyle]}>{children}</Animated.View>;\n}\n","import type { ReactElement, ReactNode } from 'react';\nimport { useRef } from 'react';\nimport Animated, { Easing, runOnJS, useAnimatedStyle, useSharedValue, withTiming } from 'react-native-reanimated';\nimport { useTheme } from 'styled-components/native';\nimport type { CardModalAnimationProps } from './CardModalAnimation';\n\nexport interface NativeRotationAnimationProps {\n children: ReactNode;\n topInset?: number;\n visible?: CardModalAnimationProps['visible'];\n onEntered?: CardModalAnimationProps['onEntered'];\n onExited: () => void;\n}\n\nexport function NativeRotationAnimation({\n visible,\n children,\n onEntered,\n onExited,\n}: NativeRotationAnimationProps): ReactElement | null {\n const theme = useTheme();\n\n const hasRunAnimationRef = useRef(false);\n\n const rotation = useSharedValue(0.8);\n\n function handleAnimationFinished(): void {\n if (visible) {\n if (onEntered) onEntered();\n hasRunAnimationRef.current = true;\n }\n\n if (!visible && hasRunAnimationRef.current) onExited();\n }\n\n const animatedStyle = useAnimatedStyle(() => {\n const { duration, easing } = theme.kitt.cardModal.animation.content;\n\n const [x1, y1, x2, y2] = easing;\n\n rotation.value = withTiming(visible ? 0 : 5, { duration, easing: Easing.bezier(x1, y1, x2, y2) }, (isFinished) => {\n if (!isFinished) return;\n runOnJS(handleAnimationFinished)();\n });\n\n return {\n opacity: withTiming(visible ? 1 : 0, { duration, easing: Easing.bezier(x1, y1, x2, y2) }),\n transform: [\n { scale: withTiming(visible ? 1 : 0.8, { duration, easing: Easing.bezier(x1, y1, x2, y2) }) },\n {\n rotateZ: `${rotation.value}deg`,\n },\n ],\n };\n });\n\n return <Animated.View style={[animatedStyle]}>{children}</Animated.View>;\n}\n","import type { ReactElement, ReactNode } from 'react';\nimport { useEffect, useState } from 'react';\nimport { Modal } from 'react-native';\nimport { Overlay } from '../../Overlay/Overlay';\nimport type { ViewProps } from '../../native-base/primitives';\nimport { ScrollView, View } from '../../native-base/primitives';\nimport { CardModalRotationContainer } from './CardModalRotationContainer';\nimport { NativeOpacityAnimation } from './NativeOpacityAnimation';\nimport { NativeRotationAnimation } from './NativeRotationAnimation';\n\nexport interface CardModalAnimationProps extends ViewProps {\n children: ReactNode;\n appear?: boolean;\n visible?: boolean;\n unmountOnExit?: boolean;\n isAnimationEnabled?: boolean;\n onEnter?: () => void;\n onEntered?: () => void;\n onExit?: () => void;\n onExited?: () => void;\n onClose?: () => void;\n}\n\nexport function CardModalAnimation({\n visible,\n children,\n onEnter,\n onEntered,\n onExit,\n onExited,\n onClose,\n}: CardModalAnimationProps): ReactElement {\n const [isModalVisible, setIsModalVisible] = useState(visible);\n const [isContentVisible, setIsContentVisible] = useState(false);\n\n const handleAnimationExited = (): void => {\n setIsModalVisible(false);\n };\n\n useEffect(() => {\n const shouldHideContent = !visible && isContentVisible;\n\n if (!shouldHideContent) return;\n\n if (onExit) onExit();\n setIsContentVisible(false);\n }, [visible, isContentVisible, onExit]);\n\n return (\n <Modal\n transparent\n visible={isModalVisible}\n onShow={() => {\n if (onEnter) onEnter();\n setIsContentVisible(true);\n }}\n onDismiss={() => {\n if (onExited) onExited();\n }}\n >\n <ScrollView bounces={false} contentContainerStyle={{ flexGrow: 1 }}>\n <View position=\"relative\" flex={1} justifyContent=\"center\">\n <NativeOpacityAnimation visible={isContentVisible} onExited={handleAnimationExited}>\n <Overlay onPress={onClose} />\n </NativeOpacityAnimation>\n\n <CardModalRotationContainer>\n <NativeRotationAnimation visible={isContentVisible} onExited={handleAnimationExited} onEntered={onEntered}>\n {children}\n </NativeRotationAnimation>\n </CardModalRotationContainer>\n </View>\n </ScrollView>\n </Modal>\n );\n}\n","import type { ReactElement } from 'react';\nimport { useEffect, useState } from 'react';\nimport { Platform } from 'react-native';\nimport type { ModalBehaviourProps } from '../ModalBehaviour/ModalBehaviour';\nimport { ModalBehaviour } from '../ModalBehaviour/ModalBehaviour';\nimport { ScrollView, View } from '../native-base/primitives';\nimport type { ScrollViewProps } from '../native-base/primitives';\nimport type { CardModalAnimationProps } from './CardModalAnimation/CardModalAnimation';\nimport { CardModalAnimation } from './CardModalAnimation/CardModalAnimation';\n\ninterface ScrollContainerProps extends ScrollViewProps {}\n\nfunction ScrollContainer({ children, ...props }: ScrollContainerProps): ReactElement {\n if (Platform.OS !== 'web') {\n return <View>{children}</View>;\n }\n\n return <ScrollView {...props}>{children}</ScrollView>;\n}\n\nexport interface CardModalBehaviourProps extends CardModalAnimationProps {\n onClose: ModalBehaviourProps['onClose'];\n}\n\nexport function CardModalBehaviour({\n children,\n visible,\n onClose,\n onExited,\n ...props\n}: CardModalBehaviourProps): ReactElement {\n const [isModalBehaviourVisible, setIsModalBehaviourVisible] = useState(visible);\n\n useEffect(() => {\n if (visible === true) {\n setIsModalBehaviourVisible(true);\n }\n }, [visible]);\n\n const handleExitAnimationDone = (): void => {\n if (onExited) onExited();\n setIsModalBehaviourVisible(false);\n };\n\n return (\n <ModalBehaviour visible={isModalBehaviourVisible} onClose={onClose}>\n <ScrollContainer bounces={false} contentContainerStyle={{ flexGrow: 1 }}>\n <CardModalAnimation {...props} visible={visible} onExited={handleExitAnimationDone} onClose={onClose}>\n {children}\n </CardModalAnimation>\n </ScrollContainer>\n </ModalBehaviour>\n );\n}\n","import type { ReactElement } from 'react';\nimport type { ViewProps } from '../native-base/primitives';\nimport { View } from '../native-base/primitives';\n\nexport interface CardModalBodyProps extends ViewProps {}\n\nexport function CardModalBody({\n children,\n paddingX = { base: 'kitt.4', medium: 'kitt.6' },\n paddingY = 'kitt.4',\n ...props\n}: CardModalBodyProps): ReactElement {\n return (\n <View paddingX={paddingX} paddingY={paddingY} {...props}>\n {children}\n </View>\n );\n}\n","import type { ReactElement } from 'react';\nimport type { ViewProps } from '../native-base/primitives';\nimport { View } from '../native-base/primitives';\n\nexport interface CardModalFooterProps extends ViewProps {\n hasSeparator?: boolean;\n}\n\nexport function CardModalFooter({\n children,\n padding = { base: 'kitt.4', medium: 'kitt.2' },\n hasSeparator = true,\n ...props\n}: CardModalFooterProps): ReactElement {\n return (\n <View\n {...props}\n marginTop=\"kitt.2\"\n padding={padding}\n borderTopWidth={hasSeparator ? 'kitt.cardModal.footer.borderWidth' : 0}\n borderColor=\"kitt.separator\"\n alignItems={{ base: undefined, medium: 'flex-end' }}\n >\n {children}\n </View>\n );\n}\n","import type { ReactElement, ReactNode } from 'react';\nimport type { Except } from 'type-fest';\nimport type { ViewProps } from '../native-base/primitives';\nimport { View } from '../native-base/primitives';\nimport { Typography } from '../typography/Typography';\n\ninterface BaseHeaderProps extends Except<ViewProps, 'left' | 'right'> {\n hasSeparator?: boolean;\n left?: ReactNode;\n right?: ReactNode;\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\nexport type CardModalHeaderProps = TitledHeaderProps | ComponentHeaderProps;\n\nexport function CardModalHeader({\n children,\n title,\n paddingBottom = { base: 'kitt.4', medium: 'kitt.2' },\n hasSeparator = true,\n right,\n left,\n ...props\n}: CardModalHeaderProps): ReactElement {\n const defaultContainerPadding = { base: 'kitt.4', medium: 'kitt.6' };\n\n return (\n <View\n {...props}\n padding={paddingBottom}\n borderBottomWidth={hasSeparator ? 'kitt.cardModal.footer.borderWidth' : 0}\n borderColor=\"kitt.separator\"\n justifyContent=\"center\"\n width=\"100%\"\n height=\"kitt.cardModal.header.height\"\n paddingRight={right ? 'kitt.2' : defaultContainerPadding}\n paddingLeft={left ? 'kitt.2' : defaultContainerPadding}\n >\n <View alignItems=\"center\" flexDirection=\"row\" justifyContent={!children && !left ? 'flex-end' : 'space-between'}>\n {left ? <View width=\"kitt.iconButton.width\">{left}</View> : null}\n\n <View flexGrow=\"1\" paddingRight={right ? 'kitt.2' : 0} paddingLeft={left ? 'kitt.2' : 0}>\n {title ? (\n <Typography.Text textAlign={!left && right ? 'left' : 'center'} variant=\"bold\">\n {title}\n </Typography.Text>\n ) : null}\n {children}\n </View>\n\n {right ? <View width=\"kitt.iconButton.width\">{right}</View> : null}\n </View>\n </View>\n );\n}\n","import type { ReactElement } from 'react';\nimport type { ViewProps } from '../native-base/primitives';\nimport { View } from '../native-base/primitives';\nimport { CardModalBehaviour } from './CardModalBehaviour';\nimport { CardModalBody } from './CardModalBody';\nimport { CardModalFooter } from './CardModalFooter';\nimport { CardModalHeader } from './CardModalHeader';\n\nexport interface CardModalProps extends ViewProps {\n withoutShadow?: boolean;\n}\n\nexport function CardModal({\n children,\n backgroundColor = 'kitt.uiBackgroundLight',\n maxWidth = 'kitt.cardModal.maxWidth',\n withoutShadow,\n ...props\n}: CardModalProps): ReactElement {\n return (\n <View\n {...props}\n overflow=\"hidden\"\n backgroundColor={backgroundColor}\n shadow={withoutShadow ? undefined : 'kitt.cardModal.shadow'}\n borderRadius=\"kitt.cardModal.borderRadius\"\n width=\"100%\"\n maxWidth={maxWidth}\n >\n {children}\n </View>\n );\n}\n\nCardModal.Body = CardModalBody;\nCardModal.Header = CardModalHeader;\nCardModal.Footer = CardModalFooter;\nCardModal.ModalBehaviour = CardModalBehaviour;\n","import type { ViewStyle } from 'react-native';\nimport {\n interpolateColor,\n useAnimatedStyle,\n useDerivedValue,\n useSharedValue,\n withTiming,\n} from 'react-native-reanimated';\nimport { useTheme } from 'styled-components/native';\n\ninterface UseNativeAnimationOptions {\n selected?: boolean;\n disabled?: boolean;\n isPressedInternal?: boolean;\n}\n\ninterface NativeAnimation {\n onPressIn: () => void;\n onPressOut: () => void;\n backgroundStyles: ViewStyle;\n}\n\nexport const useNativeAnimation = ({\n selected,\n disabled,\n isPressedInternal,\n}: UseNativeAnimationOptions): NativeAnimation => {\n const theme = useTheme();\n\n const pressed = useSharedValue(Boolean(isPressedInternal));\n const progress = useDerivedValue(() => {\n return withTiming(pressed.value ? 1 : 0, { duration: theme.kitt.choices.item.transition.duration });\n });\n\n const backgroundStyles = useAnimatedStyle(() => {\n const {\n default: defaultBg,\n pressed: pressedBg,\n selected: selectedBg,\n disabled: disabledBg,\n } = theme.kitt.choices.item.backgroundColor;\n\n if (disabled) return { backgroundColor: disabledBg };\n\n if (selected) return { backgroundColor: selectedBg };\n\n return {\n backgroundColor: interpolateColor(progress.value, [0, 1], [defaultBg, pressedBg]),\n };\n });\n\n const onPressIn = (): void => {\n pressed.value = true;\n };\n\n const onPressOut = (): void => {\n pressed.value = false;\n };\n\n return {\n onPressIn,\n onPressOut,\n backgroundStyles,\n };\n};\n","import type { ReactElement, ReactNode } from 'react';\nimport type { GestureResponderEvent } from 'react-native';\nimport { Platform, StyleSheet, View } from 'react-native';\nimport Animated from 'react-native-reanimated';\nimport styled, { css } from 'styled-components/native';\nimport { KittBreakpoints } from '../KittBreakpoints';\nimport { Pressable } from '../native-base/primitives';\nimport type { TypographyColor } from '../typography/Typography';\nimport { Typography } from '../typography/Typography';\nimport type { BaseChoicesProps } from './Choices';\nimport { useNativeAnimation } from './hooks/useNativeAnimation';\n\ninterface GetCurrentTextColorParams {\n isDisabled?: boolean;\n isSelected?: boolean;\n isPressed?: boolean;\n isHovered?: boolean;\n}\n\nfunction getCurrentTextColor({\n isDisabled,\n isSelected,\n isPressed,\n isHovered,\n}: GetCurrentTextColorParams): TypographyColor {\n if (isDisabled) return 'black-light';\n\n if (isSelected && isHovered) return 'white';\n\n if (isSelected || isPressed) return 'white';\n\n return 'black';\n}\n\ntype ChoiceItemVariant = 'rounded';\ntype ChoiceItemSize = BaseChoicesProps<null>['size'];\n\nfunction getBorderRadius(defaultRadius: number, variant?: ChoiceItemVariant): number {\n // The clean way to have the rounded effect would have been to know the children height since radius >= height * 0.5\n // We don't control over the height of the rendered children we just go with a arbitrary really high value\n const arbitraryHighHeightValue = 800;\n if (variant === 'rounded') return arbitraryHighHeightValue;\n\n return defaultRadius;\n}\n\ninterface DisabledBorderProps {\n $variant?: ChoiceItemVariant;\n}\n\nconst DisabledBorder = styled(View)<DisabledBorderProps>`\n border-radius: ${({ theme, $variant }) => getBorderRadius(theme.kitt.choices.item.borderRadius, $variant)}px;\n ${({ theme }) => {\n const { width, color } = theme.kitt.choices.item.disabled.border;\n\n return css`\n border: ${width}px solid ${color};\n `;\n }};\n`;\n\ninterface ChoiceItemPressableProps {\n $variant?: ChoiceItemVariant;\n $size?: ChoiceItemSize;\n $isHovered?: boolean;\n $isPressed?: boolean;\n $isDisabled?: boolean;\n $isSelected?: boolean;\n}\n\nconst ChoiceItemView = styled(Platform.OS === 'web' ? View : Animated.View)<ChoiceItemPressableProps>`\n position: relative;\n border-radius: ${({ theme, $variant }) => getBorderRadius(theme.kitt.choices.item.borderRadius, $variant)}px;\n background-color: ${({ theme, $isHovered, $isPressed, $isDisabled, $isSelected }) => {\n const {\n hoverWhenSelected,\n hover,\n disabled,\n selected,\n pressed,\n default: defaultBackground,\n } = theme.kitt.choices.item.backgroundColor;\n\n if ($isDisabled) return disabled;\n\n if ($isSelected && $isHovered) return hoverWhenSelected;\n\n if ($isPressed) return pressed;\n\n if ($isHovered) return hover;\n\n if ($isSelected) return selected;\n\n return defaultBackground;\n }};\n\n ${({ theme, $size }) => {\n const { base, small } = theme.kitt.choices.item.padding;\n\n if ($size === 'small') {\n return css`\n padding: ${base / 2}px ${base}px;\n `;\n }\n\n return theme.responsive.ifWindowSizeMatches(\n {\n minWidth: KittBreakpoints.SMALL,\n },\n css`\n padding: ${small}px;\n `,\n css`\n padding: ${base}px;\n `,\n );\n }};\n\n ${({ theme }) => {\n if (Platform.OS !== 'web') return undefined;\n\n const { property, duration, timingFunction } = theme.kitt.choices.item.transition;\n\n return css`\n transition: ${property} ${duration}ms ${timingFunction};\n `;\n }}\n`;\n\nexport type ChoiceItemType = 'button' | 'radio' | 'checkbox' | undefined;\n\nexport interface BaseChoiceItemProps<V> {\n type?: ChoiceItemType;\n children: ReactNode;\n disabled?: boolean;\n variant?: ChoiceItemVariant;\n size?: ChoiceItemSize;\n value?: V;\n selected?: boolean;\n /**\n * @internal Used to display pressed UI for testing and storybook purpose\n */\n isPressedInternal?: boolean;\n /**\n * @internal Used to display hovered UI for testing and storybook purpose\n */\n isHoveredInternal?: boolean;\n onPress?: () => void;\n onChange?: (value?: V) => void;\n onFocus?: (e?: any | GestureResponderEvent) => void;\n onBlur?: (e?: any | GestureResponderEvent) => void;\n}\n\nexport interface ChoiceItemButtonProps<V> extends BaseChoiceItemProps<V> {\n type?: 'button';\n value?: never;\n selected?: never;\n onChange?: never;\n}\n\nexport interface ChoiceItemFormElementProps<V> extends BaseChoiceItemProps<V> {\n type: 'radio' | 'checkbox';\n onPress?: never;\n}\n\nexport type ChoiceItemProps<V> = ChoiceItemButtonProps<V> | ChoiceItemFormElementProps<V>;\n\nexport function ChoiceItem<V>({\n type = 'button',\n value,\n selected,\n disabled,\n variant,\n children,\n isPressedInternal,\n isHoveredInternal,\n onPress,\n onChange,\n onBlur,\n onFocus,\n size,\n}: ChoiceItemProps<V>): ReactElement {\n const { onPressIn, onPressOut, backgroundStyles } = useNativeAnimation({ selected, disabled, isPressedInternal });\n\n const handleChange = (): void => {\n if (!onChange) return;\n\n // Checkbox can be toggled\n if (type === 'checkbox') {\n onChange(selected ? undefined : value);\n return;\n }\n\n onChange(value);\n };\n\n const handlePress = (e: GestureResponderEvent): void => {\n if (onFocus) onFocus(e);\n\n if (onPress) onPress();\n handleChange();\n\n if (onBlur) onBlur(e);\n };\n\n return (\n <Pressable\n disabled={disabled}\n accessibilityRole={type}\n accessibilityState={{ checked: selected }}\n onBlur={onBlur}\n onFocus={onFocus}\n onPress={handlePress}\n onPressIn={onPressIn}\n onPressOut={onPressOut}\n >\n {({ isHovered, isPressed }) => (\n <ChoiceItemView\n style={Platform.OS !== 'web' ? [backgroundStyles] : undefined}\n $isHovered={isHovered || isHoveredInternal}\n $isDisabled={disabled}\n $isSelected={selected}\n $isPressed={isPressed || isPressedInternal}\n $variant={variant}\n $size={size}\n >\n <Typography.SetDefaultColor\n value={getCurrentTextColor({\n isDisabled: disabled,\n isSelected: selected || isPressedInternal,\n isPressed,\n isHovered: isHovered || isHoveredInternal,\n })}\n >\n {children}\n </Typography.SetDefaultColor>\n {disabled ? <DisabledBorder $variant={variant} style={StyleSheet.absoluteFillObject} /> : null}\n </ChoiceItemView>\n )}\n </Pressable>\n );\n}\n","import { View } from 'react-native';\nimport styled, { css } from 'styled-components/native';\nimport type { ChoicesDirection } from './Choices';\n\ninterface ChoiceItemContainerProps {\n $isLast?: boolean;\n $direction: ChoicesDirection;\n}\n\nexport const ChoiceItemContainer = styled(View)<ChoiceItemContainerProps>`\n ${({ theme, $isLast, $direction }) => {\n const { row, column } = theme.kitt.choices.spacing;\n\n if ($direction === 'row') {\n return css`\n margin-right: ${$isLast ? 0 : row}px;\n `;\n }\n\n return css`\n margin-bottom: ${$isLast ? 0 : column}px;\n `;\n }}\n`;\n","import type { ReactElement, ReactNode } from 'react';\nimport { Children, cloneElement, useState } from 'react';\nimport type { ViewProps } from 'react-native';\nimport { ScrollView, View } from 'react-native';\nimport type { Except, SetOptional } from 'type-fest';\nimport type { ChoiceItemButtonProps, ChoiceItemFormElementProps, ChoiceItemType } from './ChoiceItem';\nimport { ChoiceItem } from './ChoiceItem';\nimport { ChoiceItemContainer } from './ChoiceItemContainer';\n\nexport type ChoicesDirection = 'row' | 'column';\n\ninterface ChoicesContainerProps extends ViewProps {\n children: ReactNode;\n direction: ChoicesDirection;\n}\n\nfunction ChoicesContainer({ direction, ...props }: ChoicesContainerProps): ReactElement {\n if (direction === 'row') {\n return <ScrollView horizontal {...props} />;\n }\n\n return <View {...props} />;\n}\n\ntype ChoicesPropsToPick = 'type' | 'variant' | 'disabled' | 'value' | 'onPress' | 'onChange' | 'onBlur' | 'onFocus';\ntype ChoicesSize = 'small';\n\n// eslint-disable-next-line @typescript-eslint/no-unused-vars\nexport interface BaseChoicesProps<V> {\n id?: string;\n testID?: string;\n children: ReactNode;\n direction?: ChoicesDirection;\n size?: ChoicesSize;\n}\n\nexport interface ChoicesButtonProps<V, ChoiceType extends ChoiceItemButtonProps<V>['type']>\n extends BaseChoicesProps<V>,\n Pick<ChoiceItemButtonProps<V>, ChoicesPropsToPick> {\n type?: ChoiceType;\n}\n\nexport interface ChoicesFormElementProps<V, ChoiceType extends ChoiceItemFormElementProps<V>['type']>\n extends BaseChoicesProps<V>,\n Pick<ChoiceItemFormElementProps<V>, ChoicesPropsToPick> {\n type: ChoiceType;\n}\n\nexport type ChoicesItemPropsFromChoiceType<\n V,\n ChoiceType extends ChoiceItemType,\n> = ChoiceType extends ChoiceItemFormElementProps<V>['type'] ? ChoiceItemFormElementProps<V> : ChoiceItemButtonProps<V>;\n\nexport type ChoicesProps<\n V,\n ChoiceType extends ChoiceItemType,\n> = ChoiceType extends ChoiceItemFormElementProps<V>['type']\n ? ChoicesFormElementProps<V, ChoiceType>\n : ChoicesButtonProps<V, 'button'>;\n\ntype ExcludeChoiceItemProvidedByChoices = 'type' | 'onPress' | 'onChange' | 'onFocus' | 'onBlur';\ntype OptionalChoiceItemProvidedByChoices = 'variant' | 'disabled' | 'size';\n\nfunction Choices<V, ChoiceType extends ChoiceItemType>({\n id,\n testID,\n type,\n direction = 'column',\n disabled,\n children,\n value,\n variant,\n onPress,\n onChange,\n onFocus,\n onBlur,\n size,\n}: ChoicesProps<V, ChoiceType>): ReactElement {\n const [currentValue, setCurrentValue] = useState(value);\n\n const isForm = type && ['radio', 'checkbox'].includes(type);\n\n const childrenArray = Children.toArray(children) as ReactElement<\n ChoicesItemPropsFromChoiceType<V, ChoiceType>,\n typeof ChoiceItem\n >[];\n\n const handleChange: ChoicesItemPropsFromChoiceType<V, ChoiceType>['onChange'] = (newValue) => {\n setCurrentValue(newValue);\n if (onChange) onChange(newValue);\n };\n\n const sharedProps: Pick<\n ChoicesItemPropsFromChoiceType<V, ChoiceType>,\n ExcludeChoiceItemProvidedByChoices | OptionalChoiceItemProvidedByChoices\n > = {\n type,\n disabled,\n variant,\n onPress: !isForm ? onPress : undefined,\n onChange: isForm ? handleChange : undefined,\n onFocus,\n onBlur,\n size,\n };\n\n return (\n <ChoicesContainer direction={direction} testID={testID} nativeID={id}>\n {childrenArray.map((child, index) => {\n const element = cloneElement<ChoicesItemPropsFromChoiceType<V, ChoiceType>>(child, {\n selected: isForm ? child.props.value === currentValue : undefined,\n ...sharedProps,\n } as any);\n\n return (\n <ChoiceItemContainer key={child.key} $direction={direction} $isLast={index === childrenArray.length - 1}>\n {element}\n </ChoiceItemContainer>\n );\n })}\n </ChoicesContainer>\n );\n}\n\nChoices.Item = ChoiceItem;\n\nexport interface CreateChoices<V, ChoiceType extends ChoiceItemType> {\n (props: ChoicesProps<V, ChoiceType>): ReactElement;\n Item: (\n props: SetOptional<\n Except<ChoicesItemPropsFromChoiceType<V, ChoiceType>, OptionalChoiceItemProvidedByChoices>,\n ExcludeChoiceItemProvidedByChoices\n >,\n ) => ReactElement;\n}\n\nexport function createChoicesComponent<V, ChoiceType extends ChoiceItemType>(): CreateChoices<V, ChoiceType> {\n return Choices as CreateChoices<V, ChoiceType>;\n}\n\nconst ButtonChoices = createChoicesComponent<never, 'button'>();\n\nChoices.ButtonChoices = ButtonChoices;\n\nexport const ChoicesElements = {\n Item: ChoiceItem,\n ButtonChoices,\n};\n","import type { ReactElement, ReactNode } from 'react';\nimport { useRef } from 'react';\nimport { StyleSheet } from 'react-native';\nimport Animated, { Easing, runOnJS, useAnimatedStyle, withTiming } from 'react-native-reanimated';\nimport { useTheme } from 'styled-components/native';\n\nexport interface NativeOpacityAnimationProps {\n visible?: boolean;\n children: ReactNode;\n onExited: () => void;\n}\n\nexport function NativeOpacityAnimation({ visible, children, onExited }: NativeOpacityAnimationProps): ReactElement {\n const theme = useTheme();\n const hasRunAnimationRef = useRef(false);\n\n function handleAnimationFinished(): void {\n if (visible) {\n hasRunAnimationRef.current = true;\n }\n\n if (!visible && hasRunAnimationRef.current) {\n onExited();\n }\n }\n\n const opacityStyle = useAnimatedStyle(() => {\n const { duration, easing } = theme.kitt.dialogModal.animation.overlay;\n const [x1, y1, x2, y2] = easing;\n\n return {\n opacity: withTiming(visible ? 1 : 0, { duration, easing: Easing.bezier(x1, y1, x2, y2) }, (isFinished) => {\n if (!isFinished) return;\n runOnJS(handleAnimationFinished)();\n }),\n };\n });\n\n return <Animated.View style={[StyleSheet.absoluteFillObject, opacityStyle]}>{children}</Animated.View>;\n}\n","import type { ReactElement, ReactNode } from 'react';\nimport { useRef } from 'react';\nimport Animated, { Easing, runOnJS, useAnimatedStyle, useSharedValue, withTiming } from 'react-native-reanimated';\nimport { useTheme } from 'styled-components/native';\nimport type { DialogModalAnimationProps } from './DialogModalAnimation';\n\nexport interface NativeRotationAnimationProps {\n children: ReactNode;\n topInset?: number;\n visible?: DialogModalAnimationProps['visible'];\n onEntered?: DialogModalAnimationProps['onEntered'];\n onExited: () => void;\n}\n\nexport function NativeRotationAnimation({\n visible,\n children,\n onEntered,\n onExited,\n}: NativeRotationAnimationProps): ReactElement | null {\n const theme = useTheme();\n\n const hasRunAnimationRef = useRef(false);\n\n const rotation = useSharedValue(0.8);\n\n function handleAnimationFinished(): void {\n if (visible) {\n if (onEntered) onEntered();\n hasRunAnimationRef.current = true;\n }\n\n if (!visible && hasRunAnimationRef.current) onExited();\n }\n\n const animatedStyle = useAnimatedStyle(() => {\n const { duration, easing } = theme.kitt.dialogModal.animation.content;\n\n const [x1, y1, x2, y2] = easing;\n\n rotation.value = withTiming(visible ? 0 : 5, { duration, easing: Easing.bezier(x1, y1, x2, y2) }, (isFinished) => {\n if (!isFinished) return;\n runOnJS(handleAnimationFinished)();\n });\n\n return {\n opacity: withTiming(visible ? 1 : 0, { duration, easing: Easing.bezier(x1, y1, x2, y2) }),\n transform: [\n { scale: withTiming(visible ? 1 : 0.8, { duration, easing: Easing.bezier(x1, y1, x2, y2) }) },\n {\n rotateZ: `${rotation.value}deg`,\n },\n ],\n };\n });\n\n return <Animated.View style={[animatedStyle]}>{children}</Animated.View>;\n}\n","import type { ReactElement, ReactNode } from 'react';\nimport { useEffect, useState } from 'react';\nimport { Modal } from 'react-native';\nimport { Overlay } from '../../Overlay/Overlay';\nimport type { ViewProps } from '../../native-base/primitives';\nimport { View } from '../../native-base/primitives';\nimport { NativeOpacityAnimation } from './NativeOpacityAnimation';\nimport { NativeRotationAnimation } from './NativeRotationAnimation';\n\nexport interface DialogModalAnimationProps extends ViewProps {\n children: ReactNode;\n appear?: boolean;\n visible?: boolean;\n unmountOnExit?: boolean;\n isAnimationEnabled?: boolean;\n onEnter?: () => void;\n onEntered?: () => void;\n onExit?: () => void;\n onExited?: () => void;\n onClose?: () => void;\n}\n\nexport function DialogModalAnimation({\n visible,\n children,\n onEnter,\n onEntered,\n onExit,\n onExited,\n onClose,\n}: DialogModalAnimationProps): ReactElement {\n const [isModalVisible, setIsModalVisible] = useState(visible);\n const [isContentVisible, setIsContentVisible] = useState(false);\n\n const handleAnimationExited = (): void => {\n setIsModalVisible(false);\n };\n\n useEffect(() => {\n const shouldHideContent = !visible && isContentVisible;\n\n if (!shouldHideContent) return;\n\n if (onExit) onExit();\n setIsContentVisible(false);\n }, [visible, isContentVisible, onExit]);\n\n return (\n <Modal\n transparent\n visible={isModalVisible}\n onShow={() => {\n if (onEnter) onEnter();\n setIsContentVisible(true);\n }}\n onDismiss={() => {\n if (onExited) onExited();\n }}\n >\n <View position=\"relative\" flex={1} justifyContent=\"center\" alignItems=\"center\">\n <NativeOpacityAnimation visible={isContentVisible} onExited={handleAnimationExited}>\n <Overlay onPress={onClose} />\n </NativeOpacityAnimation>\n\n <NativeRotationAnimation visible={isContentVisible} onExited={handleAnimationExited} onEntered={onEntered}>\n <View\n paddingX=\"kitt.dialogModal.overlayPadding.horizontal\"\n paddingY=\"kitt.dialogModal.overlayPadding.vertical\"\n >\n {children}\n </View>\n </NativeRotationAnimation>\n </View>\n </Modal>\n );\n}\n","import type { ReactElement } from 'react';\nimport { useEffect, useState } from 'react';\nimport type { ModalBehaviourProps } from '../ModalBehaviour/ModalBehaviour';\nimport { ModalBehaviour } from '../ModalBehaviour/ModalBehaviour';\nimport { ScrollView } from '../native-base/primitives';\nimport type { DialogModalAnimationProps } from './DialogModalAnimation/DialogModalAnimation';\nimport { DialogModalAnimation } from './DialogModalAnimation/DialogModalAnimation';\n\nexport interface DialogModalBehaviourProps extends DialogModalAnimationProps {\n onClose: ModalBehaviourProps['onClose'];\n}\n\nexport function DialogModalBehaviour({\n children,\n visible,\n onClose,\n onExited,\n ...props\n}: DialogModalBehaviourProps): ReactElement {\n const [isModalBehaviourVisible, setIsModalBehaviourVisible] = useState(visible);\n\n useEffect(() => {\n if (visible === true) {\n setIsModalBehaviourVisible(true);\n }\n }, [visible]);\n\n const handleExitAnimationDone = (): void => {\n if (onExited) onExited();\n setIsModalBehaviourVisible(false);\n };\n\n return (\n <ModalBehaviour visible={isModalBehaviourVisible} onClose={onClose}>\n <ScrollView bounces={false} contentContainerStyle={{ flexGrow: 1 }}>\n <DialogModalAnimation {...props} visible={visible} onExited={handleExitAnimationDone} onClose={onClose}>\n {children}\n </DialogModalAnimation>\n </ScrollView>\n </ModalBehaviour>\n );\n}\n","import type { ReactElement, ReactFragment, ReactNode } from 'react';\nimport type { ActionsButtonProps } from '..';\nimport { Actions } from '../Actions/Actions';\nimport { View } from '../native-base/primitives';\nimport { DialogModalBehaviour } from './DialogModalBehaviour';\n\nexport interface DialogModalProps {\n illustration?: ReactNode;\n actions?: ReactFragment;\n title?: ReactNode;\n children: ReactNode;\n}\n\nexport function DialogModal({ illustration, title, children, actions }: DialogModalProps): ReactElement {\n return (\n <View\n alignItems=\"center\"\n maxWidth=\"kitt.dialogModal.maxWidth\"\n backgroundColor=\"kitt.uiBackgroundLight\"\n borderRadius=\"kitt.dialogModal.borderRadius\"\n shadow=\"kitt.dialogModal.shadow\"\n >\n {illustration ? <View>{illustration}</View> : null}\n\n <View\n width=\"100%\"\n alignItems=\"center\"\n padding={{ base: 'kitt.4', medium: 'kitt.6' }}\n paddingTop={illustration ? 'kitt.8' : 'kitt.6'}\n >\n {title ? <View marginBottom=\"kitt.2\">{title}</View> : null}\n\n <View marginBottom=\"kitt.8\">{children}</View>\n\n {actions ? (\n <Actions flex={undefined} width=\"100%\" layout=\"column\">\n {actions}\n </Actions>\n ) : null}\n </View>\n </View>\n );\n}\n\nDialogModal.ModalBehaviour = DialogModalBehaviour;\n\ninterface DialogModalButtonProps extends ActionsButtonProps {}\n\nfunction DialogModalButton({ stretch = true, ...props }: DialogModalButtonProps): ReactElement {\n return <Actions.Button stretch={stretch} {...props} />;\n}\n\nDialogModal.Button = DialogModalButton;\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((error) => {\n console.error(`An error occurred while opening ${href}`, error);\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((error) => {\n console.error(`An error occurred while opening ${href}`, error);\n });\n break;\n case 'openBrowserApp':\n Linking.openURL(href).catch((error) => {\n console.error(`An error occurred while opening ${href}`, error);\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 spacing = 4;\n","import { lateOceanColorPalette } from '../palettes/lateOceanColorPalette';\nimport { spacing } from './spacing';\n\nexport interface BottomSheetTheme {\n container: {\n padding: number;\n };\n handle: {\n backgroundColor: string;\n };\n}\n\nexport const bottomSheet: BottomSheetTheme = {\n container: {\n padding: spacing * 4,\n },\n handle: {\n backgroundColor: lateOceanColorPalette.black200,\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\ninterface ButtonPadding {\n horizontal: number;\n vertical: number;\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 /**\n * @deprecated use `padding` instead\n */\n contentPadding: {\n default: string;\n large: string;\n xLarge: string;\n disabled: string;\n };\n padding: {\n default: ButtonPadding;\n large: ButtonPadding;\n xLarge: ButtonPadding;\n disabled: ButtonPadding;\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 padding: {\n default: {\n horizontal: 16,\n vertical: 7,\n },\n large: {\n horizontal: 24,\n vertical: 11,\n },\n xLarge: {\n horizontal: 24,\n vertical: 15,\n },\n disabled: {\n horizontal: 14,\n vertical: 5,\n },\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 CardModalTheme {\n borderRadius: number;\n maxWidth: number;\n maxWidthWithPadding: number;\n shadow: {\n color: string;\n offsetX: number;\n offsetY: number;\n opacity: number;\n radius: number;\n };\n header: {\n height: number;\n borderWidth: number;\n borderColor: string;\n };\n footer: {\n borderWidth: number;\n borderColor: string;\n };\n overlayPadding: {\n horizontal: number;\n vertical: number;\n };\n animation: {\n overlay: {\n duration: number;\n easing: number[];\n };\n content: {\n duration: number;\n easing: number[];\n };\n };\n}\n\nexport const webAnimationContentDuration = 400;\nexport const webAnimationContentEasing = [0.77, 0, 0.175, 1];\n\nexport const webAnimationOverlayDuration = 250;\nexport const webAnimationOverlayEasing = [0.42, 0, 1, 1];\n\nconst maxWidth = 540;\nconst overlayHorizontalPadding = 24;\n\nexport const cardModal: CardModalTheme = {\n borderRadius: 20,\n maxWidth,\n maxWidthWithPadding: maxWidth + overlayHorizontalPadding * 2,\n shadow: {\n color: colors.black,\n offsetX: 0,\n offsetY: 10,\n opacity: 0.15,\n radius: 20,\n },\n header: {\n height: 56,\n borderWidth: 1,\n borderColor: colors.separator,\n },\n footer: {\n borderWidth: 1,\n borderColor: colors.separator,\n },\n overlayPadding: {\n horizontal: 24,\n vertical: 32,\n },\n animation: {\n overlay: {\n duration: webAnimationOverlayDuration,\n easing: webAnimationOverlayEasing,\n },\n content: {\n duration: webAnimationContentDuration,\n easing: webAnimationContentEasing,\n },\n },\n};\n","import { lateOceanColorPalette } from '../palettes/lateOceanColorPalette';\nimport { colors } from './colors';\n\nexport interface ChoicesItemTheme {\n borderRadius: number;\n padding: {\n base: number;\n small: number;\n };\n backgroundColor: {\n default: string;\n disabled: string;\n selected: string;\n pressed: string;\n hover: string;\n hoverWhenSelected: string;\n };\n disabled: {\n border: {\n width: number;\n color: string;\n };\n };\n transition: {\n property: string;\n duration: number;\n timingFunction: string;\n };\n}\n\nexport interface ChoicesTheme {\n spacing: {\n row: number;\n column: number;\n };\n item: ChoicesItemTheme;\n}\n\nexport const choices: ChoicesTheme = {\n spacing: {\n row: 12,\n column: 12,\n },\n item: {\n borderRadius: 10,\n padding: {\n base: 16,\n small: 24,\n },\n backgroundColor: {\n default: lateOceanColorPalette.black50,\n disabled: colors.disabled,\n selected: colors.primary,\n pressed: lateOceanColorPalette.lateOceanLight1,\n hover: lateOceanColorPalette.black100,\n hoverWhenSelected: lateOceanColorPalette.lateOceanLight1,\n },\n disabled: {\n border: {\n width: 2,\n color: lateOceanColorPalette.black100,\n },\n },\n transition: {\n property: 'all',\n duration: 300,\n timingFunction: 'cubic-bezier(0.645, 0.045, 0.355, 1)',\n },\n },\n};\n","import { colors } from './colors';\n\nexport interface DialogModalTheme {\n borderRadius: number;\n maxWidth: number;\n overlayPadding: {\n horizontal: number;\n vertical: number;\n };\n shadow: {\n color: string;\n offsetX: number;\n offsetY: number;\n opacity: number;\n radius: number;\n };\n animation: {\n overlay: {\n duration: number;\n easing: number[];\n };\n content: {\n duration: number;\n easing: number[];\n };\n };\n}\n\nexport const webAnimationContentDuration = 400;\nexport const webAnimationContentEasing = [0.77, 0, 0.175, 1];\n\nexport const webAnimationOverlayDuration = 250;\nexport const webAnimationOverlayEasing = [0.42, 0, 1, 1];\n\nexport const dialogModal: DialogModalTheme = {\n borderRadius: 20,\n maxWidth: 540,\n overlayPadding: {\n horizontal: 24,\n vertical: 32,\n },\n shadow: {\n color: colors.black,\n offsetX: 0,\n offsetY: 10,\n opacity: 0.15,\n radius: 20,\n },\n animation: {\n overlay: {\n duration: webAnimationOverlayDuration,\n easing: webAnimationOverlayEasing,\n },\n content: {\n duration: webAnimationContentDuration,\n easing: webAnimationContentEasing,\n },\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 { 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-disabled': lateOceanColorPalette.black400,\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 warning: kittColors.warning,\n },\n types: {\n headers: {\n fontFamily: {\n native: {\n regular: 'Moderat-Extended-Bold',\n bold: 'Moderat-Extended-Bold',\n },\n web: {\n regular: 'Moderat',\n bold: 'Moderat',\n },\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 web: {\n regular: 'Noto Sans',\n bold: 'Noto Sans',\n },\n native: {\n regular: 'NotoSans',\n bold: 'NotoSans-Bold',\n },\n },\n fontWeight: {\n regular: 400,\n bold: 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: kittColors.blackDisabled,\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: string;\n}\n\nexport type InputStateTheme = Record<InputUIState, InputStateStyle>;\n\nconst inputStatesStyle: InputStateTheme = {\n default: {\n backgroundColor: colors.uiBackgroundLight,\n borderColor: colors.separator,\n color: colors.black,\n },\n pending: {\n backgroundColor: colors.uiBackgroundLight,\n borderColor: colors.separator,\n color: colors.black,\n },\n valid: {\n backgroundColor: colors.uiBackgroundLight,\n borderColor: lateOceanColorPalette.black100,\n color: colors.black,\n },\n hover: {\n borderColor: lateOceanColorPalette.black200,\n color: colors.black,\n },\n focus: {\n borderColor: colors.primary,\n color: colors.black,\n },\n disabled: {\n backgroundColor: colors.disabled,\n borderColor: colors.separator,\n color: colors.blackDisabled,\n },\n invalid: {\n borderColor: colors.separator,\n color: colors.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 rightContainer: {\n padding: 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 rightContainer: {\n padding: 10,\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 containerPaddingTop: 5,\n containerPaddingBottom: 10,\n feedbackPaddingTop: { base: 5, small: 10 },\n labelContainerPaddingBottom: 5,\n labelFeedbackMarginLeft: 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","import { colors } from './colors';\n\nexport interface RadioButtonGroupTheme {\n item: {\n minHeight: number;\n borderWidth: number;\n borderColor: {\n default: string;\n hover: string;\n pressed: string;\n active: string;\n disabled: string;\n [key: string]: string;\n };\n backgroundColor: {\n default: string;\n hover: string;\n pressed: string;\n active: string;\n disabled: string;\n };\n borderRadius: number;\n padding: {\n horizontal: number;\n vertical: number;\n };\n transition: {\n property: string;\n duration: string;\n timingFunction: string;\n };\n };\n}\n\nexport const radioButtonGroup: RadioButtonGroupTheme = {\n item: {\n minHeight: 40,\n borderWidth: 2,\n borderRadius: 20,\n borderColor: {\n default: colors.separator,\n hover: colors.primary,\n pressed: colors.primary,\n active: colors.primary,\n disabled: colors.separator,\n },\n backgroundColor: {\n default: colors.uiBackgroundLight,\n hover: colors.white,\n pressed: colors.primary,\n active: colors.primary,\n disabled: colors.disabled,\n },\n padding: {\n horizontal: 18,\n vertical: 6,\n },\n transition: {\n property: 'all',\n duration: '200ms',\n timingFunction: 'ease-in-out',\n },\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 { radioButtonGroup } from './radioButtonGroup';\nimport { textArea } from './textArea';\n\nexport const forms = {\n datePicker,\n input,\n radio,\n inputField,\n textArea,\n checkbox,\n inputTag,\n radioButtonGroup,\n};\n","import type { KittResponsivePropOrValue } from '../../KittBreakpoints';\nimport { lateOceanColorPalette } from '../palettes/lateOceanColorPalette';\nimport { colors } from './colors';\nimport { spacing } from './spacing';\n\nexport interface HighlightThemeType {\n backgroundColor: string;\n}\n\nexport interface HighlightTheme {\n borderRadius: KittResponsivePropOrValue<number>;\n padding: KittResponsivePropOrValue<number>;\n regular: HighlightThemeType;\n dark: HighlightThemeType;\n}\n\nexport const highlight: HighlightTheme = {\n borderRadius: {\n base: spacing * 5,\n },\n regular: {\n backgroundColor: colors.accentLight,\n },\n dark: {\n backgroundColor: lateOceanColorPalette.black100,\n },\n padding: {\n base: spacing * 5,\n },\n};\n","import { lateOceanColorPalette } from '../palettes/lateOceanColorPalette';\nimport { 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 primary: 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 primary: {\n pressedBackgroundColor: lateOceanColorPalette.moonPurpleLight1,\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 animation: {\n overlay: {\n duration: number;\n easing: number[];\n };\n content: {\n duration: number;\n easing: number[];\n };\n };\n}\n\nexport const webAnimationContentDuration = 600;\nexport const webAnimationContentEasing = [0.77, 0, 0.175, 1];\n\nexport const webAnimationOverlayDuration = 250;\nexport const webAnimationOverlayEasing = [0.42, 0, 1, 1];\n\nexport const navigationModal: NavigationModalTheme = {\n height: 56,\n padding: 16,\n animation: {\n overlay: {\n duration: webAnimationOverlayDuration,\n easing: webAnimationOverlayEasing,\n },\n content: {\n duration: webAnimationContentDuration,\n easing: webAnimationContentEasing,\n },\n },\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.native.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","import { colors } from './colors';\n\ninterface ShadowShapeTheme {\n color: string;\n offsetX: number;\n offsetY: number;\n opacity: number;\n radius: number;\n}\n\nexport interface ShadowsTheme {\n medium: string;\n cards: Record<string, ShadowShapeTheme>;\n navigation: Record<string, ShadowShapeTheme>;\n panel: ShadowShapeTheme;\n}\n\nexport const shadows: ShadowsTheme = {\n /** @deprecated: use cards.medium instead - shorthand shadow doesnt work with Native Base */\n medium: '0px 10px 20px rgba(41, 48, 51, 0.25)',\n cards: {\n low: {\n color: colors.black,\n offsetX: 0,\n offsetY: 5,\n opacity: 0.1,\n radius: 20,\n },\n medium: {\n color: colors.black,\n offsetX: 0,\n offsetY: 10,\n opacity: 0.15,\n radius: 20,\n },\n highBase: {\n color: colors.black,\n offsetX: 0,\n offsetY: 10,\n opacity: 0.15,\n radius: 20,\n },\n highMedium: {\n color: colors.black,\n offsetX: 0,\n offsetY: 60,\n opacity: 0.08,\n radius: 40,\n },\n highLarge: {\n color: colors.black,\n offsetX: 0,\n offsetY: 80,\n opacity: 0.08,\n radius: 60,\n },\n },\n navigation: {\n left: {\n color: colors.black,\n offsetX: 10,\n offsetY: 0,\n opacity: 0.15,\n radius: 30,\n },\n right: {\n color: colors.black,\n offsetX: -10,\n offsetY: 0,\n opacity: 0.15,\n radius: 30,\n },\n },\n panel: {\n color: colors.black,\n offsetX: 0,\n offsetY: 20,\n opacity: 1,\n radius: 40,\n },\n};\n","import { lateOceanColorPalette } from '../palettes/lateOceanColorPalette';\n\ninterface SkeletonShapeTheme {\n size: number;\n borderRadius: number;\n}\nexport interface SkeletonTheme {\n backgroundColor: string;\n flareColor: string;\n animationDuration: number;\n shape: Record<string, SkeletonShapeTheme>;\n}\n\nexport const skeleton: SkeletonTheme = {\n backgroundColor: lateOceanColorPalette.black100,\n flareColor: lateOceanColorPalette.black200,\n animationDuration: 1000,\n shape: {\n bar: {\n size: 8,\n borderRadius: 4,\n },\n circle: {\n size: 48,\n borderRadius: 24,\n },\n square: {\n size: 48,\n borderRadius: 6,\n },\n },\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 warn: 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 warn: {\n fill: {\n backgroundColor: colors.warning,\n borderWidth: 0,\n borderColor: colors.transparent,\n },\n outline: {\n backgroundColor: colors.transparent,\n borderWidth: 1,\n borderColor: colors.warning,\n },\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 { hex2rgba } from '../../utils/hexToRgba';\nimport { colors } from './colors';\n\ninterface TooltipTransition {\n duration: string;\n timingFunction: string;\n property: string;\n}\n\nexport interface TooltipTheme {\n backgroundColor: string;\n borderRadius: number;\n opacity: number;\n horizontalPadding: number;\n verticalPadding: number;\n floatingPadding: number;\n maxWidth: number;\n transition: {\n in: TooltipTransition;\n out: TooltipTransition;\n };\n arrow: {\n width: number;\n height: number;\n };\n}\n\nexport const tooltip: TooltipTheme = {\n backgroundColor: hex2rgba(colors.black, 0.95),\n borderRadius: 10,\n opacity: 0.95,\n horizontalPadding: 16,\n verticalPadding: 8,\n floatingPadding: 8,\n maxWidth: 328,\n transition: {\n in: {\n duration: '150ms',\n timingFunction: 'ease-out',\n property: 'opacity',\n },\n out: {\n duration: '75ms',\n timingFunction: 'ease-out',\n property: 'opacity',\n },\n },\n arrow: {\n width: 39,\n height: 9,\n },\n};\n","import { avatar } from './late-ocean/avatar';\nimport { bottomSheet } from './late-ocean/bottomSheet';\nimport { button } from './late-ocean/button';\nimport { card } from './late-ocean/card';\nimport { cardModal } from './late-ocean/cardModal';\nimport { choices } from './late-ocean/choices';\nimport { colors } from './late-ocean/colors';\nimport { dialogModal } from './late-ocean/dialogModal';\nimport { feedbackMessage } from './late-ocean/feedback';\nimport { forms } from './late-ocean/forms';\nimport { highlight } from './late-ocean/highlight';\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 { spacing } from './late-ocean/spacing';\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,\n colors,\n palettes: { lateOcean: lateOceanColorPalette },\n avatar,\n breakpoints,\n button,\n bottomSheet,\n card,\n cardModal,\n choices,\n dialogModal,\n feedbackMessage,\n forms,\n highlight,\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","// 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 /**\n * @deprecated use native-base responsive props or `useBreakpointValue` or `useMatchWindowSize` instead\n *\n * Prefer using if or map variants, at it should be more web friendly\n * */\n matchWindowSize: (options: MatchWindowSizeOptions) => boolean;\n\n /**\n * @deprecated use native-base responsive props or `useBreakpointValue` or `useMatchWindowSize` instead\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 * @deprecated use native-base responsive props or `useBreakpointValue` or `useMatchWindowSize` instead\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\n/** @deprecated use native-base responsive props or `useBreakpointValue` or `useMatchWindowSize` instead */\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 /** @deprecated responsive is not SSR friendly and will be remove soon. Please use native-base breakpoints instead. */\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","function prefixWithZero(value: number, maxLength = 2): string {\n return `${value}`.padStart(maxLength, '0');\n}\n\nexport function dayFormatter(day: number): string {\n return prefixWithZero(day);\n}\n\nexport function monthFormatter(month: number): string {\n return prefixWithZero(month);\n}\n\nexport function yearFormatter(year: number): string {\n return prefixWithZero(year, 4);\n}\n","export function getDayInInterval(value: number | undefined): number | undefined {\n const minValue = 1;\n const maxValue = 31;\n\n return value !== undefined ? Math.max(minValue, Math.min(maxValue, value)) : value;\n}\n\nexport function getMonthInInterval(\n value: number | undefined,\n minDate: Date | undefined,\n maxDate: Date | undefined,\n): number | undefined {\n const maxMonthInYear = 12;\n\n const minValue = minDate ? minDate.getMonth() + 1 : 1;\n const maxValue = maxDate ? maxDate.getMonth() + 1 : maxMonthInYear;\n\n return value !== undefined ? Math.max(minValue, Math.min(maxValue, value)) : value;\n}\n\nexport function getYearInInterval(\n value: number | undefined,\n minDate: Date | undefined,\n maxDate: Date | undefined,\n): number | undefined {\n const maxPossibleYear = 9999;\n\n const minValue = minDate ? minDate.getFullYear() : 1;\n const maxValue = maxDate ? maxDate.getFullYear() : maxPossibleYear;\n\n return value !== undefined ? Math.max(minValue, Math.min(maxValue, value)) : value;\n}\n","export function isNumber(input?: unknown): boolean {\n // Number.isNaN and isNaN are not consistent\n // eslint-disable-next-line no-restricted-globals\n return !isNaN(input as any);\n}\n","interface OnDatePartChangeParams {\n day?: number;\n month?: number;\n year?: number;\n validYearMinLength?: number;\n minDate?: Date;\n maxDate?: Date;\n onChange: (v?: Date) => void;\n onBlur?: () => void;\n onFocus?: () => void;\n}\n\nexport function onDatePartChange({\n day,\n month,\n year,\n validYearMinLength = 4,\n minDate,\n maxDate,\n onChange,\n onBlur,\n onFocus,\n}: OnDatePartChangeParams): void {\n const arrayParts = [day, month, year];\n\n const isEverythingUndefined = arrayParts.every((v) => v === undefined);\n const isEverythingDefined = arrayParts.every(Boolean);\n\n // every parts are undefined\n if (isEverythingUndefined) {\n if (onFocus) onFocus();\n onChange(undefined);\n if (onBlur) onBlur();\n\n return;\n }\n\n // Do nothing if some input parts are empty\n if (!isEverythingDefined) {\n return;\n }\n\n const nextValue = new Date();\n\n const isValidYear = year && year.toString().length >= validYearMinLength;\n\n if (!isValidYear) {\n return;\n }\n\n if (day) nextValue.setDate(day);\n if (month) nextValue.setMonth(month - 1);\n if (year) nextValue.setFullYear(year);\n\n nextValue.setMinutes(0);\n nextValue.setHours(0);\n nextValue.setSeconds(0);\n nextValue.setMilliseconds(0);\n\n if (minDate) {\n minDate.setMinutes(0);\n minDate.setHours(0);\n minDate.setSeconds(0);\n minDate.setMilliseconds(0);\n const isMinDateAfterNextValue = minDate.getTime() > nextValue.getTime();\n\n if (isMinDateAfterNextValue) {\n if (onFocus) onFocus();\n onChange(undefined);\n if (onBlur) onBlur();\n\n return;\n }\n }\n\n if (maxDate) {\n maxDate.setMinutes(0);\n maxDate.setHours(0);\n maxDate.setSeconds(0);\n maxDate.setMilliseconds(0);\n\n const isMaxDateBeforeNextValue = nextValue.getTime() > maxDate.getTime();\n\n if (isMaxDateBeforeNextValue) {\n if (onFocus) onFocus();\n onChange(undefined);\n if (onBlur) onBlur();\n\n return;\n }\n }\n\n if (onFocus) onFocus();\n onChange(nextValue);\n if (onBlur) onBlur();\n}\n","export function stringToNumber(text: string): number | undefined {\n if (text.length === 0) return undefined;\n return parseInt(text, 10);\n}\n","import type { Reducer } from 'react';\nimport type { DatePickerProps } from '../DatePicker';\nimport { dayFormatter, monthFormatter, yearFormatter } from '../utils/dateFormatter';\nimport { getDayInInterval, getMonthInInterval, getYearInInterval } from '../utils/datePartInInterval';\nimport { isNumber } from '../utils/isNumber';\nimport { onDatePartChange } from '../utils/onDatePartChange';\nimport { stringToNumber } from '../utils/stringToNumber';\n\nexport interface State {\n currentValue: DatePickerProps['value'];\n currentDay?: number;\n currentMonth?: number;\n currentYear?: number;\n displayedDay?: string;\n displayedMonth?: string;\n displayedYear?: string;\n minDate: DatePickerProps['minDate'];\n maxDate: DatePickerProps['maxDate'];\n onChange: DatePickerProps['onChange'];\n onBlur: DatePickerProps['onBlur'];\n onFocus: DatePickerProps['onFocus'];\n}\n\ninterface DayChangeAction {\n type: 'day-change';\n nextDay?: string;\n}\n\ninterface MonthChangeAction {\n type: 'month-change';\n nextMonth?: string;\n}\n\ninterface YearChangeAction {\n type: 'year-change';\n nextYear?: string;\n}\n\ninterface DayBlurAction {\n type: 'day-blur';\n}\n\ninterface MonthBlurAction {\n type: 'month-blur';\n}\n\ninterface YearBlurAction {\n type: 'year-blur';\n}\n\ntype Actions =\n | DayChangeAction\n | MonthChangeAction\n | YearChangeAction\n | DayBlurAction\n | MonthBlurAction\n | YearBlurAction;\n\nexport const keyboardDatePickerReducer: Reducer<State, Actions> = (state, action) => {\n const handleChange = (dateParts: { day?: number; month?: number; year?: number }): void => {\n const { onFocus, onBlur, onChange, minDate, maxDate } = state;\n\n onDatePartChange({ ...dateParts, onFocus, onBlur, onChange, minDate, maxDate });\n };\n\n switch (action.type) {\n case 'day-change': {\n const nextDay = stringToNumber(action.nextDay || '');\n\n if (nextDay === undefined || !isNumber(action.nextDay)) {\n return {\n ...state,\n currentDay: undefined,\n displayedDay: '',\n };\n }\n\n handleChange({ day: nextDay, month: state.currentMonth, year: state.currentYear });\n\n return {\n ...state,\n currentDay: nextDay,\n displayedDay: nextDay.toString(),\n };\n }\n\n case 'month-change': {\n const nextMonth = stringToNumber(action.nextMonth || '');\n\n if (nextMonth === undefined || !isNumber(action.nextMonth)) {\n return {\n ...state,\n currentMonth: undefined,\n displayedMonth: '',\n };\n }\n\n handleChange({ day: state.currentDay, month: nextMonth, year: state.currentYear });\n\n return {\n ...state,\n currentMonth: nextMonth,\n displayedMonth: nextMonth.toString(),\n };\n }\n\n case 'year-change': {\n const nextYear = stringToNumber(action.nextYear || '');\n\n if (nextYear === undefined || !isNumber(action.nextYear)) {\n return {\n ...state,\n currentYear: undefined,\n displayedYear: '',\n };\n }\n\n handleChange({ day: state.currentDay, month: state.currentMonth, year: nextYear });\n\n return {\n ...state,\n currentYear: nextYear,\n displayedYear: nextYear.toString(),\n };\n }\n\n case 'day-blur': {\n const nextCurrentDay = getDayInInterval(state.currentDay);\n\n return {\n ...state,\n displayedDay: nextCurrentDay ? dayFormatter(nextCurrentDay) : state.displayedDay,\n };\n }\n\n case 'month-blur': {\n const { minDate, maxDate } = state;\n\n const nextCurrentMonth = getMonthInInterval(state.currentMonth, minDate, maxDate);\n\n return {\n ...state,\n currentMonth: nextCurrentMonth,\n displayedMonth: nextCurrentMonth !== undefined ? monthFormatter(nextCurrentMonth) : state.displayedMonth,\n };\n }\n\n case 'year-blur': {\n const { minDate, maxDate } = state;\n\n const nextCurrentYear = getYearInInterval(state.currentYear, minDate, maxDate);\n\n return {\n ...state,\n currentYear: nextCurrentYear,\n displayedYear: nextCurrentYear !== undefined ? yearFormatter(nextCurrentYear) : state.displayedYear,\n };\n }\n\n default:\n return state;\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 { Input } from 'native-base';\nimport type { ResponsiveValue } from 'native-base/lib/typescript/components/types';\nimport type { ReactElement, ReactNode } from 'react';\nimport { forwardRef } from 'react';\nimport type { TextInput as RNTextInput, TextInputProps as RNTextInputProps } from 'react-native';\nimport { Platform } from 'react-native';\nimport { useTheme } from 'styled-components/native';\nimport type { Except } from 'type-fest';\nimport { View } from '../../native-base/primitives';\nimport { createNativeBaseFontSize } from '../../typography/Typography';\nimport type { InputFormState, InputUIState } from '../utils';\nimport { InputTextContainer } from './InputTextContainer';\n\nexport interface InputTextProps extends Except<RNTextInputProps, 'nativeID'> {\n id?: string;\n name?: string;\n // See InterfaceInputProps from native-base\n variant?: ResponsiveValue<'outline' | 'unstyled'>;\n disabled?: boolean;\n minHeight?: number;\n state?: InputFormState;\n right?: ReactNode;\n /**\n * @internal\n * @deprecated\n */\n internalForceState?: InputUIState;\n}\n\nexport const InputText = forwardRef<RNTextInput, InputTextProps>(\n (\n {\n id,\n right,\n state: formState,\n variant = 'outline',\n internalForceState,\n disabled = false,\n autoCorrect = true,\n textContentType = 'none',\n autoComplete = 'off',\n keyboardType = 'default',\n multiline,\n onSubmitEditing,\n ...props\n }: InputTextProps,\n ref,\n ): ReactElement => {\n const theme = useTheme();\n const fontSizeForNativeBase = createNativeBaseFontSize({ base: 'body' });\n const shouldHandleSingleLineOnIOS = Platform.OS === 'ios' && !multiline;\n\n return (\n <InputTextContainer $isDisabled={disabled}>\n <Input\n ref={ref as any}\n multiline={multiline}\n nativeID={id}\n isDisabled={internalForceState ? internalForceState === 'disabled' : disabled}\n isHovered={internalForceState ? internalForceState === 'hover' : undefined}\n isFocused={internalForceState ? internalForceState === 'focus' : undefined}\n keyboardType={keyboardType}\n autoComplete={autoComplete}\n autoCorrect={autoCorrect}\n textContentType={textContentType}\n fontSize={fontSizeForNativeBase}\n lineHeight={\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 shouldHandleSingleLineOnIOS ? 0 : fontSizeForNativeBase\n }\n fontWeight=\"bodies.regular\"\n fontFamily=\"bodies.regular\"\n py={!multiline && Platform.OS !== 'web' ? 0 : undefined}\n variant={variant}\n {...props}\n onSubmitEditing={multiline ? () => null : onSubmitEditing}\n />\n {right ? (\n <View\n position=\"absolute\"\n right={0}\n top={0}\n bottom={0}\n justifyContent=\"center\"\n padding={theme.kitt.forms.input.rightContainer.padding}\n >\n {right}\n </View>\n ) : null}\n </InputTextContainer>\n );\n },\n);\n","import type { ReactElement, Ref } from 'react';\nimport { forwardRef } from 'react';\nimport type { TextInput } from 'react-native';\nimport type { InputTextProps } from '../../InputText/InputText';\nimport { InputText } from '../../InputText/InputText';\nimport type { InputUIState } from '../../utils';\n\ninterface GetCurrentInternalForcedStateParams {\n isDisabled?: boolean;\n isFocusedInternal?: boolean;\n isPressedInternal?: boolean;\n isHoveredInternal?: boolean;\n}\n\nfunction getCurrentInternalForcedState({\n isDisabled,\n isHoveredInternal,\n isFocusedInternal,\n isPressedInternal,\n}: GetCurrentInternalForcedStateParams): InputUIState | 'disabled' {\n if (isDisabled) return 'disabled';\n\n if (isHoveredInternal) return 'hover';\n\n if (isFocusedInternal) return 'focus';\n\n if (isPressedInternal) return 'hover';\n\n return 'default';\n}\n\ninterface InputPartProps {\n value?: string;\n placeholder?: InputTextProps['placeholder'];\n disabled?: boolean;\n isFocusedInternal?: boolean;\n isHoveredInternal?: boolean;\n isPressedInternal?: boolean;\n onChange?: InputTextProps['onChange'];\n onBlur?: () => void;\n}\n\nexport const InputPart = forwardRef(\n (\n {\n value,\n placeholder,\n disabled,\n isFocusedInternal,\n isHoveredInternal,\n isPressedInternal,\n onChange,\n onBlur,\n }: InputPartProps,\n ref: Ref<TextInput>,\n ): ReactElement => {\n return (\n <InputText\n ref={ref}\n internalForceState={getCurrentInternalForcedState({\n isDisabled: disabled,\n isHoveredInternal,\n isFocusedInternal,\n isPressedInternal,\n })}\n value={value}\n placeholder={placeholder}\n disabled={disabled}\n keyboardType=\"numeric\"\n textAlign=\"center\"\n onChange={onChange}\n onBlur={onBlur}\n />\n );\n },\n);\n","import type { ReactElement, ReactNode } from 'react';\nimport type { ViewProps } from '../../../native-base/primitives';\nimport { View } from '../../../native-base/primitives';\nimport { createResponsiveStyleFromProp } from '../../../utils/createResponsiveStyleFromProp/createResponsiveStyleFromProp';\nimport type { DatePickerProps } from '../DatePicker';\n\ninterface PartContainerProps {\n children: ReactNode;\n isStretch?: DatePickerProps['stretch'];\n width?: ViewProps['width'];\n}\n\nexport function PartContainer({ children, isStretch, width }: PartContainerProps): ReactElement {\n return (\n <View\n flex={createResponsiveStyleFromProp(isStretch, 0.33)}\n flexGrow={createResponsiveStyleFromProp(isStretch, 1)}\n width={isStretch ? undefined : width}\n >\n {children}\n </View>\n );\n}\n","import type { ReactElement } from 'react';\nimport { useReducer, useRef } from 'react';\nimport type { TextInput } from 'react-native';\nimport { HStack } from '../../../native-base/layout';\nimport { View } from '../../../native-base/primitives';\nimport type { DatePickerProps } from '../DatePicker';\nimport { keyboardDatePickerReducer } from '../reducers/keyboardDatePickerReducer';\nimport { dayFormatter, monthFormatter, yearFormatter } from '../utils/dateFormatter';\nimport { InputPart } from './InputPart';\nimport { PartContainer } from './PartContainer';\n\ninterface KeyboardDatePickerProps extends DatePickerProps {}\n\nexport function KeyboardDatePicker({\n value,\n testID,\n id,\n stretch,\n placeholder,\n minDate,\n maxDate,\n disabled,\n isFocusedInternal,\n isHoveredInternal,\n isPressedInternal,\n onChange,\n onBlur,\n onFocus,\n ...props\n}: KeyboardDatePickerProps): ReactElement {\n const dayRef = useRef<TextInput>(null);\n const monthRef = useRef<TextInput>(null);\n const yearRef = useRef<TextInput>(null);\n\n const defaultValue = value;\n\n const defaultDay = defaultValue?.getDate();\n const defaultMonth = defaultValue ? defaultValue.getMonth() + 1 : undefined;\n const defaultYear = defaultValue?.getFullYear();\n\n const [state, dispatch] = useReducer(keyboardDatePickerReducer, {\n currentValue: defaultValue,\n currentDay: defaultDay,\n currentMonth: defaultMonth,\n currentYear: defaultYear,\n displayedDay: defaultDay ? dayFormatter(defaultDay) : '',\n displayedMonth: defaultMonth ? monthFormatter(defaultMonth) : '',\n displayedYear: defaultYear ? yearFormatter(defaultYear) : '',\n minDate,\n maxDate,\n onChange,\n onBlur,\n onFocus,\n });\n\n const sharedInputPartProps = {\n isFocusedInternal,\n isHoveredInternal,\n isPressedInternal,\n disabled,\n };\n\n return (\n <View testID={testID} nativeID={id}>\n <HStack space=\"kitt.2\">\n <PartContainer isStretch={stretch} width=\"kitt.forms.datePicker.day.minWidth\">\n <InputPart\n ref={dayRef}\n {...sharedInputPartProps}\n placeholder={placeholder?.day}\n value={state.displayedDay}\n onChange={(e) => {\n const nextDay = e.nativeEvent.text;\n dispatch({ type: 'day-change', nextDay });\n\n if (nextDay.length === 2 && monthRef.current) {\n monthRef.current.focus();\n }\n }}\n onBlur={() => dispatch({ type: 'day-blur' })}\n />\n </PartContainer>\n\n <PartContainer isStretch={stretch} width=\"kitt.forms.datePicker.month.minWidth\">\n <InputPart\n ref={monthRef}\n {...sharedInputPartProps}\n placeholder={placeholder?.month}\n value={state.displayedMonth}\n onChange={(e) => {\n const nextMonth = e.nativeEvent.text;\n dispatch({ type: 'month-change', nextMonth: e.nativeEvent.text });\n\n if (nextMonth.length === 2 && yearRef.current) {\n yearRef.current.focus();\n }\n }}\n onBlur={() => dispatch({ type: 'month-blur' })}\n />\n </PartContainer>\n\n <PartContainer isStretch={stretch} width=\"kitt.forms.datePicker.year.minWidth\">\n <InputPart\n ref={yearRef}\n {...sharedInputPartProps}\n placeholder={placeholder?.year}\n value={state.displayedYear}\n onChange={(e) => {\n dispatch({ type: 'year-change', nextYear: e.nativeEvent.text });\n }}\n onBlur={() => dispatch({ type: 'year-blur' })}\n />\n </PartContainer>\n </HStack>\n </View>\n );\n}\n","import type { ReactElement } from 'react';\nimport { HStack } from '../../../native-base/layout';\nimport { Pressable, View } from '../../../native-base/primitives';\nimport { createResponsiveStyleFromProp } from '../../../utils/createResponsiveStyleFromProp/createResponsiveStyleFromProp';\nimport type { DatePickerProps } from '../DatePicker';\nimport { dayFormatter, monthFormatter, yearFormatter } from '../utils/dateFormatter';\nimport { InputPart } from './InputPart';\nimport { PartContainer } from './PartContainer';\n\ninterface PressableDateInputsProps extends Omit<DatePickerProps, 'onChange'> {\n onPress: () => void;\n}\n\nexport function PressableDateInputs({\n disabled,\n stretch,\n id,\n testID,\n value,\n placeholder,\n isFocusedInternal,\n isHoveredInternal,\n isPressedInternal,\n onPress,\n}: PressableDateInputsProps): ReactElement {\n const sharedInputPartProps = {\n isFocusedInternal,\n isHoveredInternal,\n isPressedInternal,\n disabled,\n };\n\n return (\n <Pressable\n display=\"flex\"\n flexDirection=\"row\"\n position=\"relative\"\n alignSelf={createResponsiveStyleFromProp(stretch, undefined, 'baseline')}\n nativeID={id}\n disabled={disabled}\n testID={testID}\n onPress={onPress}\n >\n <View position=\"relative\" width={createResponsiveStyleFromProp(stretch, '100%')} pointerEvents=\"none\">\n <HStack space=\"kitt.2\" width={createResponsiveStyleFromProp(stretch, '100%')}>\n <PartContainer isStretch={stretch} width=\"kitt.forms.datePicker.day.minWidth\">\n <InputPart\n {...sharedInputPartProps}\n placeholder={placeholder?.day}\n value={value ? dayFormatter(value.getDate()) : undefined}\n />\n </PartContainer>\n\n <PartContainer isStretch={stretch} width=\"kitt.forms.datePicker.month.minWidth\">\n <InputPart\n {...sharedInputPartProps}\n placeholder={placeholder?.month}\n value={value ? monthFormatter(value.getMonth() + 1) : undefined}\n />\n </PartContainer>\n\n <PartContainer isStretch={stretch} width=\"kitt.forms.datePicker.year.minWidth\">\n <InputPart\n {...sharedInputPartProps}\n placeholder={placeholder?.year}\n value={value ? yearFormatter(value.getFullYear()) : undefined}\n />\n </PartContainer>\n </HStack>\n <View width=\"100%\" height=\"100%\" position=\"absolute\" top=\"0\" left=\"0\" />\n </View>\n </Pressable>\n );\n}\n","import { DateTimePickerAndroid } from '@react-native-community/datetimepicker';\nimport { useEffect, useState } from 'react';\nimport type { ReactElement } from 'react';\nimport type { Except } from 'type-fest';\nimport type { DatePickerProps } from '../../DatePicker';\nimport { PressableDateInputs } from '../PressableDateInputs';\n\ninterface DatePickerAndroidProps extends Except<DatePickerProps, 'pickerUITitle' | 'pickerUIValidateButtonLabel'> {}\n\nexport function DatePickerAndroid({\n onBlur,\n onFocus,\n pickerDefaultDate,\n pickerUITestID,\n isDefaultVisible,\n value,\n onChange,\n ...props\n}: DatePickerAndroidProps): ReactElement {\n const [isFocused, setIsFocused] = useState(false);\n const [currentValue, setCurrentValue] = useState<Date | undefined>(value);\n\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 <PressableDateInputs value={currentValue} isFocusedInternal={isFocused} onPress={handleModalOpen} {...props} />\n );\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 type { ReactElement } from 'react';\nimport type { PressableIconButtonWebWrapperWithThemeProps } from './PressableIconButtonWebWrapper.web';\n\nexport type { PressableIconButtonWebWrapperWithThemeProps } from './PressableIconButtonWebWrapper.web';\n\nexport function PressableIconButtonWebWrapperWithTheme(\n props: PressableIconButtonWebWrapperWithThemeProps,\n): ReactElement {\n throw new Error('This component is not supposed to be called in native');\n}\n","import type { ReactElement } from 'react';\nimport type { PressableProps } from 'react-native';\nimport { Platform } from 'react-native';\nimport styled, { withTheme } from 'styled-components/native';\nimport { StyleWebWrapper } from '../utils/StyleWebWrapper';\nimport type { IconButtonContentProps } from './IconButton';\nimport { PressableIconButtonWebWrapperWithTheme } from './PressableIconButtonWebWrapper';\n\nconst PressableIconButtonWebWrapper = withTheme(PressableIconButtonWebWrapperWithTheme);\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\n as={PressableIconButtonWebWrapper}\n $isWhite={color === 'white'}\n $isPrimary={color === 'primary'}\n $isDisabled={Boolean(disabled)}\n >\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: 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 if (color === 'white') return iconButton.white.pressedBackgroundColor;\n if (color === 'primary') return iconButton.primary.pressedBackgroundColor;\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' | 'primary';\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\n/**\n * @deprecated This component will be deleted in a later Kitt Universal version. Use CardModal instead\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 type { DatePickerProps } from '../../DatePicker';\nimport { PressableDateInputs } from '../PressableDateInputs';\nimport { ModalPlatformDateTimePicker } from './ModalPlatformDateTimePicker';\n\nexport function DefaultNativeUIDatePicker({\n value,\n pickerUITestID,\n pickerUITitle,\n pickerUIValidateButtonLabel,\n isDefaultVisible,\n pickerDefaultDate,\n isFocusedInternal,\n isHoveredInternal,\n isPressedInternal,\n onChange,\n onFocus,\n onBlur,\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 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\n return (\n <>\n <PressableDateInputs\n value={currentValue}\n isFocusedInternal={isFocused || isFocusedInternal}\n isHoveredInternal={isHoveredInternal}\n isPressedInternal={isPressedInternal}\n onPress={handleModalOpen}\n {...props}\n />\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 { ReactElement } from 'react';\nimport { Platform } from 'react-native';\nimport type { DatePickerProps } from '../../DatePicker';\nimport { DatePickerAndroid } from './DatePickerAndroid';\nimport { DefaultNativeUIDatePicker } from './DefaultNativeUIDatePicker';\n\ninterface NativeUIDatePickerProps extends DatePickerProps {}\n\nexport function NativeUIDatePicker({\n value,\n pickerUITestID,\n isDefaultVisible,\n pickerDefaultDate,\n onChange,\n onBlur,\n ...props\n}: NativeUIDatePickerProps): ReactElement {\n if (Platform.OS === 'android') {\n return (\n <DatePickerAndroid\n pickerDefaultDate={pickerDefaultDate}\n pickerUITestID={pickerUITestID}\n isDefaultVisible={isDefaultVisible}\n value={value}\n onChange={onChange}\n onBlur={onBlur}\n {...props}\n />\n );\n }\n\n return (\n <DefaultNativeUIDatePicker\n value={value}\n isDefaultVisible={isDefaultVisible}\n pickerUITestID={pickerUITestID}\n onChange={onChange}\n onBlur={onBlur}\n {...props}\n />\n );\n}\n","import type { ReactElement } from 'react';\nimport type { ResponsiveValue } from '../../utils/createResponsiveStyleFromProp/createResponsiveStyleFromProp';\nimport { KeyboardDatePicker } from './components/KeyboardDatePicker';\nimport { NativeUIDatePicker } from './components/NativeUIDatePicker/NativeUIDatePicker';\n\ntype DatePickerFillMode = 'keyboard' | 'native';\n\ninterface DatePickerPlaceholder {\n day: string;\n month: string;\n year: string;\n}\n\nexport interface DatePickerProps {\n id?: string;\n testID?: string;\n disabled?: boolean;\n /**\n * @description value of the input\n */\n value?: Date;\n placeholder?: DatePickerPlaceholder;\n /** @description minimum date for the value to be valid */\n minDate?: Date;\n /** @description maximum date for the value to be valid */\n maxDate?: Date;\n /** @description Native only props - testID of the native platform picker */\n pickerUITestID?: string;\n /** @description Display a keyboard or the native picker. Web only has \"keyboard\" mode available */\n fillMode?: DatePickerFillMode;\n /** @description Native only props - Default date to be displayed on the native UI before any interactions */\n pickerDefaultDate?: Date;\n /** @description iOS only props - Text of the title of the Kitt modal displaying the platform picker on iOS */\n pickerUITitle?: string;\n /** @description iOS only props - Label of the validate button shown in the Kitt modal displaying the platform picker on iOS */\n pickerUIValidateButtonLabel?: string;\n /** @description Native only props - Controls the default visibility of the native picker */\n isDefaultVisible?: boolean;\n stretch?: ResponsiveValue<boolean | undefined>;\n /** @internal for story purpose */\n isHoveredInternal?: boolean;\n /** @internal for story purpose */\n isPressedInternal?: boolean;\n /** @internal for story purpose */\n isFocusedInternal?: boolean;\n onChange: (date?: Date) => void;\n onBlur?: (e?: any) => void;\n onFocus?: (e?: any) => void;\n}\n\nexport function DatePicker({ fillMode = 'native', value, ...props }: DatePickerProps): ReactElement {\n // in apps, final-form can give a string value that will break the component\n const currentValue = value || undefined;\n\n if (fillMode === 'keyboard') {\n return <KeyboardDatePicker {...props} value={currentValue} />;\n }\n\n return <NativeUIDatePicker {...props} value={currentValue} />;\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 { useTheme } from 'styled-components/native';\nimport { View } from '../../native-base/primitives';\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 const theme = useTheme();\n return (\n <View\n paddingTop={theme.kitt.forms.inputField.containerPaddingTop}\n paddingBottom={theme.kitt.forms.inputField.containerPaddingBottom}\n >\n {label ? (\n <View\n flexDirection=\"row\"\n alignItems=\"center\"\n paddingBottom={theme.kitt.forms.inputField.labelContainerPaddingBottom}\n >\n <View marginRight={theme.kitt.forms.inputField.labelFeedbackMarginLeft}>{label}</View>\n {labelFeedback}\n </View>\n ) : null}\n {input}\n {feedback ? <View paddingTop={theme.kitt.forms.inputField.feedbackPaddingTop}>{feedback}</View> : null}\n </View>\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, ReactNode } from 'react';\nimport type { ViewStyle } from 'react-native';\nimport Animated from 'react-native-reanimated';\nimport styled from 'styled-components/native';\n\ninterface StyledAnimatedViewProps {\n $isFocused?: boolean;\n $isPressed?: boolean;\n $isSelected?: boolean;\n $isDisabled?: boolean;\n $isFirst?: boolean;\n $isLast?: boolean;\n}\n\nconst StyledAnimatedView = styled(Animated.View)<StyledAnimatedViewProps>`\n border-width: ${({ theme }) => theme.kitt.forms.radioButtonGroup.item.borderWidth}px;\n border-top-left-radius: ${({ theme, $isFirst }) =>\n $isFirst ? theme.kitt.forms.radioButtonGroup.item.borderRadius : 0}px;\n border-bottom-left-radius: ${({ theme, $isFirst }) =>\n $isFirst ? theme.kitt.forms.radioButtonGroup.item.borderRadius : 0}px;\n border-top-right-radius: ${({ theme, $isLast }) =>\n $isLast ? theme.kitt.forms.radioButtonGroup.item.borderRadius : 0}px;\n border-bottom-right-radius: ${({ theme, $isLast }) =>\n $isLast ? theme.kitt.forms.radioButtonGroup.item.borderRadius : 0}px;\n border-left-width: ${({ theme, $isFirst }) => ($isFirst ? theme.kitt.forms.radioButtonGroup.item.borderWidth : 0)}px;\n`;\n\nexport interface AnimatedContainerProps {\n children: ReactNode;\n isFocused?: boolean;\n isPressed?: boolean;\n isSelected?: boolean;\n isDisabled?: boolean;\n isFirst?: boolean;\n isLast?: boolean;\n animatedStyles: Partial<ViewStyle>;\n}\n\nexport function AnimatedContainer({\n children,\n isFocused,\n isPressed,\n isSelected,\n isDisabled,\n isFirst,\n isLast,\n animatedStyles,\n}: AnimatedContainerProps): ReactElement {\n return (\n <StyledAnimatedView\n style={[animatedStyles]}\n $isFocused={isFocused}\n $isPressed={isPressed}\n $isSelected={isSelected}\n $isDisabled={isDisabled}\n $isFirst={isFirst}\n $isLast={isLast}\n >\n {children}\n </StyledAnimatedView>\n );\n}\n","import type { ReactElement } from 'react';\nimport { useTheme } from 'styled-components/native';\nimport { View } from '../../native-base/primitives';\n\ninterface FocusBorderProps {\n isPressed?: boolean;\n isHovered?: boolean;\n isSelected?: boolean;\n isFocused?: boolean;\n isFirst?: boolean;\n isLast?: boolean;\n}\n\nexport function HoverBorder({\n isFirst,\n isLast,\n isSelected,\n isHovered,\n isFocused,\n isPressed,\n}: FocusBorderProps): ReactElement {\n const theme = useTheme();\n const hasPointerInteraction = isPressed || isHovered || isFocused;\n const shouldDisplayBorder = isSelected ? true : hasPointerInteraction;\n\n return (\n <View\n _web={{\n style: {\n width: `calc(100% + ${theme.kitt.forms.radioButtonGroup.item.borderWidth * 2}px)`,\n height: `calc(100% + ${theme.kitt.forms.radioButtonGroup.item.borderWidth * 2}px)`,\n transitionProperty: theme.kitt.forms.radioButtonGroup.item.transition.property,\n transitionDuration: theme.kitt.forms.radioButtonGroup.item.transition.duration,\n transitionTimingFunction: theme.kitt.forms.radioButtonGroup.item.transition.timingFunction,\n },\n }}\n opacity={shouldDisplayBorder ? 1 : 0}\n position=\"absolute\"\n top={-theme.kitt.forms.radioButtonGroup.item.borderWidth}\n left={-theme.kitt.forms.radioButtonGroup.item.borderWidth}\n margin={0}\n borderColor={`kitt.forms.radioButtonGroup.item.borderColor.${\n isHovered || isSelected || isFocused ? 'hover' : 'default'\n }`}\n borderWidth=\"kitt.forms.radioButtonGroup.item.borderWidth\"\n borderTopLeftRadius={isFirst ? 'kitt.forms.radioButtonGroup.item.borderRadius' : 0}\n borderBottomLeftRadius={isFirst ? 'kitt.forms.radioButtonGroup.item.borderRadius' : 0}\n borderTopRightRadius={isLast ? 'kitt.forms.radioButtonGroup.item.borderRadius' : 0}\n borderBottomRightRadius={isLast ? 'kitt.forms.radioButtonGroup.item.borderRadius' : 0}\n />\n );\n}\n","import type { ViewStyle } from 'react-native';\nimport { interpolateColor, useAnimatedStyle, useSharedValue, withSpring } from 'react-native-reanimated';\nimport { useTheme } from 'styled-components/native';\n\nexport interface UseNativeAnimationOptions {\n isDisabled?: boolean;\n isSelected?: boolean;\n isPressedInternal?: boolean;\n}\n\nexport interface NativeAnimation {\n onPressIn?: () => void;\n onPressOut?: () => void;\n animatedStyles: ViewStyle;\n}\n\nexport const useNativeAnimation = ({\n isDisabled,\n isSelected,\n isPressedInternal,\n}: UseNativeAnimationOptions): NativeAnimation => {\n const theme = useTheme();\n const pressed = useSharedValue<0 | 1>(isPressedInternal ? 1 : 0);\n const color = useSharedValue(0);\n\n const { default: backgroundColor, pressed: pressedBackgroundColor } =\n theme.kitt.forms.radioButtonGroup.item.backgroundColor;\n\n const { default: borderColor, pressed: pressedBorderColor } = theme.kitt.forms.radioButtonGroup.item.borderColor;\n\n const animatedStyles = useAnimatedStyle(() => {\n if (isDisabled) {\n return {\n backgroundColor: theme.kitt.forms.radioButtonGroup.item.backgroundColor.disabled,\n borderColor: theme.kitt.forms.radioButtonGroup.item.borderColor.disabled,\n };\n }\n\n if (isSelected) {\n return {\n backgroundColor: pressedBackgroundColor,\n borderColor: pressedBorderColor,\n };\n }\n\n return {\n backgroundColor: interpolateColor(color.value, [0, 1], [backgroundColor, pressedBackgroundColor]),\n borderColor: interpolateColor(color.value, [0, 1], [borderColor, pressedBorderColor]),\n };\n });\n\n const handlePressIn = (): void => {\n color.value = withSpring(1);\n pressed.value = 1;\n };\n\n const handlePressOut = (): void => {\n color.value = withSpring(0);\n pressed.value = 0;\n };\n\n return {\n onPressIn: handlePressIn,\n onPressOut: handlePressOut,\n animatedStyles,\n };\n};\n","import type { TypographyColor } from '../../../typography/Typography';\n\ninterface GetCurrentTextColorParams {\n isDisabled?: boolean;\n isSelected?: boolean;\n isPressed?: boolean;\n isHovered?: boolean;\n isFocused?: boolean;\n}\n\nexport function getCurrentTextColor({\n isDisabled,\n isSelected,\n isPressed,\n isHovered,\n isFocused,\n}: GetCurrentTextColorParams): TypographyColor {\n if (isDisabled) return 'black-light';\n\n if (isSelected) return 'white';\n\n if (isPressed) return 'white';\n\n if (isFocused) return 'white';\n\n if (isHovered && !isSelected) return 'black';\n\n return 'black';\n}\n","import type { ReactElement, ReactNode } from 'react';\nimport type { GestureResponderEvent } from 'react-native';\nimport { Platform } from 'react-native';\nimport { Pressable, View } from '../../native-base/primitives';\nimport { Typography } from '../../typography/Typography';\nimport { AnimatedContainer } from './AnimatedContainer/AnimatedContainer';\nimport { HoverBorder } from './HoverBorder';\nimport { useNativeAnimation } from './hooks/useNativeAnimation';\nimport { getCurrentTextColor } from './utils/getCurrentTextColor';\n\nexport interface RadioButtonProps<V> {\n children: ReactNode;\n isFirst?: boolean;\n isLast?: boolean;\n disabled?: boolean;\n value: V;\n selected?: boolean;\n stretch?: boolean;\n /**\n * @internal Used to display pressed UI for testing and storybook purpose\n */\n isPressedInternal?: boolean;\n /**\n * @internal Used to display hovered UI for testing and storybook purpose\n */\n isHoveredInternal?: boolean;\n /**\n * @internal Used to display focused UI for testing and storybook purpose\n */\n isFocusedInternal?: boolean;\n onChange?: (value?: V) => void;\n onFocus?: (e?: any | GestureResponderEvent) => void;\n onBlur?: (e?: any | GestureResponderEvent) => void;\n}\n\nexport function RadioButton<V>({\n children,\n value,\n selected,\n isFirst,\n isLast,\n disabled,\n stretch,\n isHoveredInternal,\n isPressedInternal,\n isFocusedInternal,\n onChange,\n onFocus,\n onBlur,\n}: RadioButtonProps<V>): ReactElement {\n const { onPressIn, onPressOut, animatedStyles } = useNativeAnimation({\n isDisabled: disabled,\n isSelected: selected,\n isPressedInternal,\n });\n\n const handlePress = (e: GestureResponderEvent): void => {\n if (onFocus) onFocus(e);\n\n if (onChange) onChange(value);\n\n if (onBlur) onBlur(e);\n };\n\n return (\n <Pressable\n accessibilityRole=\"radiogroup\"\n accessibilityState={{ checked: selected }}\n flex={stretch ? 1 : undefined}\n disabled={disabled}\n onPress={handlePress}\n onPressIn={onPressIn}\n onPressOut={onPressOut}\n onFocus={onFocus}\n onBlur={onBlur}\n >\n {({ isHovered, isPressed, isFocused }) => (\n <AnimatedContainer\n animatedStyles={animatedStyles}\n isFocused={isFocused || isFocusedInternal}\n isPressed={isPressed || isPressedInternal}\n isSelected={selected}\n isDisabled={disabled}\n isFirst={isFirst}\n isLast={isLast}\n >\n <View\n paddingX=\"kitt.forms.radioButtonGroup.item.padding.horizontal\"\n paddingY=\"kitt.forms.radioButtonGroup.item.padding.vertical\"\n alignItems=\"center\"\n >\n <Typography.SetDefaultColor\n value={getCurrentTextColor({\n isSelected: selected || isPressedInternal,\n isPressed,\n isHovered: isHovered || isHoveredInternal,\n isDisabled: disabled,\n isFocused: isFocused || isFocusedInternal,\n })}\n >\n {children}\n </Typography.SetDefaultColor>\n {Platform.OS === 'web' ? (\n <HoverBorder\n isFirst={isFirst}\n isLast={isLast}\n isSelected={selected}\n isHovered={isHovered || isHoveredInternal}\n isPressed={isPressed || isPressedInternal}\n isFocused={isFocused || isFocusedInternal}\n />\n ) : null}\n </View>\n </AnimatedContainer>\n )}\n </Pressable>\n );\n}\n","import type { ReactElement, ReactNode } from 'react';\nimport { Children, cloneElement, useState } from 'react';\nimport type { ViewProps } from '../../native-base/primitives';\nimport { View } from '../../native-base/primitives';\nimport type { RadioButtonProps } from './RadioButton';\nimport { RadioButton } from './RadioButton';\n\ntype InternalInheritedProps =\n | 'isFirst'\n | 'isLast'\n | 'selected'\n | 'stretch'\n | 'disabled'\n | 'onChange'\n | 'onFocus'\n | 'onBlur';\n\ninterface RadioButtonGroupItemProps<V> extends Omit<RadioButtonProps<V>, InternalInheritedProps> {}\n\nfunction RadioButtonGroupItem<V>({ ...props }: RadioButtonGroupItemProps<V>): ReactElement {\n return <RadioButton {...props} />;\n}\n\nexport interface RadioButtonGroupProps<V> extends Exclude<ViewProps, 'onBlur' | 'onFocus'> {\n children: ReactNode;\n disabled?: boolean;\n hovered?: boolean;\n selected?: boolean;\n stretch?: boolean;\n value?: V;\n onChange?: (newValue: V) => void;\n onFocus?: (e?: any) => void;\n onBlur?: (e?: any) => void;\n}\n\nexport function RadioButtonGroup<V>({\n children,\n stretch,\n value,\n disabled,\n onFocus,\n onBlur,\n onChange,\n ...props\n}: RadioButtonGroupProps<V>): ReactElement {\n const [currentValue, setCurrentValue] = useState(value);\n\n const handleChange = (newValue: V): void => {\n if (disabled) return;\n\n setCurrentValue(newValue);\n if (onChange) onChange(newValue);\n };\n\n const childrenArray = Children.toArray(children) as ReactElement<RadioButtonProps<V>, typeof RadioButton>[];\n\n return (\n <View flexDirection=\"row\" flexWrap=\"wrap\" {...props}>\n {childrenArray.map((child, index) => {\n const clone = cloneElement<RadioButtonProps<V>>(child, {\n stretch,\n disabled,\n selected: child.props.value === currentValue,\n isFirst: index === 0,\n isLast: index === childrenArray.length - 1,\n onChange: handleChange,\n onFocus,\n onBlur,\n } as any);\n\n return clone;\n })}\n </View>\n );\n}\n\nRadioButtonGroup.RadioButton = RadioButtonGroupItem;\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 { useTheme } from 'styled-components/native';\nimport { View } from '../native-base/primitives';\n\ntype HighlightVariant = 'regular' | 'dark';\n\nexport interface HighlightProps {\n variant?: HighlightVariant;\n children: NonNullable<ReactNode>;\n}\n\nexport function Highlight({ variant = 'regular', children }: HighlightProps): ReactElement {\n const {\n kitt: { highlight },\n } = useTheme();\n\n return (\n <View\n borderRadius={highlight.borderRadius}\n padding={highlight.padding}\n backgroundColor={highlight[variant].backgroundColor}\n >\n {children}\n </View>\n );\n}\n","import type { ReactElement, ReactNode } from 'react';\nimport { createContext, useMemo } from 'react';\n\nexport interface KittMapConfigProviderConfig {\n mapId: string;\n apiToken: string;\n}\n\nexport const KittMapConfigProviderContext = createContext<KittMapConfigProviderConfig | undefined>(undefined);\n\nexport interface KittMapProviderProps {\n mapId: string;\n apiToken: string;\n children: ReactNode;\n}\n\nexport function KittMapConfigProvider({ children, mapId, apiToken }: KittMapProviderProps): ReactElement {\n const providerValue = useMemo(\n () => ({\n mapId,\n apiToken,\n }),\n [mapId, apiToken],\n );\n\n return (\n <KittMapConfigProviderContext.Provider value={providerValue}>{children}</KittMapConfigProviderContext.Provider>\n );\n}\n","import { useContext } from 'react';\nimport type { KittMapConfigProviderConfig } from '../KittMapConfigProvider';\nimport { KittMapConfigProviderContext } from '../KittMapConfigProvider';\n\nexport function useKittMapConfig(): KittMapConfigProviderConfig {\n const context = useContext(KittMapConfigProviderContext);\n\n if (!context) {\n throw new Error('<KittMapConfigProvider> missing in the react tree');\n }\n\n return context;\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","<svg fill=\"none\" viewBox=\"0 0 54 56\" width=\"54\" xmlns=\"http://www.w3.org/2000/svg\"><linearGradient id=\"marker-large_inline_svg__b\" gradientUnits=\"userSpaceOnUse\" x1=\"26.828\" x2=\"7.181\" y1=\"5.072\" y2=\"39.102\"><stop offset=\"0\" stop-opacity=\".01\"/><stop offset=\"1\"/></linearGradient><filter id=\"marker-large_inline_svg__a\" color-interpolation-filters=\"sRGB\" filterUnits=\"userSpaceOnUse\" height=\"48.706\" width=\"42.761\" x=\"10.437\" y=\"5.167\"><feFlood flood-opacity=\"0\" result=\"BackgroundImageFix\"/><feBlend in=\"SourceGraphic\" in2=\"BackgroundImageFix\" result=\"shape\"/><feGaussianBlur result=\"effect1_foregroundBlur_257_3018\" stdDeviation=\"2.718\"/></filter><mask id=\"marker-large_inline_svg__c\" height=\"43\" maskUnits=\"userSpaceOnUse\" width=\"31\" x=\"3\" y=\"3\"><path d=\"M16.303 44.99a3.002 3.002 0 0 0 4.394 0C29.631 35.38 34 26.678 34 18.938 34 10.12 27.04 3 18.5 3S3 10.12 3 18.938c0 7.74 4.369 16.442 13.303 26.052z\" fill=\"#fff\"/></mask><g filter=\"url(#marker-large_inline_svg__a)\" opacity=\".25\"><path d=\"M24.022 48.149c-3.018 1.02-6.128-.775-6.753-3.899-1.372-6.862-2.799-18.548 1.348-25.73C22.966 10.985 32.545 8.374 40 12.678c7.454 4.303 9.982 13.903 5.63 21.44-4.146 7.182-14.98 11.79-21.608 14.032z\" fill=\"url(#marker-large_inline_svg__b)\"/></g><g mask=\"url(#marker-large_inline_svg__c)\"><path d=\"M3 3h31v43H3z\" fill=\"#4c34e0\"/></g><path d=\"M15.677 46.315c-2.682-3.029-6.253-7.443-9.145-12.356C3.622 29.015 1.5 23.735 1.5 18.938 1.5 9.27 9.152 1.5 18.5 1.5c9.349 0 17 7.771 17 17.438 0 4.797-2.122 10.077-5.032 15.02-2.892 4.914-6.463 9.328-9.145 12.357-1.536 1.735-4.11 1.735-5.646 0z\" stroke=\"#fff\" stroke-width=\"3\"/></svg>","<svg viewBox=\"0 0 40 39\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\"><path d=\"M16.417 33.38c-2.3.776-4.668-.592-5.146-2.971-1.059-5.274-2.171-14.297 1.027-19.837 3.348-5.798 10.717-7.806 16.452-4.495 5.735 3.31 7.68 10.697 4.333 16.495-3.198 5.54-11.57 9.088-16.666 10.808z\" fill=\"url(#marker_inline_svg__a)\" opacity=\".25\" filter=\"url(#marker_inline_svg__b)\"/><path d=\"M10.89 29.536a2.81 2.81 0 0 0 4.22 0C20.428 23.492 23 18.054 23 13.256 23 7.58 18.507 3 13 3S3 7.58 3 13.256c0 4.798 2.572 10.236 7.89 16.28z\" fill=\"#4C34E0\"/><mask id=\"marker_inline_svg__c\" style=\"mask-type:alpha\" maskUnits=\"userSpaceOnUse\" x=\"3\" y=\"3\" width=\"20\" height=\"28\"><path d=\"M10.89 29.536a2.81 2.81 0 0 0 4.22 0C20.428 23.492 23 18.054 23 13.256 23 7.58 18.507 3 13 3S3 7.58 3 13.256c0 4.798 2.572 10.236 7.89 16.28z\" fill=\"#fff\"/></mask><g mask=\"url(#marker_inline_svg__c)\"><path fill=\"#4C34E0\" d=\"M3 3h20v27H3z\"/></g><path d=\"M10.374 31c-1.884-2.216-4.125-5.144-5.888-8.307C2.71 19.505 1.5 16.22 1.5 13.256 1.5 6.734 6.681 1.5 13 1.5s11.5 5.234 11.5 11.756c0 2.964-1.21 6.249-2.986 9.437-1.763 3.163-4.004 6.091-5.888 8.307-1.414 1.662-3.838 1.662-5.252 0z\" stroke=\"#fff\" stroke-width=\"3\"/><defs><linearGradient id=\"marker_inline_svg__a\" x1=\"18.616\" y1=\".226\" x2=\"3.501\" y2=\"26.405\" gradientUnits=\"userSpaceOnUse\"><stop stop-opacity=\".01\"/><stop offset=\"1\"/></linearGradient><filter id=\"marker_inline_svg__b\" x=\"6.046\" y=\".339\" width=\"32.817\" height=\"37.4\" filterUnits=\"userSpaceOnUse\" color-interpolation-filters=\"sRGB\"><feFlood flood-opacity=\"0\" result=\"BackgroundImageFix\"/><feBlend in=\"SourceGraphic\" in2=\"BackgroundImageFix\" result=\"shape\"/><feGaussianBlur stdDeviation=\"2.071\" result=\"effect1_foregroundBlur_257_3020\"/></filter></defs></svg>","<svg viewBox=\"0 0 47 47\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\"><path fill-rule=\"evenodd\" clip-rule=\"evenodd\" d=\"M23.5 36C30.404 36 36 30.404 36 23.5S30.404 11 23.5 11 11 16.596 11 23.5 16.596 36 23.5 36z\" fill=\"#38836D\" opacity=\".8\" filter=\"url(#position-marker_inline_svg__a)\"/><path d=\"M31 18.5a7.5 7.5 0 1 1-15 0 7.5 7.5 0 0 1 15 0z\" fill=\"#fff\" stroke=\"#38836D\" stroke-width=\"10\"/><circle cx=\"23.5\" cy=\"18.5\" r=\"2.5\" fill=\"#fff\"/><defs><filter id=\"position-marker_inline_svg__a\" x=\".127\" y=\".127\" width=\"46.746\" height=\"46.746\" filterUnits=\"userSpaceOnUse\" color-interpolation-filters=\"sRGB\"><feFlood flood-opacity=\"0\" result=\"BackgroundImageFix\"/><feBlend in=\"SourceGraphic\" in2=\"BackgroundImageFix\" result=\"shape\"/><feGaussianBlur stdDeviation=\"5.437\" result=\"effect1_foregroundBlur_257_3019\"/></filter></defs></svg>","import type { ReactElement } from 'react';\nimport LargeMarkerSvg from './assets/marker-large.inline.svg';\nimport DefaultMarkerSvg from './assets/marker.inline.svg';\nimport PositionMarkerSvg from './assets/position-marker.inline.svg';\n\ninterface BaseMarkerWithSizeProps {\n width: number;\n height: number;\n}\n\ninterface BaseMarkerWithoutSizeProps {\n width?: never;\n height?: never;\n}\n\nexport type MapMarkerProps = BaseMarkerWithSizeProps | BaseMarkerWithoutSizeProps;\n\nexport function MapMarkerSimple({ width = 40, height = 39 }: MapMarkerProps): ReactElement {\n return <DefaultMarkerSvg width={width} height={height} />;\n}\n\nexport function MapMarkerLarge({ width = 54, height = 56 }: MapMarkerProps): ReactElement {\n return <LargeMarkerSvg width={width} height={height} />;\n}\n\nexport function MapMarkerPosition({ width = 47, height = 47 }: MapMarkerProps): ReactElement {\n return <PositionMarkerSvg width={width} height={height} />;\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 { Platform } from 'react-native';\nimport type { KittTheme } from '..';\nimport { KittBreakpoints } from '../KittBreakpoints';\nimport type { Theme } from '../themes/default';\n\nexport type Enumerate<N, A extends number[] = []> = A['length'] extends N\n ? A[number]\n : 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\nexport interface AppKittThemeExtensionsBreakpoints {}\nexport interface AppKittThemeExtensionsColors {}\nexport interface AppKittThemeExtensionsSizes {}\nexport interface AppKittThemeExtensionsSpace {}\nexport interface AppKittThemeExtensionsShadows {}\nexport interface AppKittThemeExtensionsOpacity {}\nexport interface AppKittThemeExtensionsBorderWidths {}\nexport interface AppKittThemeExtensionsRadii {}\n\nexport interface AppKittThemeExtensions {\n sizes: AppKittThemeExtensionsSpace;\n space: AppKittThemeExtensionsSpace;\n shadows: AppKittThemeExtensionsShadows;\n opacity: AppKittThemeExtensionsOpacity;\n borderWidths: AppKittThemeExtensionsBorderWidths;\n colors: AppKittThemeExtensionsColors;\n radii: AppKittThemeExtensionsRadii;\n breakpoints: AppKittThemeExtensionsBreakpoints;\n}\n\nexport type ExtensibleNativeBaseThemeKey =\n | 'sizes'\n | 'space'\n | 'shadows'\n | 'opacity'\n | 'borderWidths'\n | 'colors'\n | 'radii'\n | 'breakpoints';\n\nexport type ExtensibleNativeBaseAppThemeConfig = Partial<Record<ExtensibleNativeBaseThemeKey, Record<string, any>>>;\n\ntype ValidAppTheme<T> = T extends ExtensibleNativeBaseAppThemeConfig ? T : never;\n\nexport type AppTheme = Partial<ValidAppTheme<AppKittThemeExtensions>>;\n\n// eslint-disable-next-line @typescript-eslint/explicit-module-boundary-types, @typescript-eslint/explicit-function-return-type -- let typescript infer types\nexport function createKittNativeBaseCustomTheme(theme: Theme, appTheme?: AppTheme) {\n const spaces = createKittSpaces(theme.spacing);\n\n const appBreakpoints: AppKittThemeExtensionsBreakpoints =\n appTheme?.breakpoints || ({} as AppKittThemeExtensionsBreakpoints);\n\n const extendedTheme = extendTheme({\n colors: {\n kitt: {\n ...theme.colors,\n avatar: {\n default: {\n backgroundColor: theme.colors.primary,\n },\n light: {\n backgroundColor: theme.palettes.lateOcean.black100,\n },\n },\n button: {\n default: theme.button.default,\n primary: theme.button.primary,\n white: theme.button.white,\n subtle: theme.button.subtle,\n 'subtle-dark': theme.button['subtle-dark'],\n disabled: theme.button.disabled,\n },\n tooltip: {\n backgroundColor: theme.tooltip.backgroundColor,\n },\n typography: theme.typography.colors,\n palettes: theme.palettes,\n forms: {\n input: {\n states: theme.forms.input.states,\n },\n radioButtonGroup: {\n item: {\n borderColor: theme.forms.radioButtonGroup.item.borderColor,\n backgroundColor: theme.forms.radioButtonGroup.item.backgroundColor,\n },\n },\n skeleton: {\n backgroundColor: theme.skeleton.backgroundColor,\n flareColor: theme.skeleton.flareColor,\n },\n },\n },\n app: appTheme?.colors,\n },\n radii: {\n // Make original native base values unsusable\n lg: Number.MAX_SAFE_INTEGER,\n md: Number.MAX_SAFE_INTEGER,\n sm: Number.MAX_SAFE_INTEGER,\n xl: Number.MAX_SAFE_INTEGER,\n xs: Number.MAX_SAFE_INTEGER,\n\n // Allow values like kitt.X\n ...spaces,\n\n kitt: {\n avatar: {\n borderRadius: theme.avatar.borderRadius,\n large: {\n borderRadius: theme.avatar.large.borderRadius,\n },\n },\n borderRadius: theme.card.borderRadius,\n button: {\n borderRadius: theme.button.borderRadius,\n },\n card: {\n borderRadius: theme.card.borderRadius,\n },\n cardModal: {\n borderRadius: theme.cardModal.borderRadius,\n },\n dialogModal: {\n borderRadius: theme.dialogModal.borderRadius,\n },\n forms: {\n input: {\n borderRadius: theme.forms.input.borderRadius,\n },\n radioButtonGroup: {\n item: {\n borderRadius: theme.forms.radioButtonGroup.item.borderRadius,\n },\n },\n },\n tooltip: {\n borderRadius: theme.tooltip.borderRadius,\n },\n skeleton: {\n shape: {\n bar: {\n borderRadius: theme.skeleton.shape.bar.borderRadius,\n },\n circle: {\n borderRadius: theme.skeleton.shape.circle.borderRadius,\n },\n square: {\n borderRadius: theme.skeleton.shape.square.borderRadius,\n },\n },\n },\n },\n app: appTheme?.radii,\n },\n borderWidths: {\n kitt: {\n button: {\n borderWidth: theme.button.borderWidth,\n },\n forms: {\n input: {\n borderWidth: theme.forms.input.borderWidth,\n },\n radioButtonGroup: {\n item: {\n borderWidth: theme.forms.radioButtonGroup.item.borderWidth,\n },\n },\n },\n cardModal: {\n header: {\n borderWidth: theme.cardModal.header.borderWidth,\n },\n footer: {\n borderWidth: theme.cardModal.footer.borderWidth,\n },\n },\n },\n app: appTheme?.borderWidths,\n },\n sizes: {\n ...spaces,\n ...overridenNativeBaseSizeandSpaceScale,\n kitt: {\n avatar: {\n size: theme.avatar.size,\n iconSize: theme.avatar.iconSize,\n large: {\n size: theme.avatar.large.size,\n iconSize: theme.avatar.large.iconSize,\n },\n },\n button: {\n minWidth: theme.button.minWidth,\n maxWidth: theme.button.maxWidth,\n minHeight: theme.button.minHeight,\n },\n cardModal: {\n header: {\n height: theme.cardModal.header.height,\n },\n maxWidth: theme.cardModal.maxWidth,\n maxWidthWithPadding: theme.cardModal.maxWidthWithPadding,\n },\n dialogModal: {\n maxWidth: theme.dialogModal.maxWidth,\n overlayPadding: theme.dialogModal.overlayPadding,\n },\n forms: {\n datePicker: {\n minHeight: theme.forms.input.minHeight,\n day: {\n minWidth: theme.forms.datePicker.day.minWidth,\n },\n month: {\n minWidth: theme.forms.datePicker.month.minWidth,\n },\n year: {\n minWidth: theme.forms.datePicker.year.minWidth,\n },\n },\n input: {\n minHeight: theme.forms.input.minHeight,\n },\n radioButtonGroup: {\n item: {\n minHeight: theme.forms.radioButtonGroup.item.minHeight,\n },\n },\n },\n iconButton: {\n width: theme.iconButton.width,\n },\n tooltip: {\n maxWidth: theme.tooltip.maxWidth,\n arrow: {\n width: theme.tooltip.arrow.width,\n height: theme.tooltip.arrow.height,\n },\n },\n skeleton: {\n shape: {\n bar: {\n size: theme.skeleton.shape.bar.size,\n },\n circle: {\n size: theme.skeleton.shape.circle.size,\n },\n square: {\n size: theme.skeleton.shape.square.size,\n },\n },\n },\n },\n app: appTheme?.sizes,\n },\n space: {\n ...spaces,\n ...overridenNativeBaseSizeandSpaceScale,\n kitt: {\n button: {\n padding: theme.button.padding,\n },\n cardModal: {\n overlayPadding: theme.dialogModal.overlayPadding,\n },\n dialogModal: {\n overlayPadding: theme.dialogModal.overlayPadding,\n },\n forms: {\n datePicker: {\n padding: theme.forms.input.padding,\n },\n input: {\n padding: theme.forms.input.padding,\n },\n radioButtonGroup: {\n item: {\n padding: theme.forms.radioButtonGroup.item.padding,\n },\n },\n },\n tooltip: {\n horizontalPadding: theme.tooltip.horizontalPadding,\n verticalPadding: theme.tooltip.verticalPadding,\n floatingPadding: theme.tooltip.floatingPadding,\n },\n },\n app: appTheme?.space,\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 // Breakpoints can't be nested in objects\n ...appBreakpoints,\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: {\n regular: theme.typography.types.bodies.fontWeight.regular,\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 : theme.typography.types.bodies.fontWeight.bold,\n },\n },\n fonts: {\n headers:\n Platform.OS === 'web'\n ? theme.typography.types.headers.fontFamily.web\n : theme.typography.types.headers.fontFamily.native,\n bodies:\n Platform.OS === 'web'\n ? theme.typography.types.bodies.fontFamily.web\n : theme.typography.types.bodies.fontFamily.native,\n },\n\n shadows: {\n kitt: {\n shadows: {\n cards: {\n low: {\n shadowColor: theme.shadows.cards.low.color,\n shadowOffset: { width: theme.shadows.cards.low.offsetX, height: theme.shadows.cards.low.offsetY },\n shadowOpacity: theme.shadows.cards.low.opacity,\n shadowRadius: theme.shadows.cards.low.radius,\n },\n medium: {\n shadowColor: theme.shadows.cards.medium.color,\n shadowOffset: { width: theme.shadows.cards.medium.offsetX, height: theme.shadows.cards.medium.offsetY },\n shadowOpacity: theme.shadows.cards.medium.opacity,\n shadowRadius: theme.shadows.cards.medium.radius,\n },\n highBase: {\n shadowColor: theme.shadows.cards.highBase.color,\n shadowOffset: {\n width: theme.shadows.cards.highBase.offsetX,\n height: theme.shadows.cards.highBase.offsetY,\n },\n shadowOpacity: theme.shadows.cards.highBase.opacity,\n shadowRadius: theme.shadows.cards.highBase.radius,\n },\n highMedium: {\n shadowColor: theme.shadows.cards.highMedium.color,\n shadowOffset: {\n width: theme.shadows.cards.highMedium.offsetX,\n height: theme.shadows.cards.highMedium.offsetY,\n },\n shadowOpacity: theme.shadows.cards.highMedium.opacity,\n shadowRadius: theme.shadows.cards.highMedium.radius,\n },\n highLarge: {\n shadowColor: theme.shadows.cards.highLarge.color,\n shadowOffset: {\n width: theme.shadows.cards.highLarge.offsetX,\n height: theme.shadows.cards.highLarge.offsetY,\n },\n shadowOpacity: theme.shadows.cards.highLarge.opacity,\n shadowRadius: theme.shadows.cards.highLarge.radius,\n },\n },\n navigation: {\n left: {\n shadowColor: theme.shadows.navigation.left.color,\n shadowOffset: {\n width: theme.shadows.navigation.left.offsetX,\n height: theme.shadows.navigation.left.offsetY,\n },\n shadowOpacity: theme.shadows.navigation.left.opacity,\n shadowRadius: theme.shadows.navigation.left.radius,\n },\n right: {\n shadowColor: theme.shadows.navigation.right.color,\n shadowOffset: {\n width: theme.shadows.navigation.right.offsetX,\n height: theme.shadows.navigation.right.offsetY,\n },\n shadowOpacity: theme.shadows.navigation.right.opacity,\n shadowRadius: theme.shadows.navigation.right.radius,\n },\n },\n panel: {\n shadowColor: theme.shadows.panel.color,\n shadowOffset: { width: theme.shadows.panel.offsetX, height: theme.shadows.panel.offsetY },\n shadowOpacity: theme.shadows.panel.opacity,\n shadowRadius: theme.shadows.panel.radius,\n },\n },\n cardModals: {\n shadow: {\n shadowColor: theme.cardModal.shadow.color,\n shadowOffset: { width: theme.cardModal.shadow.offsetX, height: theme.cardModal.shadow.offsetY },\n shadowOpacity: theme.cardModal.shadow.opacity,\n shadowRadius: theme.cardModal.shadow.radius,\n },\n },\n dialogModal: {\n shadow: {\n shadowColor: theme.dialogModal.shadow.color,\n shadowOffset: { width: theme.dialogModal.shadow.offsetX, height: theme.dialogModal.shadow.offsetY },\n shadowOpacity: theme.dialogModal.shadow.opacity,\n shadowRadius: theme.dialogModal.shadow.radius,\n },\n },\n },\n app: appTheme?.shadows,\n },\n\n opacity: {\n app: appTheme?.opacity,\n kitt: {\n tooltip: {\n opacity: theme.tooltip.opacity,\n },\n },\n },\n\n components: {\n Input: {\n baseStyle: {\n width: '100%',\n minHeight: theme.forms.input.minHeight,\n py: theme.forms.input.padding.vertical,\n px: theme.forms.input.padding.horizontal,\n borderRadius: theme.forms.input.borderRadius,\n _disabled: {\n opacity: 1, // override default native-base opacity\n },\n _light: {\n color: theme.forms.input.states.default.color,\n placeholderTextColor: theme.forms.input.color.placeholder,\n borderColor: theme.forms.input.states.default.borderColor,\n bg: theme.forms.input.states.default.backgroundColor,\n _hover: {\n borderColor: theme.forms.input.states.hover.borderColor,\n color: theme.forms.input.states.hover.color,\n _focus: {\n borderColor: theme.forms.input.states.focus.borderColor,\n color: theme.forms.input.states.focus.color,\n },\n },\n _focus: {\n borderColor: theme.forms.input.states.focus.borderColor,\n color: theme.forms.input.states.focus.color,\n _hover: {\n borderColor: theme.forms.input.states.focus.borderColor,\n color: theme.forms.input.states.focus.color,\n },\n _stack: {\n style: {\n outlineWidth: 0,\n },\n },\n },\n _invalid: {\n borderColor: theme.forms.input.states.invalid.borderColor,\n color: theme.forms.input.states.invalid.color,\n _hover: {\n borderColor: theme.forms.input.states.hover.borderColor,\n color: theme.forms.input.states.hover.color,\n },\n },\n _ios: {\n selectionColor: theme.forms.input.color.selection,\n },\n _android: {\n selectionColor: theme.forms.input.color.selection,\n },\n _disabled: {\n placeholderTextColor: theme.forms.input.states.disabled.color,\n color: theme.forms.input.states.disabled.color,\n borderColor: theme.forms.input.states.disabled.borderColor,\n bg: theme.forms.input.states.disabled.backgroundColor,\n },\n },\n },\n variants: {\n outline: {\n borderWidth: theme.forms.input.borderWidth,\n _focus: {\n bg: theme.forms.input.states.default.backgroundColor,\n },\n },\n underlined: {},\n rounded: {},\n filled: {},\n unstyled: {},\n },\n },\n Text: {\n baseStyle: {\n _light: {\n color: 'kitt.typography.black',\n },\n _dark: {\n color: 'kitt.typography.white',\n },\n fontFamily:\n Platform.OS === 'web'\n ? theme.typography.types.bodies.fontFamily.web.regular\n : theme.typography.types.bodies.fontFamily.native.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 /**\n * `theme` should come from `useKittTheme`\n */\n theme: KittTheme;\n isSSR: NativeBaseProviderProps['isSSR'];\n /**\n * `appTheme` is optional and provides extended theme configuration. It's a native-base representation of your application theme.\n * This variable must not change at each render\n */\n appTheme?: AppTheme;\n children: ReactNode;\n}\n\n/**\n * Provide theme to native-base\n *\n * `appTheme` is optional and provides extended theme configuration. This variable must not change at each render\n *\n * @exemple\n * ```tsx\n * const appTheme = {};\n * export function MyAppThemeProvider({ children }) {\n * const theme = useKittTheme();\n * return <KittNativeBaseProvider theme={theme} appTheme={appTheme}>{children}</KittNativeBaseProvider>\n * }\n * ```\n */\nexport function KittNativeBaseProvider({\n theme,\n isSSR,\n appTheme,\n children,\n}: KittNativeBaseProviderProps): ReactElement {\n const kittTheme = theme.kitt;\n\n const nativeBaseCustomTheme = useMemo(\n () => createKittNativeBaseCustomTheme(kittTheme, appTheme),\n [kittTheme, appTheme],\n );\n\n return (\n <NativeBaseProvider theme={nativeBaseCustomTheme} isSSR={isSSR}>\n {children}\n </NativeBaseProvider>\n );\n}\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 $insetTop: number;\n}\n\nconst StyledViewWithPadding = styled(ContentPadding)<StyledViewWithPaddingProps>`\n padding-top: ${({ theme, $insetTop }) => Math.max(theme.kitt.spacing * 6, $insetTop)}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 shouldHandleTopNotch?: boolean;\n}\n\nexport function Body({\n children,\n shouldHandleBottomNotch,\n style,\n shouldHandleTopNotch,\n ...props\n}: BodyProps): ReactElement {\n const { bottom, top } = useSafeAreaInsets();\n\n const insetBottom = shouldHandleBottomNotch ? bottom : 0;\n const insetTop = shouldHandleTopNotch ? top : 0;\n\n return (\n <StyledViewWithPadding {...props} $insetBottom={insetBottom} $insetTop={insetTop} 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 { useSafeAreaInsets } from 'react-native-safe-area-context';\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 $insetTop: number;\n $hasSeparator?: boolean;\n $hasLeft?: boolean;\n $hasRight?: boolean;\n}\n\nexport const HeaderContainer = styled(ContentPadding)<HeaderContainerProps>`\n height: ${({ theme, $insetTop }) => theme.kitt.navigationModal.height + $insetTop}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 padding-top: ${({ $insetTop }) => $insetTop}px;\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 shouldHandleTopNotch?: 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 shouldHandleTopNotch = true,\n style,\n}: HeaderProps): ReactElement {\n const { top } = useSafeAreaInsets();\n\n const insetTop = shouldHandleTopNotch ? top : 0;\n const sharedProps = {\n $hasLeft: Boolean(left),\n $hasRight: Boolean(right),\n };\n\n return (\n <HeaderContainer\n $isTransparent={isTransparent}\n $insetTop={insetTop}\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 { ReactElement, ReactNode } from 'react';\nimport { StyleSheet } from 'react-native';\nimport Animated, { Easing, useAnimatedStyle, withTiming } from 'react-native-reanimated';\nimport { useTheme } from 'styled-components/native';\n\nexport interface NativeOpacityAnimationProps {\n visible?: boolean;\n children: ReactNode;\n}\n\nexport function NativeOpacityAnimation({ visible, children }: NativeOpacityAnimationProps): ReactElement {\n const theme = useTheme();\n\n const opacityStyle = useAnimatedStyle(() => {\n const { duration, easing } = theme.kitt.navigationModal.animation.overlay;\n const [x1, y1, x2, y2] = easing;\n\n return {\n opacity: withTiming(visible ? 1 : 0, { duration, easing: Easing.bezier(x1, y1, x2, y2) }),\n };\n });\n\n return <Animated.View style={[StyleSheet.absoluteFillObject, opacityStyle]}>{children}</Animated.View>;\n}\n","import type { ReactElement, ReactNode } from 'react';\nimport { useRef } from 'react';\nimport { useWindowDimensions } from 'react-native';\nimport Animated, { Easing, runOnJS, useAnimatedStyle, withTiming } from 'react-native-reanimated';\nimport { useTheme } from 'styled-components/native';\nimport type { NavigationModalAnimationProps } from '../NavigationModalAnimation';\n\nexport interface NativeSlideInAnimationProps {\n children: ReactNode;\n visible?: NavigationModalAnimationProps['visible'];\n onEntered?: NavigationModalAnimationProps['onEntered'];\n onExited: () => void;\n}\n\nexport function NativeSlideInAnimation({\n visible,\n children,\n onEntered,\n onExited,\n}: NativeSlideInAnimationProps): ReactElement | null {\n const theme = useTheme();\n const { height: wHeight } = useWindowDimensions();\n const hasRunAnimationRef = useRef(false);\n\n function handleAnimationFinished(): void {\n if (visible) {\n if (onEntered) onEntered();\n hasRunAnimationRef.current = true;\n }\n\n // Since animation callback is called on component mount, we must make sure that the animation has been runed once to call it an exit\n if (!visible && hasRunAnimationRef.current) onExited();\n }\n\n const translateStyle = useAnimatedStyle(() => {\n const { duration, easing } = theme.kitt.navigationModal.animation.content;\n const [x1, y1, x2, y2] = easing;\n\n return {\n transform: [\n {\n translateY: withTiming(\n visible ? 0 : wHeight,\n { duration, easing: Easing.bezier(x1, y1, x2, y2) },\n (isFinished) => {\n if (!isFinished) return;\n runOnJS(handleAnimationFinished)();\n },\n ),\n },\n ],\n };\n });\n\n return (\n <Animated.View style={[{ transform: [{ translateY: wHeight }] }, translateStyle, { width: '100%', flex: 1 }]}>\n {children}\n </Animated.View>\n );\n}\n","import type { ReactElement, ReactNode } from 'react';\nimport { useEffect, useState } from 'react';\nimport { Modal } from 'react-native';\nimport { Overlay } from '../Overlay/Overlay';\nimport type { ViewProps } from '../native-base/primitives';\nimport { View } from '../native-base/primitives';\nimport { NativeOpacityAnimation } from './components/NativeOpacityAnimation';\nimport { NativeSlideInAnimation } from './components/NativeSlideInAnimation';\n\nexport interface NavigationModalAnimationProps extends ViewProps {\n children: ReactNode;\n appear?: boolean;\n visible?: boolean;\n unmountOnExit?: boolean;\n isAnimationEnabled?: boolean;\n onEnter?: () => void;\n onEntered?: () => void;\n onExit?: () => void;\n onExited?: () => void;\n onClose?: () => void;\n}\n\nexport function NavigationModalAnimation({\n visible,\n children,\n onEnter,\n onEntered,\n onExit,\n onExited,\n}: NavigationModalAnimationProps): ReactElement {\n const [isModalVisible, setIsModalVisible] = useState(visible);\n const [isContentVisible, setIsContentVisible] = useState(false);\n\n const handleAnimationExited = (): void => {\n setIsModalVisible(false);\n };\n\n // When parent visibility is set to false, in order to have our exit animation we must in this order :\n // 1 - run the exit animation\n // 2 - once it is done, unmount the Modal\n useEffect(() => {\n const shouldHideContent = !visible && isContentVisible;\n\n if (!shouldHideContent) return;\n\n if (onExit) onExit();\n setIsContentVisible(false);\n }, [visible, isContentVisible, onExit]);\n\n return (\n <Modal\n transparent\n visible={isModalVisible}\n onShow={() => {\n if (onEnter) onEnter();\n setIsContentVisible(true);\n }}\n onDismiss={() => {\n if (onExited) onExited();\n }}\n >\n <View position=\"relative\" flex={1} justifyContent=\"center\" alignItems=\"center\">\n <NativeOpacityAnimation visible={isContentVisible}>\n <Overlay onPress={handleAnimationExited} />\n </NativeOpacityAnimation>\n <NativeSlideInAnimation visible={isContentVisible} onExited={handleAnimationExited} onEntered={onEntered}>\n <View flex={1}>{children}</View>\n </NativeSlideInAnimation>\n </View>\n </Modal>\n );\n}\n","import type { ReactElement } from 'react';\nimport { useEffect, useState } from 'react';\nimport type { ModalBehaviourProps } from '../ModalBehaviour/ModalBehaviour';\nimport { ModalBehaviour } from '../ModalBehaviour/ModalBehaviour';\nimport type { NavigationModalAnimationProps } from './NavigationModalAnimation';\nimport { NavigationModalAnimation } from './NavigationModalAnimation';\n\ninterface NavigationModalBehaviourProps extends NavigationModalAnimationProps {\n onClose: ModalBehaviourProps['onClose'];\n}\n\nexport function NavigationModalBehaviour({\n children,\n visible,\n onClose,\n onExited,\n ...props\n}: NavigationModalBehaviourProps): ReactElement {\n const [isModalBehaviourVisible, setIsModalBehaviourVisible] = useState(visible);\n\n useEffect(() => {\n if (visible === true) {\n setIsModalBehaviourVisible(true);\n }\n }, [visible]);\n\n const handleExitAnimationDone = (): void => {\n if (onExited) onExited();\n setIsModalBehaviourVisible(false);\n };\n\n return (\n <ModalBehaviour visible={isModalBehaviourVisible} onClose={onClose}>\n <NavigationModalAnimation {...props} visible={visible} onExited={handleExitAnimationDone}>\n {children}\n </NavigationModalAnimation>\n </ModalBehaviour>\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 { NavigationModalBehaviour } from './NavigationModalBehaviour';\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;\nNavigationModal.ModalBehaviour = NavigationModalBehaviour;\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 type { ViewProps } from '../native-base/primitives';\nimport { View } from '../native-base/primitives';\nimport { SkeletonContent } from './SkeletonContent';\n\nexport interface SkeletonProps extends Omit<ViewProps, 'onLayout'> {\n isLoading?: boolean;\n style?: StyleProp<ViewStyle>;\n}\n\nexport function Skeleton({ isLoading = false, style, ...props }: SkeletonProps): ReactElement {\n const [width, setWidth] = useState(0);\n\n return (\n <View {...props} overflow=\"hidden\" style={style} onLayout={({ nativeEvent }) => setWidth(nativeEvent.layout.width)}>\n <SkeletonContent isLoading={isLoading} width={width} />\n </View>\n );\n}\n\nexport interface BarSkeletonProps extends Omit<SkeletonProps, 'width' | 'height' | 'borderRadius'> {\n size?: number;\n}\n\nfunction Bar({ size, ...props }: BarSkeletonProps): ReactElement {\n const currentBorderRadius = size ? size * 0.5 : 'kitt.skeleton.shape.bar.borderRadius';\n\n return (\n <Skeleton\n {...props}\n width=\"100%\"\n height={size || 'kitt.skeleton.shape.bar.size'}\n borderRadius={currentBorderRadius}\n />\n );\n}\n\nexport interface CircleSkeletonProps extends Omit<SkeletonProps, 'width' | 'height' | 'borderRadius'> {\n size?: number;\n}\n\nfunction Circle({ size, ...props }: CircleSkeletonProps): ReactElement {\n const currentSize = size || 'kitt.skeleton.shape.circle.size';\n const currentBorderRadius = size ? size * 0.5 : 'kitt.skeleton.shape.circle.borderRadius';\n\n return <Skeleton {...props} width={currentSize} height={currentSize} borderRadius={currentBorderRadius} />;\n}\n\nexport interface SquareSkeletonProps extends Omit<SkeletonProps, 'width' | 'height' | 'borderRadius'> {\n size?: number;\n}\n\nfunction Square({ size, ...props }: SquareSkeletonProps): ReactElement {\n const currentSize = size || 'kitt.skeleton.shape.square.size';\n const currentBorderRadius = size ? size * 0.5 : 'kitt.skeleton.shape.square.borderRadius';\n\n return <Skeleton {...props} width={currentSize} height={currentSize} borderRadius={currentBorderRadius} />;\n}\n\nSkeleton.Bar = Bar;\nSkeleton.Circle = Circle;\nSkeleton.Square = Square;\n","export interface MapCenter {\n long: number;\n lat: number;\n zoom: number;\n}\n\nexport interface GetStaticMapImageUrlParams {\n mapId: string;\n apiToken: string;\n mapWidth: number;\n mapHeight: number;\n center: MapCenter;\n is2x?: boolean;\n}\n\nexport function getStaticMapImageUrl({\n mapId,\n apiToken,\n mapWidth,\n mapHeight,\n center,\n is2x,\n}: GetStaticMapImageUrlParams): string {\n const width = Math.round(mapWidth);\n const height = Math.round(mapHeight);\n\n const centerPart = `${center.long},${center.lat},${center.zoom}/`;\n\n const sizePart = `${width}x${height}`;\n\n const urlParts = [\n `https://api.mapbox.com/styles/v1/ornikar/${mapId}/static/`,\n centerPart,\n sizePart,\n is2x ? '@2x' : '',\n ];\n\n const mapImageUrl = new URL(urlParts.join(''));\n mapImageUrl.searchParams.append('access_token', apiToken);\n\n return mapImageUrl.toString();\n}\n","import { useEffect, useRef, useState } from 'react';\nimport { useKittMapConfig } from '../../KittMapConfigProvider/hooks/useKittMapConfig';\nimport type { GetStaticMapImageUrlParams } from '../utils/getStaticMapImageUrl';\nimport { getStaticMapImageUrl } from '../utils/getStaticMapImageUrl';\n\ninterface UseGetStaticMapImageUrlParams extends Omit<GetStaticMapImageUrlParams, 'mapId' | 'apiToken'> {\n forceMapId?: string;\n forceApiToken?: string;\n}\n\nexport function useGetStaticMapImageUrl({\n forceMapId,\n forceApiToken,\n mapWidth,\n mapHeight,\n center,\n is2x,\n}: UseGetStaticMapImageUrlParams): string {\n const { mapId, apiToken } = useKittMapConfig();\n const [currentUrl, setCurrentUrl] = useState<string>('');\n\n const currentMapIdRef = useRef(forceMapId || mapId);\n const currentApiTokenRef = useRef(forceApiToken || apiToken);\n\n useEffect(() => {\n const newUrl = getStaticMapImageUrl({\n center,\n is2x,\n mapHeight,\n mapWidth,\n mapId: currentMapIdRef.current,\n apiToken: currentApiTokenRef.current,\n });\n\n setCurrentUrl(newUrl);\n }, [mapHeight, mapWidth, center, is2x]);\n\n return currentUrl;\n}\n","import { RotateCCWIcon } from '@ornikar/kitt-icons';\nimport type { ReactElement } from 'react';\nimport { IconButton } from '../IconButton/IconButton';\nimport { View } from '../native-base/primitives';\n\ninterface StaticMapErrorProps {\n onReload?: () => void;\n}\n\nexport function StaticMapError({ onReload }: StaticMapErrorProps): ReactElement {\n return (\n <View alignItems=\"center\" justifyContent=\"center\" height=\"100%\" backgroundColor=\"kitt.separator\">\n <IconButton icon={<RotateCCWIcon />} onPress={onReload} />\n </View>\n );\n}\n","import type { ReactElement } from 'react';\nimport { Image } from '../native-base/primitives';\n\ninterface StaticMapImageProps {\n url: string;\n alt?: string;\n width: number;\n height: number;\n onLoadEnd?: () => void;\n onError?: () => void;\n}\n\nexport function StaticMapImage({ url, alt, width, height, onLoadEnd, onError }: StaticMapImageProps): ReactElement {\n return (\n <Image source={{ uri: url }} width={width} height={height} alt={alt} onError={onError} onLoadEnd={onLoadEnd} />\n );\n}\n","import type { ReactElement } from 'react';\nimport { Skeleton } from '../Skeleton/Skeleton';\nimport { View } from '../native-base/primitives';\n\nexport function StaticMapLoader(): ReactElement {\n return (\n <View alignItems=\"center\" justifyContent=\"center\" height=\"100%\">\n <Skeleton isLoading width=\"100%\" height=\"100%\" />\n </View>\n );\n}\n","import type { ReactElement } from 'react';\nimport { MapMarkerLarge, MapMarkerPosition, MapMarkerSimple } from '../MapMarker/MapMarker';\nimport { View } from '../native-base/primitives';\n\ntype MarkerVariant = 'large' | 'position' | 'simple';\n\ninterface MarkerProps {\n variant?: MarkerVariant;\n}\n\nfunction getMarkerPosition(variant: MarkerVariant): [{ translateX: number }, { translateY: number }] {\n if (variant === 'position') return [{ translateX: -2 }, { translateY: 8 }];\n\n if (variant === 'large') return [{ translateX: 8 }, { translateY: -20 }];\n\n return [{ translateX: 6 }, { translateY: -15 }];\n}\n\nexport function StaticMapMarker({ variant = 'simple' }: MarkerProps): ReactElement {\n return (\n <View position=\"absolute\" top=\"0\" left=\"0\" width=\"100%\" height=\"100%\">\n <View\n justifyContent=\"center\"\n alignItems=\"center\"\n height=\"100%\"\n style={{\n transform: getMarkerPosition(variant),\n }}\n >\n {variant === 'position' ? <MapMarkerPosition /> : null}\n {variant === 'large' ? <MapMarkerLarge /> : null}\n {variant === 'simple' ? <MapMarkerSimple /> : null}\n </View>\n </View>\n );\n}\n","export function getRangedWidthValue(nextWidth: number, maxValue: number): number {\n const rangedMapWidth = Math.max(1, Math.min(nextWidth, maxValue));\n\n return rangedMapWidth;\n}\n","import { PixelRatio } from 'react-native';\n\nexport function getShouldDisplay2x(): boolean {\n const currentDevicePixelRatio = PixelRatio.get();\n\n return currentDevicePixelRatio > 1;\n}\n","import type { ReactElement, ReactNode } from 'react';\nimport { useState } from 'react';\nimport type { LayoutChangeEvent } from 'react-native';\nimport type { ViewProps } from '../native-base/primitives';\nimport { View } from '../native-base/primitives';\nimport { StaticMapError } from './StaticMapError';\nimport { StaticMapImage } from './StaticMapImage';\nimport { StaticMapLoader } from './StaticMapLoader';\nimport { StaticMapMarker } from './StaticMapMarker';\nimport { useGetStaticMapImageUrl } from './hooks/useGetStaticMapImageUrl';\nimport { getRangedWidthValue } from './utils/getRangedWidthValue';\nimport { getShouldDisplay2x } from './utils/getShouldDisplay2x';\nimport type { MapCenter } from './utils/getStaticMapImageUrl';\n\nconst mapBoxMaxPictureWidth = 1280;\n\n// Mapbox requestable width for image is between 1 - 1280px\nfunction getPictureWidth(nextWidth: number): number {\n return getRangedWidthValue(nextWidth, mapBoxMaxPictureWidth);\n}\n\nexport interface StaticMapProps extends Omit<ViewProps, 'onLayout'> {\n width?: number;\n height: number;\n alt?: string;\n center: MapCenter;\n marker?: ReactNode;\n /**\n * Mapbox map id.\n * Only use this props if you want to use something different that the config in <KittMapConfigProvider />\n */\n mapId?: string;\n /**\n * Mapbox api access token.\n * Only use this props if you want to use something different that the config in <KittMapConfigProvider />\n */\n apiToken?: string;\n\n onLoaded?: () => void;\n onError?: () => void;\n}\n\nexport function StaticMap({\n width = 0,\n height,\n alt,\n apiToken,\n mapId,\n marker,\n center,\n onLoaded,\n onError,\n ...props\n}: StaticMapProps): ReactElement {\n const [currentWidth, setCurrentWidth] = useState(getPictureWidth(width));\n const [isLoading, setIsLoading] = useState(true);\n const [hasError, setHasError] = useState(false);\n const [currentMapKey, setCurrentMapKey] = useState(0);\n\n const shouldDisplay2xImage = getShouldDisplay2x();\n\n const mapUrl = useGetStaticMapImageUrl({\n forceApiToken: apiToken,\n forceMapId: mapId,\n mapWidth: currentWidth,\n mapHeight: height,\n center,\n is2x: shouldDisplay2xImage,\n });\n\n const handleParentLayout = (event: LayoutChangeEvent): void => {\n const { nativeEvent } = event;\n const rangedMapWidth = getPictureWidth(nativeEvent.layout.width);\n\n setCurrentWidth(rangedMapWidth);\n };\n\n const handleImageLoadEnd = (): void => {\n setIsLoading(false);\n\n if (onLoaded) onLoaded();\n };\n\n const handleError = (): void => {\n setHasError(true);\n\n if (onError) onError();\n };\n\n const handleReload = (): void => {\n setHasError(false);\n setIsLoading(true);\n setCurrentMapKey((prev) => prev + 1);\n };\n\n const shouldDisplayMarker = marker && !isLoading && !hasError;\n\n // Prevents requesting unusable image\n const shouldDisplayPicture = currentWidth > 1 && mapUrl;\n\n return (\n <View\n position=\"relative\"\n maxWidth={mapBoxMaxPictureWidth}\n height={height}\n onLayout={handleParentLayout}\n {...props}\n data-chromatic={process.env.KITT_MAP_CHROMATIC_IGNORE === 'true' ? 'ignore' : undefined}\n >\n {shouldDisplayPicture ? (\n <StaticMapImage\n key={`map-key-${currentMapKey}`}\n url={mapUrl}\n width={currentWidth}\n height={height}\n alt={alt}\n onLoadEnd={handleImageLoadEnd}\n onError={handleError}\n />\n ) : null}\n\n {shouldDisplayMarker ? (\n <View position=\"absolute\" top=\"0\" left=\"0\" width=\"100%\" height=\"100%\">\n {marker}\n </View>\n ) : null}\n\n {isLoading ? (\n <View position=\"absolute\" top=\"0\" left=\"0\" width=\"100%\" height=\"100%\">\n <StaticMapLoader />\n </View>\n ) : null}\n\n {hasError ? (\n <View position=\"absolute\" top=\"0\" left=\"0\" width=\"100%\" height=\"100%\">\n <StaticMapError onReload={handleReload} />\n </View>\n ) : null}\n </View>\n );\n}\n\nStaticMap.Image = StaticMapImage;\nStaticMap.Loader = StaticMapLoader;\nStaticMap.Error = StaticMapError;\nStaticMap.Marker = StaticMapMarker;\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' | 'warn';\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 'warn': {\n return variant === 'outline' ? 'warning' : '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 { Platform } from 'react-native';\nimport { css } from 'styled-components/native';\nimport { getTypographyTypeConfigKey } from '../typography/Typography';\nimport type { InputUIState } from './utils';\n\nexport interface TextInputMixinProps {\n $state: InputUIState;\n}\n\n/** @deprecated this mixin is not SSR compatible */\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 }) =>\n theme.kitt.forms.input.states[$state].color || theme.kitt.forms.input.states.default.color};\n font-family: ${({ theme }) =>\n Platform.OS === 'web'\n ? theme.kitt.typography.types.bodies.fontFamily.web.regular\n : theme.kitt.typography.types.bodies.fontFamily.native.regular};\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=\"timePicker.ModalDateTimePicker.dateTimeNativePicker\"\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=\"timePicker.TimePicker.dateTimeNativePicker\"\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 } from 'react';\nimport { forwardRef } from 'react';\nimport { useTheme } from 'styled-components/native';\nimport type { ViewProps } from '../native-base/primitives';\nimport { View } from '../native-base/primitives';\nimport type { TooltipPosition } from './Tooltip';\n\nexport interface ArrowProps {\n position: TooltipPosition;\n top?: number;\n left?: number;\n display?: ViewProps['display'];\n}\n\nexport const Arrow = forwardRef<typeof View, ArrowProps>(\n ({ position, top, left, display }: ArrowProps, ref): ReactElement => {\n const theme = useTheme();\n\n const transformStyle = [\n {\n rotate: position === 'bottom' ? '180deg' : '0deg',\n },\n ];\n\n return (\n <View\n ref={ref}\n display={display || { base: 'none', small: 'flex' }}\n width=\"kitt.tooltip.arrow.width\"\n height=\"kitt.tooltip.arrow.height\"\n left={left}\n top={top}\n style={{\n transform: transformStyle,\n }}\n >\n <TooltipArrowIcon color={theme.kitt.tooltip.backgroundColor} opacity={theme.kitt.tooltip.opacity} />\n </View>\n );\n },\n);\n","import type { ReactElement, ReactNode } from 'react';\nimport { View } from '../native-base/primitives';\nimport { Typography } from '../typography/Typography';\n\ninterface TooltipContentProps {\n children: ReactNode;\n}\n\nexport function TooltipContent({ children }: TooltipContentProps): ReactElement {\n return (\n <View\n backgroundColor=\"kitt.tooltip.backgroundColor\"\n borderRadius=\"kitt.tooltip.borderRadius\"\n opacity=\"kitt.tooltip.opacity\"\n paddingY=\"kitt.tooltip.verticalPadding\"\n paddingX=\"kitt.tooltip.horizontalPadding\"\n >\n <Typography.Text base=\"body-small\" color=\"white-light\">\n {children}\n </Typography.Text>\n </View>\n );\n}\n","import { useEffect, useState } from 'react';\nimport { useWindowDimensions } from 'react-native';\n\ninterface CustomShiftParams {\n tooltipX: number;\n refPageX: number;\n refWidth: number;\n floatingWidth: number;\n wWidth: number;\n}\n// HG 08/11/2022\n// At the moment `shift` from `@floating-ui/react-native` does not work properly\nexport function customShift({ tooltipX, refPageX, refWidth, floatingWidth, wWidth }: CustomShiftParams): {\n left?: number;\n right?: number;\n} {\n const refCenterOnScreen = refPageX + refWidth * 0.5;\n const halfFloatingWith = floatingWidth * 0.5;\n\n // Left collisions\n if (refCenterOnScreen - halfFloatingWith < 0) {\n return {\n left: 0,\n right: undefined,\n };\n }\n\n // Right collisions\n if (refCenterOnScreen + halfFloatingWith > wWidth) {\n return {\n left: undefined,\n right: 0,\n };\n }\n\n // No collisions\n return {\n left: tooltipX,\n right: undefined,\n };\n}\n\ninterface UseCustomShiftParams {\n tooltipX: number;\n pressableRect?: {\n pageX: number;\n width: number;\n };\n floatingWidth?: number;\n}\n\nexport function useCustomShift({ tooltipX, pressableRect, floatingWidth }: UseCustomShiftParams): {\n left?: number;\n right?: number;\n} {\n const windowDimensions = useWindowDimensions();\n const [customShiftData, setCustomShiftData] = useState<{ left?: number; right?: number }>({\n left: undefined,\n right: undefined,\n });\n\n useEffect(() => {\n if (tooltipX === undefined || !pressableRect || floatingWidth === undefined) return;\n\n const res = customShift({\n tooltipX,\n refPageX: pressableRect.pageX,\n refWidth: pressableRect.width,\n wWidth: windowDimensions.width,\n floatingWidth,\n });\n\n setCustomShiftData(res);\n }, [floatingWidth, tooltipX, windowDimensions, pressableRect]);\n\n return customShiftData;\n}\n","import type { MiddlewareData, Placement } from '@floating-ui/react-native';\nimport { autoPlacement, offset, useFloating } from '@floating-ui/react-native';\nimport type { ReactElement, ReactNode, RefObject } from 'react';\nimport { useCallback, useEffect, useRef, useState } from 'react';\nimport Animated, { useAnimatedStyle, useSharedValue, withSpring } from 'react-native-reanimated';\nimport { useTheme } from 'styled-components/native';\nimport { Pressable, View } from '../native-base/primitives';\nimport { Arrow } from './Arrow';\nimport { TooltipContent } from './TooltipContent';\nimport { useCustomShift } from './hooks/useCustomShift';\n\nexport type TooltipPosition = 'bottom' | 'top';\nexport type WebFloatingPosition = 'fixed' | 'absolute';\n\nexport interface UpdateCallbackParams {\n x: number;\n y: number;\n placement: Placement;\n strategy: string;\n refs: {\n reference: RefObject<any>;\n floating: RefObject<any>;\n offsetParent?: RefObject<any>;\n };\n middlewareData: MiddlewareData;\n update: () => void;\n}\n\ntype OnUpdateCallback = (params: UpdateCallbackParams) => void;\n\nexport interface TooltipProps {\n children: NonNullable<ReactNode>;\n content: NonNullable<ReactNode>;\n floatingPadding?: number;\n position?: TooltipPosition;\n zIndex?: number;\n fullWidth?: boolean;\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 /**\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 floatingStrategy?: {\n web: WebFloatingPosition;\n };\n onToggle?: (isVisible: boolean) => void;\n onUpdate?: OnUpdateCallback;\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 = 'top',\n content,\n floatingPadding,\n zIndex = 1000,\n fullWidth,\n onUpdate,\n onToggle,\n}: TooltipProps): ReactElement {\n const theme = useTheme();\n const currentFloatingPadding = floatingPadding || theme.kitt.tooltip.floatingPadding;\n\n const [floatingWidth, setFloatingWidth] = useState<number | undefined>(undefined);\n const pressableRectRef = useRef<{ width: number; pageX: number } | undefined>(undefined);\n\n const pressed = useSharedValue(defaultVisible);\n\n const animatedStyles = useAnimatedStyle(() => {\n return {\n opacity: withSpring(pressed.value ? theme.kitt.tooltip.opacity : 0),\n transform: [\n {\n scale: withSpring(pressed.value ? 1 : 0.8),\n },\n ],\n };\n });\n\n const { x, y, reference, floating, update, refs, middlewareData, strategy, placement } = useFloating({\n placement: position,\n middleware: [\n // Order matters\n offset(currentFloatingPadding),\n // shift() => shift is replaced by customShift\n autoPlacement({\n allowedPlacements: ['top', 'bottom'],\n padding: currentFloatingPadding,\n }),\n // arrow is not reliable enough for implementation\n // arrow({ element: arrowRef }),\n ],\n });\n\n const tooltipY = Math.round(y ?? 0);\n const tooltipX = Math.round(x ?? 0);\n\n useEffect(() => {\n if (!onUpdate) return;\n onUpdate({\n x: tooltipX,\n y: tooltipY,\n placement,\n strategy,\n update,\n refs,\n middlewareData,\n });\n }, [tooltipX, tooltipY, placement, strategy, update, refs, middlewareData, onUpdate]);\n\n const getPressableRect = useCallback(\n (element) => {\n if (element) {\n element.measure((_x: number, _y: number, width: number, _h: number, pageX: number) => {\n pressableRectRef.current = { width, pageX };\n });\n }\n },\n [pressableRectRef],\n );\n\n const customShiftData = useCustomShift({ tooltipX, pressableRect: pressableRectRef.current, floatingWidth });\n\n const handlePress = (): void => {\n if (onToggle) onToggle(!!pressed.value);\n pressed.value = !pressed.value;\n };\n\n return (\n <View position=\"relative\">\n <View ref={reference}>\n <Pressable ref={getPressableRect} 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 position=\"absolute\"\n maxWidth={fullWidth ? undefined : { base: '100%', small: 'kitt.tooltip.maxWidth' }}\n top={tooltipY}\n left={customShiftData.left}\n right={customShiftData.right}\n onLayout={({ nativeEvent }) => setFloatingWidth(nativeEvent.layout.width)}\n >\n <Animated.View style={[animatedStyles]}>\n <TooltipContent>{content}</TooltipContent>\n </Animated.View>\n </View>\n </View>\n );\n}\n\nTooltip.Arrow = Arrow;\nTooltip.Content = TooltipContent;\n","import 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 type { TypographyBreakpointType, TypographyType } from './Typography';\nimport { getTypographyTypeConfigKeyFromTypeName, isTypographyHeader } from './Typography';\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 <Emoji\n size={size}\n emoji={emoji}\n alignSelf=\"center\"\n _web={{\n // @ts-expect-error -- transform expects number, but string works on web\n style: {\n transform: 'translateY(20%)',\n },\n /* Style Twemoji: https://github.com/twitter/twemoji#inline-styles */\n marginLeft,\n marginRight,\n }}\n />\n );\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","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","import { makeDecorator } from '@storybook/addons';\nimport type { ReactElement, ReactNode } from 'react';\nimport { ThemeProvider } from 'styled-components/native';\nimport type { AppTheme, 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 appTheme?: AppTheme;\n isSSR?: KittNativeBaseProviderProps['isSSR'];\n children: ReactNode;\n}\n\nexport function KittThemeProvider({ isSSR, children, appTheme }: KittThemeProviderProps): ReactElement {\n const theme = useKittTheme();\n return (\n <ThemeProvider theme={theme}>\n <KittNativeBaseProvider theme={theme} isSSR={isSSR} appTheme={appTheme}>\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\n/**\n * Display children if match window size options\n *\n * WARNING: Not SSR friendly.\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 { useBreakpointValue } from 'native-base';\nimport { KittBreakpointNameEnum } from '../../KittBreakpoints';\n\nexport function useCurrentBreakpointName(): KittBreakpointNameEnum {\n return useBreakpointValue({\n base: KittBreakpointNameEnum.BASE,\n small: KittBreakpointNameEnum.SMALL,\n medium: KittBreakpointNameEnum.MEDIUM,\n large: KittBreakpointNameEnum.LARGE,\n wide: KittBreakpointNameEnum.WIDE,\n });\n}\n"],"names":["Stack","NativeBaseStack","VStack","NativeBaseVStack","HStack","NativeBaseHStack","Center","NativeBaseCenter","View","NativeBaseView","ScrollView","NativeBaseScrollView","Pressable","NativeBasePressable","Image","NativeBaseImage","FlatList","NativeBaseFlatList","SectionList","NativeBaseSectionList","createResponsiveStyleFromProp","responsiveBooleanValue","valueIfTrue","valueIfFalse","keys","Object","length","responsiveValue","forEach","breakpointName","warn","message","process","env","NODE_ENV","console","deprecatedMessage","symbol","deprecation","replaceBy","replaceMessage","undefined","deprecatedInComponent","component","StyledAnimatedView","styled","Animated","theme","kitt","button","borderRadius","$isDisabled","disabled","backgroundColor","AnimatedContainer","animatedStyles","children","_jsx","KittBreakpoints","BASE","SMALL","MEDIUM","LARGE","WIDE","KittBreakpointsMax","KittBreakpointNameEnum","IsHeaderTypographyContext","createContext","TypographyColorContext","useTypographyColor","useContext","TypographyDefaultColorContext","useTypographyDefaultColor","getTypographyTypeConfigKey","isMediumOrAbove","responsive","matchWindowSize","minWidth","getTypographyTypeConfigKeyFromTypeName","isTypeHeader","type","startsWith","isTypographyHeader","isHeaderTypographyInContext","Error","createNativeBaseFontSize","typeWithMediumForced","medium","small","base","fontSizeForNativeBase","typeName","value","getNBThemeColorFromColorProps","colorName","Typography","accessibilityRole","legacyBase","legacySmall","legacyMedium","legacyLarge","large","legacyWide","wide","variant","color","otherProps","_excluded","defaultColor","hasTypographyAncestor","baseOrDefaultToBody","isHeader","nonNullableVariant","entries","key","currentColor","text","NBText","content","TypographyText","props","TypographyParagraph","Platform","OS","createHeading","level","defaultBase","TypographyHeading","displayName","SetDefaultColor","Provider","Text","Paragraph","Header1","Header2","Header3","Header4","Header5","Header6","h1","h2","h3","h4","h5","defaultIconSize","IconContainer","$color","$size","$align","Icon","icon","size","align","clonedIcon","cloneElement","TypographyIconSpecifiedColor","useTheme","typography","colors","TypographyIconInheritColor","TypographyIcon","_excluded2","getTextColorByType","isHovered","isPressed","isButtonInteractedWith","ButtonIcon","iconPosition","testID","ButtonContentChildren","buttonIconSharedProps","sharedNativeStyle","flexShrink","_jsxs","ButtonContent","isDisabled","isFocused","flexGrow","flexBasis","getCurrentPaddingConfig","ButtonPadding","currentPaddingKey","DisabledBorder","FocusBorder","buttonTheme","style","width","borderWidth","focus","height","transitionProperty","transitionDuration","transition","duration","transitionTimingFunction","timingFunction","hasVariant","getVariantValuesIfExist","useNativeAnimation","isPressedInternal","pressed","useSharedValue","pressedBackgroundColor","scale","useAnimatedStyle","interpolateColor","transform","withSpring","active","onPressIn","handlePressIn","onPressOut","handlePressOut","getButtonSize","xLarge","allowedGhostTypes","Button","forwardRef","ref","stretch","sizeProp","href","hrefAttrs","isHoveredInternal","isFocusedInternal","onPress","__DEV__","includes","deprecatedProp","SpinningIcon","String","animationRef","useRef","Value","rotation","current","interpolate","inputRange","outputRange","useEffect","animation","loop","timing","toValue","easing","Easing","linear","useNativeDriver","start","stop","rotate","LoaderIcon","maxWidth","minHeight","maxHeight","hasWidthMatched","hasHeightMatched","useMatchWindowSize","options","useWindowDimensions","getCurrentStretchValue","isStretch","isMedium","ActionsItem","as","isCurrentStretch","useState","isLoading","setIsLoading","mountedRef","handlePress","e","callPressAndUpdateLoadingState","ActionsButton","getCurrentLayout","layout","getCurrentDirection","Actions","currentAlignItems","currentDirection","Item","lateOceanColorPalette","lateOcean","lateOceanLight1","lateOceanLight2","lateOceanLight3","warmEmbrace","warmEmbraceLight1","black1000","black800","black555","black400","black200","black100","black50","black25","white","viride","englishVermillon","goldCrayola","aero","seaShell","transparent","moonPurple","moonPurpleLight1","primary","primaryLight","accent","accentLight","success","correct","danger","info","warning","separator","hover","black","blackDisabled","blackLight","blackAnthracite","uiBackground","uiBackgroundLight","overlay","dark","light","defaultAvatarSize","defaultAvatarIconSize","largeAvatarSize","largeAvatarIconSize","avatar","iconSize","getCurrentRadius","sizeVariant","round","getCurrentSize","getIconSize","getInitials","firstname","lastname","toUpperCase","AvatarContent","src","alt","isLight","uri","Avatar","currentSize","currentBorderRadius","BottomSheetContainerView","bottomSheet","container","padding","BottomSheetComp","Content","hasScrollView","hasBackdrop","hasHandle","onDismiss","Wrapper","useMemo","BottomSheetScrollView","BottomSheetView","initialSnapPoints","useBottomSheetDynamicSnapPoints","animatedHandleHeight","animatedSnapPoints","animatedContentHeight","handleContentLayout","handle","data","BottomSheet","useBottomSheet","useStaticBottomSheet","bottomSheetRef","BottomSheetMemoized","ModalBehaviourPortal","_Fragment","OnCloseContext","OnCloseProvider","onClose","useOnCloseModalBehaviour","CloseButton","onCloseContextCallback","handleClose","ModalBehaviour","visible","position","top","left","OverlayPressable","StyleSheet","absoluteFillObject","Overlay","CardModalRotationContainer","NativeOpacityAnimation","onExited","hasRunAnimationRef","handleAnimationFinished","opacityStyle","cardModal","x1","y1","x2","y2","opacity","withTiming","bezier","isFinished","runOnJS","NativeRotationAnimation","onEntered","animatedStyle","rotateZ","CardModalAnimation","onEnter","onExit","isModalVisible","setIsModalVisible","isContentVisible","setIsContentVisible","handleAnimationExited","Modal","ScrollContainer","CardModalBehaviour","isModalBehaviourVisible","setIsModalBehaviourVisible","handleExitAnimationDone","CardModalBody","paddingX","paddingY","CardModalFooter","hasSeparator","CardModalHeader","title","paddingBottom","right","defaultContainerPadding","CardModal","withoutShadow","Body","Header","Footer","selected","Boolean","progress","useDerivedValue","choices","item","backgroundStyles","defaultBg","pressedBg","selectedBg","disabledBg","getCurrentTextColor","isSelected","getBorderRadius","defaultRadius","$variant","border","css","ChoiceItemView","$isHovered","$isPressed","$isSelected","hoverWhenSelected","defaultBackground","ifWindowSizeMatches","property","ChoiceItem","onChange","onBlur","onFocus","handleChange","checked","ChoiceItemContainer","$isLast","$direction","spacing","row","column","ChoicesContainer","direction","Choices","id","currentValue","setCurrentValue","isForm","childrenArray","Children","toArray","sharedProps","newValue","map","child","index","element","createChoicesComponent","ButtonChoices","ChoicesElements","dialogModal","DialogModalAnimation","DialogModalBehaviour","DialogModal","illustration","actions","DialogModalButton","Emoji","emoji","alignSelf","_web","parse","assetType","emojiData","url","ExternalAppLink","Component","appScheme","appValue","onOpenAppError","rest","handleOnPress","Linking","canOpenURL","canOpen","defaultPrevented","openURL","error","Sms","phoneNumber","Tel","_excluded3","Mail","emailAddress","_excluded4","defaultOpenLinkBehavior","web","ExternalLink","openLinkBehavior","WebBrowser","openBrowserAsync","contentPadding","horizontal","vertical","hoverBackgroundColor","focusBorderColor","ghost","hoverColor","activeColor","subtle","borderColor","card","secondary","webAnimationContentDuration","webAnimationContentEasing","webAnimationOverlayDuration","webAnimationOverlayEasing","overlayHorizontalPadding","maxWidthWithPadding","shadow","offsetX","offsetY","radius","header","footer","overlayPadding","feedbackMessage","checkbox","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","rightContainer","states","inputField","containerPaddingTop","containerPaddingBottom","feedbackPaddingTop","labelContainerPaddingBottom","labelFeedbackMarginLeft","inputTag","labelColor","radio","unchecked","innerSize","innerBackgroundColor","radioButtonGroup","textArea","forms","highlight","iconButton","listItem","innerMargin","navigationModal","pageLoader","strokeWidth","fill","delay","circleBackgroundFillDuration","filledCircleFillDuration","groupFilledCircleRotationDuration","filledCircleRotationDuration","fillEasingFunction","picker","ios","android","shadows","cards","low","highBase","highMedium","highLarge","navigation","panel","skeleton","flareColor","animationDuration","shape","bar","circle","square","tag","outline","hex2rgba","hex","alpha","r","parseInt","slice","g","b","tooltip","horizontalPadding","verticalPadding","floatingPadding","out","arrow","breakpoints","values","min","smallBreakpoint","mediumBreakpoint","largeBreakpoint","wideBreakpoint","max","palettes","createWindowSizeHelper","dimensions","mapWindowWidth","widthList","previousMinWidth","found","find","Number","useKittTheme","useWindowSize","kittTheme","CheckboxAndLabelPressableWrapper","CheckboxContainer","$isChecked","$hasLabel","Checkbox","hitSlop","prefixWithZero","maxLength","padStart","dayFormatter","monthFormatter","yearFormatter","getDayInInterval","getMonthInInterval","minDate","maxDate","minValue","getMonth","maxValue","getYearInInterval","getFullYear","isNumber","isNaN","onDatePartChange","validYearMinLength","arrayParts","isEverythingUndefined","every","v","isEverythingDefined","nextValue","Date","isValidYear","toString","setDate","setMonth","setFullYear","setMinutes","setHours","setSeconds","setMilliseconds","isMinDateAfterNextValue","getTime","isMaxDateBeforeNextValue","stringToNumber","keyboardDatePickerReducer","state","action","dateParts","nextDay","currentDay","displayedDay","currentMonth","currentYear","nextMonth","displayedMonth","nextYear","displayedYear","nextCurrentDay","nextCurrentMonth","nextCurrentYear","InputTextContainer","InputText","formState","internalForceState","autoCorrect","textContentType","autoComplete","keyboardType","multiline","onSubmitEditing","shouldHandleSingleLineOnIOS","getCurrentInternalForcedState","InputPart","PartContainer","KeyboardDatePicker","dayRef","monthRef","yearRef","defaultValue","defaultDay","getDate","defaultMonth","defaultYear","useReducer","dispatch","sharedInputPartProps","nativeEvent","PressableDateInputs","DatePickerAndroid","pickerDefaultDate","pickerUITestID","isDefaultVisible","setIsFocused","handleModalOpen","DateTimePickerAndroid","open","now","timestamp","date","onTouchCancel","BodyView","ModalBody","FooterView","ModalFooter","StyleWebWrapper","PressableIconButtonWebWrapperWithTheme","PressableIconButtonWebWrapper","withTheme","StyledPressableIconButton","PressableIconButton","AnimatedIconButtonBackground","AnimatedViewContainer","PressableAnimatedContainer","accessibilityLabel","opacityStyles","scaleStyles","IconButtonContentBorder","IconButtonContent","IconButton","HeaderView","LeftIconView","RightIconView","TitleView","isIconLeft","ModalHeader","ModalView","ContentView","NativeModal","getDatePickerDisplayMode","PlatformDateTimePicker","defaultDate","maximumDate","minimuDate","displayMode","iosProps","textColor","_event","ModalTitle","ModalPlatformDateTimePicker","isVisible","validateButtonLabel","newDate","prev","handleSubmit","DefaultNativeUIDatePicker","pickerUITitle","pickerUIValidateButtonLabel","isPickerUIVisible","setIsPickerUIVisible","handleModalClose","NativeUIDatePicker","DatePicker","fillMode","InputEmail","getColorFromState","InputFeedback","InputField","label","labelFeedback","feedback","getIconColor","InputIcon","InputPressable","InputPassword","isPasswordDefaultVisible","setIsVisible","InputPhone","getTypographyColor","InputTagContainer","InputTag","typographyColor","Label","htmlFor","OuterRadio","SelectedOuterRadio","SelectedInnerRadio","Container","Radio","$isFirst","isFirst","isLast","HoverBorder","shouldDisplayBorder","pressedBorderColor","RadioButton","RadioButtonGroupItem","RadioButtonGroup","clone","TextArea","Highlight","KittMapConfigProviderContext","KittMapConfigProvider","mapId","apiToken","providerValue","useKittMapConfig","context","ListItemContent","SideContainerView","side","ListItemSideContainer","SideContentView","ListItemSideContent","ContainerView","withPadding","borders","ListItem","Fragment","wrapperProps","containerProps","SideContent","SideContainer","MapMarkerSimple","DefaultMarkerSvg","MapMarkerLarge","LargeMarkerSvg","MapMarkerPosition","PositionMarkerSvg","IconContent","getColorByType","getIconButtonColor","messageType","StyledMessageContainer","$insets","$hasNoRadius","$type","StyledDismissWrapper","StyledIconContainer","StyledTextContent","$isCenteredText","StyledMessageContent","BaseMessage","hasNoRadius","centeredText","insets","Message","createKittSpaces","sizes","overridenNativeBaseSizeandSpaceScale","fromEntries","createKittNativeBaseCustomTheme","appTheme","spaces","appBreakpoints","extendedTheme","extendTheme","app","radii","lg","MAX_SAFE_INTEGER","md","sm","xl","xs","borderWidths","space","fontSizes","lineHeights","fontWeights","fonts","shadowColor","shadowOffset","shadowOpacity","shadowRadius","cardModals","components","Input","baseStyle","py","px","_disabled","_light","placeholderTextColor","bg","_hover","_focus","_stack","outlineWidth","_invalid","_ios","selectionColor","_android","variants","underlined","rounded","filled","unstyled","_dark","KittNativeBaseProvider","isSSR","nativeBaseCustomTheme","ViewWithPadding","ContentPadding","StyledViewWithPadding","$insetTop","$insetBottom","shouldHandleBottomNotch","shouldHandleTopNotch","useSafeAreaInsets","bottom","insetBottom","insetTop","FooterContainer","$hasSeparator","HeaderContainer","$isTransparent","$hasRight","$hasLeft","Row","$hasContent","ButtonContainer","ChildrenComponent","paddingHorizontal","HeaderTitle","isTransparent","NativeSlideInAnimation","wHeight","translateStyle","translateY","flex","NavigationModalAnimation","NavigationModalBehaviour","NavigationModalContainer","$backgroundColor","ContainerWithoutHeader","NavigationModal","Padding","Notification","onDelete","AnimatedCircle","createAnimatedComponent","Circle","AnimatedLoaderCircle","centerCoord","circlePerimeter","PI","strokeAnimation","useAnimatedProps","strokeDashoffset","AnimatedBackgroundCircle","withDelay","isInfinitAnimation","AnimatedFillCircleContainer","withRepeat","rotationStyles","absoluteFill","shouldReverse","AnimatedFilledCircle","PageLoaderContainer","PageLoader","ContainerPressable","PickerItem","Picker","initialValue","onValueSelected","setValue","NativePicker","itemValue","React","handleValueSelected","AnimatedLinearGradient","LinearGradient","SkeletonContent","sharedX","inOut","ease","linearGradientStyle","translateX","x","y","Skeleton","setWidth","Bar","Square","getStaticMapImageUrl","mapWidth","mapHeight","center","is2x","centerPart","lat","zoom","sizePart","urlParts","mapImageUrl","URL","join","searchParams","append","useGetStaticMapImageUrl","forceMapId","forceApiToken","currentUrl","setCurrentUrl","currentMapIdRef","currentApiTokenRef","newUrl","StaticMapError","onReload","StaticMapImage","onLoadEnd","onError","StaticMapLoader","getMarkerPosition","StaticMapMarker","getRangedWidthValue","nextWidth","rangedMapWidth","getShouldDisplay2x","currentDevicePixelRatio","PixelRatio","get","mapBoxMaxPictureWidth","getPictureWidth","StaticMap","marker","onLoaded","currentWidth","setCurrentWidth","hasError","setHasError","currentMapKey","setCurrentMapKey","shouldDisplay2xImage","mapUrl","handleParentLayout","event","KITT_MAP_CHROMATIC_IGNORE","handleImageLoadEnd","handleError","handleReload","Loader","Marker","Flex","withConfig","shouldForwardProp","prop","defaultValidatorFn","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","name","SmallScreenRow","SmallScreenCol","FlexRow","FlexCol","StoryGridRow","breakpoint","breakpointValue","StoryGridCol","titleColor","isNative","StoryGrid","Col","getLabelColor","Tag","styledTextInputMixin","$state","typeConfigKey","Title","ModalDateTimePicker","timePickerPlaceholder","formatNumberToTimeString","time","formatDateToTimeString","getHours","getMinutes","useTimePicker","isTimePickerModalVisible","setIsTimePickerModalVisible","todayAtNoon","getDay","dateTimePickerValue","displayedValue","timePickerState","handleInputPress","handleTimeChange","TimePicker","forceDefaultValue","Arrow","display","transformStyle","TooltipContent","customShift","tooltipX","refPageX","refWidth","floatingWidth","wWidth","refCenterOnScreen","halfFloatingWith","useCustomShift","pressableRect","windowDimensions","customShiftData","setCustomShiftData","res","pageX","Tooltip","defaultVisible","zIndex","fullWidth","onUpdate","onToggle","currentFloatingPadding","setFloatingWidth","pressableRectRef","useFloating","placement","middleware","offset","autoPlacement","allowedPlacements","reference","floating","update","refs","middlewareData","strategy","tooltipY","getPressableRect","useCallback","measure","_x","_y","_h","getTypographyTypeConfig","calcSizesFromType","marginLeft","marginRight","TypographyEmoji","WrappedComponent","_exp","$hasNoUnderline","TypographyLinkWebWrapper","styledLinaria","vars","StyledLink","$disabled","TypographyLink","noUnderline","KittThemeProvider","KittThemeDecorator","makeDecorator","parameterName","wrapper","parameters","MatchWindowSize","matchWindowSizeOptions","match","useCurrentBreakpointName","useBreakpointValue"],"mappings":"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"}
|