@ornikar/kitt-universal 9.46.2 → 9.47.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/definitions/MapMarker/MapMarker.d.ts +6 -2
- package/dist/definitions/MapMarker/MapMarker.d.ts.map +1 -1
- package/dist/index-browser-all.es.android.js +20 -6
- package/dist/index-browser-all.es.android.js.map +1 -1
- package/dist/index-browser-all.es.ios.js +20 -6
- package/dist/index-browser-all.es.ios.js.map +1 -1
- package/dist/index-browser-all.es.js +20 -6
- package/dist/index-browser-all.es.js.map +1 -1
- package/dist/index-browser-all.es.web.js +21 -7
- package/dist/index-browser-all.es.web.js.map +1 -1
- package/dist/index-node-14.17.cjs.js +18 -6
- package/dist/index-node-14.17.cjs.js.map +1 -1
- package/dist/index-node-14.17.cjs.web.js +18 -6
- package/dist/index-node-14.17.cjs.web.js.map +1 -1
- package/dist/tsbuildinfo +1 -1
- package/package.json +3 -3
- package/typings/react-native-web.d.ts +4 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index-node-14.17.cjs.web.js","sources":["../src/native-base/primitives.ts","../src/ActionCard/utils/getStateKey.ts","../src/ActionCard/ActionCardContentWrapper.tsx","../src/ActionCard/ActionCardDisabled.tsx","../src/ActionCard/ActionCard.tsx","../src/native-base/layout.ts","../src/utils/createResponsiveStyleFromProp/createResponsiveStyleFromProp.ts","../src/utils/warnings.ts","../src/Button/utils/getCurrentBackgroundColorForNativeBaseTheme.ts","../src/Button/utils/getCurrentScale.ts","../src/Button/AnimatedContainer.web.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/hooks/useNativeAnimation.web.ts","../src/Button/utils/getButtonSize.ts","../src/Button/Button.tsx","../src/utils/withTheme.tsx","../src/Icon/SpinningIcon.web.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.web.tsx","../src/BottomSheet/useBottomSheet.ts","../src/BottomSheet/useStaticBottomSheet.tsx","../src/ModalBehaviour/ModalBehaviourPortal.web.tsx","../src/ModalBehaviour/OnCloseContext.tsx","../src/ModalBehaviour/ModalBehaviour.tsx","../src/Overlay/Overlay.tsx","../src/CardModal/CardModalAnimation/CardModalRotationContainer.tsx","../src/CardModal/CardModalAnimation/CardModalAnimation.web.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.web.tsx","../src/Choices/ChoiceItem.tsx","../src/Choices/ChoiceItemContainer.tsx","../src/Choices/Choices.tsx","../src/DialogModal/DialogModalAnimation/DialogModalAnimation.web.tsx","../src/DialogModal/DialogModalBehaviour.tsx","../src/DialogModal/DialogModal.tsx","../src/Emoji/Emoji.tsx","../src/ExternalAppLink/ExternalAppLink.tsx","../src/ExternalLink/ExternalLinkOpenLinkBehavior.ts","../src/ExternalLink/ExternalLink.web.tsx","../src/forms/Checkbox/utils/getBackgroundColor.ts","../src/forms/Checkbox/utils/getBorderColor.ts","../src/forms/Checkbox/Checkbox.tsx","../src/utils/getReturnKeyTypeForNumericInput/getReturnKeyTypeForNumericInput.ts","../src/forms/DatePicker/utils/dateFormatter.ts","../src/forms/DatePicker/utils/datePartInInterval.ts","../src/forms/DatePicker/reducers/keyboardDatePickerReducer.ts","../src/forms/DatePicker/utils/isNumber.ts","../src/forms/DatePicker/utils/onDatePartChange.ts","../src/forms/DatePicker/utils/stringToNumber.ts","../src/forms/InputText/InputTextContainer.web.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/DatePicker.web.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/InnerCircle.tsx","../src/forms/Radio/utils/getBackgroundColor.ts","../src/forms/Radio/utils/getBorderColor.ts","../src/forms/Radio/OuterCircle.tsx","../src/forms/Radio/Radio.tsx","../src/forms/RadioButtonGroup/utils/getCurrentBackgroundColor.ts","../src/forms/RadioButtonGroup/utils/getCurrentBorderColor.ts","../src/forms/RadioButtonGroup/AnimatedContainer/AnimatedContainer.web.tsx","../src/forms/RadioButtonGroup/HoverBorder.tsx","../src/forms/RadioButtonGroup/hooks/useNativeAnimation.web.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/IconButton/Background.tsx","../src/IconButton/AnimatedBackground.web.tsx","../src/IconButton/AnimatedScale.web.tsx","../src/IconButton/hooks/useNativeAnimation.web.ts","../src/IconButton/IconButton.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/Modal/Body.tsx","../src/Modal/Footer.tsx","../src/Modal/OnCloseContext.ts","../src/Modal/Header.tsx","../src/Modal/Modal.tsx","../src/native-base/KittNativeBaseProvider.tsx","../src/NavigationModal/ContentPadding.tsx","../src/NavigationModal/Body.tsx","../src/NavigationModal/Footer.tsx","../src/NavigationModal/Header.tsx","../src/NavigationModal/NavigationModalAnimation.web.tsx","../src/NavigationModal/NavigationModalBehaviour.tsx","../src/NavigationModal/NavigationModalContainer.tsx","../src/NavigationModal/NavigationModal.tsx","../src/Notification/Notification.tsx","../src/PageLoader/PageLoader.web.tsx","../src/Picker/Picker.web.tsx","../src/Skeleton/SkeletonContent.web.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.web.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.web.tsx","../src/story-components/StoryDecorator.tsx","../src/story-components/StoryGrid.tsx","../src/Tag/Tag.tsx","../src/utils/hexToRgba.ts","../src/themes/late-ocean/actionCard.ts","../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/themes/late-ocean/tooltip.ts","../src/themes/default.ts","../src/TimePicker/TimePicker.web.tsx","../src/Tooltip/Arrow.tsx","../src/Tooltip/TooltipContent.tsx","../src/Tooltip/hooks/useShouldRenderArrow.ts","../src/Tooltip/utils/getHasArrowEnoughSpace.ts","../src/Tooltip/Tooltip.web.tsx","../src/typography/TypographyEmoji.tsx","../src/utils/StyleWebWrapper.tsx","../src/typography/TypographyLink.tsx","../src/utils/windowSize/createWindowSizeHelper.ts","../src/useKittTheme.tsx","../src/utils/storybook/KittThemeDecorator.tsx","../src/utils/windowSize/MatchWindowSize.tsx","../src/utils/windowSize/useCurrentBreakpointName.ts"],"sourcesContent":["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 { ActionCardVariant } from 'themes/late-ocean/actionCard';\n\nexport const getStateKey = (isHovered?: boolean, isPressed?: boolean, isFocused?: boolean): keyof ActionCardVariant => {\n if (isPressed) {\n return 'pressed';\n }\n\n if (isFocused) {\n return 'focused';\n }\n\n if (isHovered) {\n return 'hovered';\n }\n\n return 'default';\n};\n","import type { ReactElement, ReactNode } from 'react';\nimport { useTheme } from 'styled-components/native';\nimport { View } from '../native-base/primitives';\nimport type { ActionCardVariantType } from './types';\nimport { getStateKey } from './utils/getStateKey';\n\ninterface ActionCardContentWrapperProps {\n isHovered?: boolean;\n isPressed?: boolean;\n isFocused?: boolean;\n variant: ActionCardVariantType;\n children: ReactNode;\n}\n\nexport function ActionCardContentWrapper({\n isHovered,\n isPressed,\n isFocused,\n variant,\n children,\n}: ActionCardContentWrapperProps): ReactElement {\n const theme = useTheme();\n const state = getStateKey(isHovered, isPressed, isFocused);\n\n const { translateY } = theme.kitt.actionCard[variant][state];\n\n const sharedTransform = translateY\n ? {\n transform: [{ translateY }],\n }\n : {};\n\n return (\n <View\n _ios={{ style: sharedTransform }}\n _android={{ style: sharedTransform }}\n _web={{\n style: sharedTransform,\n }}\n width=\"100%\"\n backgroundColor={`kitt.actionCard.${variant}.${state}.backgroundColor`}\n borderRadius=\"kitt.actionCard.borderRadius\"\n borderColor={`kitt.actionCard.${variant}.${state}.borderColor`}\n borderWidth={`kitt.actionCard.${variant}.${state}.borderWidth`}\n shadow={`kitt.actionCard.${variant}.${state}.shadow`}\n >\n {children}\n </View>\n );\n}\n","import type { ReactElement, ReactNode } from 'react';\nimport { View } from '../native-base/primitives';\nimport type { ActionCardVariantType } from './types';\n\ninterface ActionCardDisabledProps {\n variant: ActionCardVariantType;\n children: ReactNode;\n}\n\nexport function ActionCardDisabled({ variant, children }: ActionCardDisabledProps): ReactElement {\n return (\n <View\n borderRadius=\"kitt.actionCard.borderRadius\"\n borderStyle=\"solid\"\n borderWidth={`kitt.actionCard.${variant}.disabled.borderWidth`}\n borderColor={`kitt.actionCard.${variant}.disabled.borderColor`}\n backgroundColor={`kitt.actionCard.${variant}.disabled.backgroundColor`}\n >\n {children}\n </View>\n );\n}\n","import type { ReactElement, ReactNode } from 'react';\nimport { forwardRef } from 'react';\nimport type { PressableProps, ViewProps } from '../native-base/primitives';\nimport { Pressable, View } from '../native-base/primitives';\nimport { ActionCardContentWrapper } from './ActionCardContentWrapper';\nimport { ActionCardDisabled } from './ActionCardDisabled';\nimport type { ActionCardVariantType } from './types';\n\nexport interface ActionCardProps extends Pick<ViewProps, 'testID'> {\n variant?: ActionCardVariantType;\n disabled?: boolean;\n children: ReactNode;\n /** @internal used by ActionCard.Pressable only */\n isHovered?: boolean;\n /** @internal used by ActionCard.Pressable only */\n isPressed?: boolean;\n /** @internal used by ActionCard.Pressable only */\n isFocused?: boolean;\n}\n\nexport function ActionCard({\n children,\n variant = 'secondary',\n disabled,\n testID,\n isHovered,\n isPressed,\n isFocused,\n}: ActionCardProps): ReactElement {\n return (\n <View testID={testID}>\n {disabled ? (\n <ActionCardDisabled variant={variant}>{children}</ActionCardDisabled>\n ) : (\n <ActionCardContentWrapper variant={variant} isHovered={isHovered} isFocused={isFocused} isPressed={isPressed}>\n {children}\n </ActionCardContentWrapper>\n )}\n </View>\n );\n}\n\nexport interface ActionCardPressableProps\n extends ActionCardProps,\n Pick<PressableProps, 'testID' | 'href' | 'hrefAttrs' | 'accessibilityRole' | 'onPress'> {\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}\n\nconst ActionCardPressable = forwardRef<typeof Pressable, ActionCardPressableProps>(\n (\n {\n children,\n variant = 'secondary',\n disabled,\n testID,\n href,\n hrefAttrs,\n accessibilityRole = 'button',\n isHoveredInternal,\n isPressedInternal,\n isFocusedInternal,\n onPress,\n }: ActionCardPressableProps,\n ref,\n ): ReactElement => {\n return (\n <Pressable\n ref={ref}\n accessibilityRole={accessibilityRole}\n disabled={disabled}\n testID={testID}\n href={href}\n hrefAttrs={hrefAttrs}\n width=\"100%\"\n onPress={onPress}\n >\n {({ isHovered, isPressed, isFocused }) => (\n <ActionCard\n variant={variant}\n disabled={disabled}\n isHovered={isHovered || isHoveredInternal}\n isFocused={isFocused || isFocusedInternal}\n isPressed={isPressed || isPressedInternal}\n >\n {children}\n </ActionCard>\n )}\n </Pressable>\n );\n },\n);\n\nActionCard.Pressable = ActionCardPressable;\n","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 { 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 { ButtonType, ButtonVariant } from '../Button';\n\ninterface GetCurrentBackgroundColorParams {\n type: ButtonType;\n variant: ButtonVariant;\n isDisabled?: boolean;\n isHovered?: boolean;\n isPressed?: boolean;\n}\n\nexport function getCurrentBackgroundColorForNativeBaseTheme({\n type,\n variant,\n isDisabled,\n isHovered,\n isPressed,\n}: GetCurrentBackgroundColorParams): string {\n if (isDisabled) return 'kitt.button.disabled.default.backgroundColor';\n\n const baseKey = `kitt.button.${type}.${variant}`;\n\n if (isHovered || isPressed) {\n return `${baseKey}.hoverBackgroundColor`;\n }\n\n return `${baseKey}.backgroundColor`;\n}\n","interface GetCurrentScaleParams {\n hoverScaleValue: number;\n pressedScaleValue: number;\n isDisabled?: boolean;\n isHovered?: boolean;\n isPressed?: boolean;\n}\n\nexport function getCurrentScale({\n hoverScaleValue,\n pressedScaleValue,\n isDisabled,\n isHovered,\n isPressed,\n}: GetCurrentScaleParams): number {\n if (isDisabled) return 1;\n\n if (isPressed) {\n return pressedScaleValue;\n }\n\n if (isHovered) {\n return hoverScaleValue;\n }\n\n return 1;\n}\n","import { useBreakpointValue } from 'native-base';\nimport type { ReactElement } from 'react';\nimport { useTheme } from 'styled-components/native';\nimport { View } from '../native-base/primitives';\nimport { createResponsiveStyleFromProp } from '../utils/createResponsiveStyleFromProp/createResponsiveStyleFromProp';\nimport type { AnimatedContainerProps } from './AnimatedContainer';\nimport { getCurrentBackgroundColorForNativeBaseTheme } from './utils/getCurrentBackgroundColorForNativeBaseTheme';\nimport { getCurrentScale } from './utils/getCurrentScale';\n\nexport function AnimatedContainer({\n children,\n type,\n variant,\n isHovered,\n isPressed,\n isStretch,\n disabled,\n}: AnimatedContainerProps): ReactElement {\n const theme = useTheme();\n\n const {\n transition: { duration, timingFunction },\n scale,\n } = theme.kitt.button;\n\n const responsiveHoverScaleValue = useBreakpointValue({\n base: scale.base.hover,\n medium: scale.medium.hover,\n });\n\n const currentScale = getCurrentScale({\n hoverScaleValue: responsiveHoverScaleValue,\n pressedScaleValue: scale.base.active,\n isHovered,\n isPressed,\n isDisabled: !!disabled,\n });\n\n const currentBackgroundColor = getCurrentBackgroundColorForNativeBaseTheme({\n type,\n variant,\n isDisabled: !!disabled,\n isHovered,\n isPressed,\n });\n\n return (\n <View\n _web={{\n style: {\n transitionProperty: 'all',\n transitionDuration: duration,\n transitionTimingFunction: timingFunction,\n /* Simplifies the animation to just the front of the object – avoid blurry scale */\n backfaceVisibility: 'hidden',\n transform: [\n {\n scale: currentScale,\n },\n ],\n },\n }}\n width={createResponsiveStyleFromProp(isStretch, '100%', 'auto')}\n alignSelf=\"baseline\"\n borderRadius=\"kitt.button.borderRadius\"\n backgroundColor={currentBackgroundColor}\n >\n {children}\n </View>\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, TextStyle } 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'>\n | 'textAlign'\n | 'textTransform'\n | 'underline'\n | NativeBaseAcceptedFlexboxProps\n> &\n Pick<TextStyle, 'cursor' | 'transitionProperty' | 'transitionDuration' | 'transitionTimingFunction'>;\n// TODO[native-base@>=3.4.19] this currently does not work. Retest when updating native-base.\n// & {\n// _active?: Pick<NativeBaseTextPropsAcceptedProps, 'underline'>;\n// _hover?: Pick<NativeBaseTextPropsAcceptedProps, 'underline'>;\n// } ;\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 type { ViewProps } from '../native-base/primitives';\nimport { View } from '../native-base/primitives';\n\nexport interface IconProps {\n icon: ReactElement;\n size?: ViewProps['size'];\n color: string;\n align?: ViewStyle['alignSelf'];\n testID?: ViewStyle['testID'];\n}\n\nexport function Icon({ icon, size = 'kitt.icon.defaultSize', align = 'auto', color }: IconProps): ReactElement {\n const clonedIcon = cloneElement(icon, { color });\n\n return (\n <View color={color} alignSelf={align} size={size}>\n {clonedIcon}\n </View>\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 'danger':\n return 'danger';\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 { NativeAnimation, UseNativeAnimationOptions } from './useNativeAnimation';\n\nexport function useNativeAnimation(options: UseNativeAnimationOptions): NativeAnimation {\n return {\n onPressIn: undefined,\n onPressOut: undefined,\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' | 'danger';\nexport type ButtonSize = 'large' | 'xLarge';\nexport type ButtonVariant = 'default' | 'ghost';\n\ntype IconPosition = 'right' | 'left';\n\nconst allowedGhostTypes = ['primary', 'default', 'danger'];\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 { 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 } from '@linaria/react';\nimport type { ReactElement } from 'react';\nimport { cloneElement } from 'react';\nimport type { DefaultTheme } from 'styled-components/native';\nimport { withTheme } from '../utils/withTheme';\nimport type { SpinningIconProps } from './SpinningIcon';\n\ninterface StyledSpinningIconContainerProps {\n theme: DefaultTheme;\n}\n\nconst StyledSpinningIconContainer = withTheme(styled.div<StyledSpinningIconContainerProps>`\n & {\n display: inline-flex;\n }\n\n & > svg {\n animation: spin 1.1s infinite linear;\n }\n\n @keyframes spin {\n 0% {\n transform: rotate(-1deg);\n }\n\n 100% {\n transform: rotate(359deg);\n }\n }\n`);\n\nexport function SpinningIcon({ icon, color }: SpinningIconProps): ReactElement {\n const clonedIcon = cloneElement(icon, { color });\n return <StyledSpinningIconContainer>{clonedIcon}</StyledSpinningIconContainer>;\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 type { BottomSheetModalMethods } from '@gorhom/bottom-sheet/lib/typescript/types';\nimport type { ForwardRefExoticComponent, RefAttributes } from 'react';\nimport { forwardRef } from 'react';\nimport type { BottomSheetProps } from './BottomSheet';\n\nfunction BottomSheetComponent(): null {\n // noop\n return null;\n}\n\nexport const BottomSheet = forwardRef(BottomSheetComponent) as ForwardRefExoticComponent<\n Pick<BottomSheetProps, 'children' | 'hasScrollView' | 'hasHandle' | 'hasBackdrop'> &\n RefAttributes<BottomSheetModalMethods>\n> & { View: () => void };\n\nBottomSheet.View = function View(): null {\n return null;\n};\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 { css } from '@linaria/core';\nimport type { ReactElement } from 'react';\nimport { useEffect } from 'react';\nimport { Portal } from 'react-portal';\nimport type { ModalBehaviourPortalProps } from './ModalBehaviourPortal';\n\nconst overflowHidden = css`\n overflow: hidden;\n`;\n\nfunction useBlockBodyScroll(isScrollBlocked: boolean): void {\n useEffect(() => {\n if (isScrollBlocked) {\n document.body.classList.add(overflowHidden);\n } else {\n document.body.classList.remove(overflowHidden);\n }\n\n return () => {\n document.body.classList.remove(overflowHidden);\n };\n }, [isScrollBlocked]);\n}\n\nexport function ModalBehaviourPortal({ visible, children }: ModalBehaviourPortalProps): ReactElement {\n useBlockBodyScroll(Boolean(visible));\n\n // eslint-disable-next-line react/jsx-no-useless-fragment -- Portal propTypes define a required children, preventing a null children value\n return <Portal>{children || <></>}</Portal>;\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 { css } from '@linaria/core';\nimport type { ReactElement } from 'react';\nimport { CSSTransition } from 'react-transition-group';\nimport { useTheme } from 'styled-components/native';\nimport { Overlay } from '../../Overlay/Overlay';\nimport { View } from '../../native-base/primitives';\nimport {\n webAnimationContentDuration,\n webAnimationContentEasing,\n webAnimationOverlayDuration,\n webAnimationOverlayEasing,\n} from '../../themes/late-ocean/cardModal';\nimport type { CardModalAnimationProps } from './CardModalAnimation';\nimport { CardModalRotationContainer } from './CardModalRotationContainer';\n\nconst [x1, y1, x2, y2] = webAnimationContentEasing;\n\nconst cubicBezierSlideIn = `cubic-bezier(${x1}, ${y1}, ${x2}, ${y2})`;\n\nconst contentAnimationEnter = css`\n opacity: 0;\n transform: rotateZ(5deg) scale(0.8);\n`;\n\nconst contentAnimatioEnterActive = css`\n opacity: 1;\n transform: rotateZ(0) scale(1);\n transition: all ${webAnimationContentDuration}ms ${cubicBezierSlideIn};\n`;\n\nconst contentAnimatioExit = css`\n opacity: 1;\n transform: rotateZ(0) scale(1);\n`;\n\nconst contentAnimatioExitActive = css`\n opacity: 0;\n transform: rotateZ(5deg) scale(0.8);\n transition: all ${webAnimationContentDuration}ms ${cubicBezierSlideIn};\n`;\n\nconst contentAnimationClassNames = {\n appear: contentAnimationEnter,\n appearActive: contentAnimatioEnterActive,\n enter: contentAnimationEnter,\n enterActive: contentAnimatioEnterActive,\n exit: contentAnimatioExit,\n exitActive: contentAnimatioExitActive,\n};\n\nconst [xA, yA, xB, yB] = webAnimationOverlayEasing;\n\nconst cubicBezierOverlayEasing = `cubic-bezier(${xA}, ${yA}, ${xB}, ${yB})`;\n\nconst opacityEnter = css`\n opacity: 0;\n`;\n\nconst opacityEnterActive = css`\n opacity: 1;\n transition: opacity ${webAnimationOverlayDuration}ms ${cubicBezierOverlayEasing};\n`;\n\nconst opacityExit = css`\n opacity: 1;\n`;\n\nconst opacityExitActive = css`\n opacity: 0;\n transition: opacity ${webAnimationOverlayDuration}ms ${cubicBezierOverlayEasing};\n`;\n\nconst opacityClassNames = {\n appear: opacityEnter,\n appearActive: opacityEnterActive,\n enter: opacityEnter,\n enterActive: opacityEnterActive,\n exit: opacityExit,\n exitActive: opacityExitActive,\n};\n\nexport function CardModalAnimation({\n children,\n appear = true,\n visible,\n unmountOnExit = true,\n isAnimationEnabled = true,\n onEnter,\n onEntered,\n onExit,\n onExited,\n onClose,\n ...props\n}: CardModalAnimationProps): ReactElement {\n const theme = useTheme();\n const { animation } = theme.kitt.cardModal;\n\n const sharedProps = {\n in: visible,\n appear,\n unmountOnExit,\n };\n\n return (\n <View {...props} height=\"100%\" justifyContent=\"center\">\n <CSSTransition\n {...sharedProps}\n timeout={isAnimationEnabled ? animation.overlay.duration : 0}\n classNames={opacityClassNames}\n >\n <Overlay onPress={onClose} />\n </CSSTransition>\n\n <CSSTransition\n {...sharedProps}\n timeout={isAnimationEnabled ? animation.content.duration : 0}\n classNames={contentAnimationClassNames}\n onEnter={onEnter}\n onEntered={onEntered}\n onExit={onExit}\n onExited={onExited}\n >\n <CardModalRotationContainer alignItems=\"center\" margin=\"auto\">\n {children}\n </CardModalRotationContainer>\n </CSSTransition>\n </View>\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';\n\nexport const useNativeAnimation = (): {\n onPressIn: () => void;\n onPressOut: () => void;\n backgroundStyles?: ViewStyle;\n} => {\n return {\n onPressIn: () => {},\n onPressOut: () => {},\n backgroundStyles: undefined,\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 { css } from '@linaria/core';\nimport type { ReactElement } from 'react';\nimport { CSSTransition } from 'react-transition-group';\nimport { useTheme } from 'styled-components/native';\nimport { Overlay } from '../../Overlay/Overlay';\nimport { View } from '../../native-base/primitives';\nimport {\n webAnimationContentDuration,\n webAnimationContentEasing,\n webAnimationOverlayDuration,\n webAnimationOverlayEasing,\n} from '../../themes/late-ocean/dialogModal';\nimport type { DialogModalAnimationProps } from './DialogModalAnimation';\n\nconst [x1, y1, x2, y2] = webAnimationContentEasing;\n\nconst cubicBezierSlideIn = `cubic-bezier(${x1}, ${y1}, ${x2}, ${y2})`;\n\nconst contentAnimationEnter = css`\n opacity: 0;\n transform: rotateZ(5deg) scale(0.8);\n`;\n\nconst contentAnimatioEnterActive = css`\n opacity: 1;\n transform: rotateZ(0) scale(1);\n transition: all ${webAnimationContentDuration}ms ${cubicBezierSlideIn};\n`;\n\nconst contentAnimatioExit = css`\n opacity: 1;\n transform: rotateZ(0) scale(1);\n`;\n\nconst contentAnimatioExitActive = css`\n opacity: 0;\n transform: rotateZ(5deg) scale(0.8);\n transition: all ${webAnimationContentDuration}ms ${cubicBezierSlideIn};\n`;\n\nconst contentAnimationClassNames = {\n appear: contentAnimationEnter,\n appearActive: contentAnimatioEnterActive,\n enter: contentAnimationEnter,\n enterActive: contentAnimatioEnterActive,\n exit: contentAnimatioExit,\n exitActive: contentAnimatioExitActive,\n};\n\nconst [xA, yA, xB, yB] = webAnimationOverlayEasing;\n\nconst cubicBezierOverlayEasing = `cubic-bezier(${xA}, ${yA}, ${xB}, ${yB})`;\n\nconst opacityEnter = css`\n opacity: 0;\n`;\n\nconst opacityEnterActive = css`\n opacity: 1;\n transition: opacity ${webAnimationOverlayDuration}ms ${cubicBezierOverlayEasing};\n`;\n\nconst opacityExit = css`\n opacity: 1;\n`;\n\nconst opacityExitActive = css`\n opacity: 0;\n transition: opacity ${webAnimationOverlayDuration}ms ${cubicBezierOverlayEasing};\n`;\n\nconst opacityClassNames = {\n appear: opacityEnter,\n appearActive: opacityEnterActive,\n enter: opacityEnter,\n enterActive: opacityEnterActive,\n exit: opacityExit,\n exitActive: opacityExitActive,\n};\n\nexport function DialogModalAnimation({\n children,\n appear = true,\n visible,\n unmountOnExit = true,\n isAnimationEnabled = true,\n onEnter,\n onEntered,\n onExit,\n onExited,\n onClose,\n ...props\n}: DialogModalAnimationProps): ReactElement {\n const theme = useTheme();\n const { animation } = theme.kitt.dialogModal;\n\n const sharedProps = {\n in: visible,\n appear,\n unmountOnExit,\n };\n\n return (\n <View {...props} height=\"100%\" justifyContent=\"center\">\n <CSSTransition\n {...sharedProps}\n timeout={isAnimationEnabled ? animation.overlay.duration : 0}\n classNames={opacityClassNames}\n >\n <Overlay onPress={onClose} />\n </CSSTransition>\n\n <CSSTransition\n {...sharedProps}\n timeout={isAnimationEnabled ? animation.content.duration : 0}\n classNames={contentAnimationClassNames}\n onEnter={onEnter}\n onEntered={onEntered}\n onExit={onExit}\n onExited={onExited}\n >\n <View\n alignItems=\"center\"\n paddingX=\"kitt.dialogModal.overlayPadding.horizontal\"\n paddingY=\"kitt.dialogModal.overlayPadding.vertical\"\n margin=\"auto\"\n >\n {children}\n </View>\n </CSSTransition>\n </View>\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 type { ReactElement, VoidFunctionComponent } from 'react';\nimport type { ExternalLinkProps, ExternalLinkSendableComponentProps } from './ExternalLink';\nimport { defaultOpenLinkBehavior } from './ExternalLinkOpenLinkBehavior';\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 return (\n <Component\n {...(rest as any)}\n href={href}\n hrefAttrs={openLinkBehavior?.web === 'targetSelf' ? undefined : { target: '_blank', rel: 'noopener noreferrer' }}\n onPress={onPress}\n />\n );\n}\n","interface GetBackgroundColorParams {\n isDisabled?: boolean;\n isChecked?: boolean;\n isPressed?: boolean;\n isHovered?: boolean;\n isFocused?: boolean;\n}\n\nexport function getBackgroundColor({\n isDisabled,\n isPressed,\n isHovered,\n isFocused,\n isChecked,\n}: GetBackgroundColorParams): string {\n if (isChecked) return 'kitt.forms.checkbox.checked.backgroundColor';\n\n if (isDisabled) return 'kitt.forms.checkbox.disabled.backgroundColor';\n\n if (isPressed) return 'kitt.forms.checkbox.pressed.backgroundColor';\n\n if (isHovered) return 'kitt.forms.checkbox.hover.backgroundColor';\n\n if (isFocused) return 'kitt.forms.checkbox.focus.backgroundColor';\n\n return 'kitt.forms.checkbox.default.backgroundColor';\n}\n","interface GetBorderColorParams {\n isDisabled?: boolean;\n isChecked?: boolean;\n isPressed?: boolean;\n isHovered?: boolean;\n isFocused?: boolean;\n}\n\nexport function getBorderColor({\n isDisabled,\n isPressed,\n isHovered,\n isFocused,\n isChecked,\n}: GetBorderColorParams): string {\n if (isChecked) return 'kitt.forms.checkbox.checked.borderColor';\n\n if (isDisabled) return 'kitt.forms.checkbox.disabled.borderColor';\n\n if (isPressed) return 'kitt.forms.checkbox.pressed.borderColor';\n\n if (isHovered) return 'kitt.forms.checkbox.hover.borderColor';\n\n if (isFocused) return 'kitt.forms.checkbox.focus.borderColor';\n\n return 'kitt.forms.checkbox.default.borderColor';\n}\n","import { CheckboxMark } from '@ornikar/kitt-icons';\nimport type { ReactElement, ReactNode } from 'react';\nimport { forwardRef } from 'react';\nimport type { GestureResponderEvent, PressableProps } from 'react-native';\nimport { useTheme } from 'styled-components/native';\nimport { Icon } from '../../Icon/Icon';\nimport { HStack } from '../../native-base/layout';\nimport { Pressable, View } from '../../native-base/primitives';\nimport { getBackgroundColor } from './utils/getBackgroundColor';\nimport { getBorderColor } from './utils/getBorderColor';\n\nexport interface CheckboxProps {\n checked: boolean;\n hitSlop?: number;\n testID?: string;\n id?: PressableProps['testID'];\n children?: ReactNode;\n disabled?: boolean;\n onChange: (checked: boolean, e: GestureResponderEvent) => void;\n onBlur?: (e: any) => void;\n onFocus?: (e: any) => void;\n}\n\nexport const Checkbox = forwardRef<PressableProps, CheckboxProps>(\n (\n { checked, hitSlop = 40, id, children, disabled, testID, onChange, onBlur, onFocus }: CheckboxProps,\n ref,\n ): ReactElement => {\n const theme = useTheme();\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 <Pressable\n ref={ref}\n nativeID={id}\n testID={testID}\n accessibilityRole=\"checkbox\"\n accessibilityState={{ checked }}\n hitSlop={hitSlop}\n disabled={disabled}\n onPress={handlePress}\n >\n {({ isHovered, isPressed, isFocused }) => (\n <HStack space={children ? 'kitt.forms.checkbox.textSpacing' : undefined}>\n <View\n display=\"flex\"\n flexDirection=\"row\"\n alignItems=\"center\"\n justifyContent=\"center\"\n marginTop={children ? 'kitt.1' : undefined}\n height=\"kitt.forms.checkbox.height\"\n width=\"kitt.forms.checkbox.width\"\n borderRadius=\"kitt.forms.checkbox.borderRadius\"\n borderWidth=\"kitt.forms.checkbox.borderWidth\"\n borderColor={getBorderColor({\n isDisabled: disabled,\n isFocused,\n isHovered,\n isPressed,\n isChecked: checked,\n })}\n backgroundColor={getBackgroundColor({\n isDisabled: disabled,\n isFocused,\n isHovered,\n isPressed,\n isChecked: checked,\n })}\n _web={{\n style: {\n transitionDuration: theme.kitt.forms.checkbox.transition.duration,\n transitionProperty: 'all',\n transitionTimingFunction: theme.kitt.forms.checkbox.transition.timingFunction,\n },\n }}\n >\n <View\n opacity={checked ? 1 : 0}\n _web={{\n style: {\n transitionDuration: theme.kitt.forms.checkbox.transition.duration,\n transitionProperty: 'opacity',\n transitionTimingFunction: theme.kitt.forms.checkbox.transition.timingFunction,\n },\n }}\n >\n <Icon\n align=\"center\"\n color={theme.kitt.forms.checkbox.markColor}\n size={theme.kitt.forms.checkbox.iconSize}\n icon={<CheckboxMark />}\n />\n </View>\n </View>\n\n {children ? <View flexShrink={1}>{children}</View> : null}\n </HStack>\n )}\n </Pressable>\n );\n },\n);\n","import type { TextInputProps } from 'react-native';\nimport { Platform } from 'react-native';\n\nexport function getReturnKeyTypeForNumericInput(\n returnKeyType: TextInputProps['returnKeyType'],\n): TextInputProps['returnKeyType'] {\n // returnKey is only displayed on number input on iOS if value is done\n if (Platform.OS === 'ios') return 'done';\n\n return returnKeyType;\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","import type { Reducer } from 'react';\nimport type { DatePickerProps } from '../DatePicker';\nimport { dayFormatter, monthFormatter, yearFormatter } from '../utils/dateFormatter';\nimport { getDayInInterval, getMonthInInterval, getYearInInterval } from '../utils/datePartInInterval';\n\nfunction getValueToDisplayedString(value: number | undefined): string {\n // We exclude the undefined value since 0 is a valid number\n if (value === undefined) return '';\n\n return value.toString();\n}\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}\n\ninterface DayChangeAction {\n type: 'day-change';\n nextDay?: number;\n}\n\ninterface MonthChangeAction {\n type: 'month-change';\n nextMonth?: number;\n}\n\ninterface YearChangeAction {\n type: 'year-change';\n nextYear?: number;\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 switch (action.type) {\n case 'day-change': {\n const { nextDay } = action;\n\n return {\n ...state,\n currentDay: nextDay,\n displayedDay: getValueToDisplayedString(nextDay),\n };\n }\n\n case 'month-change': {\n const { nextMonth } = action;\n\n return {\n ...state,\n currentMonth: nextMonth,\n displayedMonth: getValueToDisplayedString(nextMonth),\n };\n }\n\n case 'year-change': {\n const { nextYear } = action;\n\n return {\n ...state,\n currentYear: nextYear,\n displayedYear: getValueToDisplayedString(nextYear),\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","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 { styled } from '@linaria/react';\nimport type { DefaultTheme } from 'styled-components/native';\nimport { withTheme } from '../../utils/withTheme';\nimport type { InputTextContainerProps } from './InputTextContainer';\n\ninterface WebInputTextContainerProps extends InputTextContainerProps {\n theme: DefaultTheme;\n}\n\nexport const InputTextContainer = withTheme(styled.div<WebInputTextContainerProps>`\n display: flex;\n position: relative;\n\n & > *::-ms-clear,\n & > *::-ms-reveal {\n display: none;\n }\n\n & > * {\n transition: ${({ theme }) => {\n const { property, duration, timingFunction } = theme.kitt.forms.input.transition;\n return `${property} ${duration} ${timingFunction}`;\n }};\n }\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 | string;\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 returnKeyType?: InputTextProps['returnKeyType'];\n onChange?: InputTextProps['onChange'];\n onBlur?: () => void;\n onSubmitEditing?: InputTextProps['onSubmitEditing'];\n}\n\nexport const InputPart = forwardRef(\n (\n {\n value,\n placeholder,\n disabled,\n isFocusedInternal,\n isHoveredInternal,\n isPressedInternal,\n returnKeyType,\n onChange,\n onBlur,\n onSubmitEditing,\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 returnKeyType={returnKeyType}\n textAlign=\"center\"\n onChange={onChange}\n onBlur={onBlur}\n onSubmitEditing={onSubmitEditing}\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 { forwardRef, useReducer, useRef } from 'react';\nimport type { TextInput as RNTextInput } from 'react-native';\nimport { HStack } from '../../../native-base/layout';\nimport { View } from '../../../native-base/primitives';\nimport { getReturnKeyTypeForNumericInput } from '../../../utils/getReturnKeyTypeForNumericInput/getReturnKeyTypeForNumericInput';\nimport type { InputTextProps } from '../../InputText/InputText';\nimport type { DatePickerProps } from '../DatePicker';\nimport { keyboardDatePickerReducer } from '../reducers/keyboardDatePickerReducer';\nimport { dayFormatter, monthFormatter, yearFormatter } from '../utils/dateFormatter';\nimport { isNumber } from '../utils/isNumber';\nimport { onDatePartChange } from '../utils/onDatePartChange';\nimport { stringToNumber } from '../utils/stringToNumber';\nimport { InputPart } from './InputPart';\nimport { PartContainer } from './PartContainer';\n\ninterface KeyboardDatePickerProps extends DatePickerProps {\n onSubmitEditing?: InputTextProps['onSubmitEditing'];\n}\n\nexport const KeyboardDatePicker = forwardRef<RNTextInput, KeyboardDatePickerProps>(\n (\n {\n value,\n testID,\n id,\n stretch,\n placeholder,\n minDate,\n maxDate,\n disabled,\n isFocusedInternal,\n isHoveredInternal,\n isPressedInternal,\n returnKeyType,\n onChange,\n onBlur,\n onFocus,\n onSubmitEditing,\n ...props\n }: KeyboardDatePickerProps,\n ref,\n ): ReactElement => {\n const monthRef = useRef<RNTextInput>(null);\n const yearRef = useRef<RNTextInput>(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 });\n\n const sharedInputPartProps = {\n isFocusedInternal,\n isHoveredInternal,\n isPressedInternal,\n disabled,\n };\n\n const handleDatePartChange = (\n day: number | undefined,\n month: number | undefined,\n year: number | undefined,\n ): void => {\n onDatePartChange({ day, month, year, minDate: state.minDate, maxDate: state.maxDate, onFocus, onBlur, onChange });\n };\n\n const handleAutoFocusNextField = (currentFieldValue: string, nextFieldRef: React.RefObject<RNTextInput>): void => {\n if (currentFieldValue.length === 2 && nextFieldRef.current) {\n nextFieldRef.current.focus();\n }\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={ref}\n {...sharedInputPartProps}\n placeholder={placeholder?.day}\n value={state.displayedDay}\n returnKeyType={getReturnKeyTypeForNumericInput('next')}\n onChange={(e) => {\n const nextDay = stringToNumber(e.nativeEvent.text);\n\n dispatch({ type: 'day-change', nextDay });\n\n if (nextDay && isNumber(nextDay)) {\n handleDatePartChange(nextDay, state.currentMonth, state.currentYear);\n }\n\n handleAutoFocusNextField(e.nativeEvent.text, monthRef);\n }}\n onBlur={() => dispatch({ type: 'day-blur' })}\n onSubmitEditing={() => {\n monthRef.current?.focus();\n }}\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 returnKeyType={getReturnKeyTypeForNumericInput('next')}\n onChange={(e) => {\n const nextMonth = stringToNumber(e.nativeEvent.text);\n\n dispatch({ type: 'month-change', nextMonth });\n\n if (nextMonth && isNumber(nextMonth)) {\n handleDatePartChange(state.currentDay, nextMonth, state.currentYear);\n }\n\n handleAutoFocusNextField(e.nativeEvent.text, yearRef);\n }}\n onBlur={() => dispatch({ type: 'month-blur' })}\n onSubmitEditing={() => {\n yearRef.current?.focus();\n }}\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 returnKeyType={returnKeyType ? getReturnKeyTypeForNumericInput(returnKeyType) : undefined}\n onChange={(e) => {\n const nextYear = stringToNumber(e.nativeEvent.text);\n\n dispatch({ type: 'year-change', nextYear });\n\n if (nextYear && isNumber(nextYear)) {\n handleDatePartChange(state.currentDay, state.currentMonth, nextYear);\n }\n }}\n onBlur={() => dispatch({ type: 'year-blur' })}\n onSubmitEditing={onSubmitEditing}\n />\n </PartContainer>\n </HStack>\n </View>\n );\n },\n);\n","import type { ReactElement } from 'react';\nimport { forwardRef } from 'react';\nimport type { TextInput as RNTextInput } from 'react-native';\nimport type { DatePickerProps } from './DatePicker';\nimport { KeyboardDatePicker } from './components/KeyboardDatePicker';\n\nexport const DatePicker = forwardRef<RNTextInput, DatePickerProps>(\n ({ value, ...props }: DatePickerProps, ref): ReactElement => {\n // in apps, final-form can give a string value that will break the component\n const currentValue = value || undefined;\n\n return <KeyboardDatePicker ref={ref} {...props} value={currentValue} />;\n },\n);\n","import type { ReactElement } from 'react';\nimport { forwardRef } from 'react';\nimport type { TextInput as RNTextInput } from 'react-native';\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 const InputEmail = forwardRef<RNTextInput, InputEmailProps>((props: InputEmailProps, ref): ReactElement => {\n return (\n <InputText\n ref={ref}\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 { forwardRef, useState } from 'react';\nimport type { TextInput as RNTextInput } from 'react-native';\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 const InputPassword = forwardRef<RNTextInput, InputPasswordProps>(\n ({ isPasswordDefaultVisible, right, ...props }: InputPasswordProps, ref): ReactElement => {\n const [isVisible, setIsVisible] = useState(Boolean(isPasswordDefaultVisible));\n\n return (\n <InputText\n ref={ref}\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);\n","import type { CountryCallingCode, ParsedNumber } from 'libphonenumber-js';\nimport { getCountryCallingCode, isValidNumber, parseNumber } from 'libphonenumber-js';\nimport type { ReactElement } from 'react';\nimport { forwardRef, useState } from 'react';\nimport type { NativeSyntheticEvent, TextInput as RNTextInput, TextInputChangeEventData } from 'react-native';\nimport type { Except } from 'type-fest';\nimport { getReturnKeyTypeForNumericInput } from '../../utils/getReturnKeyTypeForNumericInput/getReturnKeyTypeForNumericInput';\nimport type { InputTextProps } from '../InputText/InputText';\nimport { InputText } from '../InputText/InputText';\n\nfunction isPhoneNumberValid(number: Record<string, never> | ParsedNumber): number is ParsedNumber {\n return isValidNumber(number as ParsedNumber);\n}\n\nfunction prefixWithZero(value: string, phoneNumberLength: number): string {\n return value.padStart(phoneNumberLength, '0');\n}\n\nexport interface InputPhoneNumberData extends ParsedNumber {\n countryCode: CountryCallingCode;\n originalNativeEventText: string;\n}\n\nexport interface InputPhoneProps extends Except<InputTextProps, 'keyboardType' | 'textContentType'> {\n phoneNumberLength?: number;\n onChange?: (event: NativeSyntheticEvent<TextInputChangeEventData>, phoneNumberData?: InputPhoneNumberData) => void;\n}\n\nexport const InputPhone = forwardRef<RNTextInput, InputPhoneProps>(\n (\n { returnKeyType, autoComplete = 'tel', phoneNumberLength = 10, value, onChange, ...props }: InputPhoneProps,\n ref,\n ): ReactElement => {\n const [currentValue, setCurrentValue] = useState(value);\n\n const currentReturnKeyType = returnKeyType ? getReturnKeyTypeForNumericInput(returnKeyType) : undefined;\n\n const handleChange = (event: NativeSyntheticEvent<TextInputChangeEventData>): void => {\n const number = parseNumber(event.nativeEvent.text);\n\n // When intl phone number is valid :\n // 1 - We extract intl data\n // 2 - We recreate the local value to display\n if (isPhoneNumberValid(number)) {\n const { phone } = number;\n\n const finalPhoneNumber = prefixWithZero(`${phone || ''}`, phoneNumberLength);\n\n const eventWithoutCountryCode = {\n ...event,\n nativeEvent: {\n ...event.nativeEvent,\n text: finalPhoneNumber,\n },\n };\n\n setCurrentValue(finalPhoneNumber);\n\n if (onChange) {\n onChange(eventWithoutCountryCode, {\n ...(number as ParsedNumber),\n countryCode: getCountryCallingCode(number.country),\n originalNativeEventText: event.nativeEvent.text,\n });\n }\n\n return;\n }\n\n // Value is correctly parsed but might not pass validation\n setCurrentValue(event.nativeEvent.text);\n if (onChange) onChange(event);\n };\n\n return (\n <InputText\n ref={ref}\n {...props}\n value={currentValue}\n keyboardType=\"phone-pad\"\n returnKeyType={currentReturnKeyType}\n autoComplete={autoComplete}\n textContentType=\"telephoneNumber\"\n onChange={handleChange}\n />\n );\n },\n);\n","import type { ReactElement, ReactNode } from 'react';\nimport { View } from 'react-native';\nimport styled, { useTheme } from 'styled-components/native';\nimport type { TypographyColor } from '../../typography/Typography';\nimport { Typography } from '../../typography/Typography';\nimport { TypographyIcon } from '../../typography/TypographyIcon';\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 = useTheme();\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 } from 'react';\nimport { useTheme } from 'styled-components/native';\nimport { View } from '../../native-base/primitives';\n\ninterface InnerCircleProps {\n isChecked?: boolean;\n}\n\nexport function InnerCircle({ isChecked }: InnerCircleProps): ReactElement {\n const theme = useTheme();\n\n const sharedTransform = [{ scale: isChecked ? 1 : 0 }];\n\n return (\n <View\n width=\"kitt.forms.radio.innerCircle.size\"\n height=\"kitt.forms.radio.innerCircle.size\"\n borderRadius=\"kitt.forms.radio.innerCircle.borderRadius\"\n backgroundColor=\"kitt.forms.radio.innerCircle.backgroundColor\"\n _web={{\n style: {\n transform: sharedTransform,\n transitionProperty: 'all',\n transitionDuration: theme.kitt.forms.radio.transition.duration,\n transitionTimingFunction: theme.kitt.forms.radio.transition.timingFunction,\n },\n }}\n _ios={{\n style: {\n transform: sharedTransform,\n },\n }}\n _android={{\n style: {\n transform: sharedTransform,\n },\n }}\n />\n );\n}\n","interface GetBackgroundColorParams {\n isDisabled?: boolean;\n isChecked?: boolean;\n isPressed?: boolean;\n isHovered?: boolean;\n isFocused?: boolean;\n}\n\nexport function getBackgroundColor({\n isDisabled,\n isPressed,\n isHovered,\n isFocused,\n isChecked,\n}: GetBackgroundColorParams): string {\n if (isChecked) return 'kitt.forms.radio.checked.backgroundColor';\n\n if (isDisabled) return 'kitt.forms.radio.disabled.backgroundColor';\n\n if (isPressed) return 'kitt.forms.radio.pressed.backgroundColor';\n\n if (isHovered) return 'kitt.forms.radio.hover.backgroundColor';\n\n if (isFocused) return 'kitt.forms.radio.focus.backgroundColor';\n\n return 'kitt.forms.radio.default.backgroundColor';\n}\n","interface GetBorderColorParams {\n isDisabled?: boolean;\n isChecked?: boolean;\n isPressed?: boolean;\n isHovered?: boolean;\n isFocused?: boolean;\n}\n\nexport function getBorderColor({\n isDisabled,\n isPressed,\n isHovered,\n isFocused,\n isChecked,\n}: GetBorderColorParams): string {\n if (isChecked) return 'kitt.forms.radio.checked.borderColor';\n\n if (isDisabled) return 'kitt.forms.radio.disabled.borderColor';\n\n if (isPressed) return 'kitt.forms.radio.pressed.borderColor';\n\n if (isHovered) return 'kitt.forms.radio.hover.borderColor';\n\n if (isFocused) return 'kitt.forms.radio.focus.borderColor';\n\n return 'kitt.forms.radio.default.borderColor';\n}\n","import type { ReactElement } from 'react';\nimport { useTheme } from 'styled-components/native';\nimport { View } from '../../native-base/primitives';\nimport { getBackgroundColor } from './utils/getBackgroundColor';\nimport { getBorderColor } from './utils/getBorderColor';\n\ninterface OuterCircleProps {\n children: ReactElement;\n isChecked?: boolean;\n isDisabled?: boolean;\n isHovered?: boolean;\n isFocused?: boolean;\n isPressed?: boolean;\n}\n\nexport function OuterCircle({\n children,\n isChecked,\n isDisabled,\n isHovered,\n isFocused,\n isPressed,\n}: OuterCircleProps): ReactElement {\n const theme = useTheme();\n\n return (\n <View\n alignItems=\"center\"\n justifyContent=\"center\"\n borderWidth=\"kitt.forms.radio.borderWidth\"\n width=\"kitt.forms.radio.size\"\n height=\"kitt.forms.radio.size\"\n borderRadius=\"kitt.forms.radio.borderRadius\"\n backgroundColor={getBackgroundColor({ isChecked, isDisabled, isFocused, isHovered, isPressed })}\n borderColor={getBorderColor({ isChecked, isDisabled, isFocused, isHovered, isPressed })}\n _web={{\n style: {\n transitionProperty: 'all',\n transitionDuration: theme.kitt.forms.radio.transition.duration,\n transitionTimingFunction: theme.kitt.forms.radio.transition.timingFunction,\n },\n }}\n >\n {children}\n </View>\n );\n}\n","import type { ReactElement, ReactNode } from 'react';\nimport { forwardRef } from 'react';\nimport type { PressableProps } from 'react-native';\nimport { HStack } from '../../native-base/layout';\nimport { Pressable } from '../../native-base/primitives';\nimport { Typography } from '../../typography/Typography';\nimport { InnerCircle } from './InnerCircle';\nimport { OuterCircle } from './OuterCircle';\n\nexport interface RadioProps {\n id?: string;\n testID?: 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 onBlur?: () => void;\n onFocus?: () => void;\n}\n\nexport const Radio = forwardRef<PressableProps, RadioProps>(\n ({ id, checked, value, disabled, children, testID, onChange, onFocus, onBlur }: RadioProps, ref): ReactElement => {\n const handlePress: PressableProps['onPress'] = () => {\n if (onFocus) onFocus();\n if (onChange) onChange(value);\n if (onBlur) onBlur();\n };\n\n return (\n <Pressable\n ref={ref}\n testID={testID}\n nativeID={id}\n disabled={disabled}\n accessibilityRole=\"radio\"\n aria-checked={checked}\n focusable={checked && !disabled}\n flexDirection=\"row\"\n alignItems=\"center\"\n onPress={handlePress}\n onFocus={onFocus}\n onBlur={onBlur}\n >\n {({ isHovered, isPressed, isFocused }) => (\n <HStack space={children ? 'kitt.2' : undefined} alignItems=\"center\">\n <OuterCircle\n isChecked={checked}\n isDisabled={disabled}\n isHovered={isHovered}\n isFocused={isFocused}\n isPressed={isPressed}\n >\n <InnerCircle isChecked={checked} />\n </OuterCircle>\n\n {children ? (\n <Typography.SetDefaultColor value={disabled ? 'black-light' : 'black'}>\n <Typography.Text base=\"body\">{children}</Typography.Text>\n </Typography.SetDefaultColor>\n ) : null}\n </HStack>\n )}\n </Pressable>\n );\n },\n);\n","interface GetCurrentBackgroundColorParams {\n isFocused?: boolean;\n isPressed?: boolean;\n isSelected?: boolean;\n isDisabled?: boolean;\n}\n\nexport function getCurrentBackgroundColor({\n isFocused,\n isPressed,\n isSelected,\n isDisabled,\n}: GetCurrentBackgroundColorParams): string {\n if (isDisabled) return 'disabled';\n\n if (isPressed) return 'pressed';\n\n if (isFocused) return 'active';\n\n if (isSelected) return 'active';\n\n return 'default';\n}\n","interface GetCurrentBorderColorParams {\n isFocused?: boolean;\n isSelected?: boolean;\n isPressed?: boolean;\n isDisabled?: boolean;\n}\n\nexport function getCurrentBorderColor({\n isFocused,\n isSelected,\n isPressed,\n isDisabled,\n}: GetCurrentBorderColorParams): string {\n if (isDisabled) return 'disabled';\n\n if (isFocused) return 'hover';\n\n if (isPressed) return 'pressed';\n\n if (isSelected) return 'active';\n\n return 'default';\n}\n","import type { ReactElement } from 'react';\nimport { useTheme } from 'styled-components/native';\nimport { View } from '../../../native-base/primitives';\nimport { getCurrentBackgroundColor } from '../utils/getCurrentBackgroundColor';\nimport { getCurrentBorderColor } from '../utils/getCurrentBorderColor';\nimport type { AnimatedContainerProps } from './AnimatedContainer';\n\nexport function AnimatedContainer({\n children,\n isFocused,\n isPressed,\n isSelected,\n isDisabled,\n isFirst,\n isLast,\n}: AnimatedContainerProps): ReactElement {\n const theme = useTheme();\n\n return (\n <View\n _web={{\n style: {\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 borderColor={`kitt.forms.radioButtonGroup.item.borderColor.${getCurrentBorderColor({\n isFocused,\n isPressed,\n isSelected,\n isDisabled,\n })}`}\n borderWidth=\"kitt.forms.radioButtonGroup.item.borderWidth\"\n backgroundColor={`kitt.forms.radioButtonGroup.item.backgroundColor.${getCurrentBackgroundColor({\n isFocused,\n isPressed,\n isSelected,\n isDisabled,\n })}`}\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 borderLeftWidth={isFirst ? 'kitt.forms.radioButtonGroup.item.borderWidth' : 0}\n >\n {children}\n </View>\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 { NativeAnimation, UseNativeAnimationOptions } from './useNativeAnimation';\n\nexport function useNativeAnimation(options: UseNativeAnimationOptions): NativeAnimation {\n return {\n onPressIn: undefined,\n onPressOut: undefined,\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 { forwardRef } from 'react';\nimport type { TextInput as RNTextInput } from 'react-native';\nimport type { InputTextProps } from '../InputText/InputText';\nimport { InputText } from '../InputText/InputText';\n\nexport interface TextAreaProps extends InputTextProps {}\n\nexport const TextArea = forwardRef<RNTextInput, TextAreaProps>(({ ...props }: TextAreaProps, ref): ReactElement => {\n return <InputText ref={ref} multiline textAlignVertical=\"top\" minHeight=\"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 } from 'react';\nimport type { ViewProps } from '../native-base/primitives';\nimport { View } from '../native-base/primitives';\nimport type { IconButtonColor } from './IconButton';\n\nfunction getBackgroundColor(color: IconButtonColor, isDisabled?: boolean): string {\n if (isDisabled) {\n return 'kitt.iconButton.disabled.backgroundColor';\n }\n\n switch (color) {\n case 'primary':\n return 'kitt.iconButton.primary.pressed.backgroundColor';\n case 'white':\n return 'kitt.iconButton.white.pressed.backgroundColor';\n case 'black':\n default:\n return 'kitt.iconButton.black.pressed.backgroundColor';\n }\n}\n\ninterface BackgroundProps extends ViewProps {\n color: IconButtonColor;\n isDisabled?: boolean;\n _web?: Partial<ViewProps>;\n}\n\nexport function Background({ color, isDisabled, ...props }: BackgroundProps): ReactElement {\n return (\n <View\n {...props}\n width=\"100%\"\n height=\"100%\"\n borderRadius=\"kitt.iconButton.borderRadius\"\n backgroundColor={getBackgroundColor(color, isDisabled)}\n />\n );\n}\n","import type { ReactElement } from 'react';\nimport { useTheme } from 'styled-components/native';\nimport type { AnimatedBackgroundProps } from './AnimatedBackground';\nimport { Background } from './Background';\n\nexport function AnimatedBackground({\n color,\n isHovered,\n isPressed,\n isFocused,\n isDisabled,\n}: AnimatedBackgroundProps): ReactElement {\n const theme = useTheme();\n const { duration, timingFunction } = theme.kitt.iconButton.transition;\n\n const shouldDisplayBackground = isHovered || isPressed || isFocused || isDisabled;\n\n return (\n <Background\n position=\"absolute\"\n top=\"0\"\n left=\"0\"\n opacity={shouldDisplayBackground ? 1 : 0}\n color={color}\n isDisabled={isDisabled}\n _web={{\n style: {\n transitionProperty: 'all',\n transitionDuration: duration,\n transitionTimingFunction: timingFunction,\n },\n }}\n />\n );\n}\n","import { useBreakpointValue } from 'native-base';\nimport type { ReactElement } from 'react';\nimport { useTheme } from 'styled-components/native';\nimport { View } from '../native-base/primitives';\nimport type { AnimatedScaleProps } from './AnimatedScale';\n\nfunction getCurrentScale(isHovered: boolean, scaleHover: number, isPressed: boolean, scalePressed: number): number {\n if (isPressed) {\n return scalePressed;\n }\n\n if (isHovered) {\n return scaleHover;\n }\n\n return 1;\n}\n\nexport function AnimatedScale({ children, isHovered, isPressed, isDisabled }: AnimatedScaleProps): ReactElement {\n const theme = useTheme();\n const { scale } = theme.kitt.iconButton;\n\n const currentHoverScale = useBreakpointValue({\n base: scale.base.hover,\n medium: scale.medium.hover,\n }) as number;\n\n const currentPressedScale = useBreakpointValue({\n base: scale.base.active,\n medium: scale.medium.active,\n }) as number;\n\n const currentScale = getCurrentScale(Boolean(isHovered), currentHoverScale, Boolean(isPressed), currentPressedScale);\n\n const { duration, timingFunction } = theme.kitt.iconButton.transition;\n\n return (\n <View\n position=\"relative\"\n alignItems=\"center\"\n justifyContent=\"center\"\n width=\"100%\"\n height=\"100%\"\n overflow=\"hidden\"\n _web={{\n style: {\n transitionProperty: 'transform',\n transitionDuration: duration,\n transitionTimingFunction: timingFunction,\n /* Simplifies the animation to just the front of the object – avoid blurry scale */\n backfaceVisibility: 'hidden',\n transform: [{ scale: isDisabled ? 1 : currentScale }],\n },\n }}\n >\n {children}\n </View>\n );\n}\n","import type { UseNativeAnimation } from './useNativeAnimation';\n\nexport function useNativeAnimation(): UseNativeAnimation {\n return {\n opacityStyles: undefined,\n scaleStyles: undefined,\n onPressIn: () => {},\n onPressOut: () => {},\n };\n}\n","import type { ReactElement } from 'react';\nimport type { PressableProps } from '../native-base/primitives';\nimport { Pressable, View } from '../native-base/primitives';\nimport { TypographyIcon } from '../typography/TypographyIcon';\nimport { AnimatedBackground } from './AnimatedBackground';\nimport { AnimatedScale } from './AnimatedScale';\nimport { useNativeAnimation } from './hooks/useNativeAnimation';\n\nexport type IconButtonColor = 'black' | 'white' | 'primary';\n\nexport interface IconButtonProps {\n icon: NonNullable<ReactElement>;\n color?: IconButtonColor;\n disabled?: boolean;\n testID?: string;\n accessibilityLabel?: PressableProps['accessibilityLabel'];\n accessibilityRole?: PressableProps['accessibilityRole'];\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?: () => void;\n}\n\nexport function IconButton({\n icon,\n color = 'black',\n disabled,\n testID,\n accessibilityLabel,\n accessibilityRole = 'button',\n isHoveredInternal,\n isPressedInternal,\n isFocusedInternal,\n onPress,\n}: IconButtonProps): ReactElement {\n const { onPressIn, onPressOut, opacityStyles, scaleStyles } = useNativeAnimation({\n isDisabled: disabled,\n isPressed: isPressedInternal,\n });\n\n return (\n <Pressable\n testID={testID}\n disabled={disabled}\n width=\"kitt.iconButton.width\"\n height=\"kitt.iconButton.height\"\n accessibilityLabel={accessibilityLabel}\n accessibilityRole={accessibilityRole}\n _web={{\n style: {\n backfaceVisibility: 'hidden',\n transform: [{ translate3d: '0' }],\n },\n }}\n borderRadius=\"kitt.iconButton.borderRadius\"\n borderColor={disabled ? 'kitt.iconButton.disabled.borderColor' : 'kitt.iconButton.borderColor'}\n borderWidth={disabled ? 'kitt.iconButton.borderWidth' : 0}\n onPress={onPress}\n onPressIn={onPressIn}\n onPressOut={onPressOut}\n >\n {({ isHovered, isPressed, isFocused }) => {\n const isCurrentHovered = isHovered || isHoveredInternal;\n const isCurrentPressed = isPressed || isPressedInternal;\n const isCurrentFocused = isFocused || isFocusedInternal;\n\n return (\n <AnimatedScale\n isDisabled={disabled}\n isHovered={isCurrentHovered}\n isPressed={isCurrentPressed}\n scaleStyles={scaleStyles}\n >\n <AnimatedBackground\n color={color}\n isDisabled={disabled}\n isHovered={isCurrentHovered}\n isPressed={isCurrentPressed}\n isFocused={isCurrentFocused}\n opacityStyles={opacityStyles}\n />\n <View alignItems=\"center\" justifyContent=\"center\">\n <TypographyIcon color={disabled ? 'black-light' : color} icon={icon} />\n </View>\n </AnimatedScale>\n );\n }}\n </Pressable>\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 { Icon } from '../Icon/Icon';\nimport { IconButton } from '../IconButton/IconButton';\nimport { HStack } from '../native-base/layout';\nimport { View } from '../native-base/primitives';\nimport { Typography } from '../typography/Typography';\nimport { IconContent } from './IconContent';\nimport { getColorByType, getIconButtonColor } from './helper';\n\nexport type MessageType = 'success' | 'warning' | 'danger' | 'info';\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 <HStack\n alignItems=\"flex-start\"\n justifyContent=\"space-between\"\n minHeight=\"kitt.feedbackMessage.minHeight\"\n paddingTop={insets?.top}\n borderRadius={hasNoRadius ? undefined : 'kitt.5'}\n backgroundColor={`kitt.feedbackMessage.${type}.backgroundColor`}\n >\n <HStack\n flexGrow={1}\n alignSelf=\"center\"\n alignItems=\"flex-start\"\n flexShrink={1}\n paddingY=\"kitt.4\"\n paddingX=\"kitt.5\"\n >\n {centeredText ? null : (\n <View marginTop=\"kitt.1\" marginRight=\"kitt.5\">\n <Icon color={color} icon={<IconContent type={type} color={color} />} />\n </View>\n )}\n <Typography.Text flexGrow={1} textAlign={centeredText ? 'center' : 'left'} base=\"body\" color={color}>\n {children}\n </Typography.Text>\n </HStack>\n\n {onDismiss ? (\n <View alignItems=\"center\" marginTop={10} marginRight=\"kitt.2\" marginLeft=\"kitt.5\">\n <IconButton color={getIconButtonColor(type)} icon={<XIcon />} onPress={onDismiss} />\n </View>\n ) : null}\n </HStack>\n );\n}\n","import type { ReactElement } from 'react';\nimport type { BaseMessageProps } from '../BaseMessage/BaseMessage';\nimport { BaseMessage } from '../BaseMessage/BaseMessage';\n\nexport interface MessageProps extends BaseMessageProps {}\n\nexport function Message({\n type = 'info',\n children,\n hasNoRadius,\n centeredText,\n insets,\n onDismiss,\n}: MessageProps): ReactElement {\n return (\n <BaseMessage\n insets={insets}\n hasNoRadius={hasNoRadius}\n type={type}\n centeredText={centeredText}\n onDismiss={onDismiss}\n >\n {children}\n </BaseMessage>\n );\n}\n","import type { ReactElement, ReactNode } from 'react';\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 { 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 supportedOrientations={['landscape', 'portrait']}\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 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>}`;\ntype KittNegativeSize = `-kitt.${Exclude<Enumerate<65>, 0>}`;\n\ntype KittScaleRecord = Record<KittSize, number>;\ntype KittNegativeScaleRecord = Record<KittNegativeSize, number>;\ninterface KittSizeRecord {\n positive: Partial<KittScaleRecord>;\n negative: Partial<KittNegativeScaleRecord>;\n}\n\nconst createKittSpaces = (spacing: number): KittSizeRecord => {\n const MAX_SIZE = 64;\n const sizes: KittSizeRecord = {\n positive: {},\n negative: {},\n };\n for (let size = 1; size <= MAX_SIZE; size++) {\n sizes.positive[`kitt.${size}` as KittSize] = size * spacing;\n sizes.negative[`-kitt.${size}` as KittNegativeSize] = -size * spacing;\n }\n return sizes;\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 actionCard: {\n secondary: {\n default: {\n backgroundColor: theme.actionCard.secondary.default.backgroundColor,\n borderColor: theme.actionCard.secondary.default.borderColor,\n },\n disabled: {\n backgroundColor: theme.actionCard.secondary.disabled.backgroundColor,\n borderColor: theme.actionCard.secondary.disabled.borderColor,\n },\n hovered: {\n backgroundColor: theme.actionCard.secondary.hovered.backgroundColor,\n borderColor: theme.actionCard.secondary.hovered.borderColor,\n },\n focused: {\n backgroundColor: theme.actionCard.secondary.focused.backgroundColor,\n borderColor: theme.actionCard.secondary.focused.borderColor,\n },\n pressed: {\n backgroundColor: theme.actionCard.secondary.pressed.backgroundColor,\n borderColor: theme.actionCard.secondary.pressed.borderColor,\n },\n },\n primary: {\n default: {\n backgroundColor: theme.actionCard.primary.default.backgroundColor,\n borderColor: theme.actionCard.primary.default.borderColor,\n },\n disabled: {\n backgroundColor: theme.actionCard.primary.disabled.backgroundColor,\n borderColor: theme.actionCard.primary.disabled.borderColor,\n },\n hovered: {\n backgroundColor: theme.actionCard.primary.hovered.backgroundColor,\n borderColor: theme.actionCard.primary.hovered.borderColor,\n },\n focused: {\n backgroundColor: theme.actionCard.primary.focused.backgroundColor,\n borderColor: theme.actionCard.primary.focused.borderColor,\n },\n pressed: {\n backgroundColor: theme.actionCard.primary.pressed.backgroundColor,\n borderColor: theme.actionCard.primary.pressed.borderColor,\n },\n },\n highlight: {\n default: {\n backgroundColor: theme.actionCard.highlight.default.backgroundColor,\n borderColor: theme.actionCard.highlight.default.borderColor,\n },\n disabled: {\n backgroundColor: theme.actionCard.highlight.disabled.backgroundColor,\n borderColor: theme.actionCard.highlight.disabled.borderColor,\n },\n hovered: {\n backgroundColor: theme.actionCard.highlight.hovered.backgroundColor,\n borderColor: theme.actionCard.highlight.hovered.borderColor,\n },\n focused: {\n backgroundColor: theme.actionCard.highlight.focused.backgroundColor,\n borderColor: theme.actionCard.highlight.focused.borderColor,\n },\n pressed: {\n backgroundColor: theme.actionCard.highlight.pressed.backgroundColor,\n borderColor: theme.actionCard.highlight.pressed.borderColor,\n },\n },\n },\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 danger: theme.button.danger,\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 feedbackMessage: {\n danger: { backgroundColor: theme.feedbackMessage.danger.backgroundColor },\n info: { backgroundColor: theme.feedbackMessage.info.backgroundColor },\n success: { backgroundColor: theme.feedbackMessage.success.backgroundColor },\n warning: { backgroundColor: theme.feedbackMessage.warning.backgroundColor },\n },\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 checkbox: {\n markColor: theme.forms.checkbox.markColor,\n checked: {\n backgroundColor: theme.forms.checkbox.checked.backgroundColor,\n borderColor: theme.forms.checkbox.checked.borderColor,\n },\n hover: {\n backgroundColor: theme.forms.checkbox.hover.backgroundColor,\n borderColor: theme.forms.checkbox.hover.borderColor,\n },\n pressed: {\n backgroundColor: theme.forms.checkbox.pressed.backgroundColor,\n borderColor: theme.forms.checkbox.pressed.borderColor,\n },\n focus: {\n backgroundColor: theme.forms.checkbox.focus.backgroundColor,\n borderColor: theme.forms.checkbox.focus.borderColor,\n },\n default: {\n backgroundColor: theme.forms.checkbox.default.backgroundColor,\n borderColor: theme.forms.checkbox.default.borderColor,\n },\n },\n radio: {\n checked: {\n backgroundColor: theme.forms.radio.checked.backgroundColor,\n borderColor: theme.forms.radio.checked.borderColor,\n },\n hover: {\n backgroundColor: theme.forms.radio.hover.backgroundColor,\n borderColor: theme.forms.radio.hover.borderColor,\n },\n pressed: {\n backgroundColor: theme.forms.radio.pressed.backgroundColor,\n borderColor: theme.forms.radio.pressed.borderColor,\n },\n focus: {\n backgroundColor: theme.forms.radio.pressed.backgroundColor,\n borderColor: theme.forms.radio.pressed.borderColor,\n },\n disabled: {\n backgroundColor: theme.forms.radio.disabled.backgroundColor,\n borderColor: theme.forms.radio.disabled.borderColor,\n },\n default: {\n backgroundColor: theme.forms.radio.unchecked.backgroundColor,\n borderColor: theme.forms.radio.unchecked.borderColor,\n },\n innerCircle: {\n backgroundColor: theme.forms.radio.checked.innerBackgroundColor,\n },\n },\n },\n skeleton: {\n backgroundColor: theme.skeleton.backgroundColor,\n flareColor: theme.skeleton.flareColor,\n },\n iconButton: {\n borderColor: theme.iconButton.borderColor,\n disabled: {\n borderColor: theme.iconButton.disabled.borderColor,\n backgroundColor: theme.iconButton.disabled.backgroundColor,\n },\n black: {\n pressed: {\n backgroundColor: theme.iconButton.default.pressedBackgroundColor,\n },\n },\n white: {\n pressed: {\n backgroundColor: theme.iconButton.white.pressedBackgroundColor,\n },\n },\n primary: {\n pressed: {\n backgroundColor: theme.iconButton.primary.pressedBackgroundColor,\n },\n },\n },\n },\n app: appTheme?.colors,\n },\n radii: {\n // Make original native base values unusable\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 '2xl': Number.MAX_SAFE_INTEGER,\n '3xl': Number.MAX_SAFE_INTEGER,\n xs: Number.MAX_SAFE_INTEGER,\n\n // Allow values like kitt.X\n ...spaces.positive,\n\n kitt: {\n actionCard: {\n borderRadius: theme.actionCard.borderRadius,\n },\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 checkbox: {\n borderRadius: theme.forms.checkbox.borderRadius,\n },\n radio: {\n borderRadius: theme.forms.radio.size * 0.5,\n innerCircle: {\n borderRadius: theme.forms.radio.checked.innerSize * 0.5,\n },\n },\n },\n iconButton: {\n borderRadius: theme.iconButton.borderRadius,\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 actionCard: {\n secondary: {\n default: {\n borderWidth: theme.actionCard.secondary.default.borderWidth,\n },\n disabled: {\n borderWidth: theme.actionCard.secondary.disabled.borderWidth,\n },\n hovered: {\n borderWidth: theme.actionCard.secondary.hovered.borderWidth,\n },\n focused: {\n borderWidth: theme.actionCard.secondary.focused.borderWidth,\n },\n pressed: {\n borderWidth: theme.actionCard.secondary.pressed.borderWidth,\n },\n },\n primary: {\n default: {\n borderWidth: theme.actionCard.primary.default.borderWidth,\n },\n disabled: {\n borderWidth: theme.actionCard.primary.disabled.borderWidth,\n },\n hovered: {\n borderWidth: theme.actionCard.primary.hovered.borderWidth,\n },\n focused: {\n borderWidth: theme.actionCard.primary.focused.borderWidth,\n },\n pressed: {\n borderWidth: theme.actionCard.primary.pressed.borderWidth,\n },\n },\n highlight: {\n default: {\n borderWidth: theme.actionCard.highlight.default.borderWidth,\n },\n disabled: {\n borderWidth: theme.actionCard.highlight.disabled.borderWidth,\n },\n hovered: {\n borderWidth: theme.actionCard.highlight.hovered.borderWidth,\n },\n focused: {\n borderWidth: theme.actionCard.highlight.focused.borderWidth,\n },\n pressed: {\n borderWidth: theme.actionCard.highlight.pressed.borderWidth,\n },\n },\n },\n button: {\n borderWidth: theme.button.borderWidth,\n },\n iconButton: {\n borderWidth: theme.iconButton.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 checkbox: {\n borderWidth: theme.forms.checkbox.borderWidth,\n },\n radio: {\n borderWidth: theme.forms.radio.unchecked.borderWidth,\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.positive,\n ...spaces.negative,\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 icon: {\n defaultSize: 20,\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 feedbackMessage: {\n minHeight: theme.feedbackMessage.minHeight,\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 checkbox: {\n height: theme.forms.checkbox.height,\n width: theme.forms.checkbox.width,\n iconSize: theme.forms.checkbox.iconSize,\n textSpacing: theme.forms.checkbox.textSpacing,\n },\n radio: {\n size: theme.forms.radio.size,\n innerCircle: {\n size: theme.forms.radio.checked.innerSize,\n },\n },\n textArea: {\n minHeight: theme.forms.textArea.minHeight,\n },\n },\n iconButton: {\n size: theme.iconButton.width - theme.iconButton.borderWidth,\n width: theme.iconButton.width,\n height: theme.iconButton.height,\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.positive,\n ...spaces.negative,\n ...overridenNativeBaseSizeandSpaceScale,\n kitt: {\n bottomSheet: {\n container: {\n padding: theme.bottomSheet.container.padding,\n },\n },\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 actionCard: {\n secondary: {\n default: {\n shadow: {\n shadowColor: theme.actionCard.secondary.default.shadow.color,\n shadowOffset: {\n width: theme.actionCard.secondary.default.shadow.offsetX,\n height: theme.actionCard.secondary.default.shadow.offsetY,\n },\n shadowOpacity: theme.actionCard.secondary.default.shadow.opacity,\n shadowRadius: theme.actionCard.secondary.default.shadow.radius,\n },\n },\n hovered: {\n shadow: {\n shadowColor: theme.actionCard.secondary.hovered.shadow.color,\n shadowOffset: {\n width: theme.actionCard.secondary.hovered.shadow.offsetX,\n height: theme.actionCard.secondary.hovered.shadow.offsetY,\n },\n shadowOpacity: theme.actionCard.secondary.hovered.shadow.opacity,\n shadowRadius: theme.actionCard.secondary.hovered.shadow.radius,\n },\n },\n focused: {\n shadow: {\n shadowColor: theme.actionCard.secondary.focused.shadow.color,\n shadowOffset: {\n width: theme.actionCard.secondary.focused.shadow.offsetX,\n height: theme.actionCard.secondary.focused.shadow.offsetY,\n },\n shadowOpacity: theme.actionCard.secondary.focused.shadow.opacity,\n shadowRadius: theme.actionCard.secondary.focused.shadow.radius,\n },\n },\n pressed: {\n shadow: {\n shadowColor: theme.actionCard.secondary.pressed.shadow.color,\n shadowOffset: {\n width: theme.actionCard.secondary.pressed.shadow.offsetX,\n height: theme.actionCard.secondary.pressed.shadow.offsetY,\n },\n shadowOpacity: theme.actionCard.secondary.pressed.shadow.opacity,\n shadowRadius: theme.actionCard.secondary.pressed.shadow.radius,\n },\n },\n },\n primary: {\n default: {\n shadow: {\n shadowColor: theme.actionCard.primary.default.shadow.color,\n shadowOffset: {\n width: theme.actionCard.primary.default.shadow.offsetX,\n height: theme.actionCard.primary.default.shadow.offsetY,\n },\n shadowOpacity: theme.actionCard.primary.default.shadow.opacity,\n shadowRadius: theme.actionCard.primary.default.shadow.radius,\n },\n },\n hovered: {\n shadow: {\n shadowColor: theme.actionCard.primary.hovered.shadow.color,\n shadowOffset: {\n width: theme.actionCard.primary.hovered.shadow.offsetX,\n height: theme.actionCard.primary.hovered.shadow.offsetY,\n },\n shadowOpacity: theme.actionCard.primary.hovered.shadow.opacity,\n shadowRadius: theme.actionCard.primary.hovered.shadow.radius,\n },\n },\n focused: {\n shadow: {\n shadowColor: theme.actionCard.primary.focused.shadow.color,\n shadowOffset: {\n width: theme.actionCard.primary.focused.shadow.offsetX,\n height: theme.actionCard.primary.focused.shadow.offsetY,\n },\n shadowOpacity: theme.actionCard.primary.focused.shadow.opacity,\n shadowRadius: theme.actionCard.primary.focused.shadow.radius,\n },\n },\n pressed: {\n shadow: {\n shadowColor: theme.actionCard.highlight.pressed.shadow.color,\n shadowOffset: {\n width: theme.actionCard.highlight.pressed.shadow.offsetX,\n height: theme.actionCard.highlight.pressed.shadow.offsetY,\n },\n shadowOpacity: theme.actionCard.highlight.pressed.shadow.opacity,\n shadowRadius: theme.actionCard.highlight.pressed.shadow.radius,\n },\n },\n },\n highlight: {\n default: {\n shadow: {\n shadowColor: theme.actionCard.highlight.default.shadow.color,\n shadowOffset: {\n width: theme.actionCard.highlight.default.shadow.offsetX,\n height: theme.actionCard.highlight.default.shadow.offsetY,\n },\n shadowOpacity: theme.actionCard.highlight.default.shadow.opacity,\n shadowRadius: theme.actionCard.highlight.default.shadow.radius,\n },\n },\n hovered: {\n shadow: {\n shadowColor: theme.actionCard.highlight.hovered.shadow.color,\n shadowOffset: {\n width: theme.actionCard.highlight.hovered.shadow.offsetX,\n height: theme.actionCard.highlight.hovered.shadow.offsetY,\n },\n shadowOpacity: theme.actionCard.highlight.hovered.shadow.opacity,\n shadowRadius: theme.actionCard.highlight.hovered.shadow.radius,\n },\n },\n focused: {\n shadow: {\n shadowColor: theme.actionCard.highlight.focused.shadow.color,\n shadowOffset: {\n width: theme.actionCard.highlight.focused.shadow.offsetX,\n height: theme.actionCard.highlight.focused.shadow.offsetY,\n },\n shadowOpacity: theme.actionCard.highlight.focused.shadow.opacity,\n shadowRadius: theme.actionCard.highlight.focused.shadow.radius,\n },\n },\n pressed: {\n shadow: {\n shadowColor: theme.actionCard.highlight.pressed.shadow.color,\n shadowOffset: {\n width: theme.actionCard.highlight.pressed.shadow.offsetX,\n height: theme.actionCard.highlight.pressed.shadow.offsetY,\n },\n shadowOpacity: theme.actionCard.highlight.pressed.shadow.opacity,\n shadowRadius: theme.actionCard.highlight.pressed.shadow.radius,\n },\n },\n },\n },\n cardModal: {\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 boxShadow: 'none',\n },\n },\n _ios: {\n selectionColor: theme.forms.input.color.selection,\n },\n _android: {\n selectionColor: theme.forms.input.color.selection,\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.positive & typeof spaces.negative };\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 { css } from '@linaria/core';\nimport type { ReactElement } from 'react';\nimport { CSSTransition } from 'react-transition-group';\nimport { useTheme } from 'styled-components/native';\nimport { Overlay } from '../Overlay/Overlay';\nimport { View } from '../native-base/primitives';\nimport {\n webAnimationContentDuration,\n webAnimationContentEasing,\n webAnimationOverlayDuration,\n webAnimationOverlayEasing,\n} from '../themes/late-ocean/navigationModal';\nimport type { NavigationModalAnimationProps } from './NavigationModalAnimation';\n\nconst [x1, y1, x2, y2] = webAnimationContentEasing;\n\nconst cubicBezierSlideIn = `cubic-bezier(${x1}, ${y1}, ${x2}, ${y2})`;\n\nconst slideInFromBottomEnter = css`\n transform: translateY(100%);\n`;\n\nconst slideInFromBottomEnterActive = css`\n transform: translateY(0);\n transition: transform ${webAnimationContentDuration}ms ${cubicBezierSlideIn};\n`;\n\nconst slideInFromBottomExit = css`\n transform: translateY(0);\n`;\n\nconst slideInFromBottomExitActive = css`\n transform: translateY(100%);\n transition: transform ${webAnimationContentDuration}ms ${cubicBezierSlideIn};\n`;\n\nconst slideInClassNames = {\n appear: slideInFromBottomEnter,\n appearActive: slideInFromBottomEnterActive,\n enter: slideInFromBottomEnter,\n enterActive: slideInFromBottomEnterActive,\n exit: slideInFromBottomExit,\n exitActive: slideInFromBottomExitActive,\n};\n\nconst [xA, yA, xB, yB] = webAnimationOverlayEasing;\n\nconst cubicBezierOpacity = `cubic-bezier(${xA}, ${yA}, ${xB}, ${yB})`;\n\nconst opacityEnter = css`\n opacity: 0;\n`;\n\nconst opacityEnterActive = css`\n opacity: 1;\n transition: opacity ${webAnimationOverlayDuration}ms ${cubicBezierOpacity};\n`;\n\nconst opacityExit = css`\n opacity: 1;\n`;\n\nconst opacityExitActive = css`\n opacity: 0;\n transition: opacity ${webAnimationOverlayDuration}ms ${cubicBezierOpacity};\n`;\n\nconst opacityClassNames = {\n appear: opacityEnter,\n appearActive: opacityEnterActive,\n enter: opacityEnter,\n enterActive: opacityEnterActive,\n exit: opacityExit,\n exitActive: opacityExitActive,\n};\n\nexport function NavigationModalAnimation({\n children,\n appear = true,\n visible,\n unmountOnExit = true,\n isAnimationEnabled = true,\n onEnter,\n onEntered,\n onExit,\n onExited,\n onClose,\n ...props\n}: NavigationModalAnimationProps): ReactElement {\n const theme = useTheme();\n const { animation } = theme.kitt.navigationModal;\n\n const sharedProps = {\n in: visible,\n appear,\n unmountOnExit,\n };\n\n return (\n <View {...props}>\n <CSSTransition\n {...sharedProps}\n timeout={isAnimationEnabled ? animation.overlay.duration : 0}\n classNames={opacityClassNames}\n >\n <Overlay onPress={onClose} />\n </CSSTransition>\n\n <CSSTransition\n {...sharedProps}\n timeout={isAnimationEnabled ? animation.content.duration : 0}\n classNames={slideInClassNames}\n onEnter={onEnter}\n onEntered={onEntered}\n onExit={onExit}\n onExited={onExited}\n >\n {children}\n </CSSTransition>\n </View>\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 { styled } from '@linaria/react';\nimport type { ReactElement } from 'react';\nimport type { DefaultTheme } from 'styled-components/native';\nimport { useTheme } from 'styled-components/native';\nimport { withTheme } from '../utils/withTheme';\n\ninterface PageLoaderContainerProps {\n theme: DefaultTheme;\n $circlePerimeter: number;\n}\n\nconst PageLoaderContainer = withTheme(styled.div<PageLoaderContainerProps>`\n @keyframes PageLoaderInit {\n 0% {\n stroke-dashoffset: ${({ $circlePerimeter }) => $circlePerimeter}px;\n }\n\n 100% {\n stroke-dashoffset: 0;\n }\n }\n\n /** Primary circle animation **/\n @keyframes PageLoaderOffset {\n 0% {\n stroke-dashoffset: ${({ $circlePerimeter }) => $circlePerimeter}px;\n }\n\n /** 20% of this radius and represent the min offset part of the animated circle */\n 100% {\n stroke-dashoffset: ${({ $circlePerimeter }) => $circlePerimeter * 0.2}px;\n }\n }\n\n @keyframes PageLoaderRotation {\n 0% {\n transform: rotate(0deg);\n }\n\n 100% {\n transform: rotate(360deg);\n }\n }\n\n width: ${({ theme }) => theme.kitt.pageLoader.size}px;\n height: ${({ theme }) => theme.kitt.pageLoader.size}px;\n\n /* Needed to make the animation starting from the top of the circles */\n transform: scale(-1) rotate(90deg);\n\n & circle,\n & g {\n transform-origin: center center;\n }\n\n & circle {\n stroke-width: ${({ theme }) => theme.kitt.pageLoader.strokeWidth}px;\n stroke-dasharray: ${({ $circlePerimeter }) => $circlePerimeter}px;\n stroke-dashoffset: ${({ $circlePerimeter }) => $circlePerimeter}px;\n stroke-linecap: round;\n }\n\n & g[data-large-loader='base'] circle {\n stroke: ${({ theme }) => theme.kitt.pageLoader.colors.base};\n animation: ${({ theme }) => {\n const { animation } = theme.kitt.pageLoader;\n const [x1, y1, x2, y2] = animation.fillEasingFunction;\n\n return `${animation.circleBackgroundFillDuration}ms cubic-bezier(${x1}, ${y1}, ${x2}, ${y2}) ${animation.delay}ms forwards`;\n }};\n animation-name: PageLoaderInit;\n }\n\n & g[data-large-loader='fill'] {\n transform-origin: center center;\n animation: ${({ theme }) => {\n const { animation } = theme.kitt.pageLoader;\n\n return `${animation.filledCircleFillDuration}ms linear ${animation.delay}ms infinite`;\n }};\n animation-name: PageLoaderRotation;\n }\n\n & g[data-large-loader='fill'] circle {\n stroke: ${({ theme }) => theme.kitt.pageLoader.colors.fill};\n animation: ${({ theme }) => {\n const { animation } = theme.kitt.pageLoader;\n\n const [x1, y1, x2, y2] = animation.fillEasingFunction;\n\n const fillAnimation = `${animation.filledCircleFillDuration}ms cubic-bezier(${x1}, ${y1}, ${x2}, ${y2}) ${animation.delay}ms infinite alternate`;\n const rotationAnimation = `${animation.filledCircleRotationDuration}ms linear ${animation.delay}ms infinite`;\n\n return [fillAnimation, rotationAnimation].join(',');\n }};\n animation-name: PageLoaderOffset, PageLoaderRotation;\n }\n`);\n\nexport function PageLoader(props: Record<string, never>): ReactElement {\n const theme = useTheme();\n const { size, strokeWidth } = theme.kitt.pageLoader;\n\n const center = size * 0.5;\n const radius = center - strokeWidth;\n\n const circlePerimeter = 2 * Math.PI * radius;\n\n const sharedProps = {\n cx: center,\n cy: center,\n r: radius,\n fill: 'none',\n };\n\n return (\n <PageLoaderContainer $circlePerimeter={circlePerimeter}>\n <svg width={size} height={size}>\n <g data-large-loader=\"base\">\n <circle {...sharedProps} />\n </g>\n <g data-large-loader=\"fill\">\n <circle {...sharedProps} />\n </g>\n </svg>\n </PageLoaderContainer>\n );\n}\n","import type { ReactElement } from 'react';\nimport { Typography } from '../typography/Typography';\n\nexport function Picker(): ReactElement {\n return <Typography.Text base=\"body\">Picker is not implemented for the web</Typography.Text>;\n}\n","import { styled } from '@linaria/react';\nimport type { ReactElement } from 'react';\nimport type { DefaultTheme } from 'styled-components/native';\nimport { withTheme } from '../utils/withTheme';\n\ninterface SkeletonBaseProps {\n $isLoading?: boolean;\n theme: DefaultTheme;\n}\n\nconst StyledSkeleton = withTheme(styled.div<SkeletonBaseProps>`\n background-color: ${({ theme }) => theme.kitt.skeleton.backgroundColor};\n position: relative;\n overflow: hidden;\n height: 100%;\n width: 100%;\n\n @keyframes flareTranslate {\n from {\n transform: translateX(-100%);\n }\n\n to {\n transform: translateX(100%);\n }\n }\n\n &::after {\n content: '';\n position: absolute;\n width: 100%;\n height: 100%;\n top: 0;\n left: 0;\n background-image: ${({ $isLoading, theme }) =>\n $isLoading\n ? `linear-gradient(\n -90deg,\n ${theme.kitt.skeleton.backgroundColor},\n ${theme.kitt.skeleton.flareColor} 50%,\n ${theme.kitt.skeleton.backgroundColor} 100%\n )`\n : 'none'};\n animation: ${({ $isLoading }) => ($isLoading ? '1s ease-in-out infinite' : 'none')};\n animation-name: flareTranslate;\n }\n`);\n\ninterface SkeletonProps {\n isLoading: boolean;\n}\n\nexport function SkeletonContent({ isLoading }: SkeletonProps): ReactElement {\n return <StyledSkeleton $isLoading={isLoading} />;\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","export function getShouldDisplay2x(): boolean {\n if (typeof window === 'undefined') {\n return true;\n }\n\n // requesting retina picture is up to the device capabilities;\n return window.devicePixelRatio ? window.devicePixelRatio > 1 : false;\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 = 'kitt.4';\n","import type { ReactElement, ReactNode } from 'react';\nimport { createContext, useContext } from 'react';\nimport type { DefaultTheme } from 'styled-components/native';\nimport { useTheme } from 'styled-components/native';\nimport { View } from '../native-base/primitives';\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\nexport function StoryBlock({ children, background }: StoryBlockProps): ReactElement {\n const theme = useTheme();\n return (\n <View\n paddingTop=\"kitt.4\"\n paddingX={storyPadding}\n marginX={`-${storyPadding}`}\n background={getBackgroundColorFromBlockColor(theme, background)}\n >\n <StoryBlockColorContext.Provider value={getTypographyColorFromBlockColor(background)}>\n <StoryBlockBackgroundContext.Provider value={background}>{children}</StoryBlockBackgroundContext.Provider>\n </StoryBlockColorContext.Provider>\n </View>\n );\n}\n","import type { ReactElement, ReactNode } from 'react';\nimport { View } from '../native-base/primitives';\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\nexport function StoryTitle({ color, children, numberOfLines }: StoryTitleProps): ReactElement {\n return (\n <View marginBottom={30}>\n <Typography.Header1 variant=\"bold\" base=\"header1\" color={useStoryBlockColor(color)} numberOfLines={numberOfLines}>\n {children}\n </Typography.Header1>\n </View>\n );\n}\n\nfunction StoryTitleLevel2({ color, children, numberOfLines }: StoryTitleProps): ReactElement {\n return (\n <View marginBottom={30}>\n <Typography.Header2 variant=\"bold\" base=\"header2\" color={useStoryBlockColor(color)} numberOfLines={numberOfLines}>\n {children}\n </Typography.Header2>\n </View>\n );\n}\n\nStoryTitleLevel2.displayName = 'StoryTitle.Level2';\n\nfunction StoryTitleLevel3({ color, children, numberOfLines }: StoryTitleProps): ReactElement {\n return (\n <View marginBottom={10}>\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 </View>\n );\n}\n\nStoryTitleLevel3.displayName = 'StoryTitle.Level3';\n\nfunction StoryTitleLevel4({ color, children, numberOfLines }: StoryTitleProps): ReactElement {\n return (\n <View marginBottom={10}>\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 </View>\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 '../native-base/primitives';\nimport { ScrollView } from '../native-base/primitives';\nimport { StoryTitle } from './StoryTitle';\nimport { storyPadding } from './theme';\n\nexport interface StoryProps {\n title: ReactNode;\n children: ReactNode;\n contentContainerStyle?: ScrollViewProps['contentContainerStyle'];\n}\n\nexport function Story({ title, contentContainerStyle, children }: StoryProps): ReactElement {\n return (\n <ScrollView padding={storyPadding} contentContainerStyle={contentContainerStyle}>\n <StoryTitle>{title}</StoryTitle>\n {children}\n </ScrollView>\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 { StoryTitle } from './StoryTitle';\n\nexport interface StorySectionProps extends Except<ViewProps, 'marginBottom'> {\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 <View marginBottom=\"kitt.8\" {...props}>\n <StoryTitle.Level2>{title}</StoryTitle.Level2>\n {children}\n </View>\n );\n}\n\nfunction SubSection({ title, children, ...props }: StorySectionProps): ReactElement {\n return (\n <View marginBottom=\"kitt.4\" {...props}>\n <StoryTitle.Level3>{title}</StoryTitle.Level3>\n {children}\n </View>\n );\n}\n\nfunction BlockSection({ title, children, ...props }: StorySectionProps): ReactElement {\n return (\n <View marginBottom=\"kitt.4\" {...props}>\n <StoryTitle.Level4>{title}</StoryTitle.Level4>\n {children}\n </View>\n );\n}\n\nexport interface DemoSectionProps {\n children: ReactNode;\n}\n\nfunction DemoSection({ children }: DemoSectionProps): ReactElement {\n return (\n <View marginBottom=\"kitt.16\">\n <StorySection internalIsDemoSection title=\"Demo\">\n {children}\n </StorySection>\n </View>\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 } from 'react';\nimport type { StoryContainerProps } from './StoryContainer';\nimport { StorySection } from './StorySection';\n\nexport function StoryContainer({ children, state, title, platform }: StoryContainerProps): ReactElement | null {\n if (platform === 'native') return null;\n\n return (\n <StorySection.BlockSection testID={state} title={title}>\n <div className={state ? `kitt-${state}` : undefined}>{children}</div>\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 } from 'react-native';\nimport type { TypographyProps } from '..';\nimport { View } from '../native-base/primitives';\nimport { StoryTitle } from './StoryTitle';\n\nexport interface StoryGridRowProps {\n children: NonNullable<ReactNode>;\n breakpoint?: 'small' | 'medium';\n}\n\nfunction StoryGridRow({ children, breakpoint = 'small' }: StoryGridRowProps): ReactElement {\n return (\n <View\n flexDirection={{ base: 'column', [breakpoint]: 'row' }}\n marginX={{ [breakpoint]: '-kitt.1' }}\n marginBottom={{ [breakpoint]: 'kitt.4' }}\n >\n {Children.map(children, (child) => (\n <View\n flexGrow={{ [breakpoint]: 1 }}\n flexBasis={{ [breakpoint]: 0 }}\n paddingTop={{ base: 'kitt.2', [breakpoint]: 0 }}\n paddingBottom={{ base: 'kitt.4', [breakpoint]: 0 }}\n marginX={{ [breakpoint]: 'kitt.2' }}\n >\n {child}\n </View>\n ))}\n </View>\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","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 { lateOceanColorPalette } from '../palettes/lateOceanColorPalette';\nimport { colors } from './colors';\n\nexport interface ActionCardState {\n backgroundColor: string;\n borderColor?: string;\n borderWidth: number;\n shadow: {\n color: string;\n offsetX: number;\n offsetY: number;\n opacity: number;\n radius: number;\n };\n translateY: number;\n}\n\nexport interface ActionCardVariant {\n default: ActionCardState;\n disabled: ActionCardState;\n hovered: ActionCardState;\n pressed: ActionCardState;\n focused: ActionCardState;\n}\n\nexport interface ActionCardTheme {\n borderRadius: number;\n primary: ActionCardVariant;\n secondary: ActionCardVariant;\n highlight: ActionCardVariant;\n}\n\nexport const actionCard: ActionCardTheme = {\n borderRadius: 20,\n primary: {\n default: {\n backgroundColor: colors.uiBackgroundLight,\n borderColor: lateOceanColorPalette.black100,\n borderWidth: 1,\n shadow: {\n color: lateOceanColorPalette.black100,\n offsetX: 0,\n offsetY: 4,\n opacity: 1,\n radius: 0,\n },\n translateY: 0,\n },\n hovered: {\n backgroundColor: lateOceanColorPalette.black50,\n borderColor: lateOceanColorPalette.black100,\n borderWidth: 1,\n shadow: {\n color: lateOceanColorPalette.black100,\n offsetX: 0,\n offsetY: 4,\n opacity: 1,\n radius: 0,\n },\n translateY: 0,\n },\n disabled: {\n backgroundColor: lateOceanColorPalette.black50,\n borderColor: lateOceanColorPalette.black100,\n borderWidth: 2,\n shadow: {\n color: '',\n offsetX: 0,\n offsetY: 0,\n opacity: 0,\n radius: 0,\n },\n translateY: 0,\n },\n focused: {\n backgroundColor: lateOceanColorPalette.black50,\n borderColor: lateOceanColorPalette.black100,\n borderWidth: 1,\n shadow: {\n color: lateOceanColorPalette.black100,\n offsetX: 0,\n offsetY: 4,\n opacity: 1,\n radius: 0,\n },\n translateY: 0,\n },\n pressed: {\n backgroundColor: lateOceanColorPalette.black50,\n borderColor: lateOceanColorPalette.black100,\n borderWidth: 1,\n shadow: {\n color: '',\n offsetX: 0,\n offsetY: 0,\n opacity: 0,\n radius: 0,\n },\n translateY: 3,\n },\n },\n secondary: {\n default: {\n backgroundColor: lateOceanColorPalette.black50,\n borderColor: lateOceanColorPalette.transparent,\n borderWidth: 0,\n shadow: {\n color: '',\n offsetX: 0,\n offsetY: 0,\n opacity: 0,\n radius: 0,\n },\n translateY: 0,\n },\n disabled: {\n backgroundColor: lateOceanColorPalette.black50,\n borderColor: lateOceanColorPalette.black100,\n borderWidth: 2,\n shadow: {\n color: '',\n offsetX: 0,\n offsetY: 0,\n opacity: 0,\n radius: 0,\n },\n translateY: 0,\n },\n hovered: {\n backgroundColor: lateOceanColorPalette.black100,\n borderColor: lateOceanColorPalette.transparent,\n borderWidth: 0,\n shadow: {\n color: '',\n offsetX: 0,\n offsetY: 0,\n opacity: 0,\n radius: 0,\n },\n translateY: 0,\n },\n focused: {\n backgroundColor: lateOceanColorPalette.black100,\n borderColor: lateOceanColorPalette.transparent,\n borderWidth: 0,\n shadow: {\n color: '',\n offsetX: 0,\n offsetY: 0,\n opacity: 0,\n radius: 0,\n },\n translateY: 0,\n },\n pressed: {\n backgroundColor: lateOceanColorPalette.black100,\n borderColor: lateOceanColorPalette.transparent,\n borderWidth: 0,\n shadow: {\n color: '',\n offsetX: 0,\n offsetY: 0,\n opacity: 0,\n radius: 0,\n },\n translateY: 0,\n },\n },\n highlight: {\n default: {\n backgroundColor: lateOceanColorPalette.moonPurpleLight1,\n borderColor: lateOceanColorPalette.moonPurple,\n borderWidth: 1,\n shadow: {\n color: lateOceanColorPalette.moonPurple,\n offsetX: 0,\n offsetY: 4,\n opacity: 1,\n radius: 0,\n },\n translateY: 0,\n },\n disabled: {\n backgroundColor: lateOceanColorPalette.black50,\n borderColor: lateOceanColorPalette.black100,\n borderWidth: 2,\n shadow: {\n color: '',\n offsetX: 0,\n offsetY: 0,\n opacity: 0,\n radius: 0,\n },\n translateY: 0,\n },\n hovered: {\n backgroundColor: hex2rgba(lateOceanColorPalette.moonPurpleLight1, 0.6),\n borderColor: lateOceanColorPalette.moonPurple,\n borderWidth: 1,\n shadow: {\n color: lateOceanColorPalette.moonPurple,\n offsetX: 0,\n offsetY: 4,\n opacity: 1,\n radius: 0,\n },\n translateY: 0,\n },\n focused: {\n backgroundColor: hex2rgba(lateOceanColorPalette.moonPurpleLight1, 0.6),\n borderColor: lateOceanColorPalette.moonPurple,\n borderWidth: 1,\n shadow: {\n color: lateOceanColorPalette.moonPurple,\n offsetX: 0,\n offsetY: 4,\n opacity: 1,\n radius: 0,\n },\n translateY: 0,\n },\n pressed: {\n backgroundColor: hex2rgba(lateOceanColorPalette.moonPurpleLight1, 0.6),\n borderColor: lateOceanColorPalette.moonPurple,\n borderWidth: 1,\n shadow: {\n color: '',\n offsetX: 0,\n offsetY: 0,\n opacity: 0,\n radius: 0,\n },\n translateY: 3,\n },\n },\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 danger: 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 danger: {\n default: {\n backgroundColor: lateOceanColorPalette.warmEmbraceLight1,\n pressedBackgroundColor: lateOceanColorPalette.warmEmbrace,\n hoverBackgroundColor: lateOceanColorPalette.warmEmbrace,\n focusBorderColor: lateOceanColorPalette.warmEmbrace,\n },\n ghost: {\n backgroundColor: colors.uiBackgroundLight,\n pressedBackgroundColor: 'rgba(255, 255, 255, 0.75)',\n hoverBackgroundColor: 'rgba(255, 255, 255, 0.75)',\n focusBorderColor: 'rgba(255, 255, 255, 0.5)',\n color: lateOceanColorPalette.englishVermillon,\n hoverColor: lateOceanColorPalette.englishVermillon,\n activeColor: lateOceanColorPalette.englishVermillon,\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 minHeight: number;\n danger: FeedbackMessageVariantTheme;\n info: FeedbackMessageVariantTheme;\n success: FeedbackMessageVariantTheme;\n warning: FeedbackMessageVariantTheme;\n}\n\nexport const feedbackMessage: FeedbackMessageTheme = {\n minHeight: 60,\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 markColor: colors.uiBackgroundLight,\n textSpacing: 10,\n default: {\n borderColor: colors.separator,\n backgroundColor: colors.uiBackgroundLight,\n },\n checked: {\n borderColor: colors.primary,\n backgroundColor: colors.primary,\n },\n focus: {\n borderColor: colors.primary,\n backgroundColor: colors.uiBackgroundLight,\n },\n hover: {\n borderColor: colors.primary,\n backgroundColor: colors.uiBackgroundLight,\n },\n pressed: {\n borderColor: colors.primary,\n backgroundColor: colors.uiBackgroundLight,\n },\n disabled: {\n borderColor: colors.separator,\n backgroundColor: colors.disabled,\n },\n transition: {\n duration: '200ms',\n timingFunction: 'ease-out',\n },\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 /** @deprecated not used in kitt anymore, use Typography instead */\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 borderColor: string;\n innerBackgroundColor: string;\n innerSize: number;\n };\n hover: {\n backgroundColor: string;\n borderColor: string;\n };\n pressed: {\n backgroundColor: string;\n borderColor: string;\n };\n disabled: {\n backgroundColor: string;\n borderColor: string;\n };\n transition: {\n duration: string;\n timingFunction: string;\n };\n}\n\nexport const radio: RadioTheme = {\n size: 18,\n unchecked: {\n borderWidth: 2,\n backgroundColor: colors.uiBackgroundLight,\n borderColor: lateOceanColorPalette.black200,\n },\n checked: {\n backgroundColor: colors.primary,\n borderColor: colors.transparent,\n innerSize: 5,\n innerBackgroundColor: colors.uiBackgroundLight,\n },\n hover: {\n backgroundColor: colors.uiBackgroundLight,\n borderColor: colors.primary,\n },\n pressed: {\n backgroundColor: colors.uiBackgroundLight,\n borderColor: colors.primary,\n },\n disabled: {\n backgroundColor: colors.disabled,\n borderColor: colors.separator,\n },\n transition: {\n duration: '200ms',\n timingFunction: 'ease-out',\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 default: number;\n hover: number;\n active: 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 default: 1,\n hover: 1.05,\n active: 0.95,\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","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 { actionCard } from './late-ocean/actionCard';\nimport { 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 actionCard,\n};\n\nexport type Theme = typeof theme;\n","import type { ReactElement } from 'react';\nimport { Typography } from '../typography/Typography';\n\n// This is not yet implemented\nexport function TimePicker(): ReactElement {\n return <Typography.Text base=\"body\">TimePicker is not implemented for the web</Typography.Text>;\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 { useBreakpointValue } from 'native-base';\n\ninterface GetShouldDisplayArrowParams {\n isTooltipFullWidth?: boolean;\n isBase?: boolean;\n}\n\nfunction getShouldRenderArrow({ isTooltipFullWidth, isBase }: GetShouldDisplayArrowParams): boolean {\n if (isTooltipFullWidth) return false;\n\n const shouldDisplayArrow = !isBase;\n\n return shouldDisplayArrow;\n}\n\ninterface UseShouldDisplayArrowParams {\n isTooltipFullWidth?: boolean;\n}\n\nexport function useShouldRenderArrow({ isTooltipFullWidth }: UseShouldDisplayArrowParams): boolean {\n const isBase = useBreakpointValue({\n base: true,\n small: false,\n });\n\n return getShouldRenderArrow({ isTooltipFullWidth, isBase });\n}\n","export function getHasArrowEnoughSpace(arrowCenterOffset?: number): boolean {\n return arrowCenterOffset !== undefined ? true : arrowCenterOffset !== 0;\n}\n","import type { MiddlewareData } from '@floating-ui/react-dom';\nimport { arrow, autoPlacement, autoUpdate, offset, shift, useFloating } from '@floating-ui/react-dom';\nimport { useBreakpointValue } from 'native-base';\nimport type { ReactElement, RefObject } from 'react';\nimport { useEffect, useRef, useState } from 'react';\nimport { Portal } from 'react-portal';\nimport { useTheme } from 'styled-components/native';\nimport { useOnClickOutside } from 'usehooks-ts';\nimport { Pressable, View } from '../native-base/primitives';\nimport { Arrow } from './Arrow';\nimport type { TooltipProps, UpdateCallbackParams } from './Tooltip';\nimport { TooltipContent } from './TooltipContent';\nimport { useShouldRenderArrow } from './hooks/useShouldRenderArrow';\nimport { getHasArrowEnoughSpace } from './utils/getHasArrowEnoughSpace';\n\ninterface WebUpdateCallbackParams extends Exclude<UpdateCallbackParams, 'middlewareData'> {\n middlewareData: MiddlewareData;\n refs: {\n reference: RefObject<any>;\n floating: RefObject<any>;\n };\n}\n\ninterface WebTooltipProps extends Exclude<TooltipProps, 'onUpdate'> {\n onUpdate: (params: WebUpdateCallbackParams) => void;\n}\n\nexport function Tooltip({\n children,\n defaultVisible,\n position = 'top',\n content,\n floatingPadding,\n fullWidth,\n onToggle,\n onUpdate,\n}: WebTooltipProps): ReactElement {\n const isBase = useBreakpointValue({\n base: true,\n small: false,\n });\n\n const theme = useTheme();\n\n const [isVisible, setIsVisible] = useState(Boolean(defaultVisible));\n\n const [isCursorOnTooltip, setIsCursorOnTooltip] = useState(false);\n\n const arrowRef = useRef<typeof View>(null);\n\n const currentFloatingPadding = floatingPadding || theme.kitt.tooltip.floatingPadding;\n\n const { x, y, reference, floating, strategy, update, refs, middlewareData, placement } = useFloating({\n placement: position,\n strategy: 'fixed',\n whileElementsMounted: autoUpdate,\n middleware: [\n // Order matters\n offset(currentFloatingPadding),\n autoPlacement({\n allowedPlacements: ['top', 'bottom'],\n padding: currentFloatingPadding,\n }),\n shift({ crossAxis: false, padding: currentFloatingPadding }),\n arrow({ element: arrowRef as unknown as HTMLElement }),\n ],\n });\n\n const tooltipY = Math.round(y ?? 0);\n const tooltipX = Math.round(x ?? 0);\n\n const { centerOffset } = middlewareData.arrow || {};\n\n const shouldRenderArrow = useShouldRenderArrow({ isTooltipFullWidth: fullWidth });\n const hasArrowEnoughSpace = getHasArrowEnoughSpace(centerOffset);\n\n const sharedArrowProps = {\n top: Math.round(middlewareData.arrow?.y ?? 0),\n left: Math.round(middlewareData.arrow?.x ?? 0),\n display: hasArrowEnoughSpace ? undefined : 'none',\n };\n\n useEffect(() => {\n if (!onUpdate) return;\n\n onUpdate({\n x: tooltipX,\n y: tooltipY,\n placement,\n strategy,\n update,\n refs,\n middlewareData,\n });\n }, [tooltipX, tooltipY, reference, floating, strategy, update, refs, middlewareData, placement, onUpdate]);\n\n const handlePressOutside = (): void => {\n if (!isVisible || isCursorOnTooltip) return;\n\n if (onToggle) onToggle(false);\n setIsVisible(false);\n };\n\n useOnClickOutside(refs.reference as RefObject<HTMLDivElement>, handlePressOutside);\n\n const handleDisplayTooltip = (): void => {\n if (onToggle) onToggle(true);\n setIsVisible(true);\n };\n\n const handleHideTooltip = (): void => {\n if (onToggle) onToggle(false);\n setIsVisible(false);\n };\n\n const handleMouseEnter = (): void => {\n setIsCursorOnTooltip(true);\n };\n\n const handleMouseLeave = (): void => {\n setIsCursorOnTooltip(false);\n };\n\n const themePart = isVisible ? 'out' : 'in';\n const transitionDuration = theme.kitt.tooltip.transition[themePart].duration;\n const transitionTimingFunction = theme.kitt.tooltip.transition[themePart].timingFunction;\n const transformOrigin = `center ${placement === 'bottom' ? 'top' : 'bottom'}`;\n\n return (\n <View ref={reference as any} position=\"relative\" display=\"inline-flex\">\n <Pressable\n accessibilityRole=\"button\"\n alignSelf=\"baseline\"\n display=\"inline-flex\"\n onHoverIn={handleDisplayTooltip}\n onFocus={handleDisplayTooltip}\n onBlur={handleHideTooltip}\n >\n {children}\n </Pressable>\n\n <Portal>\n <View\n ref={floating as any}\n accessibilityHidden={!isVisible}\n paddingX={{ base: 'kitt.4', small: 0 }}\n width={{ base: '100%', small: 'max-content' }}\n maxWidth={{ base: '100%', small: 'kitt.tooltip.maxWidth' }}\n opacity={isVisible ? 'kitt.tooltip.opacity' : 0}\n pointerEvents={isVisible || isCursorOnTooltip ? 'auto' : 'none'}\n position={strategy}\n top={0}\n left={0}\n _web={{\n style: {\n transform: [\n {\n translate3d: isBase && !fullWidth ? `0, ${tooltipY}px, 0` : `${tooltipX}px, ${tooltipY}px, 0`,\n },\n ],\n visibility: isVisible ? 'visible' : 'hidden',\n transitionDuration,\n transitionProperty: theme.kitt.tooltip.transition[themePart].property,\n transitionTimingFunction,\n },\n }}\n onTouchStart={handleMouseEnter}\n onTouchEnd={handleMouseLeave}\n onMouseEnter={handleMouseEnter}\n onMouseLeave={handleMouseLeave}\n >\n <View\n _web={{\n style: {\n transform: [{ scale: isVisible ? 1 : 0.8 }],\n transitionDuration: isVisible ? '0' : transitionDuration,\n transitionProperty: 'all',\n transitionTimingFunction,\n transformOrigin,\n },\n }}\n >\n {shouldRenderArrow && placement === 'bottom' ? (\n <Arrow ref={arrowRef} position=\"bottom\" {...sharedArrowProps} />\n ) : null}\n <TooltipContent>{content}</TooltipContent>\n {shouldRenderArrow && placement === 'top' ? (\n <Arrow ref={arrowRef} position=\"top\" {...sharedArrowProps} />\n ) : null}\n </View>\n </View>\n </Portal>\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 { ComponentProps, ElementType, ReactElement, ReactNode } from 'react';\nimport { Platform } from 'react-native';\n\nexport interface StyleWebWrapperProps<T extends ElementType> {\n as: T;\n children: ReactNode;\n}\n\nexport function StyleWebWrapper<T extends ElementType = 'div'>({\n as,\n children,\n ...props\n}: StyleWebWrapperProps<T> & ComponentProps<T>): ReactElement {\n if (Platform.OS !== 'web') return children as ReactElement;\n const Component: T = as || ('div' as T); // as or default to div. If as is undefined, T is div but typescript is not sure\n return <Component {...(props as any)}>{children}</Component>;\n}\n","import { styled as styledLinaria } from '@linaria/react';\nimport type { ReactElement, ReactNode } from 'react';\nimport type { TextProps } from 'react-native';\nimport type { Except } from 'type-fest';\nimport { StyleWebWrapper } from '../utils/StyleWebWrapper';\nimport type { TypographyPropsWithoutRole } from './Typography';\nimport { Typography } from './Typography';\n\ninterface TypographyLinkWebWrapperProps {\n $hasNoUnderline?: boolean;\n}\n\n// overrides :global(a) in Link styles.module.css\nconst TypographyLinkWebWrapper = styledLinaria.span<TypographyLinkWebWrapperProps>`\n & > * {\n text-decoration: ${({ $hasNoUnderline }) => ($hasNoUnderline ? 'none' : 'underline')}\n }\n\n & > *:hover,\n & > *:active,\n .kitt-hover & > * {\n text-decoration: ${({ $hasNoUnderline }) => ($hasNoUnderline ? 'underline' : 'none')}\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 <StyleWebWrapper as={TypographyLinkWebWrapper} $hasNoUnderline={noUnderline}>\n <Typography\n underline={!noUnderline}\n color={disabled ? 'black-disabled' : undefined}\n href={href}\n hrefAttrs={hrefAttrs}\n accessibilityRole=\"link\"\n dataSet={{\n // remove data-kitt-universal when we delete kitt web. See :global(a) in Link styles.module.css\n 'kitt-universal': 'true',\n }}\n _web={{\n cursor: disabled ? 'not-allowed' : 'pointer',\n transitionProperty: 'color',\n transitionDuration: '0.2s',\n transitionTimingFunction: 'ease-in-out',\n }}\n // TODO[native-base@>=3.4.19] this currently does not work. Retest when updating native-base.\n // _active={{\n // underline: !!noUnderline,\n // }}\n // _hover={{\n // underline: !!noUnderline,\n // }}\n onPress={disabled ? undefined : onPress}\n {...otherProps}\n >\n {children}\n </Typography>\n </StyleWebWrapper>\n );\n}\n","// eslint-disable-next-line no-restricted-imports\nimport type { FlattenSimpleInterpolation } from 'styled-components';\nimport type { MatchWindowSizeOptions } from './useMatchWindowSize';\nimport { matchWindowSize } from './useMatchWindowSize';\n\nexport interface WindowSizeHelper {\n /**\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 { 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":["View","NativeBaseView","ScrollView","NativeBaseScrollView","Pressable","NativeBasePressable","Image","NativeBaseImage","FlatList","NativeBaseFlatList","SectionList","NativeBaseSectionList","getStateKey","isHovered","isPressed","isFocused","ActionCardContentWrapper","variant","children","theme","useTheme","state","translateY","kitt","actionCard","sharedTransform","transform","_jsx","style","ActionCardDisabled","ActionCard","disabled","testID","ActionCardPressable","forwardRef","href","hrefAttrs","accessibilityRole","isHoveredInternal","isPressedInternal","isFocusedInternal","onPress","ref","Stack","NativeBaseStack","VStack","NativeBaseVStack","HStack","NativeBaseHStack","Center","NativeBaseCenter","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","getCurrentBackgroundColorForNativeBaseTheme","type","isDisabled","baseKey","getCurrentScale","hoverScaleValue","pressedScaleValue","AnimatedContainer","isStretch","transition","duration","timingFunction","scale","button","responsiveHoverScaleValue","useBreakpointValue","base","hover","medium","currentScale","active","currentBackgroundColor","transitionProperty","transitionDuration","transitionTimingFunction","backfaceVisibility","KittBreakpoints","BASE","SMALL","MEDIUM","LARGE","WIDE","KittBreakpointsMax","KittBreakpointNameEnum","IsHeaderTypographyContext","createContext","TypographyColorContext","useTypographyColor","useContext","TypographyDefaultColorContext","useTypographyDefaultColor","getTypographyTypeConfigKeyFromTypeName","isTypeHeader","startsWith","isTypographyHeader","isHeaderTypographyInContext","Error","createNativeBaseFontSize","typeWithMediumForced","small","fontSizeForNativeBase","typeName","value","getNBThemeColorFromColorProps","colorName","Typography","legacyBase","legacySmall","legacyMedium","large","legacyLarge","wide","legacyWide","color","otherProps","defaultColor","hasTypographyAncestor","baseOrDefaultToBody","isHeader","nonNullableVariant","entries","key","currentColor","text","NBText","content","TypographyText","props","TypographyParagraph","createHeading","level","defaultBase","TypographyHeading","displayName","SetDefaultColor","Provider","Text","Paragraph","Header1","Header2","Header3","Header4","Header5","Header6","h1","h2","h3","h4","h5","Icon","icon","size","align","clonedIcon","cloneElement","TypographyIconSpecifiedColor","typography","colors","TypographyIconInheritColor","TypographyIcon","getTextColorByType","isButtonInteractedWith","ButtonIcon","iconPosition","ButtonContentChildren","buttonIconSharedProps","sharedNativeStyle","flexShrink","_jsxs","ButtonContent","flexGrow","flexBasis","getCurrentPaddingConfig","ButtonPadding","currentPaddingKey","DisabledBorder","FocusBorder","buttonTheme","width","borderWidth","focus","height","useNativeAnimation","onPressIn","onPressOut","animatedStyles","getButtonSize","xLarge","allowedGhostTypes","Button","stretch","sizeProp","__DEV__","includes","deprecatedProp","withTheme","WrappedComponent","StyledSpinningIconContainer","styled","name","class","propsAsIs","SpinningIcon","SpinningIconProps","LoaderIcon","ArcIcon","matchWindowSize","minWidth","maxWidth","minHeight","maxHeight","hasWidthMatched","hasHeightMatched","useMatchWindowSize","options","useWindowDimensions","getCurrentStretchValue","isMedium","ActionsItem","as","isCurrentStretch","isLoading","setIsLoading","useState","mountedRef","useRef","useEffect","current","e","error","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","black","blackDisabled","blackLight","blackAnthracite","uiBackground","uiBackgroundLight","overlay","dark","light","defaultAvatarSize","defaultAvatarIconSize","largeAvatarSize","largeAvatarIconSize","avatar","borderRadius","iconSize","default","backgroundColor","getCurrentRadius","sizeVariant","round","getCurrentSize","getIconSize","getInitials","firstname","lastname","toUpperCase","AvatarContent","src","alt","isLight","uri","UserIcon","Avatar","currentSize","currentBorderRadius","BottomSheetComponent","BottomSheet","useBottomSheet","useStaticBottomSheet","Content","bottomSheetRef","BottomSheetMemoized","useMemo","overflowHidden","useBlockBodyScroll","isScrollBlocked","document","body","classList","add","remove","ModalBehaviourPortal","visible","ModalBehaviourPortalProps","Boolean","Portal","_Fragment","OnCloseContext","OnCloseProvider","onClose","useOnCloseModalBehaviour","CloseButton","onCloseContextCallback","ModalBehaviour","position","top","left","OverlayPressable","StyleSheet","absoluteFillObject","Overlay","CardModalRotationContainer","contentAnimationEnter","contentAnimatioEnterActive","contentAnimatioExit","contentAnimatioExitActive","contentAnimationClassNames","appear","appearActive","enter","enterActive","exit","exitActive","opacityEnter","opacityEnterActive","opacityExit","opacityExitActive","opacityClassNames","CardModalAnimation","unmountOnExit","isAnimationEnabled","onEnter","onEntered","onExit","onExited","CardModalAnimationProps","animation","cardModal","sharedProps","in","CSSTransition","ScrollContainer","CardModalBehaviour","isModalBehaviourVisible","setIsModalBehaviourVisible","CardModalBody","paddingX","paddingY","CardModalFooter","padding","hasSeparator","CardModalHeader","title","paddingBottom","right","defaultContainerPadding","CardModal","withoutShadow","Body","Header","Footer","backgroundStyles","getCurrentTextColor","isSelected","getBorderRadius","defaultRadius","$variant","choices","item","border","css","ChoiceItemView","$isHovered","$isPressed","$isDisabled","$isSelected","hoverWhenSelected","selected","pressed","defaultBackground","$size","responsive","ifWindowSizeMatches","property","ChoiceItem","onChange","onBlur","onFocus","handleChange","checked","ChoiceItemContainer","$isLast","$direction","row","column","spacing","ChoicesContainer","direction","Choices","id","currentValue","setCurrentValue","isForm","childrenArray","Children","toArray","newValue","map","child","index","element","createChoicesComponent","ButtonChoices","ChoicesElements","DialogModalAnimation","DialogModalAnimationProps","dialogModal","DialogModalBehaviour","DialogModal","illustration","actions","DialogModalButton","Emoji","emoji","alignSelf","_web","emojiData","parse","assetType","url","ExternalAppLink","Component","appScheme","appValue","onOpenAppError","rest","canOpen","Linking","canOpenURL","defaultPrevented","openURL","catch","Sms","phoneNumber","Tel","Mail","emailAddress","defaultOpenLinkBehavior","native","web","ExternalLink","openLinkBehavior","target","rel","getBackgroundColor","isChecked","getBorderColor","Checkbox","hitSlop","forms","checkbox","markColor","CheckboxMark","getReturnKeyTypeForNumericInput","returnKeyType","prefixWithZero","maxLength","padStart","dayFormatter","day","monthFormatter","month","yearFormatter","year","getDayInInterval","Math","max","min","getMonthInInterval","minDate","maxDate","minValue","getMonth","maxValue","getYearInInterval","getFullYear","getValueToDisplayedString","toString","keyboardDatePickerReducer","action","nextDay","currentDay","displayedDay","nextMonth","currentMonth","displayedMonth","nextYear","currentYear","displayedYear","nextCurrentDay","nextCurrentMonth","nextCurrentYear","isNumber","input","isNaN","onDatePartChange","validYearMinLength","arrayParts","isEverythingUndefined","every","v","isEverythingDefined","nextValue","Date","isValidYear","setDate","setMonth","setFullYear","setMinutes","setHours","setSeconds","setMilliseconds","isMinDateAfterNextValue","getTime","isMaxDateBeforeNextValue","stringToNumber","parseInt","_exp","InputTextContainer","vars","InputText","formState","internalForceState","autoCorrect","textContentType","autoComplete","keyboardType","multiline","onSubmitEditing","Input","rightContainer","getCurrentInternalForcedState","InputPart","placeholder","PartContainer","KeyboardDatePicker","monthRef","yearRef","defaultValue","defaultDay","getDate","defaultMonth","defaultYear","dispatch","useReducer","sharedInputPartProps","handleDatePartChange","handleAutoFocusNextField","currentFieldValue","nextFieldRef","nativeEvent","DatePicker","InputEmail","getColorFromState","InputFeedback","InputField","label","labelFeedback","feedback","inputField","containerPaddingTop","containerPaddingBottom","labelContainerPaddingBottom","labelFeedbackMarginLeft","feedbackPaddingTop","getIconColor","InputIcon","InputPressable","InputPassword","isPasswordDefaultVisible","isVisible","setIsVisible","prev","EyeOffIcon","EyeIcon","isPhoneNumberValid","number","isValidNumber","phoneNumberLength","InputPhone","currentReturnKeyType","event","parseNumber","phone","finalPhoneNumber","eventWithoutCountryCode","countryCode","getCountryCallingCode","country","originalNativeEventText","getTypographyColor","InputTagContainer","inputTag","IconContainer","InputTag","typographyColor","Label","htmlFor","InnerCircle","radio","OuterCircle","Radio","getCurrentBackgroundColor","getCurrentBorderColor","isFirst","isLast","radioButtonGroup","HoverBorder","shouldDisplayBorder","RadioButton","RadioButtonGroupItem","RadioButtonGroup","clone","TextArea","Highlight","highlight","Background","AnimatedBackground","iconButton","scaleHover","scalePressed","AnimatedScale","currentHoverScale","currentPressedScale","opacityStyles","scaleStyles","IconButton","accessibilityLabel","translate3d","isCurrentHovered","isCurrentPressed","KittMapConfigProviderContext","KittMapConfigProvider","mapId","apiToken","providerValue","useKittMapConfig","context","ContentView","BabelPluginStyledComponentsReactNative","ListItemContent","SideContainerView","side","listItem","innerMargin","ListItemSideContainer","SideContentView","ListItemSideContent","ContainerView","withPadding","borders","borderColor","ListItem","Wrapper","Fragment","wrapperProps","containerProps","SideContent","SideContainer","MapMarkerSimple","DefaultMarkerSvg","MapMarkerLarge","LargeMarkerSvg","MapMarkerPosition","PositionMarkerSvg","IconContent","AlertCircleIcon","CheckIcon","AlertTriangleIcon","InfoIcon","getColorByType","getIconButtonColor","messageType","BaseMessage","hasNoRadius","centeredText","insets","onDismiss","XIcon","Message","BodyView","ModalBody","FooterView","ModalFooter","HeaderView","LeftIconView","RightIconView","TitleView","isIconLeft","ModalHeader","ModalView","card","Modal","NativeModal","createKittSpaces","sizes","positive","negative","overridenNativeBaseSizeandSpaceScale","fromEntries","createKittNativeBaseCustomTheme","appTheme","spaces","appBreakpoints","breakpoints","extendedTheme","extendTheme","secondary","hovered","focused","palettes","subtle","tooltip","feedbackMessage","states","unchecked","innerCircle","innerBackgroundColor","skeleton","flareColor","pressedBackgroundColor","app","radii","lg","Number","MAX_SAFE_INTEGER","md","sm","xl","xs","innerSize","shape","bar","circle","square","borderWidths","header","footer","defaultSize","maxWidthWithPadding","overlayPadding","datePicker","textSpacing","textArea","arrow","space","bottomSheet","container","horizontalPadding","verticalPadding","floatingPadding","fontSizes","baseAndSmall","header1","types","headers","configs","fontSize","header2","header3","header4","header5","bodies","mediumAndWide","lineHeights","lineHeight","fontWeights","regular","fontWeight","bold","fonts","fontFamily","shadows","cards","low","shadowColor","shadowOffset","offsetX","offsetY","shadowOpacity","opacity","shadowRadius","radius","highBase","highMedium","highLarge","navigation","panel","shadow","components","baseStyle","py","vertical","px","horizontal","_disabled","_light","placeholderTextColor","bg","_hover","_focus","_stack","outlineWidth","boxShadow","_ios","selectionColor","selection","_android","_invalid","invalid","variants","outline","underlined","rounded","filled","unstyled","_dark","fontStyle","KittNativeBaseProvider","isSSR","kittTheme","nativeBaseCustomTheme","NativeBaseProvider","ViewWithPadding","navigationModal","ContentPadding","StyledViewWithPadding","$insetTop","$insetBottom","shouldHandleBottomNotch","shouldHandleTopNotch","bottom","useSafeAreaInsets","insetBottom","insetTop","FooterContainer","$hasSeparator","HeaderContainer","$isTransparent","$hasRight","$hasLeft","Row","$hasContent","ButtonContainer","ChildrenComponent","paddingHorizontal","HeaderTitle","isTransparent","slideInFromBottomEnter","slideInFromBottomEnterActive","slideInFromBottomExit","slideInFromBottomExitActive","slideInClassNames","NavigationModalAnimation","NavigationModalAnimationProps","NavigationModalBehaviour","NavigationModalContainer","$backgroundColor","ContainerWithoutHeader","NavigationModal","Padding","Notification","onDelete","_exp3","$circlePerimeter","_exp5","pageLoader","_exp6","strokeWidth","_exp8","_exp9","_exp10","x1","y1","x2","y2","fillEasingFunction","circleBackgroundFillDuration","delay","_exp11","filledCircleFillDuration","_exp12","fill","_exp13","fillAnimation","rotationAnimation","filledCircleRotationDuration","join","PageLoaderContainer","PageLoader","center","circlePerimeter","PI","cx","cy","r","Picker","_exp2","$isLoading","StyledSkeleton","SkeletonContent","SkeletonProps","Skeleton","setWidth","Bar","Circle","Square","getStaticMapImageUrl","mapWidth","mapHeight","is2x","centerPart","long","lat","zoom","urlParts","mapImageUrl","URL","searchParams","append","useGetStaticMapImageUrl","forceMapId","forceApiToken","currentUrl","setCurrentUrl","currentMapIdRef","currentApiTokenRef","newUrl","StaticMapError","onReload","RotateCCWIcon","StaticMapImage","onLoadEnd","onError","StaticMapLoader","getMarkerPosition","translateX","StaticMapMarker","getRangedWidthValue","nextWidth","rangedMapWidth","getShouldDisplay2x","window","devicePixelRatio","mapBoxMaxPictureWidth","getPictureWidth","StaticMap","marker","onLoaded","currentWidth","setCurrentWidth","hasError","setHasError","currentMapKey","setCurrentMapKey","shouldDisplay2xImage","mapUrl","KITT_MAP_CHROMATIC_IGNORE","Loader","Marker","Flex","withConfig","shouldForwardProp","prop","defaultValidatorFn","storyPadding","getBackgroundColorFromBlockColor","getTypographyColorFromBlockColor","StoryBlockBackgroundContext","StoryBlockColorContext","useStoryBlockColor","storyBlockColor","StoryBlock","background","StoryTitle","numberOfLines","StoryTitleLevel2","StoryTitleLevel3","StoryTitleLevel4","Level2","Level3","Level4","Story","contentContainerStyle","StorySection","internalIsDemoSection","SubSection","BlockSection","DemoSection","Demo","DeprecatedSection","StoryContainer","platform","StoryDecorator","storyFn","StoryGridRow","breakpoint","StoryGridCol","titleColor","StoryGrid","Col","Container","tag","getLabelColor","Tag","hex2rgba","hex","alpha","slice","g","b","handle","contentPadding","hoverBackgroundColor","focusBorderColor","ghost","hoverColor","activeColor","webAnimationContentDuration","webAnimationContentEasing","webAnimationOverlayDuration","webAnimationOverlayEasing","overlayHorizontalPadding","easing","calcLineHeight","lineHeightMultiplier","createTypographyTypeConfig","baseAndSmallFontSize","mediumAndWideFontSize","kittColors","link","disabledColor","inputStatesStyle","pending","valid","labelColor","groupFilledCircleRotationDuration","picker","ios","android","animationDuration","out","values","smallBreakpoint","mediumBreakpoint","largeBreakpoint","wideBreakpoint","TimePicker","Arrow","display","transformStyle","rotate","TooltipArrowIcon","TooltipContent","getShouldRenderArrow","isTooltipFullWidth","isBase","useShouldRenderArrow","getHasArrowEnoughSpace","arrowCenterOffset","Tooltip","defaultVisible","fullWidth","onToggle","onUpdate","isCursorOnTooltip","setIsCursorOnTooltip","arrowRef","currentFloatingPadding","x","y","reference","floating","strategy","update","refs","middlewareData","placement","useFloating","whileElementsMounted","autoUpdate","middleware","offset","autoPlacement","allowedPlacements","shift","crossAxis","tooltipY","tooltipX","centerOffset","shouldRenderArrow","hasArrowEnoughSpace","sharedArrowProps","useOnClickOutside","handleDisplayTooltip","handleMouseEnter","handleMouseLeave","themePart","transformOrigin","visibility","getTypographyTypeConfig","calcSizesFromType","marginLeft","marginRight","TypographyEmoji","StyleWebWrapper","$hasNoUnderline","TypographyLinkWebWrapper","styledLinaria","TypographyLink","noUnderline","TypographyLinkProps","cursor","createWindowSizeHelper","dimensions","mapWindowWidth","widthList","previousMinWidth","found","find","useKittTheme","useWindowSize","KittThemeProvider","ThemeProvider","KittThemeDecorator","makeDecorator","parameterName","wrapper","parameters","MatchWindowSize","matchWindowSizeOptions","match","useCurrentBreakpointName"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index-node-14.17.cjs.web.js","sources":["../src/native-base/primitives.ts","../src/ActionCard/utils/getStateKey.ts","../src/ActionCard/ActionCardContentWrapper.tsx","../src/ActionCard/ActionCardDisabled.tsx","../src/ActionCard/ActionCard.tsx","../src/native-base/layout.ts","../src/utils/createResponsiveStyleFromProp/createResponsiveStyleFromProp.ts","../src/utils/warnings.ts","../src/Button/utils/getCurrentBackgroundColorForNativeBaseTheme.ts","../src/Button/utils/getCurrentScale.ts","../src/Button/AnimatedContainer.web.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/hooks/useNativeAnimation.web.ts","../src/Button/utils/getButtonSize.ts","../src/Button/Button.tsx","../src/utils/withTheme.tsx","../src/Icon/SpinningIcon.web.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.web.tsx","../src/BottomSheet/useBottomSheet.ts","../src/BottomSheet/useStaticBottomSheet.tsx","../src/ModalBehaviour/ModalBehaviourPortal.web.tsx","../src/ModalBehaviour/OnCloseContext.tsx","../src/ModalBehaviour/ModalBehaviour.tsx","../src/Overlay/Overlay.tsx","../src/CardModal/CardModalAnimation/CardModalRotationContainer.tsx","../src/CardModal/CardModalAnimation/CardModalAnimation.web.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.web.tsx","../src/Choices/ChoiceItem.tsx","../src/Choices/ChoiceItemContainer.tsx","../src/Choices/Choices.tsx","../src/DialogModal/DialogModalAnimation/DialogModalAnimation.web.tsx","../src/DialogModal/DialogModalBehaviour.tsx","../src/DialogModal/DialogModal.tsx","../src/Emoji/Emoji.tsx","../src/ExternalAppLink/ExternalAppLink.tsx","../src/ExternalLink/ExternalLinkOpenLinkBehavior.ts","../src/ExternalLink/ExternalLink.web.tsx","../src/forms/Checkbox/utils/getBackgroundColor.ts","../src/forms/Checkbox/utils/getBorderColor.ts","../src/forms/Checkbox/Checkbox.tsx","../src/utils/getReturnKeyTypeForNumericInput/getReturnKeyTypeForNumericInput.ts","../src/forms/DatePicker/utils/dateFormatter.ts","../src/forms/DatePicker/utils/datePartInInterval.ts","../src/forms/DatePicker/reducers/keyboardDatePickerReducer.ts","../src/forms/DatePicker/utils/isNumber.ts","../src/forms/DatePicker/utils/onDatePartChange.ts","../src/forms/DatePicker/utils/stringToNumber.ts","../src/forms/InputText/InputTextContainer.web.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/DatePicker.web.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/InnerCircle.tsx","../src/forms/Radio/utils/getBackgroundColor.ts","../src/forms/Radio/utils/getBorderColor.ts","../src/forms/Radio/OuterCircle.tsx","../src/forms/Radio/Radio.tsx","../src/forms/RadioButtonGroup/utils/getCurrentBackgroundColor.ts","../src/forms/RadioButtonGroup/utils/getCurrentBorderColor.ts","../src/forms/RadioButtonGroup/AnimatedContainer/AnimatedContainer.web.tsx","../src/forms/RadioButtonGroup/HoverBorder.tsx","../src/forms/RadioButtonGroup/hooks/useNativeAnimation.web.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/IconButton/Background.tsx","../src/IconButton/AnimatedBackground.web.tsx","../src/IconButton/AnimatedScale.web.tsx","../src/IconButton/hooks/useNativeAnimation.web.ts","../src/IconButton/IconButton.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/Modal/Body.tsx","../src/Modal/Footer.tsx","../src/Modal/OnCloseContext.ts","../src/Modal/Header.tsx","../src/Modal/Modal.tsx","../src/native-base/KittNativeBaseProvider.tsx","../src/NavigationModal/ContentPadding.tsx","../src/NavigationModal/Body.tsx","../src/NavigationModal/Footer.tsx","../src/NavigationModal/Header.tsx","../src/NavigationModal/NavigationModalAnimation.web.tsx","../src/NavigationModal/NavigationModalBehaviour.tsx","../src/NavigationModal/NavigationModalContainer.tsx","../src/NavigationModal/NavigationModal.tsx","../src/Notification/Notification.tsx","../src/PageLoader/PageLoader.web.tsx","../src/Picker/Picker.web.tsx","../src/Skeleton/SkeletonContent.web.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.web.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.web.tsx","../src/story-components/StoryDecorator.tsx","../src/story-components/StoryGrid.tsx","../src/Tag/Tag.tsx","../src/utils/hexToRgba.ts","../src/themes/late-ocean/actionCard.ts","../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/themes/late-ocean/tooltip.ts","../src/themes/default.ts","../src/TimePicker/TimePicker.web.tsx","../src/Tooltip/Arrow.tsx","../src/Tooltip/TooltipContent.tsx","../src/Tooltip/hooks/useShouldRenderArrow.ts","../src/Tooltip/utils/getHasArrowEnoughSpace.ts","../src/Tooltip/Tooltip.web.tsx","../src/typography/TypographyEmoji.tsx","../src/utils/StyleWebWrapper.tsx","../src/typography/TypographyLink.tsx","../src/utils/windowSize/createWindowSizeHelper.ts","../src/useKittTheme.tsx","../src/utils/storybook/KittThemeDecorator.tsx","../src/utils/windowSize/MatchWindowSize.tsx","../src/utils/windowSize/useCurrentBreakpointName.ts"],"sourcesContent":["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 { ActionCardVariant } from 'themes/late-ocean/actionCard';\n\nexport const getStateKey = (isHovered?: boolean, isPressed?: boolean, isFocused?: boolean): keyof ActionCardVariant => {\n if (isPressed) {\n return 'pressed';\n }\n\n if (isFocused) {\n return 'focused';\n }\n\n if (isHovered) {\n return 'hovered';\n }\n\n return 'default';\n};\n","import type { ReactElement, ReactNode } from 'react';\nimport { useTheme } from 'styled-components/native';\nimport { View } from '../native-base/primitives';\nimport type { ActionCardVariantType } from './types';\nimport { getStateKey } from './utils/getStateKey';\n\ninterface ActionCardContentWrapperProps {\n isHovered?: boolean;\n isPressed?: boolean;\n isFocused?: boolean;\n variant: ActionCardVariantType;\n children: ReactNode;\n}\n\nexport function ActionCardContentWrapper({\n isHovered,\n isPressed,\n isFocused,\n variant,\n children,\n}: ActionCardContentWrapperProps): ReactElement {\n const theme = useTheme();\n const state = getStateKey(isHovered, isPressed, isFocused);\n\n const { translateY } = theme.kitt.actionCard[variant][state];\n\n const sharedTransform = translateY\n ? {\n transform: [{ translateY }],\n }\n : {};\n\n return (\n <View\n _ios={{ style: sharedTransform }}\n _android={{ style: sharedTransform }}\n _web={{\n style: sharedTransform,\n }}\n width=\"100%\"\n backgroundColor={`kitt.actionCard.${variant}.${state}.backgroundColor`}\n borderRadius=\"kitt.actionCard.borderRadius\"\n borderColor={`kitt.actionCard.${variant}.${state}.borderColor`}\n borderWidth={`kitt.actionCard.${variant}.${state}.borderWidth`}\n shadow={`kitt.actionCard.${variant}.${state}.shadow`}\n >\n {children}\n </View>\n );\n}\n","import type { ReactElement, ReactNode } from 'react';\nimport { View } from '../native-base/primitives';\nimport type { ActionCardVariantType } from './types';\n\ninterface ActionCardDisabledProps {\n variant: ActionCardVariantType;\n children: ReactNode;\n}\n\nexport function ActionCardDisabled({ variant, children }: ActionCardDisabledProps): ReactElement {\n return (\n <View\n borderRadius=\"kitt.actionCard.borderRadius\"\n borderStyle=\"solid\"\n borderWidth={`kitt.actionCard.${variant}.disabled.borderWidth`}\n borderColor={`kitt.actionCard.${variant}.disabled.borderColor`}\n backgroundColor={`kitt.actionCard.${variant}.disabled.backgroundColor`}\n >\n {children}\n </View>\n );\n}\n","import type { ReactElement, ReactNode } from 'react';\nimport { forwardRef } from 'react';\nimport type { PressableProps, ViewProps } from '../native-base/primitives';\nimport { Pressable, View } from '../native-base/primitives';\nimport { ActionCardContentWrapper } from './ActionCardContentWrapper';\nimport { ActionCardDisabled } from './ActionCardDisabled';\nimport type { ActionCardVariantType } from './types';\n\nexport interface ActionCardProps extends Pick<ViewProps, 'testID'> {\n variant?: ActionCardVariantType;\n disabled?: boolean;\n children: ReactNode;\n /** @internal used by ActionCard.Pressable only */\n isHovered?: boolean;\n /** @internal used by ActionCard.Pressable only */\n isPressed?: boolean;\n /** @internal used by ActionCard.Pressable only */\n isFocused?: boolean;\n}\n\nexport function ActionCard({\n children,\n variant = 'secondary',\n disabled,\n testID,\n isHovered,\n isPressed,\n isFocused,\n}: ActionCardProps): ReactElement {\n return (\n <View testID={testID}>\n {disabled ? (\n <ActionCardDisabled variant={variant}>{children}</ActionCardDisabled>\n ) : (\n <ActionCardContentWrapper variant={variant} isHovered={isHovered} isFocused={isFocused} isPressed={isPressed}>\n {children}\n </ActionCardContentWrapper>\n )}\n </View>\n );\n}\n\nexport interface ActionCardPressableProps\n extends ActionCardProps,\n Pick<PressableProps, 'testID' | 'href' | 'hrefAttrs' | 'accessibilityRole' | 'onPress'> {\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}\n\nconst ActionCardPressable = forwardRef<typeof Pressable, ActionCardPressableProps>(\n (\n {\n children,\n variant = 'secondary',\n disabled,\n testID,\n href,\n hrefAttrs,\n accessibilityRole = 'button',\n isHoveredInternal,\n isPressedInternal,\n isFocusedInternal,\n onPress,\n }: ActionCardPressableProps,\n ref,\n ): ReactElement => {\n return (\n <Pressable\n ref={ref}\n accessibilityRole={accessibilityRole}\n disabled={disabled}\n testID={testID}\n href={href}\n hrefAttrs={hrefAttrs}\n width=\"100%\"\n onPress={onPress}\n >\n {({ isHovered, isPressed, isFocused }) => (\n <ActionCard\n variant={variant}\n disabled={disabled}\n isHovered={isHovered || isHoveredInternal}\n isFocused={isFocused || isFocusedInternal}\n isPressed={isPressed || isPressedInternal}\n >\n {children}\n </ActionCard>\n )}\n </Pressable>\n );\n },\n);\n\nActionCard.Pressable = ActionCardPressable;\n","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 { 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 { ButtonType, ButtonVariant } from '../Button';\n\ninterface GetCurrentBackgroundColorParams {\n type: ButtonType;\n variant: ButtonVariant;\n isDisabled?: boolean;\n isHovered?: boolean;\n isPressed?: boolean;\n}\n\nexport function getCurrentBackgroundColorForNativeBaseTheme({\n type,\n variant,\n isDisabled,\n isHovered,\n isPressed,\n}: GetCurrentBackgroundColorParams): string {\n if (isDisabled) return 'kitt.button.disabled.default.backgroundColor';\n\n const baseKey = `kitt.button.${type}.${variant}`;\n\n if (isHovered || isPressed) {\n return `${baseKey}.hoverBackgroundColor`;\n }\n\n return `${baseKey}.backgroundColor`;\n}\n","interface GetCurrentScaleParams {\n hoverScaleValue: number;\n pressedScaleValue: number;\n isDisabled?: boolean;\n isHovered?: boolean;\n isPressed?: boolean;\n}\n\nexport function getCurrentScale({\n hoverScaleValue,\n pressedScaleValue,\n isDisabled,\n isHovered,\n isPressed,\n}: GetCurrentScaleParams): number {\n if (isDisabled) return 1;\n\n if (isPressed) {\n return pressedScaleValue;\n }\n\n if (isHovered) {\n return hoverScaleValue;\n }\n\n return 1;\n}\n","import { useBreakpointValue } from 'native-base';\nimport type { ReactElement } from 'react';\nimport { useTheme } from 'styled-components/native';\nimport { View } from '../native-base/primitives';\nimport { createResponsiveStyleFromProp } from '../utils/createResponsiveStyleFromProp/createResponsiveStyleFromProp';\nimport type { AnimatedContainerProps } from './AnimatedContainer';\nimport { getCurrentBackgroundColorForNativeBaseTheme } from './utils/getCurrentBackgroundColorForNativeBaseTheme';\nimport { getCurrentScale } from './utils/getCurrentScale';\n\nexport function AnimatedContainer({\n children,\n type,\n variant,\n isHovered,\n isPressed,\n isStretch,\n disabled,\n}: AnimatedContainerProps): ReactElement {\n const theme = useTheme();\n\n const {\n transition: { duration, timingFunction },\n scale,\n } = theme.kitt.button;\n\n const responsiveHoverScaleValue = useBreakpointValue({\n base: scale.base.hover,\n medium: scale.medium.hover,\n });\n\n const currentScale = getCurrentScale({\n hoverScaleValue: responsiveHoverScaleValue,\n pressedScaleValue: scale.base.active,\n isHovered,\n isPressed,\n isDisabled: !!disabled,\n });\n\n const currentBackgroundColor = getCurrentBackgroundColorForNativeBaseTheme({\n type,\n variant,\n isDisabled: !!disabled,\n isHovered,\n isPressed,\n });\n\n return (\n <View\n _web={{\n style: {\n transitionProperty: 'all',\n transitionDuration: duration,\n transitionTimingFunction: timingFunction,\n /* Simplifies the animation to just the front of the object – avoid blurry scale */\n backfaceVisibility: 'hidden',\n transform: [\n {\n scale: currentScale,\n },\n ],\n },\n }}\n width={createResponsiveStyleFromProp(isStretch, '100%', 'auto')}\n alignSelf=\"baseline\"\n borderRadius=\"kitt.button.borderRadius\"\n backgroundColor={currentBackgroundColor}\n >\n {children}\n </View>\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, TextStyle } 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'>\n | 'textAlign'\n | 'textTransform'\n | 'underline'\n | NativeBaseAcceptedFlexboxProps\n> &\n Pick<TextStyle, 'cursor' | 'transitionProperty' | 'transitionDuration' | 'transitionTimingFunction'>;\n// TODO[native-base@>=3.4.19] this currently does not work. Retest when updating native-base.\n// & {\n// _active?: Pick<NativeBaseTextPropsAcceptedProps, 'underline'>;\n// _hover?: Pick<NativeBaseTextPropsAcceptedProps, 'underline'>;\n// } ;\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 type { ViewProps } from '../native-base/primitives';\nimport { View } from '../native-base/primitives';\n\nexport interface IconProps {\n icon: ReactElement;\n size?: ViewProps['size'];\n color: string;\n align?: ViewStyle['alignSelf'];\n testID?: ViewStyle['testID'];\n}\n\nexport function Icon({ icon, size = 'kitt.icon.defaultSize', align = 'auto', color }: IconProps): ReactElement {\n const clonedIcon = cloneElement(icon, { color });\n\n return (\n <View color={color} alignSelf={align} size={size}>\n {clonedIcon}\n </View>\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 'danger':\n return 'danger';\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 { NativeAnimation, UseNativeAnimationOptions } from './useNativeAnimation';\n\nexport function useNativeAnimation(options: UseNativeAnimationOptions): NativeAnimation {\n return {\n onPressIn: undefined,\n onPressOut: undefined,\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' | 'danger';\nexport type ButtonSize = 'large' | 'xLarge';\nexport type ButtonVariant = 'default' | 'ghost';\n\ntype IconPosition = 'right' | 'left';\n\nconst allowedGhostTypes = ['primary', 'default', 'danger'];\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 { 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 } from '@linaria/react';\nimport type { ReactElement } from 'react';\nimport { cloneElement } from 'react';\nimport type { DefaultTheme } from 'styled-components/native';\nimport { withTheme } from '../utils/withTheme';\nimport type { SpinningIconProps } from './SpinningIcon';\n\ninterface StyledSpinningIconContainerProps {\n theme: DefaultTheme;\n}\n\nconst StyledSpinningIconContainer = withTheme(styled.div<StyledSpinningIconContainerProps>`\n & {\n display: inline-flex;\n }\n\n & > svg {\n animation: spin 1.1s infinite linear;\n }\n\n @keyframes spin {\n 0% {\n transform: rotate(-1deg);\n }\n\n 100% {\n transform: rotate(359deg);\n }\n }\n`);\n\nexport function SpinningIcon({ icon, color }: SpinningIconProps): ReactElement {\n const clonedIcon = cloneElement(icon, { color });\n return <StyledSpinningIconContainer>{clonedIcon}</StyledSpinningIconContainer>;\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 type { BottomSheetModalMethods } from '@gorhom/bottom-sheet/lib/typescript/types';\nimport type { ForwardRefExoticComponent, RefAttributes } from 'react';\nimport { forwardRef } from 'react';\nimport type { BottomSheetProps } from './BottomSheet';\n\nfunction BottomSheetComponent(): null {\n // noop\n return null;\n}\n\nexport const BottomSheet = forwardRef(BottomSheetComponent) as ForwardRefExoticComponent<\n Pick<BottomSheetProps, 'children' | 'hasScrollView' | 'hasHandle' | 'hasBackdrop'> &\n RefAttributes<BottomSheetModalMethods>\n> & { View: () => void };\n\nBottomSheet.View = function View(): null {\n return null;\n};\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 { css } from '@linaria/core';\nimport type { ReactElement } from 'react';\nimport { useEffect } from 'react';\nimport { Portal } from 'react-portal';\nimport type { ModalBehaviourPortalProps } from './ModalBehaviourPortal';\n\nconst overflowHidden = css`\n overflow: hidden;\n`;\n\nfunction useBlockBodyScroll(isScrollBlocked: boolean): void {\n useEffect(() => {\n if (isScrollBlocked) {\n document.body.classList.add(overflowHidden);\n } else {\n document.body.classList.remove(overflowHidden);\n }\n\n return () => {\n document.body.classList.remove(overflowHidden);\n };\n }, [isScrollBlocked]);\n}\n\nexport function ModalBehaviourPortal({ visible, children }: ModalBehaviourPortalProps): ReactElement {\n useBlockBodyScroll(Boolean(visible));\n\n // eslint-disable-next-line react/jsx-no-useless-fragment -- Portal propTypes define a required children, preventing a null children value\n return <Portal>{children || <></>}</Portal>;\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 { css } from '@linaria/core';\nimport type { ReactElement } from 'react';\nimport { CSSTransition } from 'react-transition-group';\nimport { useTheme } from 'styled-components/native';\nimport { Overlay } from '../../Overlay/Overlay';\nimport { View } from '../../native-base/primitives';\nimport {\n webAnimationContentDuration,\n webAnimationContentEasing,\n webAnimationOverlayDuration,\n webAnimationOverlayEasing,\n} from '../../themes/late-ocean/cardModal';\nimport type { CardModalAnimationProps } from './CardModalAnimation';\nimport { CardModalRotationContainer } from './CardModalRotationContainer';\n\nconst [x1, y1, x2, y2] = webAnimationContentEasing;\n\nconst cubicBezierSlideIn = `cubic-bezier(${x1}, ${y1}, ${x2}, ${y2})`;\n\nconst contentAnimationEnter = css`\n opacity: 0;\n transform: rotateZ(5deg) scale(0.8);\n`;\n\nconst contentAnimatioEnterActive = css`\n opacity: 1;\n transform: rotateZ(0) scale(1);\n transition: all ${webAnimationContentDuration}ms ${cubicBezierSlideIn};\n`;\n\nconst contentAnimatioExit = css`\n opacity: 1;\n transform: rotateZ(0) scale(1);\n`;\n\nconst contentAnimatioExitActive = css`\n opacity: 0;\n transform: rotateZ(5deg) scale(0.8);\n transition: all ${webAnimationContentDuration}ms ${cubicBezierSlideIn};\n`;\n\nconst contentAnimationClassNames = {\n appear: contentAnimationEnter,\n appearActive: contentAnimatioEnterActive,\n enter: contentAnimationEnter,\n enterActive: contentAnimatioEnterActive,\n exit: contentAnimatioExit,\n exitActive: contentAnimatioExitActive,\n};\n\nconst [xA, yA, xB, yB] = webAnimationOverlayEasing;\n\nconst cubicBezierOverlayEasing = `cubic-bezier(${xA}, ${yA}, ${xB}, ${yB})`;\n\nconst opacityEnter = css`\n opacity: 0;\n`;\n\nconst opacityEnterActive = css`\n opacity: 1;\n transition: opacity ${webAnimationOverlayDuration}ms ${cubicBezierOverlayEasing};\n`;\n\nconst opacityExit = css`\n opacity: 1;\n`;\n\nconst opacityExitActive = css`\n opacity: 0;\n transition: opacity ${webAnimationOverlayDuration}ms ${cubicBezierOverlayEasing};\n`;\n\nconst opacityClassNames = {\n appear: opacityEnter,\n appearActive: opacityEnterActive,\n enter: opacityEnter,\n enterActive: opacityEnterActive,\n exit: opacityExit,\n exitActive: opacityExitActive,\n};\n\nexport function CardModalAnimation({\n children,\n appear = true,\n visible,\n unmountOnExit = true,\n isAnimationEnabled = true,\n onEnter,\n onEntered,\n onExit,\n onExited,\n onClose,\n ...props\n}: CardModalAnimationProps): ReactElement {\n const theme = useTheme();\n const { animation } = theme.kitt.cardModal;\n\n const sharedProps = {\n in: visible,\n appear,\n unmountOnExit,\n };\n\n return (\n <View {...props} height=\"100%\" justifyContent=\"center\">\n <CSSTransition\n {...sharedProps}\n timeout={isAnimationEnabled ? animation.overlay.duration : 0}\n classNames={opacityClassNames}\n >\n <Overlay onPress={onClose} />\n </CSSTransition>\n\n <CSSTransition\n {...sharedProps}\n timeout={isAnimationEnabled ? animation.content.duration : 0}\n classNames={contentAnimationClassNames}\n onEnter={onEnter}\n onEntered={onEntered}\n onExit={onExit}\n onExited={onExited}\n >\n <CardModalRotationContainer alignItems=\"center\" margin=\"auto\">\n {children}\n </CardModalRotationContainer>\n </CSSTransition>\n </View>\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';\n\nexport const useNativeAnimation = (): {\n onPressIn: () => void;\n onPressOut: () => void;\n backgroundStyles?: ViewStyle;\n} => {\n return {\n onPressIn: () => {},\n onPressOut: () => {},\n backgroundStyles: undefined,\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 { css } from '@linaria/core';\nimport type { ReactElement } from 'react';\nimport { CSSTransition } from 'react-transition-group';\nimport { useTheme } from 'styled-components/native';\nimport { Overlay } from '../../Overlay/Overlay';\nimport { View } from '../../native-base/primitives';\nimport {\n webAnimationContentDuration,\n webAnimationContentEasing,\n webAnimationOverlayDuration,\n webAnimationOverlayEasing,\n} from '../../themes/late-ocean/dialogModal';\nimport type { DialogModalAnimationProps } from './DialogModalAnimation';\n\nconst [x1, y1, x2, y2] = webAnimationContentEasing;\n\nconst cubicBezierSlideIn = `cubic-bezier(${x1}, ${y1}, ${x2}, ${y2})`;\n\nconst contentAnimationEnter = css`\n opacity: 0;\n transform: rotateZ(5deg) scale(0.8);\n`;\n\nconst contentAnimatioEnterActive = css`\n opacity: 1;\n transform: rotateZ(0) scale(1);\n transition: all ${webAnimationContentDuration}ms ${cubicBezierSlideIn};\n`;\n\nconst contentAnimatioExit = css`\n opacity: 1;\n transform: rotateZ(0) scale(1);\n`;\n\nconst contentAnimatioExitActive = css`\n opacity: 0;\n transform: rotateZ(5deg) scale(0.8);\n transition: all ${webAnimationContentDuration}ms ${cubicBezierSlideIn};\n`;\n\nconst contentAnimationClassNames = {\n appear: contentAnimationEnter,\n appearActive: contentAnimatioEnterActive,\n enter: contentAnimationEnter,\n enterActive: contentAnimatioEnterActive,\n exit: contentAnimatioExit,\n exitActive: contentAnimatioExitActive,\n};\n\nconst [xA, yA, xB, yB] = webAnimationOverlayEasing;\n\nconst cubicBezierOverlayEasing = `cubic-bezier(${xA}, ${yA}, ${xB}, ${yB})`;\n\nconst opacityEnter = css`\n opacity: 0;\n`;\n\nconst opacityEnterActive = css`\n opacity: 1;\n transition: opacity ${webAnimationOverlayDuration}ms ${cubicBezierOverlayEasing};\n`;\n\nconst opacityExit = css`\n opacity: 1;\n`;\n\nconst opacityExitActive = css`\n opacity: 0;\n transition: opacity ${webAnimationOverlayDuration}ms ${cubicBezierOverlayEasing};\n`;\n\nconst opacityClassNames = {\n appear: opacityEnter,\n appearActive: opacityEnterActive,\n enter: opacityEnter,\n enterActive: opacityEnterActive,\n exit: opacityExit,\n exitActive: opacityExitActive,\n};\n\nexport function DialogModalAnimation({\n children,\n appear = true,\n visible,\n unmountOnExit = true,\n isAnimationEnabled = true,\n onEnter,\n onEntered,\n onExit,\n onExited,\n onClose,\n ...props\n}: DialogModalAnimationProps): ReactElement {\n const theme = useTheme();\n const { animation } = theme.kitt.dialogModal;\n\n const sharedProps = {\n in: visible,\n appear,\n unmountOnExit,\n };\n\n return (\n <View {...props} height=\"100%\" justifyContent=\"center\">\n <CSSTransition\n {...sharedProps}\n timeout={isAnimationEnabled ? animation.overlay.duration : 0}\n classNames={opacityClassNames}\n >\n <Overlay onPress={onClose} />\n </CSSTransition>\n\n <CSSTransition\n {...sharedProps}\n timeout={isAnimationEnabled ? animation.content.duration : 0}\n classNames={contentAnimationClassNames}\n onEnter={onEnter}\n onEntered={onEntered}\n onExit={onExit}\n onExited={onExited}\n >\n <View\n alignItems=\"center\"\n paddingX=\"kitt.dialogModal.overlayPadding.horizontal\"\n paddingY=\"kitt.dialogModal.overlayPadding.vertical\"\n margin=\"auto\"\n >\n {children}\n </View>\n </CSSTransition>\n </View>\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 type { ReactElement, VoidFunctionComponent } from 'react';\nimport type { ExternalLinkProps, ExternalLinkSendableComponentProps } from './ExternalLink';\nimport { defaultOpenLinkBehavior } from './ExternalLinkOpenLinkBehavior';\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 return (\n <Component\n {...(rest as any)}\n href={href}\n hrefAttrs={openLinkBehavior?.web === 'targetSelf' ? undefined : { target: '_blank', rel: 'noopener noreferrer' }}\n onPress={onPress}\n />\n );\n}\n","interface GetBackgroundColorParams {\n isDisabled?: boolean;\n isChecked?: boolean;\n isPressed?: boolean;\n isHovered?: boolean;\n isFocused?: boolean;\n}\n\nexport function getBackgroundColor({\n isDisabled,\n isPressed,\n isHovered,\n isFocused,\n isChecked,\n}: GetBackgroundColorParams): string {\n if (isChecked) return 'kitt.forms.checkbox.checked.backgroundColor';\n\n if (isDisabled) return 'kitt.forms.checkbox.disabled.backgroundColor';\n\n if (isPressed) return 'kitt.forms.checkbox.pressed.backgroundColor';\n\n if (isHovered) return 'kitt.forms.checkbox.hover.backgroundColor';\n\n if (isFocused) return 'kitt.forms.checkbox.focus.backgroundColor';\n\n return 'kitt.forms.checkbox.default.backgroundColor';\n}\n","interface GetBorderColorParams {\n isDisabled?: boolean;\n isChecked?: boolean;\n isPressed?: boolean;\n isHovered?: boolean;\n isFocused?: boolean;\n}\n\nexport function getBorderColor({\n isDisabled,\n isPressed,\n isHovered,\n isFocused,\n isChecked,\n}: GetBorderColorParams): string {\n if (isChecked) return 'kitt.forms.checkbox.checked.borderColor';\n\n if (isDisabled) return 'kitt.forms.checkbox.disabled.borderColor';\n\n if (isPressed) return 'kitt.forms.checkbox.pressed.borderColor';\n\n if (isHovered) return 'kitt.forms.checkbox.hover.borderColor';\n\n if (isFocused) return 'kitt.forms.checkbox.focus.borderColor';\n\n return 'kitt.forms.checkbox.default.borderColor';\n}\n","import { CheckboxMark } from '@ornikar/kitt-icons';\nimport type { ReactElement, ReactNode } from 'react';\nimport { forwardRef } from 'react';\nimport type { GestureResponderEvent, PressableProps } from 'react-native';\nimport { useTheme } from 'styled-components/native';\nimport { Icon } from '../../Icon/Icon';\nimport { HStack } from '../../native-base/layout';\nimport { Pressable, View } from '../../native-base/primitives';\nimport { getBackgroundColor } from './utils/getBackgroundColor';\nimport { getBorderColor } from './utils/getBorderColor';\n\nexport interface CheckboxProps {\n checked: boolean;\n hitSlop?: number;\n testID?: string;\n id?: PressableProps['testID'];\n children?: ReactNode;\n disabled?: boolean;\n onChange: (checked: boolean, e: GestureResponderEvent) => void;\n onBlur?: (e: any) => void;\n onFocus?: (e: any) => void;\n}\n\nexport const Checkbox = forwardRef<PressableProps, CheckboxProps>(\n (\n { checked, hitSlop = 40, id, children, disabled, testID, onChange, onBlur, onFocus }: CheckboxProps,\n ref,\n ): ReactElement => {\n const theme = useTheme();\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 <Pressable\n ref={ref}\n nativeID={id}\n testID={testID}\n accessibilityRole=\"checkbox\"\n accessibilityState={{ checked }}\n hitSlop={hitSlop}\n disabled={disabled}\n onPress={handlePress}\n >\n {({ isHovered, isPressed, isFocused }) => (\n <HStack space={children ? 'kitt.forms.checkbox.textSpacing' : undefined}>\n <View\n display=\"flex\"\n flexDirection=\"row\"\n alignItems=\"center\"\n justifyContent=\"center\"\n marginTop={children ? 'kitt.1' : undefined}\n height=\"kitt.forms.checkbox.height\"\n width=\"kitt.forms.checkbox.width\"\n borderRadius=\"kitt.forms.checkbox.borderRadius\"\n borderWidth=\"kitt.forms.checkbox.borderWidth\"\n borderColor={getBorderColor({\n isDisabled: disabled,\n isFocused,\n isHovered,\n isPressed,\n isChecked: checked,\n })}\n backgroundColor={getBackgroundColor({\n isDisabled: disabled,\n isFocused,\n isHovered,\n isPressed,\n isChecked: checked,\n })}\n _web={{\n style: {\n transitionDuration: theme.kitt.forms.checkbox.transition.duration,\n transitionProperty: 'all',\n transitionTimingFunction: theme.kitt.forms.checkbox.transition.timingFunction,\n },\n }}\n >\n <View\n opacity={checked ? 1 : 0}\n _web={{\n style: {\n transitionDuration: theme.kitt.forms.checkbox.transition.duration,\n transitionProperty: 'opacity',\n transitionTimingFunction: theme.kitt.forms.checkbox.transition.timingFunction,\n },\n }}\n >\n <Icon\n align=\"center\"\n color={theme.kitt.forms.checkbox.markColor}\n size={theme.kitt.forms.checkbox.iconSize}\n icon={<CheckboxMark />}\n />\n </View>\n </View>\n\n {children ? <View flexShrink={1}>{children}</View> : null}\n </HStack>\n )}\n </Pressable>\n );\n },\n);\n","import type { TextInputProps } from 'react-native';\nimport { Platform } from 'react-native';\n\nexport function getReturnKeyTypeForNumericInput(\n returnKeyType: TextInputProps['returnKeyType'],\n): TextInputProps['returnKeyType'] {\n // returnKey is only displayed on number input on iOS if value is done\n if (Platform.OS === 'ios') return 'done';\n\n return returnKeyType;\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","import type { Reducer } from 'react';\nimport type { DatePickerProps } from '../DatePicker';\nimport { dayFormatter, monthFormatter, yearFormatter } from '../utils/dateFormatter';\nimport { getDayInInterval, getMonthInInterval, getYearInInterval } from '../utils/datePartInInterval';\n\nfunction getValueToDisplayedString(value: number | undefined): string {\n // We exclude the undefined value since 0 is a valid number\n if (value === undefined) return '';\n\n return value.toString();\n}\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}\n\ninterface DayChangeAction {\n type: 'day-change';\n nextDay?: number;\n}\n\ninterface MonthChangeAction {\n type: 'month-change';\n nextMonth?: number;\n}\n\ninterface YearChangeAction {\n type: 'year-change';\n nextYear?: number;\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 switch (action.type) {\n case 'day-change': {\n const { nextDay } = action;\n\n return {\n ...state,\n currentDay: nextDay,\n displayedDay: getValueToDisplayedString(nextDay),\n };\n }\n\n case 'month-change': {\n const { nextMonth } = action;\n\n return {\n ...state,\n currentMonth: nextMonth,\n displayedMonth: getValueToDisplayedString(nextMonth),\n };\n }\n\n case 'year-change': {\n const { nextYear } = action;\n\n return {\n ...state,\n currentYear: nextYear,\n displayedYear: getValueToDisplayedString(nextYear),\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","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 { styled } from '@linaria/react';\nimport type { DefaultTheme } from 'styled-components/native';\nimport { withTheme } from '../../utils/withTheme';\nimport type { InputTextContainerProps } from './InputTextContainer';\n\ninterface WebInputTextContainerProps extends InputTextContainerProps {\n theme: DefaultTheme;\n}\n\nexport const InputTextContainer = withTheme(styled.div<WebInputTextContainerProps>`\n display: flex;\n position: relative;\n\n & > *::-ms-clear,\n & > *::-ms-reveal {\n display: none;\n }\n\n & > * {\n transition: ${({ theme }) => {\n const { property, duration, timingFunction } = theme.kitt.forms.input.transition;\n return `${property} ${duration} ${timingFunction}`;\n }};\n }\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 | string;\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 returnKeyType?: InputTextProps['returnKeyType'];\n onChange?: InputTextProps['onChange'];\n onBlur?: () => void;\n onSubmitEditing?: InputTextProps['onSubmitEditing'];\n}\n\nexport const InputPart = forwardRef(\n (\n {\n value,\n placeholder,\n disabled,\n isFocusedInternal,\n isHoveredInternal,\n isPressedInternal,\n returnKeyType,\n onChange,\n onBlur,\n onSubmitEditing,\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 returnKeyType={returnKeyType}\n textAlign=\"center\"\n onChange={onChange}\n onBlur={onBlur}\n onSubmitEditing={onSubmitEditing}\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 { forwardRef, useReducer, useRef } from 'react';\nimport type { TextInput as RNTextInput } from 'react-native';\nimport { HStack } from '../../../native-base/layout';\nimport { View } from '../../../native-base/primitives';\nimport { getReturnKeyTypeForNumericInput } from '../../../utils/getReturnKeyTypeForNumericInput/getReturnKeyTypeForNumericInput';\nimport type { InputTextProps } from '../../InputText/InputText';\nimport type { DatePickerProps } from '../DatePicker';\nimport { keyboardDatePickerReducer } from '../reducers/keyboardDatePickerReducer';\nimport { dayFormatter, monthFormatter, yearFormatter } from '../utils/dateFormatter';\nimport { isNumber } from '../utils/isNumber';\nimport { onDatePartChange } from '../utils/onDatePartChange';\nimport { stringToNumber } from '../utils/stringToNumber';\nimport { InputPart } from './InputPart';\nimport { PartContainer } from './PartContainer';\n\ninterface KeyboardDatePickerProps extends DatePickerProps {\n onSubmitEditing?: InputTextProps['onSubmitEditing'];\n}\n\nexport const KeyboardDatePicker = forwardRef<RNTextInput, KeyboardDatePickerProps>(\n (\n {\n value,\n testID,\n id,\n stretch,\n placeholder,\n minDate,\n maxDate,\n disabled,\n isFocusedInternal,\n isHoveredInternal,\n isPressedInternal,\n returnKeyType,\n onChange,\n onBlur,\n onFocus,\n onSubmitEditing,\n ...props\n }: KeyboardDatePickerProps,\n ref,\n ): ReactElement => {\n const monthRef = useRef<RNTextInput>(null);\n const yearRef = useRef<RNTextInput>(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 });\n\n const sharedInputPartProps = {\n isFocusedInternal,\n isHoveredInternal,\n isPressedInternal,\n disabled,\n };\n\n const handleDatePartChange = (\n day: number | undefined,\n month: number | undefined,\n year: number | undefined,\n ): void => {\n onDatePartChange({ day, month, year, minDate: state.minDate, maxDate: state.maxDate, onFocus, onBlur, onChange });\n };\n\n const handleAutoFocusNextField = (currentFieldValue: string, nextFieldRef: React.RefObject<RNTextInput>): void => {\n if (currentFieldValue.length === 2 && nextFieldRef.current) {\n nextFieldRef.current.focus();\n }\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={ref}\n {...sharedInputPartProps}\n placeholder={placeholder?.day}\n value={state.displayedDay}\n returnKeyType={getReturnKeyTypeForNumericInput('next')}\n onChange={(e) => {\n const nextDay = stringToNumber(e.nativeEvent.text);\n\n dispatch({ type: 'day-change', nextDay });\n\n if (nextDay && isNumber(nextDay)) {\n handleDatePartChange(nextDay, state.currentMonth, state.currentYear);\n }\n\n handleAutoFocusNextField(e.nativeEvent.text, monthRef);\n }}\n onBlur={() => dispatch({ type: 'day-blur' })}\n onSubmitEditing={() => {\n monthRef.current?.focus();\n }}\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 returnKeyType={getReturnKeyTypeForNumericInput('next')}\n onChange={(e) => {\n const nextMonth = stringToNumber(e.nativeEvent.text);\n\n dispatch({ type: 'month-change', nextMonth });\n\n if (nextMonth && isNumber(nextMonth)) {\n handleDatePartChange(state.currentDay, nextMonth, state.currentYear);\n }\n\n handleAutoFocusNextField(e.nativeEvent.text, yearRef);\n }}\n onBlur={() => dispatch({ type: 'month-blur' })}\n onSubmitEditing={() => {\n yearRef.current?.focus();\n }}\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 returnKeyType={returnKeyType ? getReturnKeyTypeForNumericInput(returnKeyType) : undefined}\n onChange={(e) => {\n const nextYear = stringToNumber(e.nativeEvent.text);\n\n dispatch({ type: 'year-change', nextYear });\n\n if (nextYear && isNumber(nextYear)) {\n handleDatePartChange(state.currentDay, state.currentMonth, nextYear);\n }\n }}\n onBlur={() => dispatch({ type: 'year-blur' })}\n onSubmitEditing={onSubmitEditing}\n />\n </PartContainer>\n </HStack>\n </View>\n );\n },\n);\n","import type { ReactElement } from 'react';\nimport { forwardRef } from 'react';\nimport type { TextInput as RNTextInput } from 'react-native';\nimport type { DatePickerProps } from './DatePicker';\nimport { KeyboardDatePicker } from './components/KeyboardDatePicker';\n\nexport const DatePicker = forwardRef<RNTextInput, DatePickerProps>(\n ({ value, ...props }: DatePickerProps, ref): ReactElement => {\n // in apps, final-form can give a string value that will break the component\n const currentValue = value || undefined;\n\n return <KeyboardDatePicker ref={ref} {...props} value={currentValue} />;\n },\n);\n","import type { ReactElement } from 'react';\nimport { forwardRef } from 'react';\nimport type { TextInput as RNTextInput } from 'react-native';\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 const InputEmail = forwardRef<RNTextInput, InputEmailProps>((props: InputEmailProps, ref): ReactElement => {\n return (\n <InputText\n ref={ref}\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 { forwardRef, useState } from 'react';\nimport type { TextInput as RNTextInput } from 'react-native';\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 const InputPassword = forwardRef<RNTextInput, InputPasswordProps>(\n ({ isPasswordDefaultVisible, right, ...props }: InputPasswordProps, ref): ReactElement => {\n const [isVisible, setIsVisible] = useState(Boolean(isPasswordDefaultVisible));\n\n return (\n <InputText\n ref={ref}\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);\n","import type { CountryCallingCode, ParsedNumber } from 'libphonenumber-js';\nimport { getCountryCallingCode, isValidNumber, parseNumber } from 'libphonenumber-js';\nimport type { ReactElement } from 'react';\nimport { forwardRef, useState } from 'react';\nimport type { NativeSyntheticEvent, TextInput as RNTextInput, TextInputChangeEventData } from 'react-native';\nimport type { Except } from 'type-fest';\nimport { getReturnKeyTypeForNumericInput } from '../../utils/getReturnKeyTypeForNumericInput/getReturnKeyTypeForNumericInput';\nimport type { InputTextProps } from '../InputText/InputText';\nimport { InputText } from '../InputText/InputText';\n\nfunction isPhoneNumberValid(number: Record<string, never> | ParsedNumber): number is ParsedNumber {\n return isValidNumber(number as ParsedNumber);\n}\n\nfunction prefixWithZero(value: string, phoneNumberLength: number): string {\n return value.padStart(phoneNumberLength, '0');\n}\n\nexport interface InputPhoneNumberData extends ParsedNumber {\n countryCode: CountryCallingCode;\n originalNativeEventText: string;\n}\n\nexport interface InputPhoneProps extends Except<InputTextProps, 'keyboardType' | 'textContentType'> {\n phoneNumberLength?: number;\n onChange?: (event: NativeSyntheticEvent<TextInputChangeEventData>, phoneNumberData?: InputPhoneNumberData) => void;\n}\n\nexport const InputPhone = forwardRef<RNTextInput, InputPhoneProps>(\n (\n { returnKeyType, autoComplete = 'tel', phoneNumberLength = 10, value, onChange, ...props }: InputPhoneProps,\n ref,\n ): ReactElement => {\n const [currentValue, setCurrentValue] = useState(value);\n\n const currentReturnKeyType = returnKeyType ? getReturnKeyTypeForNumericInput(returnKeyType) : undefined;\n\n const handleChange = (event: NativeSyntheticEvent<TextInputChangeEventData>): void => {\n const number = parseNumber(event.nativeEvent.text);\n\n // When intl phone number is valid :\n // 1 - We extract intl data\n // 2 - We recreate the local value to display\n if (isPhoneNumberValid(number)) {\n const { phone } = number;\n\n const finalPhoneNumber = prefixWithZero(`${phone || ''}`, phoneNumberLength);\n\n const eventWithoutCountryCode = {\n ...event,\n nativeEvent: {\n ...event.nativeEvent,\n text: finalPhoneNumber,\n },\n };\n\n setCurrentValue(finalPhoneNumber);\n\n if (onChange) {\n onChange(eventWithoutCountryCode, {\n ...(number as ParsedNumber),\n countryCode: getCountryCallingCode(number.country),\n originalNativeEventText: event.nativeEvent.text,\n });\n }\n\n return;\n }\n\n // Value is correctly parsed but might not pass validation\n setCurrentValue(event.nativeEvent.text);\n if (onChange) onChange(event);\n };\n\n return (\n <InputText\n ref={ref}\n {...props}\n value={currentValue}\n keyboardType=\"phone-pad\"\n returnKeyType={currentReturnKeyType}\n autoComplete={autoComplete}\n textContentType=\"telephoneNumber\"\n onChange={handleChange}\n />\n );\n },\n);\n","import type { ReactElement, ReactNode } from 'react';\nimport { View } from 'react-native';\nimport styled, { useTheme } from 'styled-components/native';\nimport type { TypographyColor } from '../../typography/Typography';\nimport { Typography } from '../../typography/Typography';\nimport { TypographyIcon } from '../../typography/TypographyIcon';\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 = useTheme();\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 } from 'react';\nimport { useTheme } from 'styled-components/native';\nimport { View } from '../../native-base/primitives';\n\ninterface InnerCircleProps {\n isChecked?: boolean;\n}\n\nexport function InnerCircle({ isChecked }: InnerCircleProps): ReactElement {\n const theme = useTheme();\n\n const sharedTransform = [{ scale: isChecked ? 1 : 0 }];\n\n return (\n <View\n width=\"kitt.forms.radio.innerCircle.size\"\n height=\"kitt.forms.radio.innerCircle.size\"\n borderRadius=\"kitt.forms.radio.innerCircle.borderRadius\"\n backgroundColor=\"kitt.forms.radio.innerCircle.backgroundColor\"\n _web={{\n style: {\n transform: sharedTransform,\n transitionProperty: 'all',\n transitionDuration: theme.kitt.forms.radio.transition.duration,\n transitionTimingFunction: theme.kitt.forms.radio.transition.timingFunction,\n },\n }}\n _ios={{\n style: {\n transform: sharedTransform,\n },\n }}\n _android={{\n style: {\n transform: sharedTransform,\n },\n }}\n />\n );\n}\n","interface GetBackgroundColorParams {\n isDisabled?: boolean;\n isChecked?: boolean;\n isPressed?: boolean;\n isHovered?: boolean;\n isFocused?: boolean;\n}\n\nexport function getBackgroundColor({\n isDisabled,\n isPressed,\n isHovered,\n isFocused,\n isChecked,\n}: GetBackgroundColorParams): string {\n if (isChecked) return 'kitt.forms.radio.checked.backgroundColor';\n\n if (isDisabled) return 'kitt.forms.radio.disabled.backgroundColor';\n\n if (isPressed) return 'kitt.forms.radio.pressed.backgroundColor';\n\n if (isHovered) return 'kitt.forms.radio.hover.backgroundColor';\n\n if (isFocused) return 'kitt.forms.radio.focus.backgroundColor';\n\n return 'kitt.forms.radio.default.backgroundColor';\n}\n","interface GetBorderColorParams {\n isDisabled?: boolean;\n isChecked?: boolean;\n isPressed?: boolean;\n isHovered?: boolean;\n isFocused?: boolean;\n}\n\nexport function getBorderColor({\n isDisabled,\n isPressed,\n isHovered,\n isFocused,\n isChecked,\n}: GetBorderColorParams): string {\n if (isChecked) return 'kitt.forms.radio.checked.borderColor';\n\n if (isDisabled) return 'kitt.forms.radio.disabled.borderColor';\n\n if (isPressed) return 'kitt.forms.radio.pressed.borderColor';\n\n if (isHovered) return 'kitt.forms.radio.hover.borderColor';\n\n if (isFocused) return 'kitt.forms.radio.focus.borderColor';\n\n return 'kitt.forms.radio.default.borderColor';\n}\n","import type { ReactElement } from 'react';\nimport { useTheme } from 'styled-components/native';\nimport { View } from '../../native-base/primitives';\nimport { getBackgroundColor } from './utils/getBackgroundColor';\nimport { getBorderColor } from './utils/getBorderColor';\n\ninterface OuterCircleProps {\n children: ReactElement;\n isChecked?: boolean;\n isDisabled?: boolean;\n isHovered?: boolean;\n isFocused?: boolean;\n isPressed?: boolean;\n}\n\nexport function OuterCircle({\n children,\n isChecked,\n isDisabled,\n isHovered,\n isFocused,\n isPressed,\n}: OuterCircleProps): ReactElement {\n const theme = useTheme();\n\n return (\n <View\n alignItems=\"center\"\n justifyContent=\"center\"\n borderWidth=\"kitt.forms.radio.borderWidth\"\n width=\"kitt.forms.radio.size\"\n height=\"kitt.forms.radio.size\"\n borderRadius=\"kitt.forms.radio.borderRadius\"\n backgroundColor={getBackgroundColor({ isChecked, isDisabled, isFocused, isHovered, isPressed })}\n borderColor={getBorderColor({ isChecked, isDisabled, isFocused, isHovered, isPressed })}\n _web={{\n style: {\n transitionProperty: 'all',\n transitionDuration: theme.kitt.forms.radio.transition.duration,\n transitionTimingFunction: theme.kitt.forms.radio.transition.timingFunction,\n },\n }}\n >\n {children}\n </View>\n );\n}\n","import type { ReactElement, ReactNode } from 'react';\nimport { forwardRef } from 'react';\nimport type { PressableProps } from 'react-native';\nimport { HStack } from '../../native-base/layout';\nimport { Pressable } from '../../native-base/primitives';\nimport { Typography } from '../../typography/Typography';\nimport { InnerCircle } from './InnerCircle';\nimport { OuterCircle } from './OuterCircle';\n\nexport interface RadioProps {\n id?: string;\n testID?: 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 onBlur?: () => void;\n onFocus?: () => void;\n}\n\nexport const Radio = forwardRef<PressableProps, RadioProps>(\n ({ id, checked, value, disabled, children, testID, onChange, onFocus, onBlur }: RadioProps, ref): ReactElement => {\n const handlePress: PressableProps['onPress'] = () => {\n if (onFocus) onFocus();\n if (onChange) onChange(value);\n if (onBlur) onBlur();\n };\n\n return (\n <Pressable\n ref={ref}\n testID={testID}\n nativeID={id}\n disabled={disabled}\n accessibilityRole=\"radio\"\n aria-checked={checked}\n focusable={checked && !disabled}\n flexDirection=\"row\"\n alignItems=\"center\"\n onPress={handlePress}\n onFocus={onFocus}\n onBlur={onBlur}\n >\n {({ isHovered, isPressed, isFocused }) => (\n <HStack space={children ? 'kitt.2' : undefined} alignItems=\"center\">\n <OuterCircle\n isChecked={checked}\n isDisabled={disabled}\n isHovered={isHovered}\n isFocused={isFocused}\n isPressed={isPressed}\n >\n <InnerCircle isChecked={checked} />\n </OuterCircle>\n\n {children ? (\n <Typography.SetDefaultColor value={disabled ? 'black-light' : 'black'}>\n <Typography.Text base=\"body\">{children}</Typography.Text>\n </Typography.SetDefaultColor>\n ) : null}\n </HStack>\n )}\n </Pressable>\n );\n },\n);\n","interface GetCurrentBackgroundColorParams {\n isFocused?: boolean;\n isPressed?: boolean;\n isSelected?: boolean;\n isDisabled?: boolean;\n}\n\nexport function getCurrentBackgroundColor({\n isFocused,\n isPressed,\n isSelected,\n isDisabled,\n}: GetCurrentBackgroundColorParams): string {\n if (isDisabled) return 'disabled';\n\n if (isPressed) return 'pressed';\n\n if (isFocused) return 'active';\n\n if (isSelected) return 'active';\n\n return 'default';\n}\n","interface GetCurrentBorderColorParams {\n isFocused?: boolean;\n isSelected?: boolean;\n isPressed?: boolean;\n isDisabled?: boolean;\n}\n\nexport function getCurrentBorderColor({\n isFocused,\n isSelected,\n isPressed,\n isDisabled,\n}: GetCurrentBorderColorParams): string {\n if (isDisabled) return 'disabled';\n\n if (isFocused) return 'hover';\n\n if (isPressed) return 'pressed';\n\n if (isSelected) return 'active';\n\n return 'default';\n}\n","import type { ReactElement } from 'react';\nimport { useTheme } from 'styled-components/native';\nimport { View } from '../../../native-base/primitives';\nimport { getCurrentBackgroundColor } from '../utils/getCurrentBackgroundColor';\nimport { getCurrentBorderColor } from '../utils/getCurrentBorderColor';\nimport type { AnimatedContainerProps } from './AnimatedContainer';\n\nexport function AnimatedContainer({\n children,\n isFocused,\n isPressed,\n isSelected,\n isDisabled,\n isFirst,\n isLast,\n}: AnimatedContainerProps): ReactElement {\n const theme = useTheme();\n\n return (\n <View\n _web={{\n style: {\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 borderColor={`kitt.forms.radioButtonGroup.item.borderColor.${getCurrentBorderColor({\n isFocused,\n isPressed,\n isSelected,\n isDisabled,\n })}`}\n borderWidth=\"kitt.forms.radioButtonGroup.item.borderWidth\"\n backgroundColor={`kitt.forms.radioButtonGroup.item.backgroundColor.${getCurrentBackgroundColor({\n isFocused,\n isPressed,\n isSelected,\n isDisabled,\n })}`}\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 borderLeftWidth={isFirst ? 'kitt.forms.radioButtonGroup.item.borderWidth' : 0}\n >\n {children}\n </View>\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 { NativeAnimation, UseNativeAnimationOptions } from './useNativeAnimation';\n\nexport function useNativeAnimation(options: UseNativeAnimationOptions): NativeAnimation {\n return {\n onPressIn: undefined,\n onPressOut: undefined,\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 { forwardRef } from 'react';\nimport type { TextInput as RNTextInput } from 'react-native';\nimport type { InputTextProps } from '../InputText/InputText';\nimport { InputText } from '../InputText/InputText';\n\nexport interface TextAreaProps extends InputTextProps {}\n\nexport const TextArea = forwardRef<RNTextInput, TextAreaProps>(({ ...props }: TextAreaProps, ref): ReactElement => {\n return <InputText ref={ref} multiline textAlignVertical=\"top\" minHeight=\"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 } from 'react';\nimport type { ViewProps } from '../native-base/primitives';\nimport { View } from '../native-base/primitives';\nimport type { IconButtonColor } from './IconButton';\n\nfunction getBackgroundColor(color: IconButtonColor, isDisabled?: boolean): string {\n if (isDisabled) {\n return 'kitt.iconButton.disabled.backgroundColor';\n }\n\n switch (color) {\n case 'primary':\n return 'kitt.iconButton.primary.pressed.backgroundColor';\n case 'white':\n return 'kitt.iconButton.white.pressed.backgroundColor';\n case 'black':\n default:\n return 'kitt.iconButton.black.pressed.backgroundColor';\n }\n}\n\ninterface BackgroundProps extends ViewProps {\n color: IconButtonColor;\n isDisabled?: boolean;\n _web?: Partial<ViewProps>;\n}\n\nexport function Background({ color, isDisabled, ...props }: BackgroundProps): ReactElement {\n return (\n <View\n {...props}\n width=\"100%\"\n height=\"100%\"\n borderRadius=\"kitt.iconButton.borderRadius\"\n backgroundColor={getBackgroundColor(color, isDisabled)}\n />\n );\n}\n","import type { ReactElement } from 'react';\nimport { useTheme } from 'styled-components/native';\nimport type { AnimatedBackgroundProps } from './AnimatedBackground';\nimport { Background } from './Background';\n\nexport function AnimatedBackground({\n color,\n isHovered,\n isPressed,\n isFocused,\n isDisabled,\n}: AnimatedBackgroundProps): ReactElement {\n const theme = useTheme();\n const { duration, timingFunction } = theme.kitt.iconButton.transition;\n\n const shouldDisplayBackground = isHovered || isPressed || isFocused || isDisabled;\n\n return (\n <Background\n position=\"absolute\"\n top=\"0\"\n left=\"0\"\n opacity={shouldDisplayBackground ? 1 : 0}\n color={color}\n isDisabled={isDisabled}\n _web={{\n style: {\n transitionProperty: 'all',\n transitionDuration: duration,\n transitionTimingFunction: timingFunction,\n },\n }}\n />\n );\n}\n","import { useBreakpointValue } from 'native-base';\nimport type { ReactElement } from 'react';\nimport { useTheme } from 'styled-components/native';\nimport { View } from '../native-base/primitives';\nimport type { AnimatedScaleProps } from './AnimatedScale';\n\nfunction getCurrentScale(isHovered: boolean, scaleHover: number, isPressed: boolean, scalePressed: number): number {\n if (isPressed) {\n return scalePressed;\n }\n\n if (isHovered) {\n return scaleHover;\n }\n\n return 1;\n}\n\nexport function AnimatedScale({ children, isHovered, isPressed, isDisabled }: AnimatedScaleProps): ReactElement {\n const theme = useTheme();\n const { scale } = theme.kitt.iconButton;\n\n const currentHoverScale = useBreakpointValue({\n base: scale.base.hover,\n medium: scale.medium.hover,\n }) as number;\n\n const currentPressedScale = useBreakpointValue({\n base: scale.base.active,\n medium: scale.medium.active,\n }) as number;\n\n const currentScale = getCurrentScale(Boolean(isHovered), currentHoverScale, Boolean(isPressed), currentPressedScale);\n\n const { duration, timingFunction } = theme.kitt.iconButton.transition;\n\n return (\n <View\n position=\"relative\"\n alignItems=\"center\"\n justifyContent=\"center\"\n width=\"100%\"\n height=\"100%\"\n overflow=\"hidden\"\n _web={{\n style: {\n transitionProperty: 'transform',\n transitionDuration: duration,\n transitionTimingFunction: timingFunction,\n /* Simplifies the animation to just the front of the object – avoid blurry scale */\n backfaceVisibility: 'hidden',\n transform: [{ scale: isDisabled ? 1 : currentScale }],\n },\n }}\n >\n {children}\n </View>\n );\n}\n","import type { UseNativeAnimation } from './useNativeAnimation';\n\nexport function useNativeAnimation(): UseNativeAnimation {\n return {\n opacityStyles: undefined,\n scaleStyles: undefined,\n onPressIn: () => {},\n onPressOut: () => {},\n };\n}\n","import type { ReactElement } from 'react';\nimport type { PressableProps } from '../native-base/primitives';\nimport { Pressable, View } from '../native-base/primitives';\nimport { TypographyIcon } from '../typography/TypographyIcon';\nimport { AnimatedBackground } from './AnimatedBackground';\nimport { AnimatedScale } from './AnimatedScale';\nimport { useNativeAnimation } from './hooks/useNativeAnimation';\n\nexport type IconButtonColor = 'black' | 'white' | 'primary';\n\nexport interface IconButtonProps {\n icon: NonNullable<ReactElement>;\n color?: IconButtonColor;\n disabled?: boolean;\n testID?: string;\n accessibilityLabel?: PressableProps['accessibilityLabel'];\n accessibilityRole?: PressableProps['accessibilityRole'];\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?: () => void;\n}\n\nexport function IconButton({\n icon,\n color = 'black',\n disabled,\n testID,\n accessibilityLabel,\n accessibilityRole = 'button',\n isHoveredInternal,\n isPressedInternal,\n isFocusedInternal,\n onPress,\n}: IconButtonProps): ReactElement {\n const { onPressIn, onPressOut, opacityStyles, scaleStyles } = useNativeAnimation({\n isDisabled: disabled,\n isPressed: isPressedInternal,\n });\n\n return (\n <Pressable\n testID={testID}\n disabled={disabled}\n width=\"kitt.iconButton.width\"\n height=\"kitt.iconButton.height\"\n accessibilityLabel={accessibilityLabel}\n accessibilityRole={accessibilityRole}\n _web={{\n style: {\n backfaceVisibility: 'hidden',\n transform: [{ translate3d: '0' }],\n },\n }}\n borderRadius=\"kitt.iconButton.borderRadius\"\n borderColor={disabled ? 'kitt.iconButton.disabled.borderColor' : 'kitt.iconButton.borderColor'}\n borderWidth={disabled ? 'kitt.iconButton.borderWidth' : 0}\n onPress={onPress}\n onPressIn={onPressIn}\n onPressOut={onPressOut}\n >\n {({ isHovered, isPressed, isFocused }) => {\n const isCurrentHovered = isHovered || isHoveredInternal;\n const isCurrentPressed = isPressed || isPressedInternal;\n const isCurrentFocused = isFocused || isFocusedInternal;\n\n return (\n <AnimatedScale\n isDisabled={disabled}\n isHovered={isCurrentHovered}\n isPressed={isCurrentPressed}\n scaleStyles={scaleStyles}\n >\n <AnimatedBackground\n color={color}\n isDisabled={disabled}\n isHovered={isCurrentHovered}\n isPressed={isCurrentPressed}\n isFocused={isCurrentFocused}\n opacityStyles={opacityStyles}\n />\n <View alignItems=\"center\" justifyContent=\"center\">\n <TypographyIcon color={disabled ? 'black-light' : color} icon={icon} />\n </View>\n </AnimatedScale>\n );\n }}\n </Pressable>\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=\"currentColor\" 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=\"currentColor\" 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 { useSx } from 'native-base';\nimport type { ColorType } from 'native-base/lib/typescript/components/types';\nimport type { ReactElement } from 'react';\nimport { lateOceanColorPalette } from 'themes/palettes/lateOceanColorPalette';\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\ninterface BaseMarkerWithColorProp {\n color?: ColorType;\n}\n\nexport type MapMarkerProps = BaseMarkerWithSizeProps | BaseMarkerWithoutSizeProps;\n\nexport function MapMarkerSimple({\n width = 40,\n height = 39,\n color = lateOceanColorPalette.lateOcean,\n}: MapMarkerProps & BaseMarkerWithColorProp): ReactElement {\n const sx = useSx();\n const styles = sx({\n color,\n });\n\n return <DefaultMarkerSvg width={width} height={height} color={styles.color} />;\n}\n\nexport function MapMarkerLarge({\n width = 54,\n height = 56,\n color = lateOceanColorPalette.lateOcean,\n}: MapMarkerProps & BaseMarkerWithColorProp): ReactElement {\n const sx = useSx();\n const styles = sx({\n color,\n });\n\n return <LargeMarkerSvg width={width} height={height} color={styles.color} />;\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 { Icon } from '../Icon/Icon';\nimport { IconButton } from '../IconButton/IconButton';\nimport { HStack } from '../native-base/layout';\nimport { View } from '../native-base/primitives';\nimport { Typography } from '../typography/Typography';\nimport { IconContent } from './IconContent';\nimport { getColorByType, getIconButtonColor } from './helper';\n\nexport type MessageType = 'success' | 'warning' | 'danger' | 'info';\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 <HStack\n alignItems=\"flex-start\"\n justifyContent=\"space-between\"\n minHeight=\"kitt.feedbackMessage.minHeight\"\n paddingTop={insets?.top}\n borderRadius={hasNoRadius ? undefined : 'kitt.5'}\n backgroundColor={`kitt.feedbackMessage.${type}.backgroundColor`}\n >\n <HStack\n flexGrow={1}\n alignSelf=\"center\"\n alignItems=\"flex-start\"\n flexShrink={1}\n paddingY=\"kitt.4\"\n paddingX=\"kitt.5\"\n >\n {centeredText ? null : (\n <View marginTop=\"kitt.1\" marginRight=\"kitt.5\">\n <Icon color={color} icon={<IconContent type={type} color={color} />} />\n </View>\n )}\n <Typography.Text flexGrow={1} textAlign={centeredText ? 'center' : 'left'} base=\"body\" color={color}>\n {children}\n </Typography.Text>\n </HStack>\n\n {onDismiss ? (\n <View alignItems=\"center\" marginTop={10} marginRight=\"kitt.2\" marginLeft=\"kitt.5\">\n <IconButton color={getIconButtonColor(type)} icon={<XIcon />} onPress={onDismiss} />\n </View>\n ) : null}\n </HStack>\n );\n}\n","import type { ReactElement } from 'react';\nimport type { BaseMessageProps } from '../BaseMessage/BaseMessage';\nimport { BaseMessage } from '../BaseMessage/BaseMessage';\n\nexport interface MessageProps extends BaseMessageProps {}\n\nexport function Message({\n type = 'info',\n children,\n hasNoRadius,\n centeredText,\n insets,\n onDismiss,\n}: MessageProps): ReactElement {\n return (\n <BaseMessage\n insets={insets}\n hasNoRadius={hasNoRadius}\n type={type}\n centeredText={centeredText}\n onDismiss={onDismiss}\n >\n {children}\n </BaseMessage>\n );\n}\n","import type { ReactElement, ReactNode } from 'react';\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 { 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 supportedOrientations={['landscape', 'portrait']}\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 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>}`;\ntype KittNegativeSize = `-kitt.${Exclude<Enumerate<65>, 0>}`;\n\ntype KittScaleRecord = Record<KittSize, number>;\ntype KittNegativeScaleRecord = Record<KittNegativeSize, number>;\ninterface KittSizeRecord {\n positive: Partial<KittScaleRecord>;\n negative: Partial<KittNegativeScaleRecord>;\n}\n\nconst createKittSpaces = (spacing: number): KittSizeRecord => {\n const MAX_SIZE = 64;\n const sizes: KittSizeRecord = {\n positive: {},\n negative: {},\n };\n for (let size = 1; size <= MAX_SIZE; size++) {\n sizes.positive[`kitt.${size}` as KittSize] = size * spacing;\n sizes.negative[`-kitt.${size}` as KittNegativeSize] = -size * spacing;\n }\n return sizes;\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 actionCard: {\n secondary: {\n default: {\n backgroundColor: theme.actionCard.secondary.default.backgroundColor,\n borderColor: theme.actionCard.secondary.default.borderColor,\n },\n disabled: {\n backgroundColor: theme.actionCard.secondary.disabled.backgroundColor,\n borderColor: theme.actionCard.secondary.disabled.borderColor,\n },\n hovered: {\n backgroundColor: theme.actionCard.secondary.hovered.backgroundColor,\n borderColor: theme.actionCard.secondary.hovered.borderColor,\n },\n focused: {\n backgroundColor: theme.actionCard.secondary.focused.backgroundColor,\n borderColor: theme.actionCard.secondary.focused.borderColor,\n },\n pressed: {\n backgroundColor: theme.actionCard.secondary.pressed.backgroundColor,\n borderColor: theme.actionCard.secondary.pressed.borderColor,\n },\n },\n primary: {\n default: {\n backgroundColor: theme.actionCard.primary.default.backgroundColor,\n borderColor: theme.actionCard.primary.default.borderColor,\n },\n disabled: {\n backgroundColor: theme.actionCard.primary.disabled.backgroundColor,\n borderColor: theme.actionCard.primary.disabled.borderColor,\n },\n hovered: {\n backgroundColor: theme.actionCard.primary.hovered.backgroundColor,\n borderColor: theme.actionCard.primary.hovered.borderColor,\n },\n focused: {\n backgroundColor: theme.actionCard.primary.focused.backgroundColor,\n borderColor: theme.actionCard.primary.focused.borderColor,\n },\n pressed: {\n backgroundColor: theme.actionCard.primary.pressed.backgroundColor,\n borderColor: theme.actionCard.primary.pressed.borderColor,\n },\n },\n highlight: {\n default: {\n backgroundColor: theme.actionCard.highlight.default.backgroundColor,\n borderColor: theme.actionCard.highlight.default.borderColor,\n },\n disabled: {\n backgroundColor: theme.actionCard.highlight.disabled.backgroundColor,\n borderColor: theme.actionCard.highlight.disabled.borderColor,\n },\n hovered: {\n backgroundColor: theme.actionCard.highlight.hovered.backgroundColor,\n borderColor: theme.actionCard.highlight.hovered.borderColor,\n },\n focused: {\n backgroundColor: theme.actionCard.highlight.focused.backgroundColor,\n borderColor: theme.actionCard.highlight.focused.borderColor,\n },\n pressed: {\n backgroundColor: theme.actionCard.highlight.pressed.backgroundColor,\n borderColor: theme.actionCard.highlight.pressed.borderColor,\n },\n },\n },\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 danger: theme.button.danger,\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 feedbackMessage: {\n danger: { backgroundColor: theme.feedbackMessage.danger.backgroundColor },\n info: { backgroundColor: theme.feedbackMessage.info.backgroundColor },\n success: { backgroundColor: theme.feedbackMessage.success.backgroundColor },\n warning: { backgroundColor: theme.feedbackMessage.warning.backgroundColor },\n },\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 checkbox: {\n markColor: theme.forms.checkbox.markColor,\n checked: {\n backgroundColor: theme.forms.checkbox.checked.backgroundColor,\n borderColor: theme.forms.checkbox.checked.borderColor,\n },\n hover: {\n backgroundColor: theme.forms.checkbox.hover.backgroundColor,\n borderColor: theme.forms.checkbox.hover.borderColor,\n },\n pressed: {\n backgroundColor: theme.forms.checkbox.pressed.backgroundColor,\n borderColor: theme.forms.checkbox.pressed.borderColor,\n },\n focus: {\n backgroundColor: theme.forms.checkbox.focus.backgroundColor,\n borderColor: theme.forms.checkbox.focus.borderColor,\n },\n default: {\n backgroundColor: theme.forms.checkbox.default.backgroundColor,\n borderColor: theme.forms.checkbox.default.borderColor,\n },\n },\n radio: {\n checked: {\n backgroundColor: theme.forms.radio.checked.backgroundColor,\n borderColor: theme.forms.radio.checked.borderColor,\n },\n hover: {\n backgroundColor: theme.forms.radio.hover.backgroundColor,\n borderColor: theme.forms.radio.hover.borderColor,\n },\n pressed: {\n backgroundColor: theme.forms.radio.pressed.backgroundColor,\n borderColor: theme.forms.radio.pressed.borderColor,\n },\n focus: {\n backgroundColor: theme.forms.radio.pressed.backgroundColor,\n borderColor: theme.forms.radio.pressed.borderColor,\n },\n disabled: {\n backgroundColor: theme.forms.radio.disabled.backgroundColor,\n borderColor: theme.forms.radio.disabled.borderColor,\n },\n default: {\n backgroundColor: theme.forms.radio.unchecked.backgroundColor,\n borderColor: theme.forms.radio.unchecked.borderColor,\n },\n innerCircle: {\n backgroundColor: theme.forms.radio.checked.innerBackgroundColor,\n },\n },\n },\n skeleton: {\n backgroundColor: theme.skeleton.backgroundColor,\n flareColor: theme.skeleton.flareColor,\n },\n iconButton: {\n borderColor: theme.iconButton.borderColor,\n disabled: {\n borderColor: theme.iconButton.disabled.borderColor,\n backgroundColor: theme.iconButton.disabled.backgroundColor,\n },\n black: {\n pressed: {\n backgroundColor: theme.iconButton.default.pressedBackgroundColor,\n },\n },\n white: {\n pressed: {\n backgroundColor: theme.iconButton.white.pressedBackgroundColor,\n },\n },\n primary: {\n pressed: {\n backgroundColor: theme.iconButton.primary.pressedBackgroundColor,\n },\n },\n },\n },\n app: appTheme?.colors,\n },\n radii: {\n // Make original native base values unusable\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 '2xl': Number.MAX_SAFE_INTEGER,\n '3xl': Number.MAX_SAFE_INTEGER,\n xs: Number.MAX_SAFE_INTEGER,\n\n // Allow values like kitt.X\n ...spaces.positive,\n\n kitt: {\n actionCard: {\n borderRadius: theme.actionCard.borderRadius,\n },\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 checkbox: {\n borderRadius: theme.forms.checkbox.borderRadius,\n },\n radio: {\n borderRadius: theme.forms.radio.size * 0.5,\n innerCircle: {\n borderRadius: theme.forms.radio.checked.innerSize * 0.5,\n },\n },\n },\n iconButton: {\n borderRadius: theme.iconButton.borderRadius,\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 actionCard: {\n secondary: {\n default: {\n borderWidth: theme.actionCard.secondary.default.borderWidth,\n },\n disabled: {\n borderWidth: theme.actionCard.secondary.disabled.borderWidth,\n },\n hovered: {\n borderWidth: theme.actionCard.secondary.hovered.borderWidth,\n },\n focused: {\n borderWidth: theme.actionCard.secondary.focused.borderWidth,\n },\n pressed: {\n borderWidth: theme.actionCard.secondary.pressed.borderWidth,\n },\n },\n primary: {\n default: {\n borderWidth: theme.actionCard.primary.default.borderWidth,\n },\n disabled: {\n borderWidth: theme.actionCard.primary.disabled.borderWidth,\n },\n hovered: {\n borderWidth: theme.actionCard.primary.hovered.borderWidth,\n },\n focused: {\n borderWidth: theme.actionCard.primary.focused.borderWidth,\n },\n pressed: {\n borderWidth: theme.actionCard.primary.pressed.borderWidth,\n },\n },\n highlight: {\n default: {\n borderWidth: theme.actionCard.highlight.default.borderWidth,\n },\n disabled: {\n borderWidth: theme.actionCard.highlight.disabled.borderWidth,\n },\n hovered: {\n borderWidth: theme.actionCard.highlight.hovered.borderWidth,\n },\n focused: {\n borderWidth: theme.actionCard.highlight.focused.borderWidth,\n },\n pressed: {\n borderWidth: theme.actionCard.highlight.pressed.borderWidth,\n },\n },\n },\n button: {\n borderWidth: theme.button.borderWidth,\n },\n iconButton: {\n borderWidth: theme.iconButton.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 checkbox: {\n borderWidth: theme.forms.checkbox.borderWidth,\n },\n radio: {\n borderWidth: theme.forms.radio.unchecked.borderWidth,\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.positive,\n ...spaces.negative,\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 icon: {\n defaultSize: 20,\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 feedbackMessage: {\n minHeight: theme.feedbackMessage.minHeight,\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 checkbox: {\n height: theme.forms.checkbox.height,\n width: theme.forms.checkbox.width,\n iconSize: theme.forms.checkbox.iconSize,\n textSpacing: theme.forms.checkbox.textSpacing,\n },\n radio: {\n size: theme.forms.radio.size,\n innerCircle: {\n size: theme.forms.radio.checked.innerSize,\n },\n },\n textArea: {\n minHeight: theme.forms.textArea.minHeight,\n },\n },\n iconButton: {\n size: theme.iconButton.width - theme.iconButton.borderWidth,\n width: theme.iconButton.width,\n height: theme.iconButton.height,\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.positive,\n ...spaces.negative,\n ...overridenNativeBaseSizeandSpaceScale,\n kitt: {\n bottomSheet: {\n container: {\n padding: theme.bottomSheet.container.padding,\n },\n },\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 actionCard: {\n secondary: {\n default: {\n shadow: {\n shadowColor: theme.actionCard.secondary.default.shadow.color,\n shadowOffset: {\n width: theme.actionCard.secondary.default.shadow.offsetX,\n height: theme.actionCard.secondary.default.shadow.offsetY,\n },\n shadowOpacity: theme.actionCard.secondary.default.shadow.opacity,\n shadowRadius: theme.actionCard.secondary.default.shadow.radius,\n },\n },\n hovered: {\n shadow: {\n shadowColor: theme.actionCard.secondary.hovered.shadow.color,\n shadowOffset: {\n width: theme.actionCard.secondary.hovered.shadow.offsetX,\n height: theme.actionCard.secondary.hovered.shadow.offsetY,\n },\n shadowOpacity: theme.actionCard.secondary.hovered.shadow.opacity,\n shadowRadius: theme.actionCard.secondary.hovered.shadow.radius,\n },\n },\n focused: {\n shadow: {\n shadowColor: theme.actionCard.secondary.focused.shadow.color,\n shadowOffset: {\n width: theme.actionCard.secondary.focused.shadow.offsetX,\n height: theme.actionCard.secondary.focused.shadow.offsetY,\n },\n shadowOpacity: theme.actionCard.secondary.focused.shadow.opacity,\n shadowRadius: theme.actionCard.secondary.focused.shadow.radius,\n },\n },\n pressed: {\n shadow: {\n shadowColor: theme.actionCard.secondary.pressed.shadow.color,\n shadowOffset: {\n width: theme.actionCard.secondary.pressed.shadow.offsetX,\n height: theme.actionCard.secondary.pressed.shadow.offsetY,\n },\n shadowOpacity: theme.actionCard.secondary.pressed.shadow.opacity,\n shadowRadius: theme.actionCard.secondary.pressed.shadow.radius,\n },\n },\n },\n primary: {\n default: {\n shadow: {\n shadowColor: theme.actionCard.primary.default.shadow.color,\n shadowOffset: {\n width: theme.actionCard.primary.default.shadow.offsetX,\n height: theme.actionCard.primary.default.shadow.offsetY,\n },\n shadowOpacity: theme.actionCard.primary.default.shadow.opacity,\n shadowRadius: theme.actionCard.primary.default.shadow.radius,\n },\n },\n hovered: {\n shadow: {\n shadowColor: theme.actionCard.primary.hovered.shadow.color,\n shadowOffset: {\n width: theme.actionCard.primary.hovered.shadow.offsetX,\n height: theme.actionCard.primary.hovered.shadow.offsetY,\n },\n shadowOpacity: theme.actionCard.primary.hovered.shadow.opacity,\n shadowRadius: theme.actionCard.primary.hovered.shadow.radius,\n },\n },\n focused: {\n shadow: {\n shadowColor: theme.actionCard.primary.focused.shadow.color,\n shadowOffset: {\n width: theme.actionCard.primary.focused.shadow.offsetX,\n height: theme.actionCard.primary.focused.shadow.offsetY,\n },\n shadowOpacity: theme.actionCard.primary.focused.shadow.opacity,\n shadowRadius: theme.actionCard.primary.focused.shadow.radius,\n },\n },\n pressed: {\n shadow: {\n shadowColor: theme.actionCard.highlight.pressed.shadow.color,\n shadowOffset: {\n width: theme.actionCard.highlight.pressed.shadow.offsetX,\n height: theme.actionCard.highlight.pressed.shadow.offsetY,\n },\n shadowOpacity: theme.actionCard.highlight.pressed.shadow.opacity,\n shadowRadius: theme.actionCard.highlight.pressed.shadow.radius,\n },\n },\n },\n highlight: {\n default: {\n shadow: {\n shadowColor: theme.actionCard.highlight.default.shadow.color,\n shadowOffset: {\n width: theme.actionCard.highlight.default.shadow.offsetX,\n height: theme.actionCard.highlight.default.shadow.offsetY,\n },\n shadowOpacity: theme.actionCard.highlight.default.shadow.opacity,\n shadowRadius: theme.actionCard.highlight.default.shadow.radius,\n },\n },\n hovered: {\n shadow: {\n shadowColor: theme.actionCard.highlight.hovered.shadow.color,\n shadowOffset: {\n width: theme.actionCard.highlight.hovered.shadow.offsetX,\n height: theme.actionCard.highlight.hovered.shadow.offsetY,\n },\n shadowOpacity: theme.actionCard.highlight.hovered.shadow.opacity,\n shadowRadius: theme.actionCard.highlight.hovered.shadow.radius,\n },\n },\n focused: {\n shadow: {\n shadowColor: theme.actionCard.highlight.focused.shadow.color,\n shadowOffset: {\n width: theme.actionCard.highlight.focused.shadow.offsetX,\n height: theme.actionCard.highlight.focused.shadow.offsetY,\n },\n shadowOpacity: theme.actionCard.highlight.focused.shadow.opacity,\n shadowRadius: theme.actionCard.highlight.focused.shadow.radius,\n },\n },\n pressed: {\n shadow: {\n shadowColor: theme.actionCard.highlight.pressed.shadow.color,\n shadowOffset: {\n width: theme.actionCard.highlight.pressed.shadow.offsetX,\n height: theme.actionCard.highlight.pressed.shadow.offsetY,\n },\n shadowOpacity: theme.actionCard.highlight.pressed.shadow.opacity,\n shadowRadius: theme.actionCard.highlight.pressed.shadow.radius,\n },\n },\n },\n },\n cardModal: {\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 boxShadow: 'none',\n },\n },\n _ios: {\n selectionColor: theme.forms.input.color.selection,\n },\n _android: {\n selectionColor: theme.forms.input.color.selection,\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.positive & typeof spaces.negative };\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 { css } from '@linaria/core';\nimport type { ReactElement } from 'react';\nimport { CSSTransition } from 'react-transition-group';\nimport { useTheme } from 'styled-components/native';\nimport { Overlay } from '../Overlay/Overlay';\nimport { View } from '../native-base/primitives';\nimport {\n webAnimationContentDuration,\n webAnimationContentEasing,\n webAnimationOverlayDuration,\n webAnimationOverlayEasing,\n} from '../themes/late-ocean/navigationModal';\nimport type { NavigationModalAnimationProps } from './NavigationModalAnimation';\n\nconst [x1, y1, x2, y2] = webAnimationContentEasing;\n\nconst cubicBezierSlideIn = `cubic-bezier(${x1}, ${y1}, ${x2}, ${y2})`;\n\nconst slideInFromBottomEnter = css`\n transform: translateY(100%);\n`;\n\nconst slideInFromBottomEnterActive = css`\n transform: translateY(0);\n transition: transform ${webAnimationContentDuration}ms ${cubicBezierSlideIn};\n`;\n\nconst slideInFromBottomExit = css`\n transform: translateY(0);\n`;\n\nconst slideInFromBottomExitActive = css`\n transform: translateY(100%);\n transition: transform ${webAnimationContentDuration}ms ${cubicBezierSlideIn};\n`;\n\nconst slideInClassNames = {\n appear: slideInFromBottomEnter,\n appearActive: slideInFromBottomEnterActive,\n enter: slideInFromBottomEnter,\n enterActive: slideInFromBottomEnterActive,\n exit: slideInFromBottomExit,\n exitActive: slideInFromBottomExitActive,\n};\n\nconst [xA, yA, xB, yB] = webAnimationOverlayEasing;\n\nconst cubicBezierOpacity = `cubic-bezier(${xA}, ${yA}, ${xB}, ${yB})`;\n\nconst opacityEnter = css`\n opacity: 0;\n`;\n\nconst opacityEnterActive = css`\n opacity: 1;\n transition: opacity ${webAnimationOverlayDuration}ms ${cubicBezierOpacity};\n`;\n\nconst opacityExit = css`\n opacity: 1;\n`;\n\nconst opacityExitActive = css`\n opacity: 0;\n transition: opacity ${webAnimationOverlayDuration}ms ${cubicBezierOpacity};\n`;\n\nconst opacityClassNames = {\n appear: opacityEnter,\n appearActive: opacityEnterActive,\n enter: opacityEnter,\n enterActive: opacityEnterActive,\n exit: opacityExit,\n exitActive: opacityExitActive,\n};\n\nexport function NavigationModalAnimation({\n children,\n appear = true,\n visible,\n unmountOnExit = true,\n isAnimationEnabled = true,\n onEnter,\n onEntered,\n onExit,\n onExited,\n onClose,\n ...props\n}: NavigationModalAnimationProps): ReactElement {\n const theme = useTheme();\n const { animation } = theme.kitt.navigationModal;\n\n const sharedProps = {\n in: visible,\n appear,\n unmountOnExit,\n };\n\n return (\n <View {...props}>\n <CSSTransition\n {...sharedProps}\n timeout={isAnimationEnabled ? animation.overlay.duration : 0}\n classNames={opacityClassNames}\n >\n <Overlay onPress={onClose} />\n </CSSTransition>\n\n <CSSTransition\n {...sharedProps}\n timeout={isAnimationEnabled ? animation.content.duration : 0}\n classNames={slideInClassNames}\n onEnter={onEnter}\n onEntered={onEntered}\n onExit={onExit}\n onExited={onExited}\n >\n {children}\n </CSSTransition>\n </View>\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 { styled } from '@linaria/react';\nimport type { ReactElement } from 'react';\nimport type { DefaultTheme } from 'styled-components/native';\nimport { useTheme } from 'styled-components/native';\nimport { withTheme } from '../utils/withTheme';\n\ninterface PageLoaderContainerProps {\n theme: DefaultTheme;\n $circlePerimeter: number;\n}\n\nconst PageLoaderContainer = withTheme(styled.div<PageLoaderContainerProps>`\n @keyframes PageLoaderInit {\n 0% {\n stroke-dashoffset: ${({ $circlePerimeter }) => $circlePerimeter}px;\n }\n\n 100% {\n stroke-dashoffset: 0;\n }\n }\n\n /** Primary circle animation **/\n @keyframes PageLoaderOffset {\n 0% {\n stroke-dashoffset: ${({ $circlePerimeter }) => $circlePerimeter}px;\n }\n\n /** 20% of this radius and represent the min offset part of the animated circle */\n 100% {\n stroke-dashoffset: ${({ $circlePerimeter }) => $circlePerimeter * 0.2}px;\n }\n }\n\n @keyframes PageLoaderRotation {\n 0% {\n transform: rotate(0deg);\n }\n\n 100% {\n transform: rotate(360deg);\n }\n }\n\n width: ${({ theme }) => theme.kitt.pageLoader.size}px;\n height: ${({ theme }) => theme.kitt.pageLoader.size}px;\n\n /* Needed to make the animation starting from the top of the circles */\n transform: scale(-1) rotate(90deg);\n\n & circle,\n & g {\n transform-origin: center center;\n }\n\n & circle {\n stroke-width: ${({ theme }) => theme.kitt.pageLoader.strokeWidth}px;\n stroke-dasharray: ${({ $circlePerimeter }) => $circlePerimeter}px;\n stroke-dashoffset: ${({ $circlePerimeter }) => $circlePerimeter}px;\n stroke-linecap: round;\n }\n\n & g[data-large-loader='base'] circle {\n stroke: ${({ theme }) => theme.kitt.pageLoader.colors.base};\n animation: ${({ theme }) => {\n const { animation } = theme.kitt.pageLoader;\n const [x1, y1, x2, y2] = animation.fillEasingFunction;\n\n return `${animation.circleBackgroundFillDuration}ms cubic-bezier(${x1}, ${y1}, ${x2}, ${y2}) ${animation.delay}ms forwards`;\n }};\n animation-name: PageLoaderInit;\n }\n\n & g[data-large-loader='fill'] {\n transform-origin: center center;\n animation: ${({ theme }) => {\n const { animation } = theme.kitt.pageLoader;\n\n return `${animation.filledCircleFillDuration}ms linear ${animation.delay}ms infinite`;\n }};\n animation-name: PageLoaderRotation;\n }\n\n & g[data-large-loader='fill'] circle {\n stroke: ${({ theme }) => theme.kitt.pageLoader.colors.fill};\n animation: ${({ theme }) => {\n const { animation } = theme.kitt.pageLoader;\n\n const [x1, y1, x2, y2] = animation.fillEasingFunction;\n\n const fillAnimation = `${animation.filledCircleFillDuration}ms cubic-bezier(${x1}, ${y1}, ${x2}, ${y2}) ${animation.delay}ms infinite alternate`;\n const rotationAnimation = `${animation.filledCircleRotationDuration}ms linear ${animation.delay}ms infinite`;\n\n return [fillAnimation, rotationAnimation].join(',');\n }};\n animation-name: PageLoaderOffset, PageLoaderRotation;\n }\n`);\n\nexport function PageLoader(props: Record<string, never>): ReactElement {\n const theme = useTheme();\n const { size, strokeWidth } = theme.kitt.pageLoader;\n\n const center = size * 0.5;\n const radius = center - strokeWidth;\n\n const circlePerimeter = 2 * Math.PI * radius;\n\n const sharedProps = {\n cx: center,\n cy: center,\n r: radius,\n fill: 'none',\n };\n\n return (\n <PageLoaderContainer $circlePerimeter={circlePerimeter}>\n <svg width={size} height={size}>\n <g data-large-loader=\"base\">\n <circle {...sharedProps} />\n </g>\n <g data-large-loader=\"fill\">\n <circle {...sharedProps} />\n </g>\n </svg>\n </PageLoaderContainer>\n );\n}\n","import type { ReactElement } from 'react';\nimport { Typography } from '../typography/Typography';\n\nexport function Picker(): ReactElement {\n return <Typography.Text base=\"body\">Picker is not implemented for the web</Typography.Text>;\n}\n","import { styled } from '@linaria/react';\nimport type { ReactElement } from 'react';\nimport type { DefaultTheme } from 'styled-components/native';\nimport { withTheme } from '../utils/withTheme';\n\ninterface SkeletonBaseProps {\n $isLoading?: boolean;\n theme: DefaultTheme;\n}\n\nconst StyledSkeleton = withTheme(styled.div<SkeletonBaseProps>`\n background-color: ${({ theme }) => theme.kitt.skeleton.backgroundColor};\n position: relative;\n overflow: hidden;\n height: 100%;\n width: 100%;\n\n @keyframes flareTranslate {\n from {\n transform: translateX(-100%);\n }\n\n to {\n transform: translateX(100%);\n }\n }\n\n &::after {\n content: '';\n position: absolute;\n width: 100%;\n height: 100%;\n top: 0;\n left: 0;\n background-image: ${({ $isLoading, theme }) =>\n $isLoading\n ? `linear-gradient(\n -90deg,\n ${theme.kitt.skeleton.backgroundColor},\n ${theme.kitt.skeleton.flareColor} 50%,\n ${theme.kitt.skeleton.backgroundColor} 100%\n )`\n : 'none'};\n animation: ${({ $isLoading }) => ($isLoading ? '1s ease-in-out infinite' : 'none')};\n animation-name: flareTranslate;\n }\n`);\n\ninterface SkeletonProps {\n isLoading: boolean;\n}\n\nexport function SkeletonContent({ isLoading }: SkeletonProps): ReactElement {\n return <StyledSkeleton $isLoading={isLoading} />;\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","export function getShouldDisplay2x(): boolean {\n if (typeof window === 'undefined') {\n return true;\n }\n\n // requesting retina picture is up to the device capabilities;\n return window.devicePixelRatio ? window.devicePixelRatio > 1 : false;\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 = 'kitt.4';\n","import type { ReactElement, ReactNode } from 'react';\nimport { createContext, useContext } from 'react';\nimport type { DefaultTheme } from 'styled-components/native';\nimport { useTheme } from 'styled-components/native';\nimport { View } from '../native-base/primitives';\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\nexport function StoryBlock({ children, background }: StoryBlockProps): ReactElement {\n const theme = useTheme();\n return (\n <View\n paddingTop=\"kitt.4\"\n paddingX={storyPadding}\n marginX={`-${storyPadding}`}\n background={getBackgroundColorFromBlockColor(theme, background)}\n >\n <StoryBlockColorContext.Provider value={getTypographyColorFromBlockColor(background)}>\n <StoryBlockBackgroundContext.Provider value={background}>{children}</StoryBlockBackgroundContext.Provider>\n </StoryBlockColorContext.Provider>\n </View>\n );\n}\n","import type { ReactElement, ReactNode } from 'react';\nimport { View } from '../native-base/primitives';\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\nexport function StoryTitle({ color, children, numberOfLines }: StoryTitleProps): ReactElement {\n return (\n <View marginBottom={30}>\n <Typography.Header1 variant=\"bold\" base=\"header1\" color={useStoryBlockColor(color)} numberOfLines={numberOfLines}>\n {children}\n </Typography.Header1>\n </View>\n );\n}\n\nfunction StoryTitleLevel2({ color, children, numberOfLines }: StoryTitleProps): ReactElement {\n return (\n <View marginBottom={30}>\n <Typography.Header2 variant=\"bold\" base=\"header2\" color={useStoryBlockColor(color)} numberOfLines={numberOfLines}>\n {children}\n </Typography.Header2>\n </View>\n );\n}\n\nStoryTitleLevel2.displayName = 'StoryTitle.Level2';\n\nfunction StoryTitleLevel3({ color, children, numberOfLines }: StoryTitleProps): ReactElement {\n return (\n <View marginBottom={10}>\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 </View>\n );\n}\n\nStoryTitleLevel3.displayName = 'StoryTitle.Level3';\n\nfunction StoryTitleLevel4({ color, children, numberOfLines }: StoryTitleProps): ReactElement {\n return (\n <View marginBottom={10}>\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 </View>\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 '../native-base/primitives';\nimport { ScrollView } from '../native-base/primitives';\nimport { StoryTitle } from './StoryTitle';\nimport { storyPadding } from './theme';\n\nexport interface StoryProps {\n title: ReactNode;\n children: ReactNode;\n contentContainerStyle?: ScrollViewProps['contentContainerStyle'];\n}\n\nexport function Story({ title, contentContainerStyle, children }: StoryProps): ReactElement {\n return (\n <ScrollView padding={storyPadding} contentContainerStyle={contentContainerStyle}>\n <StoryTitle>{title}</StoryTitle>\n {children}\n </ScrollView>\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 { StoryTitle } from './StoryTitle';\n\nexport interface StorySectionProps extends Except<ViewProps, 'marginBottom'> {\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 <View marginBottom=\"kitt.8\" {...props}>\n <StoryTitle.Level2>{title}</StoryTitle.Level2>\n {children}\n </View>\n );\n}\n\nfunction SubSection({ title, children, ...props }: StorySectionProps): ReactElement {\n return (\n <View marginBottom=\"kitt.4\" {...props}>\n <StoryTitle.Level3>{title}</StoryTitle.Level3>\n {children}\n </View>\n );\n}\n\nfunction BlockSection({ title, children, ...props }: StorySectionProps): ReactElement {\n return (\n <View marginBottom=\"kitt.4\" {...props}>\n <StoryTitle.Level4>{title}</StoryTitle.Level4>\n {children}\n </View>\n );\n}\n\nexport interface DemoSectionProps {\n children: ReactNode;\n}\n\nfunction DemoSection({ children }: DemoSectionProps): ReactElement {\n return (\n <View marginBottom=\"kitt.16\">\n <StorySection internalIsDemoSection title=\"Demo\">\n {children}\n </StorySection>\n </View>\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 } from 'react';\nimport type { StoryContainerProps } from './StoryContainer';\nimport { StorySection } from './StorySection';\n\nexport function StoryContainer({ children, state, title, platform }: StoryContainerProps): ReactElement | null {\n if (platform === 'native') return null;\n\n return (\n <StorySection.BlockSection testID={state} title={title}>\n <div className={state ? `kitt-${state}` : undefined}>{children}</div>\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 } from 'react-native';\nimport type { TypographyProps } from '..';\nimport { View } from '../native-base/primitives';\nimport { StoryTitle } from './StoryTitle';\n\nexport interface StoryGridRowProps {\n children: NonNullable<ReactNode>;\n breakpoint?: 'small' | 'medium';\n}\n\nfunction StoryGridRow({ children, breakpoint = 'small' }: StoryGridRowProps): ReactElement {\n return (\n <View\n flexDirection={{ base: 'column', [breakpoint]: 'row' }}\n marginX={{ [breakpoint]: '-kitt.1' }}\n marginBottom={{ [breakpoint]: 'kitt.4' }}\n >\n {Children.map(children, (child) => (\n <View\n flexGrow={{ [breakpoint]: 1 }}\n flexBasis={{ [breakpoint]: 0 }}\n paddingTop={{ base: 'kitt.2', [breakpoint]: 0 }}\n paddingBottom={{ base: 'kitt.4', [breakpoint]: 0 }}\n marginX={{ [breakpoint]: 'kitt.2' }}\n >\n {child}\n </View>\n ))}\n </View>\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","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 { lateOceanColorPalette } from '../palettes/lateOceanColorPalette';\nimport { colors } from './colors';\n\nexport interface ActionCardState {\n backgroundColor: string;\n borderColor?: string;\n borderWidth: number;\n shadow: {\n color: string;\n offsetX: number;\n offsetY: number;\n opacity: number;\n radius: number;\n };\n translateY: number;\n}\n\nexport interface ActionCardVariant {\n default: ActionCardState;\n disabled: ActionCardState;\n hovered: ActionCardState;\n pressed: ActionCardState;\n focused: ActionCardState;\n}\n\nexport interface ActionCardTheme {\n borderRadius: number;\n primary: ActionCardVariant;\n secondary: ActionCardVariant;\n highlight: ActionCardVariant;\n}\n\nexport const actionCard: ActionCardTheme = {\n borderRadius: 20,\n primary: {\n default: {\n backgroundColor: colors.uiBackgroundLight,\n borderColor: lateOceanColorPalette.black100,\n borderWidth: 1,\n shadow: {\n color: lateOceanColorPalette.black100,\n offsetX: 0,\n offsetY: 4,\n opacity: 1,\n radius: 0,\n },\n translateY: 0,\n },\n hovered: {\n backgroundColor: lateOceanColorPalette.black50,\n borderColor: lateOceanColorPalette.black100,\n borderWidth: 1,\n shadow: {\n color: lateOceanColorPalette.black100,\n offsetX: 0,\n offsetY: 4,\n opacity: 1,\n radius: 0,\n },\n translateY: 0,\n },\n disabled: {\n backgroundColor: lateOceanColorPalette.black50,\n borderColor: lateOceanColorPalette.black100,\n borderWidth: 2,\n shadow: {\n color: '',\n offsetX: 0,\n offsetY: 0,\n opacity: 0,\n radius: 0,\n },\n translateY: 0,\n },\n focused: {\n backgroundColor: lateOceanColorPalette.black50,\n borderColor: lateOceanColorPalette.black100,\n borderWidth: 1,\n shadow: {\n color: lateOceanColorPalette.black100,\n offsetX: 0,\n offsetY: 4,\n opacity: 1,\n radius: 0,\n },\n translateY: 0,\n },\n pressed: {\n backgroundColor: lateOceanColorPalette.black50,\n borderColor: lateOceanColorPalette.black100,\n borderWidth: 1,\n shadow: {\n color: '',\n offsetX: 0,\n offsetY: 0,\n opacity: 0,\n radius: 0,\n },\n translateY: 3,\n },\n },\n secondary: {\n default: {\n backgroundColor: lateOceanColorPalette.black50,\n borderColor: lateOceanColorPalette.transparent,\n borderWidth: 0,\n shadow: {\n color: '',\n offsetX: 0,\n offsetY: 0,\n opacity: 0,\n radius: 0,\n },\n translateY: 0,\n },\n disabled: {\n backgroundColor: lateOceanColorPalette.black50,\n borderColor: lateOceanColorPalette.black100,\n borderWidth: 2,\n shadow: {\n color: '',\n offsetX: 0,\n offsetY: 0,\n opacity: 0,\n radius: 0,\n },\n translateY: 0,\n },\n hovered: {\n backgroundColor: lateOceanColorPalette.black100,\n borderColor: lateOceanColorPalette.transparent,\n borderWidth: 0,\n shadow: {\n color: '',\n offsetX: 0,\n offsetY: 0,\n opacity: 0,\n radius: 0,\n },\n translateY: 0,\n },\n focused: {\n backgroundColor: lateOceanColorPalette.black100,\n borderColor: lateOceanColorPalette.transparent,\n borderWidth: 0,\n shadow: {\n color: '',\n offsetX: 0,\n offsetY: 0,\n opacity: 0,\n radius: 0,\n },\n translateY: 0,\n },\n pressed: {\n backgroundColor: lateOceanColorPalette.black100,\n borderColor: lateOceanColorPalette.transparent,\n borderWidth: 0,\n shadow: {\n color: '',\n offsetX: 0,\n offsetY: 0,\n opacity: 0,\n radius: 0,\n },\n translateY: 0,\n },\n },\n highlight: {\n default: {\n backgroundColor: lateOceanColorPalette.moonPurpleLight1,\n borderColor: lateOceanColorPalette.moonPurple,\n borderWidth: 1,\n shadow: {\n color: lateOceanColorPalette.moonPurple,\n offsetX: 0,\n offsetY: 4,\n opacity: 1,\n radius: 0,\n },\n translateY: 0,\n },\n disabled: {\n backgroundColor: lateOceanColorPalette.black50,\n borderColor: lateOceanColorPalette.black100,\n borderWidth: 2,\n shadow: {\n color: '',\n offsetX: 0,\n offsetY: 0,\n opacity: 0,\n radius: 0,\n },\n translateY: 0,\n },\n hovered: {\n backgroundColor: hex2rgba(lateOceanColorPalette.moonPurpleLight1, 0.6),\n borderColor: lateOceanColorPalette.moonPurple,\n borderWidth: 1,\n shadow: {\n color: lateOceanColorPalette.moonPurple,\n offsetX: 0,\n offsetY: 4,\n opacity: 1,\n radius: 0,\n },\n translateY: 0,\n },\n focused: {\n backgroundColor: hex2rgba(lateOceanColorPalette.moonPurpleLight1, 0.6),\n borderColor: lateOceanColorPalette.moonPurple,\n borderWidth: 1,\n shadow: {\n color: lateOceanColorPalette.moonPurple,\n offsetX: 0,\n offsetY: 4,\n opacity: 1,\n radius: 0,\n },\n translateY: 0,\n },\n pressed: {\n backgroundColor: hex2rgba(lateOceanColorPalette.moonPurpleLight1, 0.6),\n borderColor: lateOceanColorPalette.moonPurple,\n borderWidth: 1,\n shadow: {\n color: '',\n offsetX: 0,\n offsetY: 0,\n opacity: 0,\n radius: 0,\n },\n translateY: 3,\n },\n },\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 danger: 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 danger: {\n default: {\n backgroundColor: lateOceanColorPalette.warmEmbraceLight1,\n pressedBackgroundColor: lateOceanColorPalette.warmEmbrace,\n hoverBackgroundColor: lateOceanColorPalette.warmEmbrace,\n focusBorderColor: lateOceanColorPalette.warmEmbrace,\n },\n ghost: {\n backgroundColor: colors.uiBackgroundLight,\n pressedBackgroundColor: 'rgba(255, 255, 255, 0.75)',\n hoverBackgroundColor: 'rgba(255, 255, 255, 0.75)',\n focusBorderColor: 'rgba(255, 255, 255, 0.5)',\n color: lateOceanColorPalette.englishVermillon,\n hoverColor: lateOceanColorPalette.englishVermillon,\n activeColor: lateOceanColorPalette.englishVermillon,\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 minHeight: number;\n danger: FeedbackMessageVariantTheme;\n info: FeedbackMessageVariantTheme;\n success: FeedbackMessageVariantTheme;\n warning: FeedbackMessageVariantTheme;\n}\n\nexport const feedbackMessage: FeedbackMessageTheme = {\n minHeight: 60,\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 markColor: colors.uiBackgroundLight,\n textSpacing: 10,\n default: {\n borderColor: colors.separator,\n backgroundColor: colors.uiBackgroundLight,\n },\n checked: {\n borderColor: colors.primary,\n backgroundColor: colors.primary,\n },\n focus: {\n borderColor: colors.primary,\n backgroundColor: colors.uiBackgroundLight,\n },\n hover: {\n borderColor: colors.primary,\n backgroundColor: colors.uiBackgroundLight,\n },\n pressed: {\n borderColor: colors.primary,\n backgroundColor: colors.uiBackgroundLight,\n },\n disabled: {\n borderColor: colors.separator,\n backgroundColor: colors.disabled,\n },\n transition: {\n duration: '200ms',\n timingFunction: 'ease-out',\n },\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 /** @deprecated not used in kitt anymore, use Typography instead */\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 borderColor: string;\n innerBackgroundColor: string;\n innerSize: number;\n };\n hover: {\n backgroundColor: string;\n borderColor: string;\n };\n pressed: {\n backgroundColor: string;\n borderColor: string;\n };\n disabled: {\n backgroundColor: string;\n borderColor: string;\n };\n transition: {\n duration: string;\n timingFunction: string;\n };\n}\n\nexport const radio: RadioTheme = {\n size: 18,\n unchecked: {\n borderWidth: 2,\n backgroundColor: colors.uiBackgroundLight,\n borderColor: lateOceanColorPalette.black200,\n },\n checked: {\n backgroundColor: colors.primary,\n borderColor: colors.transparent,\n innerSize: 5,\n innerBackgroundColor: colors.uiBackgroundLight,\n },\n hover: {\n backgroundColor: colors.uiBackgroundLight,\n borderColor: colors.primary,\n },\n pressed: {\n backgroundColor: colors.uiBackgroundLight,\n borderColor: colors.primary,\n },\n disabled: {\n backgroundColor: colors.disabled,\n borderColor: colors.separator,\n },\n transition: {\n duration: '200ms',\n timingFunction: 'ease-out',\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 default: number;\n hover: number;\n active: 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 default: 1,\n hover: 1.05,\n active: 0.95,\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","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 { actionCard } from './late-ocean/actionCard';\nimport { 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 actionCard,\n};\n\nexport type Theme = typeof theme;\n","import type { ReactElement } from 'react';\nimport { Typography } from '../typography/Typography';\n\n// This is not yet implemented\nexport function TimePicker(): ReactElement {\n return <Typography.Text base=\"body\">TimePicker is not implemented for the web</Typography.Text>;\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 { useBreakpointValue } from 'native-base';\n\ninterface GetShouldDisplayArrowParams {\n isTooltipFullWidth?: boolean;\n isBase?: boolean;\n}\n\nfunction getShouldRenderArrow({ isTooltipFullWidth, isBase }: GetShouldDisplayArrowParams): boolean {\n if (isTooltipFullWidth) return false;\n\n const shouldDisplayArrow = !isBase;\n\n return shouldDisplayArrow;\n}\n\ninterface UseShouldDisplayArrowParams {\n isTooltipFullWidth?: boolean;\n}\n\nexport function useShouldRenderArrow({ isTooltipFullWidth }: UseShouldDisplayArrowParams): boolean {\n const isBase = useBreakpointValue({\n base: true,\n small: false,\n });\n\n return getShouldRenderArrow({ isTooltipFullWidth, isBase });\n}\n","export function getHasArrowEnoughSpace(arrowCenterOffset?: number): boolean {\n return arrowCenterOffset !== undefined ? true : arrowCenterOffset !== 0;\n}\n","import type { MiddlewareData } from '@floating-ui/react-dom';\nimport { arrow, autoPlacement, autoUpdate, offset, shift, useFloating } from '@floating-ui/react-dom';\nimport { useBreakpointValue } from 'native-base';\nimport type { ReactElement, RefObject } from 'react';\nimport { useEffect, useRef, useState } from 'react';\nimport { Portal } from 'react-portal';\nimport { useTheme } from 'styled-components/native';\nimport { useOnClickOutside } from 'usehooks-ts';\nimport { Pressable, View } from '../native-base/primitives';\nimport { Arrow } from './Arrow';\nimport type { TooltipProps, UpdateCallbackParams } from './Tooltip';\nimport { TooltipContent } from './TooltipContent';\nimport { useShouldRenderArrow } from './hooks/useShouldRenderArrow';\nimport { getHasArrowEnoughSpace } from './utils/getHasArrowEnoughSpace';\n\ninterface WebUpdateCallbackParams extends Exclude<UpdateCallbackParams, 'middlewareData'> {\n middlewareData: MiddlewareData;\n refs: {\n reference: RefObject<any>;\n floating: RefObject<any>;\n };\n}\n\ninterface WebTooltipProps extends Exclude<TooltipProps, 'onUpdate'> {\n onUpdate: (params: WebUpdateCallbackParams) => void;\n}\n\nexport function Tooltip({\n children,\n defaultVisible,\n position = 'top',\n content,\n floatingPadding,\n fullWidth,\n onToggle,\n onUpdate,\n}: WebTooltipProps): ReactElement {\n const isBase = useBreakpointValue({\n base: true,\n small: false,\n });\n\n const theme = useTheme();\n\n const [isVisible, setIsVisible] = useState(Boolean(defaultVisible));\n\n const [isCursorOnTooltip, setIsCursorOnTooltip] = useState(false);\n\n const arrowRef = useRef<typeof View>(null);\n\n const currentFloatingPadding = floatingPadding || theme.kitt.tooltip.floatingPadding;\n\n const { x, y, reference, floating, strategy, update, refs, middlewareData, placement } = useFloating({\n placement: position,\n strategy: 'fixed',\n whileElementsMounted: autoUpdate,\n middleware: [\n // Order matters\n offset(currentFloatingPadding),\n autoPlacement({\n allowedPlacements: ['top', 'bottom'],\n padding: currentFloatingPadding,\n }),\n shift({ crossAxis: false, padding: currentFloatingPadding }),\n arrow({ element: arrowRef as unknown as HTMLElement }),\n ],\n });\n\n const tooltipY = Math.round(y ?? 0);\n const tooltipX = Math.round(x ?? 0);\n\n const { centerOffset } = middlewareData.arrow || {};\n\n const shouldRenderArrow = useShouldRenderArrow({ isTooltipFullWidth: fullWidth });\n const hasArrowEnoughSpace = getHasArrowEnoughSpace(centerOffset);\n\n const sharedArrowProps = {\n top: Math.round(middlewareData.arrow?.y ?? 0),\n left: Math.round(middlewareData.arrow?.x ?? 0),\n display: hasArrowEnoughSpace ? undefined : 'none',\n };\n\n useEffect(() => {\n if (!onUpdate) return;\n\n onUpdate({\n x: tooltipX,\n y: tooltipY,\n placement,\n strategy,\n update,\n refs,\n middlewareData,\n });\n }, [tooltipX, tooltipY, reference, floating, strategy, update, refs, middlewareData, placement, onUpdate]);\n\n const handlePressOutside = (): void => {\n if (!isVisible || isCursorOnTooltip) return;\n\n if (onToggle) onToggle(false);\n setIsVisible(false);\n };\n\n useOnClickOutside(refs.reference as RefObject<HTMLDivElement>, handlePressOutside);\n\n const handleDisplayTooltip = (): void => {\n if (onToggle) onToggle(true);\n setIsVisible(true);\n };\n\n const handleHideTooltip = (): void => {\n if (onToggle) onToggle(false);\n setIsVisible(false);\n };\n\n const handleMouseEnter = (): void => {\n setIsCursorOnTooltip(true);\n };\n\n const handleMouseLeave = (): void => {\n setIsCursorOnTooltip(false);\n };\n\n const themePart = isVisible ? 'out' : 'in';\n const transitionDuration = theme.kitt.tooltip.transition[themePart].duration;\n const transitionTimingFunction = theme.kitt.tooltip.transition[themePart].timingFunction;\n const transformOrigin = `center ${placement === 'bottom' ? 'top' : 'bottom'}`;\n\n return (\n <View ref={reference as any} position=\"relative\" display=\"inline-flex\">\n <Pressable\n accessibilityRole=\"button\"\n alignSelf=\"baseline\"\n display=\"inline-flex\"\n onHoverIn={handleDisplayTooltip}\n onFocus={handleDisplayTooltip}\n onBlur={handleHideTooltip}\n >\n {children}\n </Pressable>\n\n <Portal>\n <View\n ref={floating as any}\n accessibilityHidden={!isVisible}\n paddingX={{ base: 'kitt.4', small: 0 }}\n width={{ base: '100%', small: 'max-content' }}\n maxWidth={{ base: '100%', small: 'kitt.tooltip.maxWidth' }}\n opacity={isVisible ? 'kitt.tooltip.opacity' : 0}\n pointerEvents={isVisible || isCursorOnTooltip ? 'auto' : 'none'}\n position={strategy}\n top={0}\n left={0}\n _web={{\n style: {\n transform: [\n {\n translate3d: isBase && !fullWidth ? `0, ${tooltipY}px, 0` : `${tooltipX}px, ${tooltipY}px, 0`,\n },\n ],\n visibility: isVisible ? 'visible' : 'hidden',\n transitionDuration,\n transitionProperty: theme.kitt.tooltip.transition[themePart].property,\n transitionTimingFunction,\n },\n }}\n onTouchStart={handleMouseEnter}\n onTouchEnd={handleMouseLeave}\n onMouseEnter={handleMouseEnter}\n onMouseLeave={handleMouseLeave}\n >\n <View\n _web={{\n style: {\n transform: [{ scale: isVisible ? 1 : 0.8 }],\n transitionDuration: isVisible ? '0' : transitionDuration,\n transitionProperty: 'all',\n transitionTimingFunction,\n transformOrigin,\n },\n }}\n >\n {shouldRenderArrow && placement === 'bottom' ? (\n <Arrow ref={arrowRef} position=\"bottom\" {...sharedArrowProps} />\n ) : null}\n <TooltipContent>{content}</TooltipContent>\n {shouldRenderArrow && placement === 'top' ? (\n <Arrow ref={arrowRef} position=\"top\" {...sharedArrowProps} />\n ) : null}\n </View>\n </View>\n </Portal>\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 { ComponentProps, ElementType, ReactElement, ReactNode } from 'react';\nimport { Platform } from 'react-native';\n\nexport interface StyleWebWrapperProps<T extends ElementType> {\n as: T;\n children: ReactNode;\n}\n\nexport function StyleWebWrapper<T extends ElementType = 'div'>({\n as,\n children,\n ...props\n}: StyleWebWrapperProps<T> & ComponentProps<T>): ReactElement {\n if (Platform.OS !== 'web') return children as ReactElement;\n const Component: T = as || ('div' as T); // as or default to div. If as is undefined, T is div but typescript is not sure\n return <Component {...(props as any)}>{children}</Component>;\n}\n","import { styled as styledLinaria } from '@linaria/react';\nimport type { ReactElement, ReactNode } from 'react';\nimport type { TextProps } from 'react-native';\nimport type { Except } from 'type-fest';\nimport { StyleWebWrapper } from '../utils/StyleWebWrapper';\nimport type { TypographyPropsWithoutRole } from './Typography';\nimport { Typography } from './Typography';\n\ninterface TypographyLinkWebWrapperProps {\n $hasNoUnderline?: boolean;\n}\n\n// overrides :global(a) in Link styles.module.css\nconst TypographyLinkWebWrapper = styledLinaria.span<TypographyLinkWebWrapperProps>`\n & > * {\n text-decoration: ${({ $hasNoUnderline }) => ($hasNoUnderline ? 'none' : 'underline')}\n }\n\n & > *:hover,\n & > *:active,\n .kitt-hover & > * {\n text-decoration: ${({ $hasNoUnderline }) => ($hasNoUnderline ? 'underline' : 'none')}\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 <StyleWebWrapper as={TypographyLinkWebWrapper} $hasNoUnderline={noUnderline}>\n <Typography\n underline={!noUnderline}\n color={disabled ? 'black-disabled' : undefined}\n href={href}\n hrefAttrs={hrefAttrs}\n accessibilityRole=\"link\"\n dataSet={{\n // remove data-kitt-universal when we delete kitt web. See :global(a) in Link styles.module.css\n 'kitt-universal': 'true',\n }}\n _web={{\n cursor: disabled ? 'not-allowed' : 'pointer',\n transitionProperty: 'color',\n transitionDuration: '0.2s',\n transitionTimingFunction: 'ease-in-out',\n }}\n // TODO[native-base@>=3.4.19] this currently does not work. Retest when updating native-base.\n // _active={{\n // underline: !!noUnderline,\n // }}\n // _hover={{\n // underline: !!noUnderline,\n // }}\n onPress={disabled ? undefined : onPress}\n {...otherProps}\n >\n {children}\n </Typography>\n </StyleWebWrapper>\n );\n}\n","// eslint-disable-next-line no-restricted-imports\nimport type { FlattenSimpleInterpolation } from 'styled-components';\nimport type { MatchWindowSizeOptions } from './useMatchWindowSize';\nimport { matchWindowSize } from './useMatchWindowSize';\n\nexport interface WindowSizeHelper {\n /**\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 { 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":["View","NativeBaseView","ScrollView","NativeBaseScrollView","Pressable","NativeBasePressable","Image","NativeBaseImage","FlatList","NativeBaseFlatList","SectionList","NativeBaseSectionList","getStateKey","isHovered","isPressed","isFocused","ActionCardContentWrapper","variant","children","theme","useTheme","state","translateY","kitt","actionCard","sharedTransform","transform","_jsx","style","ActionCardDisabled","ActionCard","disabled","testID","ActionCardPressable","forwardRef","href","hrefAttrs","accessibilityRole","isHoveredInternal","isPressedInternal","isFocusedInternal","onPress","ref","Stack","NativeBaseStack","VStack","NativeBaseVStack","HStack","NativeBaseHStack","Center","NativeBaseCenter","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","getCurrentBackgroundColorForNativeBaseTheme","type","isDisabled","baseKey","getCurrentScale","hoverScaleValue","pressedScaleValue","AnimatedContainer","isStretch","transition","duration","timingFunction","scale","button","responsiveHoverScaleValue","useBreakpointValue","base","hover","medium","currentScale","active","currentBackgroundColor","transitionProperty","transitionDuration","transitionTimingFunction","backfaceVisibility","KittBreakpoints","BASE","SMALL","MEDIUM","LARGE","WIDE","KittBreakpointsMax","KittBreakpointNameEnum","IsHeaderTypographyContext","createContext","TypographyColorContext","useTypographyColor","useContext","TypographyDefaultColorContext","useTypographyDefaultColor","getTypographyTypeConfigKeyFromTypeName","isTypeHeader","startsWith","isTypographyHeader","isHeaderTypographyInContext","Error","createNativeBaseFontSize","typeWithMediumForced","small","fontSizeForNativeBase","typeName","value","getNBThemeColorFromColorProps","colorName","Typography","legacyBase","legacySmall","legacyMedium","large","legacyLarge","wide","legacyWide","color","otherProps","defaultColor","hasTypographyAncestor","baseOrDefaultToBody","isHeader","nonNullableVariant","entries","key","currentColor","text","NBText","content","TypographyText","props","TypographyParagraph","createHeading","level","defaultBase","TypographyHeading","displayName","SetDefaultColor","Provider","Text","Paragraph","Header1","Header2","Header3","Header4","Header5","Header6","h1","h2","h3","h4","h5","Icon","icon","size","align","clonedIcon","cloneElement","TypographyIconSpecifiedColor","typography","colors","TypographyIconInheritColor","TypographyIcon","getTextColorByType","isButtonInteractedWith","ButtonIcon","iconPosition","ButtonContentChildren","buttonIconSharedProps","sharedNativeStyle","flexShrink","_jsxs","ButtonContent","flexGrow","flexBasis","getCurrentPaddingConfig","ButtonPadding","currentPaddingKey","DisabledBorder","FocusBorder","buttonTheme","width","borderWidth","focus","height","useNativeAnimation","onPressIn","onPressOut","animatedStyles","getButtonSize","xLarge","allowedGhostTypes","Button","stretch","sizeProp","__DEV__","includes","deprecatedProp","withTheme","WrappedComponent","StyledSpinningIconContainer","styled","name","class","propsAsIs","SpinningIcon","SpinningIconProps","LoaderIcon","ArcIcon","matchWindowSize","minWidth","maxWidth","minHeight","maxHeight","hasWidthMatched","hasHeightMatched","useMatchWindowSize","options","useWindowDimensions","getCurrentStretchValue","isMedium","ActionsItem","as","isCurrentStretch","isLoading","setIsLoading","useState","mountedRef","useRef","useEffect","current","e","error","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","black","blackDisabled","blackLight","blackAnthracite","uiBackground","uiBackgroundLight","overlay","dark","light","defaultAvatarSize","defaultAvatarIconSize","largeAvatarSize","largeAvatarIconSize","avatar","borderRadius","iconSize","default","backgroundColor","getCurrentRadius","sizeVariant","round","getCurrentSize","getIconSize","getInitials","firstname","lastname","toUpperCase","AvatarContent","src","alt","isLight","uri","UserIcon","Avatar","currentSize","currentBorderRadius","BottomSheetComponent","BottomSheet","useBottomSheet","useStaticBottomSheet","Content","bottomSheetRef","BottomSheetMemoized","useMemo","overflowHidden","useBlockBodyScroll","isScrollBlocked","document","body","classList","add","remove","ModalBehaviourPortal","visible","ModalBehaviourPortalProps","Boolean","Portal","_Fragment","OnCloseContext","OnCloseProvider","onClose","useOnCloseModalBehaviour","CloseButton","onCloseContextCallback","ModalBehaviour","position","top","left","OverlayPressable","StyleSheet","absoluteFillObject","Overlay","CardModalRotationContainer","contentAnimationEnter","contentAnimatioEnterActive","contentAnimatioExit","contentAnimatioExitActive","contentAnimationClassNames","appear","appearActive","enter","enterActive","exit","exitActive","opacityEnter","opacityEnterActive","opacityExit","opacityExitActive","opacityClassNames","CardModalAnimation","unmountOnExit","isAnimationEnabled","onEnter","onEntered","onExit","onExited","CardModalAnimationProps","animation","cardModal","sharedProps","in","CSSTransition","ScrollContainer","CardModalBehaviour","isModalBehaviourVisible","setIsModalBehaviourVisible","CardModalBody","paddingX","paddingY","CardModalFooter","padding","hasSeparator","CardModalHeader","title","paddingBottom","right","defaultContainerPadding","CardModal","withoutShadow","Body","Header","Footer","backgroundStyles","getCurrentTextColor","isSelected","getBorderRadius","defaultRadius","$variant","choices","item","border","css","ChoiceItemView","$isHovered","$isPressed","$isDisabled","$isSelected","hoverWhenSelected","selected","pressed","defaultBackground","$size","responsive","ifWindowSizeMatches","property","ChoiceItem","onChange","onBlur","onFocus","handleChange","checked","ChoiceItemContainer","$isLast","$direction","row","column","spacing","ChoicesContainer","direction","Choices","id","currentValue","setCurrentValue","isForm","childrenArray","Children","toArray","newValue","map","child","index","element","createChoicesComponent","ButtonChoices","ChoicesElements","DialogModalAnimation","DialogModalAnimationProps","dialogModal","DialogModalBehaviour","DialogModal","illustration","actions","DialogModalButton","Emoji","emoji","alignSelf","_web","emojiData","parse","assetType","url","ExternalAppLink","Component","appScheme","appValue","onOpenAppError","rest","canOpen","Linking","canOpenURL","defaultPrevented","openURL","catch","Sms","phoneNumber","Tel","Mail","emailAddress","defaultOpenLinkBehavior","native","web","ExternalLink","openLinkBehavior","target","rel","getBackgroundColor","isChecked","getBorderColor","Checkbox","hitSlop","forms","checkbox","markColor","CheckboxMark","getReturnKeyTypeForNumericInput","returnKeyType","prefixWithZero","maxLength","padStart","dayFormatter","day","monthFormatter","month","yearFormatter","year","getDayInInterval","Math","max","min","getMonthInInterval","minDate","maxDate","minValue","getMonth","maxValue","getYearInInterval","getFullYear","getValueToDisplayedString","toString","keyboardDatePickerReducer","action","nextDay","currentDay","displayedDay","nextMonth","currentMonth","displayedMonth","nextYear","currentYear","displayedYear","nextCurrentDay","nextCurrentMonth","nextCurrentYear","isNumber","input","isNaN","onDatePartChange","validYearMinLength","arrayParts","isEverythingUndefined","every","v","isEverythingDefined","nextValue","Date","isValidYear","setDate","setMonth","setFullYear","setMinutes","setHours","setSeconds","setMilliseconds","isMinDateAfterNextValue","getTime","isMaxDateBeforeNextValue","stringToNumber","parseInt","_exp","InputTextContainer","vars","InputText","formState","internalForceState","autoCorrect","textContentType","autoComplete","keyboardType","multiline","onSubmitEditing","Input","rightContainer","getCurrentInternalForcedState","InputPart","placeholder","PartContainer","KeyboardDatePicker","monthRef","yearRef","defaultValue","defaultDay","getDate","defaultMonth","defaultYear","dispatch","useReducer","sharedInputPartProps","handleDatePartChange","handleAutoFocusNextField","currentFieldValue","nextFieldRef","nativeEvent","DatePicker","InputEmail","getColorFromState","InputFeedback","InputField","label","labelFeedback","feedback","inputField","containerPaddingTop","containerPaddingBottom","labelContainerPaddingBottom","labelFeedbackMarginLeft","feedbackPaddingTop","getIconColor","InputIcon","InputPressable","InputPassword","isPasswordDefaultVisible","isVisible","setIsVisible","prev","EyeOffIcon","EyeIcon","isPhoneNumberValid","number","isValidNumber","phoneNumberLength","InputPhone","currentReturnKeyType","event","parseNumber","phone","finalPhoneNumber","eventWithoutCountryCode","countryCode","getCountryCallingCode","country","originalNativeEventText","getTypographyColor","InputTagContainer","inputTag","IconContainer","InputTag","typographyColor","Label","htmlFor","InnerCircle","radio","OuterCircle","Radio","getCurrentBackgroundColor","getCurrentBorderColor","isFirst","isLast","radioButtonGroup","HoverBorder","shouldDisplayBorder","RadioButton","RadioButtonGroupItem","RadioButtonGroup","clone","TextArea","Highlight","highlight","Background","AnimatedBackground","iconButton","scaleHover","scalePressed","AnimatedScale","currentHoverScale","currentPressedScale","opacityStyles","scaleStyles","IconButton","accessibilityLabel","translate3d","isCurrentHovered","isCurrentPressed","KittMapConfigProviderContext","KittMapConfigProvider","mapId","apiToken","providerValue","useKittMapConfig","context","ContentView","BabelPluginStyledComponentsReactNative","ListItemContent","SideContainerView","side","listItem","innerMargin","ListItemSideContainer","SideContentView","ListItemSideContent","ContainerView","withPadding","borders","borderColor","ListItem","Wrapper","Fragment","wrapperProps","containerProps","SideContent","SideContainer","MapMarkerSimple","sx","useSx","styles","DefaultMarkerSvg","MapMarkerLarge","LargeMarkerSvg","MapMarkerPosition","PositionMarkerSvg","IconContent","AlertCircleIcon","CheckIcon","AlertTriangleIcon","InfoIcon","getColorByType","getIconButtonColor","messageType","BaseMessage","hasNoRadius","centeredText","insets","onDismiss","XIcon","Message","BodyView","ModalBody","FooterView","ModalFooter","HeaderView","LeftIconView","RightIconView","TitleView","isIconLeft","ModalHeader","ModalView","card","Modal","NativeModal","createKittSpaces","sizes","positive","negative","overridenNativeBaseSizeandSpaceScale","fromEntries","createKittNativeBaseCustomTheme","appTheme","spaces","appBreakpoints","breakpoints","extendedTheme","extendTheme","secondary","hovered","focused","palettes","subtle","tooltip","feedbackMessage","states","unchecked","innerCircle","innerBackgroundColor","skeleton","flareColor","pressedBackgroundColor","app","radii","lg","Number","MAX_SAFE_INTEGER","md","sm","xl","xs","innerSize","shape","bar","circle","square","borderWidths","header","footer","defaultSize","maxWidthWithPadding","overlayPadding","datePicker","textSpacing","textArea","arrow","space","bottomSheet","container","horizontalPadding","verticalPadding","floatingPadding","fontSizes","baseAndSmall","header1","types","headers","configs","fontSize","header2","header3","header4","header5","bodies","mediumAndWide","lineHeights","lineHeight","fontWeights","regular","fontWeight","bold","fonts","fontFamily","shadows","cards","low","shadowColor","shadowOffset","offsetX","offsetY","shadowOpacity","opacity","shadowRadius","radius","highBase","highMedium","highLarge","navigation","panel","shadow","components","baseStyle","py","vertical","px","horizontal","_disabled","_light","placeholderTextColor","bg","_hover","_focus","_stack","outlineWidth","boxShadow","_ios","selectionColor","selection","_android","_invalid","invalid","variants","outline","underlined","rounded","filled","unstyled","_dark","fontStyle","KittNativeBaseProvider","isSSR","kittTheme","nativeBaseCustomTheme","NativeBaseProvider","ViewWithPadding","navigationModal","ContentPadding","StyledViewWithPadding","$insetTop","$insetBottom","shouldHandleBottomNotch","shouldHandleTopNotch","bottom","useSafeAreaInsets","insetBottom","insetTop","FooterContainer","$hasSeparator","HeaderContainer","$isTransparent","$hasRight","$hasLeft","Row","$hasContent","ButtonContainer","ChildrenComponent","paddingHorizontal","HeaderTitle","isTransparent","slideInFromBottomEnter","slideInFromBottomEnterActive","slideInFromBottomExit","slideInFromBottomExitActive","slideInClassNames","NavigationModalAnimation","NavigationModalAnimationProps","NavigationModalBehaviour","NavigationModalContainer","$backgroundColor","ContainerWithoutHeader","NavigationModal","Padding","Notification","onDelete","_exp3","$circlePerimeter","_exp5","pageLoader","_exp6","strokeWidth","_exp8","_exp9","_exp10","x1","y1","x2","y2","fillEasingFunction","circleBackgroundFillDuration","delay","_exp11","filledCircleFillDuration","_exp12","fill","_exp13","fillAnimation","rotationAnimation","filledCircleRotationDuration","join","PageLoaderContainer","PageLoader","center","circlePerimeter","PI","cx","cy","r","Picker","_exp2","$isLoading","StyledSkeleton","SkeletonContent","SkeletonProps","Skeleton","setWidth","Bar","Circle","Square","getStaticMapImageUrl","mapWidth","mapHeight","is2x","centerPart","long","lat","zoom","urlParts","mapImageUrl","URL","searchParams","append","useGetStaticMapImageUrl","forceMapId","forceApiToken","currentUrl","setCurrentUrl","currentMapIdRef","currentApiTokenRef","newUrl","StaticMapError","onReload","RotateCCWIcon","StaticMapImage","onLoadEnd","onError","StaticMapLoader","getMarkerPosition","translateX","StaticMapMarker","getRangedWidthValue","nextWidth","rangedMapWidth","getShouldDisplay2x","window","devicePixelRatio","mapBoxMaxPictureWidth","getPictureWidth","StaticMap","marker","onLoaded","currentWidth","setCurrentWidth","hasError","setHasError","currentMapKey","setCurrentMapKey","shouldDisplay2xImage","mapUrl","KITT_MAP_CHROMATIC_IGNORE","Loader","Marker","Flex","withConfig","shouldForwardProp","prop","defaultValidatorFn","storyPadding","getBackgroundColorFromBlockColor","getTypographyColorFromBlockColor","StoryBlockBackgroundContext","StoryBlockColorContext","useStoryBlockColor","storyBlockColor","StoryBlock","background","StoryTitle","numberOfLines","StoryTitleLevel2","StoryTitleLevel3","StoryTitleLevel4","Level2","Level3","Level4","Story","contentContainerStyle","StorySection","internalIsDemoSection","SubSection","BlockSection","DemoSection","Demo","DeprecatedSection","StoryContainer","platform","StoryDecorator","storyFn","StoryGridRow","breakpoint","StoryGridCol","titleColor","StoryGrid","Col","Container","tag","getLabelColor","Tag","hex2rgba","hex","alpha","slice","g","b","handle","contentPadding","hoverBackgroundColor","focusBorderColor","ghost","hoverColor","activeColor","webAnimationContentDuration","webAnimationContentEasing","webAnimationOverlayDuration","webAnimationOverlayEasing","overlayHorizontalPadding","easing","calcLineHeight","lineHeightMultiplier","createTypographyTypeConfig","baseAndSmallFontSize","mediumAndWideFontSize","kittColors","link","disabledColor","inputStatesStyle","pending","valid","labelColor","groupFilledCircleRotationDuration","picker","ios","android","animationDuration","out","values","smallBreakpoint","mediumBreakpoint","largeBreakpoint","wideBreakpoint","TimePicker","Arrow","display","transformStyle","rotate","TooltipArrowIcon","TooltipContent","getShouldRenderArrow","isTooltipFullWidth","isBase","useShouldRenderArrow","getHasArrowEnoughSpace","arrowCenterOffset","Tooltip","defaultVisible","fullWidth","onToggle","onUpdate","isCursorOnTooltip","setIsCursorOnTooltip","arrowRef","currentFloatingPadding","x","y","reference","floating","strategy","update","refs","middlewareData","placement","useFloating","whileElementsMounted","autoUpdate","middleware","offset","autoPlacement","allowedPlacements","shift","crossAxis","tooltipY","tooltipX","centerOffset","shouldRenderArrow","hasArrowEnoughSpace","sharedArrowProps","useOnClickOutside","handleDisplayTooltip","handleMouseEnter","handleMouseLeave","themePart","transformOrigin","visibility","getTypographyTypeConfig","calcSizesFromType","marginLeft","marginRight","TypographyEmoji","StyleWebWrapper","$hasNoUnderline","TypographyLinkWebWrapper","styledLinaria","TypographyLink","noUnderline","TypographyLinkProps","cursor","createWindowSizeHelper","dimensions","mapWindowWidth","widthList","previousMinWidth","found","find","useKittTheme","useWindowSize","KittThemeProvider","ThemeProvider","KittThemeDecorator","makeDecorator","parameterName","wrapper","parameters","MatchWindowSize","matchWindowSizeOptions","match","useCurrentBreakpointName"],"mappings":"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"}
|