@ornikar/kitt-universal 9.44.0 → 9.45.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.
Files changed (83) hide show
  1. package/dist/definitions/BaseMessage/BaseMessage.d.ts.map +1 -1
  2. package/dist/definitions/Button/AnimatedContainer.d.ts.map +1 -1
  3. package/dist/definitions/IconButton/AnimatedBackground.d.ts +13 -0
  4. package/dist/definitions/IconButton/AnimatedBackground.d.ts.map +1 -0
  5. package/dist/definitions/IconButton/AnimatedBackground.web.d.ts +4 -0
  6. package/dist/definitions/IconButton/AnimatedBackground.web.d.ts.map +1 -0
  7. package/dist/definitions/IconButton/AnimatedScale.d.ts +12 -0
  8. package/dist/definitions/IconButton/AnimatedScale.d.ts.map +1 -0
  9. package/dist/definitions/IconButton/AnimatedScale.web.d.ts +4 -0
  10. package/dist/definitions/IconButton/AnimatedScale.web.d.ts.map +1 -0
  11. package/dist/definitions/IconButton/Background.d.ts +11 -0
  12. package/dist/definitions/IconButton/Background.d.ts.map +1 -0
  13. package/dist/definitions/IconButton/IconButton.d.ts +12 -5
  14. package/dist/definitions/IconButton/IconButton.d.ts.map +1 -1
  15. package/dist/definitions/IconButton/hooks/useNativeAnimation.d.ts +18 -0
  16. package/dist/definitions/IconButton/hooks/useNativeAnimation.d.ts.map +1 -0
  17. package/dist/definitions/IconButton/hooks/useNativeAnimation.web.d.ts +3 -0
  18. package/dist/definitions/IconButton/hooks/useNativeAnimation.web.d.ts.map +1 -0
  19. package/dist/definitions/forms/InputTag/InputTag.d.ts.map +1 -1
  20. package/dist/definitions/forms/InputText/InputTextContainer.web.d.ts +1 -1
  21. package/dist/definitions/native-base/KittNativeBaseProvider.d.ts +40 -6
  22. package/dist/definitions/native-base/KittNativeBaseProvider.d.ts.map +1 -1
  23. package/dist/definitions/story-components/Story.d.ts +1 -1
  24. package/dist/definitions/story-components/Story.d.ts.map +1 -1
  25. package/dist/definitions/story-components/StoryBlock.d.ts.map +1 -1
  26. package/dist/definitions/story-components/StoryGrid.d.ts.map +1 -1
  27. package/dist/definitions/story-components/StorySection.d.ts +3 -2
  28. package/dist/definitions/story-components/StorySection.d.ts.map +1 -1
  29. package/dist/definitions/story-components/StoryTitle.d.ts.map +1 -1
  30. package/dist/definitions/story-components/theme.d.ts +1 -1
  31. package/dist/definitions/story-components/theme.d.ts.map +1 -1
  32. package/dist/definitions/themes/late-ocean/feedback.d.ts +1 -0
  33. package/dist/definitions/themes/late-ocean/feedback.d.ts.map +1 -1
  34. package/dist/definitions/themes/late-ocean/iconButton.d.ts +2 -0
  35. package/dist/definitions/themes/late-ocean/iconButton.d.ts.map +1 -1
  36. package/dist/definitions/themes/late-ocean/typography.d.ts +1 -0
  37. package/dist/definitions/themes/late-ocean/typography.d.ts.map +1 -1
  38. package/dist/definitions/typography/BasicNativeBaseText.d.ts +15 -0
  39. package/dist/definitions/typography/BasicNativeBaseText.d.ts.map +1 -0
  40. package/dist/definitions/typography/Typography.d.ts +2 -2
  41. package/dist/definitions/typography/Typography.d.ts.map +1 -1
  42. package/dist/definitions/typography/TypographyLink.d.ts.map +1 -1
  43. package/dist/index-browser-all.es.android.js +5065 -5063
  44. package/dist/index-browser-all.es.android.js.map +1 -1
  45. package/dist/index-browser-all.es.css +1 -1
  46. package/dist/index-browser-all.es.ios.js +5065 -5063
  47. package/dist/index-browser-all.es.ios.js.map +1 -1
  48. package/dist/index-browser-all.es.js +4823 -4814
  49. package/dist/index-browser-all.es.js.map +1 -1
  50. package/dist/index-browser-all.es.web.js +4487 -4461
  51. package/dist/index-browser-all.es.web.js.map +1 -1
  52. package/dist/index-node-14.17.cjs.css +1 -1
  53. package/dist/index-node-14.17.cjs.js +5076 -5091
  54. package/dist/index-node-14.17.cjs.js.map +1 -1
  55. package/dist/index-node-14.17.cjs.web.css +1 -2
  56. package/dist/index-node-14.17.cjs.web.js +4519 -4487
  57. package/dist/index-node-14.17.cjs.web.js.map +1 -1
  58. package/dist/linaria-themes-browser-all.es.android.js +6 -2
  59. package/dist/linaria-themes-browser-all.es.android.js.map +1 -1
  60. package/dist/linaria-themes-browser-all.es.ios.js +6 -2
  61. package/dist/linaria-themes-browser-all.es.ios.js.map +1 -1
  62. package/dist/linaria-themes-browser-all.es.js +6 -2
  63. package/dist/linaria-themes-browser-all.es.js.map +1 -1
  64. package/dist/linaria-themes-browser-all.es.web.js +6 -2
  65. package/dist/linaria-themes-browser-all.es.web.js.map +1 -1
  66. package/dist/linaria-themes-node-14.17.cjs.js +6 -2
  67. package/dist/linaria-themes-node-14.17.cjs.js.map +1 -1
  68. package/dist/linaria-themes-node-14.17.cjs.web.js +6 -2
  69. package/dist/linaria-themes-node-14.17.cjs.web.js.map +1 -1
  70. package/dist/styles.css +1 -2
  71. package/dist/tsbuildinfo +1 -1
  72. package/package.json +5 -5
  73. package/typings/react-native-web.d.ts +48 -1
  74. package/dist/definitions/IconButton/PressableAnimatedContainer.d.ts +0 -14
  75. package/dist/definitions/IconButton/PressableAnimatedContainer.d.ts.map +0 -1
  76. package/dist/definitions/IconButton/PressableAnimatedContainer.web.d.ts +0 -4
  77. package/dist/definitions/IconButton/PressableAnimatedContainer.web.d.ts.map +0 -1
  78. package/dist/definitions/IconButton/PressableIconButton.d.ts +0 -8
  79. package/dist/definitions/IconButton/PressableIconButton.d.ts.map +0 -1
  80. package/dist/definitions/IconButton/PressableIconButtonWebWrapper.d.ts +0 -5
  81. package/dist/definitions/IconButton/PressableIconButtonWebWrapper.d.ts.map +0 -1
  82. package/dist/definitions/IconButton/PressableIconButtonWebWrapper.web.d.ts +0 -12
  83. package/dist/definitions/IconButton/PressableIconButtonWebWrapper.web.d.ts.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"index-node-14.17.cjs.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/AnimatedContainer.tsx","../src/KittBreakpoints.ts","../src/typography/Typography.tsx","../src/Icon/Icon.tsx","../src/typography/TypographyIcon.tsx","../src/Button/utils/getTextColorByType.ts","../src/Button/ButtonContent.tsx","../src/Button/ButtonPadding.tsx","../src/Button/DisabledBorder.tsx","../src/Button/FocusBorder.tsx","../src/Button/getVariantValuesIfExist.ts","../src/Button/hooks/useNativeAnimation.ts","../src/Button/utils/getButtonSize.ts","../src/Button/Button.tsx","../src/Icon/SpinningIcon.tsx","../src/LoaderIcon/LoaderIcon.tsx","../src/utils/windowSize/useMatchWindowSize.ts","../src/Actions/ActionsItem.tsx","../src/Actions/ActionsButton.tsx","../src/Actions/Actions.tsx","../src/themes/palettes/lateOceanColorPalette.ts","../src/themes/late-ocean/colors.ts","../src/themes/late-ocean/avatar.ts","../src/Avatar/utils/getCurrentRadius.ts","../src/Avatar/utils/getCurrentSize.ts","../src/Avatar/utils/getIconSize.ts","../src/Avatar/utils/getInitials.ts","../src/Avatar/Avatar.tsx","../src/BottomSheet/BottomSheet.tsx","../src/BottomSheet/useBottomSheet.ts","../src/BottomSheet/useStaticBottomSheet.tsx","../src/ModalBehaviour/ModalBehaviourPortal.tsx","../src/ModalBehaviour/OnCloseContext.tsx","../src/ModalBehaviour/ModalBehaviour.tsx","../src/Overlay/Overlay.tsx","../src/CardModal/CardModalAnimation/CardModalRotationContainer.tsx","../src/CardModal/CardModalAnimation/NativeOpacityAnimation.tsx","../src/CardModal/CardModalAnimation/NativeRotationAnimation.tsx","../src/CardModal/CardModalAnimation/CardModalAnimation.tsx","../src/CardModal/CardModalBehaviour.tsx","../src/CardModal/CardModalBody.tsx","../src/CardModal/CardModalFooter.tsx","../src/CardModal/CardModalHeader.tsx","../src/CardModal/CardModal.tsx","../src/Choices/hooks/useNativeAnimation.tsx","../src/Choices/ChoiceItem.tsx","../src/Choices/ChoiceItemContainer.tsx","../src/Choices/Choices.tsx","../src/DialogModal/DialogModalAnimation/NativeOpacityAnimation.tsx","../src/DialogModal/DialogModalAnimation/NativeRotationAnimation.tsx","../src/DialogModal/DialogModalAnimation/DialogModalAnimation.tsx","../src/DialogModal/DialogModalBehaviour.tsx","../src/DialogModal/DialogModal.tsx","../src/Emoji/Emoji.tsx","../src/ExternalAppLink/ExternalAppLink.tsx","../src/ExternalLink/ExternalLinkOpenLinkBehavior.ts","../src/ExternalLink/ExternalLink.tsx","../src/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/utils/windowSize/createWindowSizeHelper.ts","../src/useKittTheme.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.tsx","../src/forms/InputText/InputText.tsx","../src/forms/DatePicker/components/InputPart.tsx","../src/forms/DatePicker/components/PartContainer.tsx","../src/forms/DatePicker/components/KeyboardDatePicker.tsx","../src/forms/DatePicker/components/PressableDateInputs.tsx","../src/forms/DatePicker/components/NativeUIDatePicker/DatePickerAndroid.tsx","../src/Modal/Body.tsx","../src/Modal/Footer.tsx","../src/utils/StyleWebWrapper.tsx","../src/IconButton/PressableIconButtonWebWrapper.tsx","../src/IconButton/PressableIconButton.tsx","../src/IconButton/PressableAnimatedContainer.tsx","../src/IconButton/IconButton.tsx","../src/Modal/OnCloseContext.ts","../src/Modal/Header.tsx","../src/Modal/Modal.tsx","../src/forms/DatePicker/components/NativeUIDatePicker/PlatformDateTimePicker.tsx","../src/forms/DatePicker/components/NativeUIDatePicker/ModalPlatformDateTimePicker.tsx","../src/forms/DatePicker/components/NativeUIDatePicker/DefaultNativeUIDatePicker.tsx","../src/forms/DatePicker/components/NativeUIDatePicker/NativeUIDatePicker.tsx","../src/forms/DatePicker/DatePicker.tsx","../src/forms/InputEmail/InputEmail.tsx","../src/forms/InputFeedback/InputFeedback.tsx","../src/forms/InputField/InputField.tsx","../src/forms/InputIcon/InputIcon.tsx","../src/forms/InputPressable/InputPressable.tsx","../src/forms/InputPassword/InputPassword.tsx","../src/forms/InputPhone/InputPhone.tsx","../src/forms/InputTag/InputTag.tsx","../src/forms/Label/Label.tsx","../src/forms/Radio/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/AnimatedContainer/AnimatedContainer.tsx","../src/forms/RadioButtonGroup/HoverBorder.tsx","../src/forms/RadioButtonGroup/hooks/useNativeAnimation.ts","../src/forms/RadioButtonGroup/utils/getCurrentTextColor.ts","../src/forms/RadioButtonGroup/RadioButton.tsx","../src/forms/RadioButtonGroup/RadioButtonGroup.tsx","../src/forms/TextArea/TextArea.tsx","../src/Highlight/Highlight.tsx","../src/KittMapConfigProvider/KittMapConfigProvider.tsx","../src/KittMapConfigProvider/hooks/useKittMapConfig.ts","../src/ListItem/ListItemContent.tsx","../src/ListItem/ListItemSideContent.tsx","../src/ListItem/ListItem.tsx","../src/MapMarker/assets/marker-large.inline.svg","../src/MapMarker/assets/marker.inline.svg","../src/MapMarker/assets/position-marker.inline.svg","../src/MapMarker/MapMarker.tsx","../src/BaseMessage/IconContent.tsx","../src/BaseMessage/helper.ts","../src/BaseMessage/BaseMessage.tsx","../src/Message/Message.tsx","../src/native-base/KittNativeBaseProvider.tsx","../src/NavigationModal/ContentPadding.tsx","../src/NavigationModal/Body.tsx","../src/NavigationModal/Footer.tsx","../src/NavigationModal/Header.tsx","../src/NavigationModal/components/NativeOpacityAnimation.tsx","../src/NavigationModal/components/NativeSlideInAnimation.tsx","../src/NavigationModal/NavigationModalAnimation.tsx","../src/NavigationModal/NavigationModalBehaviour.tsx","../src/NavigationModal/NavigationModalContainer.tsx","../src/NavigationModal/NavigationModal.tsx","../src/Notification/Notification.tsx","../src/PageLoader/AnimatedLoaderCircle.tsx","../src/PageLoader/AnimatedBackgroundCircle.tsx","../src/PageLoader/AnimatedFillCircleContainer.tsx","../src/PageLoader/AnimatedFillCircle.tsx","../src/PageLoader/PageLoader.tsx","../src/Picker/PickerItem.tsx","../src/Picker/Picker.tsx","../src/Skeleton/SkeletonContent.tsx","../src/Skeleton/Skeleton.tsx","../src/StaticMap/utils/getStaticMapImageUrl.ts","../src/StaticMap/hooks/useGetStaticMapImageUrl.ts","../src/StaticMap/StaticMapError.tsx","../src/StaticMap/StaticMapImage.tsx","../src/StaticMap/StaticMapLoader.tsx","../src/StaticMap/StaticMapMarker.tsx","../src/StaticMap/utils/getRangedWidthValue.ts","../src/StaticMap/utils/getShouldDisplay2x.ts","../src/StaticMap/StaticMap.tsx","../src/story-components/Flex.tsx","../src/story-components/theme.ts","../src/story-components/StoryBlock.tsx","../src/story-components/StoryTitle.tsx","../src/story-components/Story.tsx","../src/story-components/StorySection.tsx","../src/story-components/StoryContainer.tsx","../src/story-components/StoryDecorator.tsx","../src/story-components/StoryGrid.tsx","../src/Tag/Tag.tsx","../src/forms/styledTextInputMixin.ts","../src/TimePicker/ModalDateTimePicker.tsx","../src/TimePicker/useTimePicker.ts","../src/TimePicker/TimePicker.tsx","../src/Tooltip/Arrow.tsx","../src/Tooltip/TooltipContent.tsx","../src/Tooltip/hooks/useCustomShift.ts","../src/Tooltip/Tooltip.tsx","../src/typography/TypographyEmoji.tsx","../src/utils/withTheme.tsx","../src/typography/TypographyLink.tsx","../src/utils/storybook/KittThemeDecorator.tsx","../src/utils/windowSize/MatchWindowSize.tsx","../src/utils/windowSize/useCurrentBreakpointName.ts"],"sourcesContent":["import type { 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 { ReactElement, ReactNode } from 'react';\nimport type { ViewStyle } from 'react-native';\nimport Animated from 'react-native-reanimated';\nimport styled from 'styled-components/native';\nimport type { ButtonProps, ButtonType, ButtonVariant } from './Button';\n\ninterface StyledAnimatedViewProps {\n $isDisabled?: boolean;\n}\n\nconst StyledAnimatedView = styled(Animated.View)<StyledAnimatedViewProps>`\n border-radius: ${({ theme }) => theme.kitt.button.borderRadius}px;\n background-color: ${({ theme, $isDisabled }) =>\n $isDisabled ? theme.kitt.button.disabled.default.backgroundColor : undefined};\n`;\n\nexport interface AnimatedContainerProps {\n children: ReactNode;\n disabled?: boolean;\n variant: ButtonVariant;\n type: ButtonType;\n isHovered?: boolean;\n isPressed?: boolean;\n isStretch?: ButtonProps['stretch'];\n animatedStyles: Partial<ViewStyle>;\n}\n\nexport function AnimatedContainer({ disabled, animatedStyles, children }: AnimatedContainerProps): ReactElement {\n return (\n <StyledAnimatedView style={disabled ? undefined : [animatedStyles]} $isDisabled={disabled}>\n {children}\n </StyledAnimatedView>\n );\n}\n","export const KittBreakpoints = {\n /**\n * min-width: 0\n */\n BASE: 0,\n /**\n * min-width: 480px\n */\n SMALL: 480,\n /**\n * min-width: 768px\n */\n MEDIUM: 768,\n /**\n * min-width: 1024px\n */\n LARGE: 1024,\n /**\n * min-width: 1280px\n */\n WIDE: 1280,\n};\n\nexport const KittBreakpointsMax = {\n /**\n * max-width: 479px\n */\n BASE: KittBreakpoints.SMALL - 1,\n /**\n * max-width: 767px\n */\n SMALL: KittBreakpoints.MEDIUM - 1,\n /**\n * max-width: 1023px\n */\n MEDIUM: KittBreakpoints.LARGE - 1,\n /**\n * max-width: 1279px\n */\n LARGE: KittBreakpoints.WIDE - 1,\n};\n\nexport type KittBreakpoint = (typeof KittBreakpoints)[keyof typeof KittBreakpoints];\nexport type KittBreakpointMax = (typeof KittBreakpointsMax)[keyof typeof KittBreakpointsMax];\n\nexport enum KittBreakpointNameEnum {\n BASE = 'base',\n SMALL = 'small',\n MEDIUM = 'medium',\n LARGE = 'large',\n WIDE = 'wide',\n}\n\nexport type KittResponsiveProp<Value> = Record<KittBreakpointNameEnum.BASE, Value> &\n Partial<Record<Exclude<KittBreakpointNameEnum, KittBreakpointNameEnum.BASE>, Value>>;\n\nexport type KittResponsivePropOrValue<Value> = KittResponsiveProp<Value> | Value;\n","import type { ITextProps } from 'native-base';\nimport { Text as NBText } from 'native-base';\nimport type { PlatformProps } from 'native-base/lib/typescript/components/types';\nimport type { FC, ReactElement, ReactNode } from 'react';\nimport { createContext, useContext } from 'react';\nimport type { TextProps } from 'react-native';\nimport { Platform } from 'react-native';\nimport type { Except, SetOptional } from 'type-fest';\nimport type { KittResponsiveProp } from '../KittBreakpoints';\nimport { KittBreakpointNameEnum, KittBreakpoints } from '../KittBreakpoints';\nimport type { NativeBaseAcceptedFlexboxProps } from '../native-base/acceptable-native-base-props';\nimport type { TypographyTypeConfig } from '../themes/late-ocean/typography';\nimport type { KittTheme } from '../useKittTheme';\n\nexport type TypographyHeaderType = `header${'1' | '2' | '3' | '4' | '5'}`;\nexport type TypographyBodyType = 'body' | `body-${'large' | 'medium' | 'small' | 'xsmall'}`;\nexport type TypographyType = TypographyHeaderType | TypographyBodyType;\ntype TypographyVariant = 'regular' | 'bold';\nexport type TypographyColor =\n | 'black'\n | 'black-anthracite'\n | 'black-disabled'\n | 'black-light'\n | 'white'\n | 'white-light'\n | 'primary'\n | 'primary-light'\n | 'accent'\n | 'success'\n | 'danger'\n | 'warning';\n\nconst IsHeaderTypographyContext = createContext<boolean | undefined>(undefined);\nconst TypographyColorContext = createContext<TypographyColor>('black');\n\nexport function useTypographyColor(): TypographyColor {\n return useContext(TypographyColorContext);\n}\n\nconst TypographyDefaultColorContext = createContext<TypographyColor | undefined>(undefined);\n\nfunction useTypographyDefaultColor(): TypographyColor | undefined {\n return useContext(TypographyDefaultColorContext);\n}\n\n/** @deprecated use native-base instead for SSR compatibility */\nexport const getTypographyTypeConfigKey = (theme: KittTheme): keyof TypographyTypeConfig => {\n const isMediumOrAbove = theme.responsive.matchWindowSize({ minWidth: KittBreakpoints.MEDIUM });\n return isMediumOrAbove ? 'mediumAndWide' : 'baseAndSmall';\n};\n\nexport function getTypographyTypeConfigKeyFromTypeName(\n breakpointName: KittBreakpointNameEnum,\n): keyof TypographyTypeConfig {\n return breakpointName === 'base' || breakpointName === 'small' ? 'baseAndSmall' : 'mediumAndWide';\n}\n\nconst isTypeHeader = (type: TypographyType): type is TypographyHeaderType => type.startsWith('header');\nexport const isTypographyHeader = (\n type: TypographyType | undefined,\n isHeaderTypographyInContext: boolean | undefined,\n): type is TypographyHeaderType => {\n if (type) return isTypeHeader(type);\n if (isHeaderTypographyInContext != null) return isHeaderTypographyInContext;\n throw new Error('You must set a \"base\" prop or wrap this Typography in one that does.');\n};\n\nexport type TypographyBreakpointType = Partial<KittResponsiveProp<TypographyType>>;\n\ntype NativeBaseTextPropsAcceptedProps = Pick<\n ITextProps,\n keyof Except<TextProps, 'accessibilityRole'> | 'textAlign' | 'textTransform' | NativeBaseAcceptedFlexboxProps\n>;\nexport interface TypographyProps\n extends TypographyBreakpointType,\n NativeBaseTextPropsAcceptedProps,\n Pick<PlatformProps<NativeBaseTextPropsAcceptedProps>, '_android' | '_ios' | '_web'> {\n type?: TypographyBreakpointType;\n // Find mapping for web here: https://www.w3.org/TR/html-aria/\n accessibilityRole: NonNullable<TextProps['accessibilityRole']> | 'paragraph' | null;\n /** Default to regular for bodies and bold of headers. Is not inherited. */\n variant?: TypographyVariant;\n /** Inherited from parent Typography if not specified, or black if no Typography parent found. */\n color?: TypographyColor;\n children: ReactNode;\n}\nexport type TypographyPropsWithoutRole = Except<TypographyProps, 'accessibilityRole'>;\n\nexport function createNativeBaseFontSize(type: TypographyBreakpointType): ITextProps['fontSize'] {\n const typeWithMediumForced = {\n ...type,\n medium: type.medium || type.small || type.base,\n };\n\n const fontSizeForNativeBase: ITextProps['fontSize'] = {};\n [\n KittBreakpointNameEnum.BASE,\n KittBreakpointNameEnum.SMALL,\n KittBreakpointNameEnum.MEDIUM,\n KittBreakpointNameEnum.LARGE,\n KittBreakpointNameEnum.WIDE,\n ].forEach((typeName) => {\n const value = typeWithMediumForced[typeName];\n if (value) {\n fontSizeForNativeBase[typeName] = `${getTypographyTypeConfigKeyFromTypeName(typeName)}.${value}`;\n }\n });\n\n return fontSizeForNativeBase;\n}\n\nfunction getNBThemeColorFromColorProps(colorName: TypographyColor | undefined): string | undefined {\n return colorName ? `kitt.typography.${colorName}` : undefined;\n}\n\nexport function Typography({\n accessibilityRole,\n base: legacyBase,\n small: legacySmall,\n medium: legacyMedium,\n large: legacyLarge,\n wide: legacyWide,\n type = { base: legacyBase, small: legacySmall, medium: legacyMedium, large: legacyLarge, wide: legacyWide },\n variant,\n color,\n ...otherProps\n}: TypographyProps): ReactElement | null {\n const isHeaderTypographyInContext = useContext(IsHeaderTypographyContext);\n\n const defaultColor = useTypographyDefaultColor();\n\n const hasTypographyAncestor = isHeaderTypographyInContext !== undefined;\n const baseOrDefaultToBody = hasTypographyAncestor ? type.base : type.base ?? 'body';\n const isHeader = isTypographyHeader(baseOrDefaultToBody, isHeaderTypographyInContext);\n const nonNullableVariant: TypographyVariant = variant ?? (isHeader ? 'bold' : 'regular');\n\n const fontSizeForNativeBase = createNativeBaseFontSize({ ...type, base: baseOrDefaultToBody });\n\n if (process.env.NODE_ENV !== 'production') {\n Object.entries(type).forEach(([key, value]) => {\n if (value && isTypeHeader(value) !== isHeader) {\n throw new Error(\n `Invalid value for \"${key}\": \"${value}\" is ${isHeader ? 'not' : ''} an header. Don't mix headers and bodies.`,\n );\n }\n });\n }\n\n const currentColor = !color && !hasTypographyAncestor ? defaultColor : color;\n\n const text = (\n <NBText\n accessibilityRole={(accessibilityRole as TextProps['accessibilityRole']) || undefined}\n fontSize={fontSizeForNativeBase}\n lineHeight={hasTypographyAncestor ? undefined : fontSizeForNativeBase}\n fontWeight={isHeader ? `headers.${nonNullableVariant}` : `bodies.${nonNullableVariant}`}\n fontFamily={isHeader ? `headers.${nonNullableVariant}` : `bodies.${nonNullableVariant}`}\n color={getNBThemeColorFromColorProps(currentColor)}\n textDecorationColor={getNBThemeColorFromColorProps(currentColor)}\n {...otherProps}\n />\n );\n\n const content = baseOrDefaultToBody ? (\n <IsHeaderTypographyContext.Provider value={isHeader}>{text}</IsHeaderTypographyContext.Provider>\n ) : (\n text\n );\n\n return color ? <TypographyColorContext.Provider value={color}>{content}</TypographyColorContext.Provider> : content;\n}\n\nexport type TypographyTextProps = SetOptional<TypographyProps, 'accessibilityRole'>;\nfunction TypographyText(props: TypographyTextProps): ReactElement {\n return <Typography accessibilityRole={null} {...props} />;\n}\n\nfunction TypographyParagraph(props: TypographyTextProps): ReactElement {\n // role 'paragraph' does not exist in native, it's a web feature only.\n return <Typography accessibilityRole={Platform.OS === 'web' ? 'paragraph' : null} {...props} />;\n}\n\nexport type TypographyHeadingProps = TypographyPropsWithoutRole;\n\nconst createHeading = (\n level: number,\n /** @deprecated accessibility and design should be independent */\n defaultBase?: TypographyHeadingProps['base'],\n): FC<TypographyHeadingProps> => {\n // https://github.com/necolas/react-native-web/issues/401\n function TypographyHeading(props: TypographyHeadingProps): ReactElement {\n return <Typography accessibilityRole=\"header\" base={defaultBase} {...props} accessibilityLevel={level} />;\n }\n TypographyHeading.displayName = `TypographyHeading${level}`;\n return TypographyHeading;\n};\n\nTypography.SetDefaultColor = TypographyDefaultColorContext.Provider;\n\nTypography.Text = TypographyText;\nTypography.Paragraph = TypographyParagraph;\nTypography.Header1 = createHeading(1);\nTypography.Header2 = createHeading(2);\nTypography.Header3 = createHeading(3);\nTypography.Header4 = createHeading(4);\nTypography.Header5 = createHeading(5);\nTypography.Header6 = createHeading(6);\n\n/** @deprecated use Typography.Header1 */\nTypography.h1 = createHeading(1, 'header1');\n/** @deprecated use Typography.Header2 */\nTypography.h2 = createHeading(2, 'header2');\n/** @deprecated use Typography.Header3 */\nTypography.h3 = createHeading(3, 'header3');\n/** @deprecated use Typography.Header4 */\nTypography.h4 = createHeading(4, 'header4');\n/** @deprecated use Typography.Header6 */\nTypography.h5 = createHeading(5, 'header5');\n","import type { ReactElement } from 'react';\nimport { cloneElement } from 'react';\nimport type { ViewStyle } from 'react-native';\nimport 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 { DefaultTheme } from 'styled-components/native';\nimport type { BaseButtonTheme, BaseButtonWithVariant } from '../themes/late-ocean/button';\nimport type { ButtonType, ButtonVariant } from './Button';\n\nconst hasVariant = (button: BaseButtonTheme, variant: ButtonVariant): button is BaseButtonWithVariant => {\n return variant in button;\n};\n\nexport function getVariantValuesIfExist<V extends ButtonVariant>(\n theme: DefaultTheme,\n type: ButtonType,\n variant: ButtonVariant,\n): BaseButtonTheme['default'] | BaseButtonWithVariant[V] {\n const button = theme.kitt.button[type];\n\n if (hasVariant(button, variant)) {\n return button[variant];\n }\n\n return theme.kitt.button[type].default;\n}\n","import type { ViewStyle } from 'react-native';\nimport { interpolateColor, useAnimatedStyle, useSharedValue, withSpring } from 'react-native-reanimated';\nimport { useTheme } from 'styled-components/native';\nimport type { ButtonType, ButtonVariant } from 'Button/Button';\nimport { getVariantValuesIfExist } from '../getVariantValuesIfExist';\n\nexport interface UseNativeAnimationOptions {\n type: ButtonType;\n variant: ButtonVariant;\n isPressedInternal?: boolean;\n}\n\nexport interface NativeAnimation {\n onPressIn?: () => void;\n onPressOut?: () => void;\n animatedStyles: ViewStyle;\n}\n\nexport const useNativeAnimation = ({\n type,\n variant,\n isPressedInternal,\n}: UseNativeAnimationOptions): NativeAnimation => {\n const theme = useTheme();\n const pressed = useSharedValue<0 | 1>(isPressedInternal ? 1 : 0);\n const color = useSharedValue(0);\n\n const { backgroundColor, pressedBackgroundColor } = getVariantValuesIfExist(theme, type, variant);\n const { scale } = theme.kitt.button;\n\n const animatedStyles = useAnimatedStyle(() => {\n return {\n backgroundColor: interpolateColor(color.value, [0, 1], [backgroundColor, pressedBackgroundColor]),\n transform: [\n {\n scale: withSpring(pressed.value ? scale.base.active : scale.base.default),\n },\n ],\n };\n });\n\n const handlePressIn = (): void => {\n color.value = withSpring(1);\n pressed.value = 1;\n };\n\n const handlePressOut = (): void => {\n color.value = withSpring(0);\n pressed.value = 0;\n };\n\n return {\n onPressIn: handlePressIn,\n onPressOut: handlePressOut,\n animatedStyles,\n };\n};\n","import type { ButtonProps } from '../Button';\n\nexport const getButtonSize = ({ large, xLarge, size }: Partial<ButtonProps>): ButtonProps['size'] => {\n if (large) return 'large';\n if (xLarge) return 'xLarge';\n return size;\n};\n","import type { ReactElement, ReactNode } from 'react';\nimport { forwardRef } from 'react';\nimport type { PressableProps } from 'react-native';\nimport type { View } from '../native-base/primitives';\nimport { Pressable } from '../native-base/primitives';\nimport type { ResponsiveValue } from '../utils/createResponsiveStyleFromProp/createResponsiveStyleFromProp';\nimport { createResponsiveStyleFromProp } from '../utils/createResponsiveStyleFromProp/createResponsiveStyleFromProp';\nimport { deprecatedInComponent } from '../utils/warnings';\nimport { AnimatedContainer } from './AnimatedContainer';\nimport { ButtonContent } from './ButtonContent';\nimport { ButtonPadding } from './ButtonPadding';\nimport { DisabledBorder } from './DisabledBorder';\nimport { FocusBorder } from './FocusBorder';\nimport { useNativeAnimation } from './hooks/useNativeAnimation';\nimport { getButtonSize } from './utils/getButtonSize';\n\nexport type SubtleButtonType = 'subtle' | 'subtle-dark';\nexport type ButtonType = 'primary' | 'default' | SubtleButtonType | 'white' | '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 { ReactElement } from 'react';\nimport { cloneElement, useEffect, useRef } from 'react';\nimport { Animated, Easing } from 'react-native';\n\nexport interface SpinningIconProps {\n icon: ReactElement;\n color?: string;\n}\n\nexport function SpinningIcon({ icon, color }: SpinningIconProps): ReactElement {\n if (process.env.NODE_ENV !== 'production' && !color) {\n throw new Error(`Invalid color passed to SpinningIcon: ${String(color)}`);\n }\n const clonedIcon = cloneElement(icon, { color });\n const animationRef = useRef(new Animated.Value(0));\n\n const rotation = animationRef.current.interpolate({\n inputRange: [0, 1],\n outputRange: ['0deg', '360deg'],\n });\n\n useEffect(() => {\n if (process.env.NODE_ENV === 'test') return undefined;\n\n const animation = Animated.loop(\n Animated.timing(animationRef.current, {\n toValue: 1,\n duration: 1100,\n easing: Easing.linear,\n useNativeDriver: true,\n }),\n );\n animation.start();\n return () => {\n if (process.env.NODE_ENV === 'test') return undefined;\n\n animation.stop();\n return undefined;\n };\n }, []);\n\n return <Animated.View style={{ transform: [{ rotate: rotation }] }}>{clonedIcon}</Animated.View>;\n}\n","import { ArcIcon } from '@ornikar/kitt-icons';\nimport type { ReactElement } from 'react';\nimport type { SpinningIconProps } from '../Icon/SpinningIcon';\nimport { SpinningIcon } from '../Icon/SpinningIcon';\n\nexport interface LoaderIconProps {\n color?: SpinningIconProps['color'];\n}\n\nexport function LoaderIcon({ color }: LoaderIconProps): ReactElement {\n return <SpinningIcon color={color} icon={<ArcIcon />} />;\n}\n","import { useWindowDimensions } from 'react-native';\nimport type { WindowDimensions } from './createWindowSizeHelper';\n\nexport interface MatchWindowSizeOptions {\n minWidth?: number;\n maxWidth?: number;\n minHeight?: number;\n maxHeight?: number;\n}\nexport function matchWindowSize(\n { width, height }: WindowDimensions,\n { minWidth, maxWidth, minHeight, maxHeight }: MatchWindowSizeOptions,\n): boolean {\n const hasWidthMatched = width ? (!minWidth || width >= minWidth) && (!maxWidth || width <= maxWidth) : true;\n const hasHeightMatched = height ? (!minHeight || height >= minHeight) && (!maxHeight || height <= maxHeight) : true;\n return hasWidthMatched && hasHeightMatched;\n}\n\n/**\n * Returns if a size matches based on dimensions passed as options.\n *\n * WARNING: Not SSR friendly.\n */\nexport function useMatchWindowSize(options: MatchWindowSizeOptions): boolean {\n const { width, height } = useWindowDimensions();\n return matchWindowSize({ width, height }, options);\n}\n","import type { ComponentProps, ElementType, ReactElement, VoidFunctionComponent } from 'react';\nimport { useEffect, useRef, useState } from 'react';\nimport type { ButtonProps } from '../Button/Button';\nimport { KittBreakpoints } from '../KittBreakpoints';\nimport { LoaderIcon } from '../LoaderIcon/LoaderIcon';\nimport { View } from '../native-base/primitives';\nimport { useMatchWindowSize } from '../utils/windowSize/useMatchWindowSize';\n\nfunction getCurrentStretchValue(isStretch: boolean | undefined, isMedium: boolean): boolean | undefined {\n // Stretch will follow the value passed from the component occurence if defined\n if (isStretch) return isStretch;\n\n return !isMedium ? true : undefined;\n}\n\ninterface ActionsItemMinimumRequiredProps extends Pick<ButtonProps, 'onPress'> {}\n\nexport interface ActionsItemProps<C extends VoidFunctionComponent<any>> {\n readonly onPress?: (\n e: Parameters<NonNullable<ButtonProps['onPress']>>[0],\n // eslint-disable-next-line @typescript-eslint/no-invalid-void-type\n ) => Promise<void | undefined | null> | void | undefined | null;\n readonly as: C;\n}\n\n// eslint-disable-next-line @typescript-eslint/ban-types\ntype ActionsItemSendableComponentProps<C extends VoidFunctionComponent<any>> = Omit<\n ComponentProps<C>,\n keyof ActionsItemProps<C> & keyof ActionsItemMinimumRequiredProps\n>;\n\nexport function ActionsItem<C extends VoidFunctionComponent<any>>({\n as,\n onPress,\n disabled,\n icon,\n stretch,\n ...props\n}: ActionsItemProps<C> & ActionsItemSendableComponentProps<C>): ReactElement {\n const isMedium = useMatchWindowSize({\n minWidth: KittBreakpoints.MEDIUM,\n });\n\n const isCurrentStretch = getCurrentStretchValue(stretch, isMedium);\n\n const [isLoading, setIsLoading] = useState(false);\n const mountedRef = useRef(false);\n\n // effect just for tracking mounted state, as onPress can unmount the ActionButton\n useEffect(() => {\n mountedRef.current = true;\n return () => {\n mountedRef.current = false;\n };\n }, []);\n\n const handlePress: ButtonProps['onPress'] = (e) => {\n const callPressAndUpdateLoadingState = async (): Promise<void> => {\n if (!onPress) return;\n setIsLoading(true);\n try {\n await onPress(e);\n if (mountedRef.current) {\n setIsLoading(false);\n }\n } catch (error) {\n if (mountedRef.current) {\n setIsLoading(false);\n }\n throw error;\n }\n };\n\n callPressAndUpdateLoadingState();\n };\n\n const Component: ElementType = as;\n\n return (\n <View>\n <Component\n {...props}\n stretch={isCurrentStretch}\n disabled={isLoading ? true : disabled}\n icon={isLoading ? <LoaderIcon /> : icon}\n onPress={handlePress}\n />\n </View>\n );\n}\n","import type { ReactElement } from 'react';\nimport type { Except } from 'type-fest';\nimport type { ButtonProps } from '../Button/Button';\nimport { Button } from '../Button/Button';\nimport type { ActionsItemProps } from './ActionsItem';\nimport { ActionsItem } from './ActionsItem';\n\nexport interface ActionsButtonProps\n extends Except<ButtonProps, 'onPress'>,\n Pick<ActionsItemProps<typeof Button>, 'onPress'> {}\n\nexport function ActionsButton({ ...props }: ActionsButtonProps): ReactElement {\n return <ActionsItem as={Button} {...props} />;\n}\n","import type { ReactElement } from 'react';\nimport type { Except } from 'type-fest';\nimport { Stack } from '../native-base/layout';\nimport type { StackProps } from '../native-base/layout';\nimport { ActionsButton } from './ActionsButton';\nimport { ActionsItem } from './ActionsItem';\n\ntype ActionsLayout = 'column' | 'row';\n\nfunction getCurrentLayout(layout: ActionsLayout | undefined): StackProps['alignItems'] {\n if (!layout) return { base: 'stretch', medium: 'center' };\n\n if (layout === 'column') return 'stretch';\n\n return 'center';\n}\n\nfunction getCurrentDirection(layout: ActionsLayout | undefined): StackProps['direction'] {\n if (!layout) return { base: 'column', medium: 'row' };\n\n if (layout === 'column') return 'column';\n\n return 'row';\n}\n\nexport interface ActionsProps extends Except<StackProps, 'space'> {\n layout?: ActionsLayout;\n}\n\nexport function Actions({ children, layout, ...props }: ActionsProps): ReactElement {\n const currentAlignItems = getCurrentLayout(layout);\n const currentDirection = getCurrentDirection(layout);\n\n return (\n <Stack alignItems={currentAlignItems} direction={currentDirection} flex={1} {...props} space=\"kitt.3\">\n {children}\n </Stack>\n );\n}\n\nActions.Button = ActionsButton;\nActions.Item = ActionsItem;\n","export const lateOceanColorPalette = {\n lateOcean: '#4C34E0',\n lateOceanLight1: '#705DE6',\n lateOceanLight2: '#9485EC',\n lateOceanLight3: '#D6BAF9',\n\n warmEmbrace: '#F4D3CE',\n warmEmbraceLight1: '#FFEDE6',\n\n black1000: '#000000',\n black800: '#333333',\n black555: '#737373',\n black400: '#999999',\n black200: '#CCCCCC',\n black100: '#E5E5E5',\n black50: '#F2F2F2',\n black25: '#F9F9F9',\n white: '#FFFFFF',\n\n viride: '#38836D',\n englishVermillon: '#D44148',\n goldCrayola: '#F8C583',\n aero: '#89BDDD',\n seaShell: '#FFF9F3',\n\n transparent: 'transparent',\n\n moonPurple: '#DBD6F9',\n moonPurpleLight1: '#EDEBFC',\n};\n","import { lateOceanColorPalette } from '../palettes/lateOceanColorPalette';\n\nexport const colors = {\n primary: lateOceanColorPalette.lateOcean,\n primaryLight: lateOceanColorPalette.lateOceanLight1,\n accent: lateOceanColorPalette.warmEmbrace,\n accentLight: lateOceanColorPalette.warmEmbraceLight1,\n success: lateOceanColorPalette.viride,\n correct: lateOceanColorPalette.viride,\n danger: lateOceanColorPalette.englishVermillon,\n info: lateOceanColorPalette.aero,\n warning: lateOceanColorPalette.goldCrayola,\n separator: lateOceanColorPalette.black100,\n hover: lateOceanColorPalette.black100,\n white: lateOceanColorPalette.white,\n black: lateOceanColorPalette.black1000,\n blackDisabled: lateOceanColorPalette.black400,\n blackLight: lateOceanColorPalette.black555,\n blackAnthracite: lateOceanColorPalette.black800,\n uiBackground: lateOceanColorPalette.black25,\n uiBackgroundLight: lateOceanColorPalette.white,\n transparent: lateOceanColorPalette.transparent,\n disabled: lateOceanColorPalette.black50,\n overlay: {\n dark: 'rgba(41, 48, 51, 0.25)',\n light: 'rgba(255, 255, 255, 0.90)',\n },\n};\n","import { lateOceanColorPalette } from '../palettes/lateOceanColorPalette';\nimport { colors } from './colors';\n\nexport const defaultAvatarSize = 40;\nexport const defaultAvatarIconSize = 20;\n\nexport const largeAvatarSize = 120;\nexport const largeAvatarIconSize = 30;\n\nexport interface AvatarThemeColorVariant {\n backgroundColor: string;\n}\n\nexport interface AvatarThemeSizeVariant {\n borderRadius: number;\n size: number;\n iconSize: number;\n}\n\nexport interface AvatarTheme {\n borderRadius: number;\n size: number;\n iconSize: number;\n default: AvatarThemeColorVariant;\n light: AvatarThemeColorVariant;\n large: AvatarThemeSizeVariant;\n}\n\nexport const avatar: AvatarTheme = {\n borderRadius: 10,\n size: defaultAvatarSize,\n iconSize: defaultAvatarIconSize,\n default: {\n backgroundColor: colors.primary,\n },\n light: {\n backgroundColor: lateOceanColorPalette.black100,\n },\n large: {\n borderRadius: 30,\n size: largeAvatarSize,\n iconSize: largeAvatarIconSize,\n },\n};\n","import { defaultAvatarSize, largeAvatarSize } from '../../themes/late-ocean/avatar';\nimport type { AvatarSizeVariant } from '../Avatar';\n\ninterface GetCurrentRadiusParams {\n size?: number;\n sizeVariant?: AvatarSizeVariant;\n round?: boolean;\n}\n\nexport function getCurrentRadius({ size, sizeVariant, round }: GetCurrentRadiusParams): string | number {\n if (round) {\n if (size) return size * 0.5;\n\n if (sizeVariant === 'large') return largeAvatarSize * 0.5;\n\n return defaultAvatarSize * 0.5;\n }\n\n if (sizeVariant === 'large') return 'kitt.avatar.large.borderRadius';\n\n return 'kitt.avatar.borderRadius';\n}\n","import type { AvatarSizeVariant } from '../Avatar';\n\ninterface GetCurrentSizeParams {\n size?: number;\n sizeVariant?: AvatarSizeVariant;\n}\n\nexport function getCurrentSize({ size, sizeVariant }: GetCurrentSizeParams): string | number {\n if (size) return size;\n\n if (sizeVariant === 'large') return 'kitt.avatar.large.size';\n\n return 'kitt.avatar.size';\n}\n","import { defaultAvatarIconSize, largeAvatarIconSize } from '../../themes/late-ocean/avatar';\nimport type { AvatarSizeVariant } from '../Avatar';\n\nexport function getIconSize(size: string | number, sizeVariant?: AvatarSizeVariant): number {\n if (typeof size === 'number') return size * 0.5;\n\n if (sizeVariant === 'large') return largeAvatarIconSize;\n\n return defaultAvatarIconSize;\n}\n","export function getInitials(firstname: string, lastname: string): string {\n return `${firstname[0]}${lastname[0]}`.toUpperCase();\n}\n","import { UserIcon } from '@ornikar/kitt-icons';\nimport type { ReactElement } from 'react';\nimport { Icon } from '../Icon/Icon';\nimport { Image, View } from '../native-base/primitives';\nimport { Typography } from '../typography/Typography';\nimport { getCurrentRadius } from './utils/getCurrentRadius';\nimport { getCurrentSize } from './utils/getCurrentSize';\nimport { getIconSize } from './utils/getIconSize';\nimport { getInitials } from './utils/getInitials';\n\nexport type AvatarSizeVariant = 'large';\n\ninterface AvatarContentProps extends Omit<AvatarProps, 'light' | 'round' | 'size'> {\n size: string | number;\n isLight?: boolean;\n sizeVariant?: AvatarSizeVariant;\n}\n\nfunction AvatarContent({\n size,\n src,\n firstname,\n lastname,\n alt,\n isLight,\n sizeVariant,\n}: AvatarContentProps): ReactElement {\n if (src) {\n return <Image source={{ uri: src }} width={size} height={size} alt={alt} accessibilityLabel={alt} />;\n }\n\n if (firstname && lastname) {\n return (\n <Typography.Text\n base={sizeVariant === 'large' ? 'body-large' : 'body-small'}\n variant={sizeVariant === 'large' ? 'bold' : 'regular'}\n color={isLight ? 'black' : 'white'}\n >\n {getInitials(firstname, lastname)}\n </Typography.Text>\n );\n }\n\n return <Icon icon={<UserIcon />} color={isLight ? 'black' : 'white'} size={getIconSize(size, sizeVariant)} />;\n}\n\nexport interface AvatarProps {\n size?: number;\n src?: string;\n alt?: string;\n firstname?: string | null;\n lastname?: string | null;\n round?: boolean;\n light?: boolean;\n sizeVariant?: AvatarSizeVariant;\n}\n\nexport function Avatar({ size, round, light, sizeVariant, ...props }: AvatarProps): ReactElement {\n const currentSize = getCurrentSize({ size, sizeVariant });\n const currentBorderRadius = getCurrentRadius({ size, sizeVariant, round });\n\n return (\n <View\n overflow=\"hidden\"\n alignItems=\"center\"\n justifyContent=\"center\"\n width={currentSize}\n height={currentSize}\n borderRadius={currentBorderRadius}\n backgroundColor={`kitt.avatar.${light ? 'light' : 'default'}.backgroundColor`}\n >\n <AvatarContent size={currentSize} isLight={light} sizeVariant={sizeVariant} {...props} />\n </View>\n );\n}\n","import {\n BottomSheetBackdrop,\n BottomSheetHandle,\n BottomSheetModal,\n BottomSheetScrollView,\n BottomSheetView,\n useBottomSheetDynamicSnapPoints,\n} from '@gorhom/bottom-sheet';\nimport type { BottomSheetModalMethods } from '@gorhom/bottom-sheet/lib/typescript/types';\nimport { View } from 'native-base';\nimport type { ForwardRefExoticComponent, MutableRefObject, ReactElement, ReactNode, Ref, RefAttributes } from 'react';\nimport { forwardRef, useMemo } from 'react';\nimport { SafeAreaView } from 'react-native-safe-area-context';\nimport { useTheme } from 'styled-components/native';\nimport type { Except } from 'type-fest';\nimport type { ViewProps } from 'native-base/primitives';\n\nexport interface BottomSheetProps {\n children?: ((props?: never) => React.ReactNode) | ReactNode;\n ref: MutableRefObject<BottomSheetModalMethods | null>;\n hasScrollView?: boolean;\n hasHandle?: boolean;\n hasBackdrop?: boolean;\n onDismiss?: () => void;\n}\n\nfunction BottomSheetComp(\n { children: Content, hasScrollView = false, hasBackdrop = true, hasHandle = true, onDismiss }: BottomSheetProps,\n ref: Ref<BottomSheetModal>,\n): ReactElement {\n const Wrapper = useMemo(() => (hasScrollView ? BottomSheetScrollView : BottomSheetView), [hasScrollView]);\n const theme = useTheme();\n const initialSnapPoints = useMemo(() => ['CONTENT_HEIGHT'], []);\n const { animatedHandleHeight, animatedSnapPoints, animatedContentHeight, handleContentLayout } =\n useBottomSheetDynamicSnapPoints(initialSnapPoints);\n\n return (\n <BottomSheetModal\n ref={ref}\n enablePanDownToClose\n snapPoints={animatedSnapPoints}\n index={0}\n handleHeight={animatedHandleHeight}\n handleIndicatorStyle={{\n width: 40,\n height: 4,\n borderRadius: 4,\n backgroundColor: theme.kitt.bottomSheet.handle.backgroundColor,\n }}\n handleComponent={(props) => (hasHandle ? <BottomSheetHandle {...props} /> : null)}\n backdropComponent={(props) =>\n hasBackdrop ? <BottomSheetBackdrop {...props} opacity={0.25} appearsOnIndex={0} disappearsOnIndex={-1} /> : null\n }\n contentHeight={animatedContentHeight}\n onDismiss={onDismiss}\n >\n {({ data }) => (\n <SafeAreaView edges={['bottom']} onLayout={handleContentLayout}>\n <Wrapper>{typeof Content === 'function' ? <Content {...data} /> : Content}</Wrapper>\n </SafeAreaView>\n )}\n </BottomSheetModal>\n );\n}\n\nfunction BottomSheetContainerView(props: ViewProps): ReactElement {\n return <View padding=\"kitt.bottomSheet.container.padding\" {...props} />;\n}\n\nexport const BottomSheet = forwardRef(BottomSheetComp) as ForwardRefExoticComponent<\n Except<BottomSheetProps, 'ref'> & RefAttributes<BottomSheetModalMethods>\n> & { View: typeof BottomSheetContainerView };\n\nBottomSheet.View = BottomSheetContainerView;\n","import type { BottomSheetModalMethods } from '@gorhom/bottom-sheet/lib/typescript/types';\nimport type { RefObject } from 'react';\nimport { useRef } from 'react';\n\nexport function useBottomSheet(): RefObject<BottomSheetModalMethods> {\n const ref = useRef<BottomSheetModalMethods>(null);\n\n return ref;\n}\n","import type { BottomSheetModalMethods } from '@gorhom/bottom-sheet/lib/typescript/types';\nimport type { ElementType, ReactElement, RefObject } from 'react';\nimport { useMemo, useRef } from 'react';\nimport type { BottomSheetProps } from './BottomSheet';\nimport { BottomSheet } from './BottomSheet';\n\ninterface BottomSheetRef<T> extends BottomSheetModalMethods {\n present: (bottomSheetComponenProps: T) => void;\n}\n\ntype ReducedBottomSheetProps = Pick<BottomSheetProps, 'hasScrollView'>;\n\n// This is used to fix:\n// React.ComponentProps<O> -> if O is a function component without any props it will return unknown but we want to have undefined\ntype IsExact<T, U> = [T] extends [U] ? ([U] extends [T] ? true : false) : false;\n\ntype BottomSheetComponentProps<O extends ElementType> = IsExact<React.ComponentProps<O>, unknown> extends true\n ? undefined\n : React.ComponentProps<O>;\n\nexport function useStaticBottomSheet<T extends ElementType>(\n Content: T,\n): {\n bottomSheetRef: RefObject<BottomSheetRef<BottomSheetComponentProps<T>>>;\n BottomSheet: (props: ReducedBottomSheetProps) => ReactElement;\n} {\n const bottomSheetRef = useRef<BottomSheetRef<BottomSheetComponentProps<T>>>(null);\n\n const BottomSheetMemoized = useMemo(\n () =>\n function renderBottomSheet(props: ReducedBottomSheetProps) {\n return (\n <BottomSheet {...props} ref={bottomSheetRef}>\n {Content}\n </BottomSheet>\n );\n },\n [Content],\n );\n\n return {\n bottomSheetRef,\n BottomSheet: BottomSheetMemoized,\n };\n}\n","import type { ReactElement, ReactNode } from 'react';\n\nexport interface ModalBehaviourPortalProps {\n visible?: boolean;\n children: ReactNode;\n}\n\nexport function ModalBehaviourPortal({ children }: ModalBehaviourPortalProps): ReactElement {\n // eslint-disable-next-line react/jsx-no-useless-fragment\n return <>{children}</>;\n}\n","import type { ReactElement, ReactNode } from 'react';\nimport { createContext, useContext } from 'react';\n\ntype OnCloseCallback = () => void;\n\nexport const OnCloseContext = createContext<OnCloseCallback>(() => {});\n\ninterface OnCloseProviderProps {\n children: ReactNode;\n onClose: OnCloseCallback;\n}\n\nexport function OnCloseProvider({ children, onClose }: OnCloseProviderProps): ReactElement {\n return <OnCloseContext.Provider value={onClose}>{children}</OnCloseContext.Provider>;\n}\n\nexport function useOnCloseModalBehaviour(): OnCloseCallback {\n const onClose = useContext(OnCloseContext);\n return onClose;\n}\n","import type { ReactElement, ReactNode } from 'react';\nimport { cloneElement } from 'react';\nimport { View } from '../native-base/primitives';\nimport { ModalBehaviourPortal } from './ModalBehaviourPortal';\nimport { OnCloseProvider, useOnCloseModalBehaviour } from './OnCloseContext';\n\ninterface CloseButtonProps {\n children: ReactElement;\n onPress?: () => void;\n}\n\nfunction CloseButton({ children, onPress }: CloseButtonProps): ReactElement {\n const onCloseContextCallback = useOnCloseModalBehaviour();\n\n const handleClose = (): void => {\n if (onPress) onPress();\n onCloseContextCallback();\n };\n\n return cloneElement(children, { onPress: handleClose });\n}\n\nexport interface ModalBehaviourProps {\n children: ReactNode;\n visible?: boolean;\n onClose: () => void;\n}\n\nexport function ModalBehaviour({ children, visible, onClose }: ModalBehaviourProps): ReactElement {\n return (\n <OnCloseProvider onClose={onClose}>\n <ModalBehaviourPortal visible={visible}>\n {visible ? (\n <View\n _web={{\n position: 'fixed',\n top: 0,\n left: 0,\n width: '100%',\n height: '100%',\n }}\n >\n {children}\n </View>\n ) : null}\n </ModalBehaviourPortal>\n </OnCloseProvider>\n );\n}\n\nModalBehaviour.CloseButton = CloseButton;\n","import type { ReactElement } from 'react';\nimport type { PressableProps } from 'react-native';\nimport { Pressable, StyleSheet } from 'react-native';\nimport styled from 'styled-components/native';\n\ninterface OverlayProps extends Pick<PressableProps, 'onPress'> {}\n\n// Don't use styled.Pressable here - babel-plugin-styled-components-react-native-web only supports tagged templates\nconst OverlayPressable = styled(Pressable)(({ theme }) => ({\n ...StyleSheet.absoluteFillObject,\n backgroundColor: theme.kitt.colors.overlay.dark,\n}));\n\nexport function Overlay({ onPress }: OverlayProps): ReactElement {\n return <OverlayPressable accessibilityRole=\"none\" onPress={onPress} />;\n}\n","import type { ReactElement } from 'react';\nimport type { ViewProps } from '../../native-base/primitives';\nimport { View } from '../../native-base/primitives';\n\ninterface CardModalRotationContainerProps extends ViewProps {}\n\nexport function CardModalRotationContainer(props: CardModalRotationContainerProps): ReactElement {\n return (\n <View\n paddingX=\"kitt.cardModal.overlayPadding.horizontal\"\n paddingY=\"kitt.cardModal.overlayPadding.vertical\"\n maxWidth=\"kitt.cardModal.maxWidthWithPadding\"\n width=\"100%\"\n {...props}\n />\n );\n}\n","import type { ReactElement, ReactNode } from 'react';\nimport { useRef } from 'react';\nimport { StyleSheet } from 'react-native';\nimport Animated, { Easing, runOnJS, useAnimatedStyle, withTiming } from 'react-native-reanimated';\nimport { useTheme } from 'styled-components/native';\n\nexport interface NativeOpacityAnimationProps {\n visible?: boolean;\n children: ReactNode;\n onExited: () => void;\n}\n\nexport function NativeOpacityAnimation({ visible, children, onExited }: NativeOpacityAnimationProps): ReactElement {\n const theme = useTheme();\n const hasRunAnimationRef = useRef(false);\n\n function handleAnimationFinished(): void {\n if (visible) {\n hasRunAnimationRef.current = true;\n }\n\n if (!visible && hasRunAnimationRef.current) {\n onExited();\n }\n }\n\n const opacityStyle = useAnimatedStyle(() => {\n const { duration, easing } = theme.kitt.cardModal.animation.overlay;\n const [x1, y1, x2, y2] = easing;\n\n return {\n opacity: withTiming(visible ? 1 : 0, { duration, easing: Easing.bezier(x1, y1, x2, y2) }, (isFinished) => {\n if (!isFinished) return;\n runOnJS(handleAnimationFinished)();\n }),\n };\n });\n\n return <Animated.View style={[StyleSheet.absoluteFillObject, opacityStyle]}>{children}</Animated.View>;\n}\n","import type { ReactElement, ReactNode } from 'react';\nimport { useRef } from 'react';\nimport Animated, { Easing, runOnJS, useAnimatedStyle, useSharedValue, withTiming } from 'react-native-reanimated';\nimport { useTheme } from 'styled-components/native';\nimport type { CardModalAnimationProps } from './CardModalAnimation';\n\nexport interface NativeRotationAnimationProps {\n children: ReactNode;\n topInset?: number;\n visible?: CardModalAnimationProps['visible'];\n onEntered?: CardModalAnimationProps['onEntered'];\n onExited: () => void;\n}\n\nexport function NativeRotationAnimation({\n visible,\n children,\n onEntered,\n onExited,\n}: NativeRotationAnimationProps): ReactElement | null {\n const theme = useTheme();\n\n const hasRunAnimationRef = useRef(false);\n\n const rotation = useSharedValue(0.8);\n\n function handleAnimationFinished(): void {\n if (visible) {\n if (onEntered) onEntered();\n hasRunAnimationRef.current = true;\n }\n\n if (!visible && hasRunAnimationRef.current) onExited();\n }\n\n const animatedStyle = useAnimatedStyle(() => {\n const { duration, easing } = theme.kitt.cardModal.animation.content;\n\n const [x1, y1, x2, y2] = easing;\n\n rotation.value = withTiming(visible ? 0 : 5, { duration, easing: Easing.bezier(x1, y1, x2, y2) }, (isFinished) => {\n if (!isFinished) return;\n runOnJS(handleAnimationFinished)();\n });\n\n return {\n opacity: withTiming(visible ? 1 : 0, { duration, easing: Easing.bezier(x1, y1, x2, y2) }),\n transform: [\n { scale: withTiming(visible ? 1 : 0.8, { duration, easing: Easing.bezier(x1, y1, x2, y2) }) },\n {\n rotateZ: `${rotation.value}deg`,\n },\n ],\n };\n });\n\n return <Animated.View style={[animatedStyle]}>{children}</Animated.View>;\n}\n","import type { ReactElement, ReactNode } from 'react';\nimport { useEffect, useState } from 'react';\nimport { Modal } from 'react-native';\nimport { Overlay } from '../../Overlay/Overlay';\nimport type { ViewProps } from '../../native-base/primitives';\nimport { ScrollView, View } from '../../native-base/primitives';\nimport { CardModalRotationContainer } from './CardModalRotationContainer';\nimport { NativeOpacityAnimation } from './NativeOpacityAnimation';\nimport { NativeRotationAnimation } from './NativeRotationAnimation';\n\nexport interface CardModalAnimationProps extends ViewProps {\n children: ReactNode;\n appear?: boolean;\n visible?: boolean;\n unmountOnExit?: boolean;\n isAnimationEnabled?: boolean;\n onEnter?: () => void;\n onEntered?: () => void;\n onExit?: () => void;\n onExited?: () => void;\n onClose?: () => void;\n}\n\nexport function CardModalAnimation({\n visible,\n children,\n onEnter,\n onEntered,\n onExit,\n onExited,\n onClose,\n}: CardModalAnimationProps): ReactElement {\n const [isModalVisible, setIsModalVisible] = useState(visible);\n const [isContentVisible, setIsContentVisible] = useState(false);\n\n const handleAnimationExited = (): void => {\n setIsModalVisible(false);\n };\n\n useEffect(() => {\n const shouldHideContent = !visible && isContentVisible;\n\n if (!shouldHideContent) return;\n\n if (onExit) onExit();\n setIsContentVisible(false);\n }, [visible, isContentVisible, onExit]);\n\n return (\n <Modal\n transparent\n visible={isModalVisible}\n onShow={() => {\n if (onEnter) onEnter();\n setIsContentVisible(true);\n }}\n onDismiss={() => {\n if (onExited) onExited();\n }}\n >\n <ScrollView bounces={false} contentContainerStyle={{ flexGrow: 1 }}>\n <View position=\"relative\" flex={1} justifyContent=\"center\">\n <NativeOpacityAnimation visible={isContentVisible} onExited={handleAnimationExited}>\n <Overlay onPress={onClose} />\n </NativeOpacityAnimation>\n\n <CardModalRotationContainer>\n <NativeRotationAnimation visible={isContentVisible} onExited={handleAnimationExited} onEntered={onEntered}>\n {children}\n </NativeRotationAnimation>\n </CardModalRotationContainer>\n </View>\n </ScrollView>\n </Modal>\n );\n}\n","import type { ReactElement } from 'react';\nimport { useEffect, useState } from 'react';\nimport { Platform } from 'react-native';\nimport type { ModalBehaviourProps } from '../ModalBehaviour/ModalBehaviour';\nimport { ModalBehaviour } from '../ModalBehaviour/ModalBehaviour';\nimport { ScrollView, View } from '../native-base/primitives';\nimport type { ScrollViewProps } from '../native-base/primitives';\nimport type { CardModalAnimationProps } from './CardModalAnimation/CardModalAnimation';\nimport { CardModalAnimation } from './CardModalAnimation/CardModalAnimation';\n\ninterface ScrollContainerProps extends ScrollViewProps {}\n\nfunction ScrollContainer({ children, ...props }: ScrollContainerProps): ReactElement {\n if (Platform.OS !== 'web') {\n return <View>{children}</View>;\n }\n\n return <ScrollView {...props}>{children}</ScrollView>;\n}\n\nexport interface CardModalBehaviourProps extends CardModalAnimationProps {\n onClose: ModalBehaviourProps['onClose'];\n}\n\nexport function CardModalBehaviour({\n children,\n visible,\n onClose,\n onExited,\n ...props\n}: CardModalBehaviourProps): ReactElement {\n const [isModalBehaviourVisible, setIsModalBehaviourVisible] = useState(visible);\n\n useEffect(() => {\n if (visible === true) {\n setIsModalBehaviourVisible(true);\n }\n }, [visible]);\n\n const handleExitAnimationDone = (): void => {\n if (onExited) onExited();\n setIsModalBehaviourVisible(false);\n };\n\n return (\n <ModalBehaviour visible={isModalBehaviourVisible} onClose={onClose}>\n <ScrollContainer bounces={false} contentContainerStyle={{ flexGrow: 1 }}>\n <CardModalAnimation {...props} visible={visible} onExited={handleExitAnimationDone} onClose={onClose}>\n {children}\n </CardModalAnimation>\n </ScrollContainer>\n </ModalBehaviour>\n );\n}\n","import type { ReactElement } from 'react';\nimport type { ViewProps } from '../native-base/primitives';\nimport { View } from '../native-base/primitives';\n\nexport interface CardModalBodyProps extends ViewProps {}\n\nexport function CardModalBody({\n children,\n paddingX = { base: 'kitt.4', medium: 'kitt.6' },\n paddingY = 'kitt.4',\n ...props\n}: CardModalBodyProps): ReactElement {\n return (\n <View paddingX={paddingX} paddingY={paddingY} {...props}>\n {children}\n </View>\n );\n}\n","import type { ReactElement } from 'react';\nimport type { ViewProps } from '../native-base/primitives';\nimport { View } from '../native-base/primitives';\n\nexport interface CardModalFooterProps extends ViewProps {\n hasSeparator?: boolean;\n}\n\nexport function CardModalFooter({\n children,\n padding = { base: 'kitt.4', medium: 'kitt.2' },\n hasSeparator = true,\n ...props\n}: CardModalFooterProps): ReactElement {\n return (\n <View\n {...props}\n marginTop=\"kitt.2\"\n padding={padding}\n borderTopWidth={hasSeparator ? 'kitt.cardModal.footer.borderWidth' : 0}\n borderColor=\"kitt.separator\"\n alignItems={{ base: undefined, medium: 'flex-end' }}\n >\n {children}\n </View>\n );\n}\n","import type { ReactElement, ReactNode } from 'react';\nimport type { Except } from 'type-fest';\nimport type { ViewProps } from '../native-base/primitives';\nimport { View } from '../native-base/primitives';\nimport { Typography } from '../typography/Typography';\n\ninterface BaseHeaderProps extends Except<ViewProps, 'left' | 'right'> {\n hasSeparator?: boolean;\n left?: ReactNode;\n right?: ReactNode;\n}\n\ninterface TitledHeaderProps extends BaseHeaderProps {\n title?: ReactNode;\n children?: never;\n}\n\ninterface ComponentHeaderProps extends BaseHeaderProps {\n title?: never;\n children?: ReactNode;\n}\n\nexport type CardModalHeaderProps = TitledHeaderProps | ComponentHeaderProps;\n\nexport function CardModalHeader({\n children,\n title,\n paddingBottom = { base: 'kitt.4', medium: 'kitt.2' },\n hasSeparator = true,\n right,\n left,\n ...props\n}: CardModalHeaderProps): ReactElement {\n const defaultContainerPadding = { base: 'kitt.4', medium: 'kitt.6' };\n\n return (\n <View\n {...props}\n padding={paddingBottom}\n borderBottomWidth={hasSeparator ? 'kitt.cardModal.footer.borderWidth' : 0}\n borderColor=\"kitt.separator\"\n justifyContent=\"center\"\n width=\"100%\"\n height=\"kitt.cardModal.header.height\"\n paddingRight={right ? 'kitt.2' : defaultContainerPadding}\n paddingLeft={left ? 'kitt.2' : defaultContainerPadding}\n >\n <View alignItems=\"center\" flexDirection=\"row\" justifyContent={!children && !left ? 'flex-end' : 'space-between'}>\n {left ? <View width=\"kitt.iconButton.width\">{left}</View> : null}\n\n <View flexGrow=\"1\" paddingRight={right ? 'kitt.2' : 0} paddingLeft={left ? 'kitt.2' : 0}>\n {title ? (\n <Typography.Text textAlign={!left && right ? 'left' : 'center'} variant=\"bold\">\n {title}\n </Typography.Text>\n ) : null}\n {children}\n </View>\n\n {right ? <View width=\"kitt.iconButton.width\">{right}</View> : null}\n </View>\n </View>\n );\n}\n","import type { ReactElement } from 'react';\nimport type { ViewProps } from '../native-base/primitives';\nimport { View } from '../native-base/primitives';\nimport { CardModalBehaviour } from './CardModalBehaviour';\nimport { CardModalBody } from './CardModalBody';\nimport { CardModalFooter } from './CardModalFooter';\nimport { CardModalHeader } from './CardModalHeader';\n\nexport interface CardModalProps extends ViewProps {\n withoutShadow?: boolean;\n}\n\nexport function CardModal({\n children,\n backgroundColor = 'kitt.uiBackgroundLight',\n maxWidth = 'kitt.cardModal.maxWidth',\n withoutShadow,\n ...props\n}: CardModalProps): ReactElement {\n return (\n <View\n {...props}\n overflow=\"hidden\"\n backgroundColor={backgroundColor}\n shadow={withoutShadow ? undefined : 'kitt.cardModal.shadow'}\n borderRadius=\"kitt.cardModal.borderRadius\"\n width=\"100%\"\n maxWidth={maxWidth}\n >\n {children}\n </View>\n );\n}\n\nCardModal.Body = CardModalBody;\nCardModal.Header = CardModalHeader;\nCardModal.Footer = CardModalFooter;\nCardModal.ModalBehaviour = CardModalBehaviour;\n","import type { ViewStyle } from 'react-native';\nimport {\n interpolateColor,\n useAnimatedStyle,\n useDerivedValue,\n useSharedValue,\n withTiming,\n} from 'react-native-reanimated';\nimport { useTheme } from 'styled-components/native';\n\ninterface UseNativeAnimationOptions {\n selected?: boolean;\n disabled?: boolean;\n isPressedInternal?: boolean;\n}\n\ninterface NativeAnimation {\n onPressIn: () => void;\n onPressOut: () => void;\n backgroundStyles: ViewStyle;\n}\n\nexport const useNativeAnimation = ({\n selected,\n disabled,\n isPressedInternal,\n}: UseNativeAnimationOptions): NativeAnimation => {\n const theme = useTheme();\n\n const pressed = useSharedValue(Boolean(isPressedInternal));\n const progress = useDerivedValue(() => {\n return withTiming(pressed.value ? 1 : 0, { duration: theme.kitt.choices.item.transition.duration });\n });\n\n const backgroundStyles = useAnimatedStyle(() => {\n const {\n default: defaultBg,\n pressed: pressedBg,\n selected: selectedBg,\n disabled: disabledBg,\n } = theme.kitt.choices.item.backgroundColor;\n\n if (disabled) return { backgroundColor: disabledBg };\n\n if (selected) return { backgroundColor: selectedBg };\n\n return {\n backgroundColor: interpolateColor(progress.value, [0, 1], [defaultBg, pressedBg]),\n };\n });\n\n const onPressIn = (): void => {\n pressed.value = true;\n };\n\n const onPressOut = (): void => {\n pressed.value = false;\n };\n\n return {\n onPressIn,\n onPressOut,\n backgroundStyles,\n };\n};\n","import type { ReactElement, ReactNode } from 'react';\nimport type { GestureResponderEvent } from 'react-native';\nimport { Platform, StyleSheet, View } from 'react-native';\nimport Animated from 'react-native-reanimated';\nimport styled, { css } from 'styled-components/native';\nimport { KittBreakpoints } from '../KittBreakpoints';\nimport { Pressable } from '../native-base/primitives';\nimport type { TypographyColor } from '../typography/Typography';\nimport { Typography } from '../typography/Typography';\nimport type { BaseChoicesProps } from './Choices';\nimport { useNativeAnimation } from './hooks/useNativeAnimation';\n\ninterface GetCurrentTextColorParams {\n isDisabled?: boolean;\n isSelected?: boolean;\n isPressed?: boolean;\n isHovered?: boolean;\n}\n\nfunction getCurrentTextColor({\n isDisabled,\n isSelected,\n isPressed,\n isHovered,\n}: GetCurrentTextColorParams): TypographyColor {\n if (isDisabled) return 'black-light';\n\n if (isSelected && isHovered) return 'white';\n\n if (isSelected || isPressed) return 'white';\n\n return 'black';\n}\n\ntype ChoiceItemVariant = 'rounded';\ntype ChoiceItemSize = BaseChoicesProps<null>['size'];\n\nfunction getBorderRadius(defaultRadius: number, variant?: ChoiceItemVariant): number {\n // The clean way to have the rounded effect would have been to know the children height since radius >= height * 0.5\n // We don't control over the height of the rendered children we just go with a arbitrary really high value\n const arbitraryHighHeightValue = 800;\n if (variant === 'rounded') return arbitraryHighHeightValue;\n\n return defaultRadius;\n}\n\ninterface DisabledBorderProps {\n $variant?: ChoiceItemVariant;\n}\n\nconst DisabledBorder = styled(View)<DisabledBorderProps>`\n border-radius: ${({ theme, $variant }) => getBorderRadius(theme.kitt.choices.item.borderRadius, $variant)}px;\n ${({ theme }) => {\n const { width, color } = theme.kitt.choices.item.disabled.border;\n\n return css`\n border: ${width}px solid ${color};\n `;\n }};\n`;\n\ninterface ChoiceItemPressableProps {\n $variant?: ChoiceItemVariant;\n $size?: ChoiceItemSize;\n $isHovered?: boolean;\n $isPressed?: boolean;\n $isDisabled?: boolean;\n $isSelected?: boolean;\n}\n\nconst ChoiceItemView = styled(Platform.OS === 'web' ? View : Animated.View)<ChoiceItemPressableProps>`\n position: relative;\n border-radius: ${({ theme, $variant }) => getBorderRadius(theme.kitt.choices.item.borderRadius, $variant)}px;\n background-color: ${({ theme, $isHovered, $isPressed, $isDisabled, $isSelected }) => {\n const {\n hoverWhenSelected,\n hover,\n disabled,\n selected,\n pressed,\n default: defaultBackground,\n } = theme.kitt.choices.item.backgroundColor;\n\n if ($isDisabled) return disabled;\n\n if ($isSelected && $isHovered) return hoverWhenSelected;\n\n if ($isPressed) return pressed;\n\n if ($isHovered) return hover;\n\n if ($isSelected) return selected;\n\n return defaultBackground;\n }};\n\n ${({ theme, $size }) => {\n const { base, small } = theme.kitt.choices.item.padding;\n\n if ($size === 'small') {\n return css`\n padding: ${base / 2}px ${base}px;\n `;\n }\n\n return theme.responsive.ifWindowSizeMatches(\n {\n minWidth: KittBreakpoints.SMALL,\n },\n css`\n padding: ${small}px;\n `,\n css`\n padding: ${base}px;\n `,\n );\n }};\n\n ${({ theme }) => {\n if (Platform.OS !== 'web') return undefined;\n\n const { property, duration, timingFunction } = theme.kitt.choices.item.transition;\n\n return css`\n transition: ${property} ${duration}ms ${timingFunction};\n `;\n }}\n`;\n\nexport type ChoiceItemType = 'button' | 'radio' | 'checkbox' | undefined;\n\nexport interface BaseChoiceItemProps<V> {\n type?: ChoiceItemType;\n children: ReactNode;\n disabled?: boolean;\n variant?: ChoiceItemVariant;\n size?: ChoiceItemSize;\n value?: V;\n selected?: boolean;\n /**\n * @internal Used to display pressed UI for testing and storybook purpose\n */\n isPressedInternal?: boolean;\n /**\n * @internal Used to display hovered UI for testing and storybook purpose\n */\n isHoveredInternal?: boolean;\n onPress?: () => void;\n onChange?: (value?: V) => void;\n onFocus?: (e?: any | GestureResponderEvent) => void;\n onBlur?: (e?: any | GestureResponderEvent) => void;\n}\n\nexport interface ChoiceItemButtonProps<V> extends BaseChoiceItemProps<V> {\n type?: 'button';\n value?: never;\n selected?: never;\n onChange?: never;\n}\n\nexport interface ChoiceItemFormElementProps<V> extends BaseChoiceItemProps<V> {\n type: 'radio' | 'checkbox';\n onPress?: never;\n}\n\nexport type ChoiceItemProps<V> = ChoiceItemButtonProps<V> | ChoiceItemFormElementProps<V>;\n\nexport function ChoiceItem<V>({\n type = 'button',\n value,\n selected,\n disabled,\n variant,\n children,\n isPressedInternal,\n isHoveredInternal,\n onPress,\n onChange,\n onBlur,\n onFocus,\n size,\n}: ChoiceItemProps<V>): ReactElement {\n const { onPressIn, onPressOut, backgroundStyles } = useNativeAnimation({ selected, disabled, isPressedInternal });\n\n const handleChange = (): void => {\n if (!onChange) return;\n\n // Checkbox can be toggled\n if (type === 'checkbox') {\n onChange(selected ? undefined : value);\n return;\n }\n\n onChange(value);\n };\n\n const handlePress = (e: GestureResponderEvent): void => {\n if (onFocus) onFocus(e);\n\n if (onPress) onPress();\n handleChange();\n\n if (onBlur) onBlur(e);\n };\n\n return (\n <Pressable\n disabled={disabled}\n accessibilityRole={type}\n accessibilityState={{ checked: selected }}\n onBlur={onBlur}\n onFocus={onFocus}\n onPress={handlePress}\n onPressIn={onPressIn}\n onPressOut={onPressOut}\n >\n {({ isHovered, isPressed }) => (\n <ChoiceItemView\n style={Platform.OS !== 'web' ? [backgroundStyles] : undefined}\n $isHovered={isHovered || isHoveredInternal}\n $isDisabled={disabled}\n $isSelected={selected}\n $isPressed={isPressed || isPressedInternal}\n $variant={variant}\n $size={size}\n >\n <Typography.SetDefaultColor\n value={getCurrentTextColor({\n isDisabled: disabled,\n isSelected: selected || isPressedInternal,\n isPressed,\n isHovered: isHovered || isHoveredInternal,\n })}\n >\n {children}\n </Typography.SetDefaultColor>\n {disabled ? <DisabledBorder $variant={variant} style={StyleSheet.absoluteFillObject} /> : null}\n </ChoiceItemView>\n )}\n </Pressable>\n );\n}\n","import { View } from 'react-native';\nimport styled, { css } from 'styled-components/native';\nimport type { ChoicesDirection } from './Choices';\n\ninterface ChoiceItemContainerProps {\n $isLast?: boolean;\n $direction: ChoicesDirection;\n}\n\nexport const ChoiceItemContainer = styled(View)<ChoiceItemContainerProps>`\n ${({ theme, $isLast, $direction }) => {\n const { row, column } = theme.kitt.choices.spacing;\n\n if ($direction === 'row') {\n return css`\n margin-right: ${$isLast ? 0 : row}px;\n `;\n }\n\n return css`\n margin-bottom: ${$isLast ? 0 : column}px;\n `;\n }}\n`;\n","import type { ReactElement, ReactNode } from 'react';\nimport { Children, cloneElement, useState } from 'react';\nimport type { ViewProps } from 'react-native';\nimport { ScrollView, View } from 'react-native';\nimport type { Except, SetOptional } from 'type-fest';\nimport type { ChoiceItemButtonProps, ChoiceItemFormElementProps, ChoiceItemType } from './ChoiceItem';\nimport { ChoiceItem } from './ChoiceItem';\nimport { ChoiceItemContainer } from './ChoiceItemContainer';\n\nexport type ChoicesDirection = 'row' | 'column';\n\ninterface ChoicesContainerProps extends ViewProps {\n children: ReactNode;\n direction: ChoicesDirection;\n}\n\nfunction ChoicesContainer({ direction, ...props }: ChoicesContainerProps): ReactElement {\n if (direction === 'row') {\n return <ScrollView horizontal {...props} />;\n }\n\n return <View {...props} />;\n}\n\ntype ChoicesPropsToPick = 'type' | 'variant' | 'disabled' | 'value' | 'onPress' | 'onChange' | 'onBlur' | 'onFocus';\ntype ChoicesSize = 'small';\n\n// eslint-disable-next-line @typescript-eslint/no-unused-vars\nexport interface BaseChoicesProps<V> {\n id?: string;\n testID?: string;\n children: ReactNode;\n direction?: ChoicesDirection;\n size?: ChoicesSize;\n}\n\nexport interface ChoicesButtonProps<V, ChoiceType extends ChoiceItemButtonProps<V>['type']>\n extends BaseChoicesProps<V>,\n Pick<ChoiceItemButtonProps<V>, ChoicesPropsToPick> {\n type?: ChoiceType;\n}\n\nexport interface ChoicesFormElementProps<V, ChoiceType extends ChoiceItemFormElementProps<V>['type']>\n extends BaseChoicesProps<V>,\n Pick<ChoiceItemFormElementProps<V>, ChoicesPropsToPick> {\n type: ChoiceType;\n}\n\nexport type ChoicesItemPropsFromChoiceType<\n V,\n ChoiceType extends ChoiceItemType,\n> = ChoiceType extends ChoiceItemFormElementProps<V>['type'] ? ChoiceItemFormElementProps<V> : ChoiceItemButtonProps<V>;\n\nexport type ChoicesProps<\n V,\n ChoiceType extends ChoiceItemType,\n> = ChoiceType extends ChoiceItemFormElementProps<V>['type']\n ? ChoicesFormElementProps<V, ChoiceType>\n : ChoicesButtonProps<V, 'button'>;\n\ntype ExcludeChoiceItemProvidedByChoices = 'type' | 'onPress' | 'onChange' | 'onFocus' | 'onBlur';\ntype OptionalChoiceItemProvidedByChoices = 'variant' | 'disabled' | 'size';\n\nfunction Choices<V, ChoiceType extends ChoiceItemType>({\n id,\n testID,\n type,\n direction = 'column',\n disabled,\n children,\n value,\n variant,\n onPress,\n onChange,\n onFocus,\n onBlur,\n size,\n}: ChoicesProps<V, ChoiceType>): ReactElement {\n const [currentValue, setCurrentValue] = useState(value);\n\n const isForm = type && ['radio', 'checkbox'].includes(type);\n\n const childrenArray = Children.toArray(children) as ReactElement<\n ChoicesItemPropsFromChoiceType<V, ChoiceType>,\n typeof ChoiceItem\n >[];\n\n const handleChange: ChoicesItemPropsFromChoiceType<V, ChoiceType>['onChange'] = (newValue) => {\n setCurrentValue(newValue);\n if (onChange) onChange(newValue);\n };\n\n const sharedProps: Pick<\n ChoicesItemPropsFromChoiceType<V, ChoiceType>,\n ExcludeChoiceItemProvidedByChoices | OptionalChoiceItemProvidedByChoices\n > = {\n type,\n disabled,\n variant,\n onPress: !isForm ? onPress : undefined,\n onChange: isForm ? handleChange : undefined,\n onFocus,\n onBlur,\n size,\n };\n\n return (\n <ChoicesContainer direction={direction} testID={testID} nativeID={id}>\n {childrenArray.map((child, index) => {\n const element = cloneElement<ChoicesItemPropsFromChoiceType<V, ChoiceType>>(child, {\n selected: isForm ? child.props.value === currentValue : undefined,\n ...sharedProps,\n } as any);\n\n return (\n <ChoiceItemContainer key={child.key} $direction={direction} $isLast={index === childrenArray.length - 1}>\n {element}\n </ChoiceItemContainer>\n );\n })}\n </ChoicesContainer>\n );\n}\n\nChoices.Item = ChoiceItem;\n\nexport interface CreateChoices<V, ChoiceType extends ChoiceItemType> {\n (props: ChoicesProps<V, ChoiceType>): ReactElement;\n Item: (\n props: SetOptional<\n Except<ChoicesItemPropsFromChoiceType<V, ChoiceType>, OptionalChoiceItemProvidedByChoices>,\n ExcludeChoiceItemProvidedByChoices\n >,\n ) => ReactElement;\n}\n\nexport function createChoicesComponent<V, ChoiceType extends ChoiceItemType>(): CreateChoices<V, ChoiceType> {\n return Choices as CreateChoices<V, ChoiceType>;\n}\n\nconst ButtonChoices = createChoicesComponent<never, 'button'>();\n\nChoices.ButtonChoices = ButtonChoices;\n\nexport const ChoicesElements = {\n Item: ChoiceItem,\n ButtonChoices,\n};\n","import type { ReactElement, ReactNode } from 'react';\nimport { useRef } from 'react';\nimport { StyleSheet } from 'react-native';\nimport Animated, { Easing, runOnJS, useAnimatedStyle, withTiming } from 'react-native-reanimated';\nimport { useTheme } from 'styled-components/native';\n\nexport interface NativeOpacityAnimationProps {\n visible?: boolean;\n children: ReactNode;\n onExited: () => void;\n}\n\nexport function NativeOpacityAnimation({ visible, children, onExited }: NativeOpacityAnimationProps): ReactElement {\n const theme = useTheme();\n const hasRunAnimationRef = useRef(false);\n\n function handleAnimationFinished(): void {\n if (visible) {\n hasRunAnimationRef.current = true;\n }\n\n if (!visible && hasRunAnimationRef.current) {\n onExited();\n }\n }\n\n const opacityStyle = useAnimatedStyle(() => {\n const { duration, easing } = theme.kitt.dialogModal.animation.overlay;\n const [x1, y1, x2, y2] = easing;\n\n return {\n opacity: withTiming(visible ? 1 : 0, { duration, easing: Easing.bezier(x1, y1, x2, y2) }, (isFinished) => {\n if (!isFinished) return;\n runOnJS(handleAnimationFinished)();\n }),\n };\n });\n\n return <Animated.View style={[StyleSheet.absoluteFillObject, opacityStyle]}>{children}</Animated.View>;\n}\n","import type { ReactElement, ReactNode } from 'react';\nimport { useRef } from 'react';\nimport Animated, { Easing, runOnJS, useAnimatedStyle, useSharedValue, withTiming } from 'react-native-reanimated';\nimport { useTheme } from 'styled-components/native';\nimport type { DialogModalAnimationProps } from './DialogModalAnimation';\n\nexport interface NativeRotationAnimationProps {\n children: ReactNode;\n topInset?: number;\n visible?: DialogModalAnimationProps['visible'];\n onEntered?: DialogModalAnimationProps['onEntered'];\n onExited: () => void;\n}\n\nexport function NativeRotationAnimation({\n visible,\n children,\n onEntered,\n onExited,\n}: NativeRotationAnimationProps): ReactElement | null {\n const theme = useTheme();\n\n const hasRunAnimationRef = useRef(false);\n\n const rotation = useSharedValue(0.8);\n\n function handleAnimationFinished(): void {\n if (visible) {\n if (onEntered) onEntered();\n hasRunAnimationRef.current = true;\n }\n\n if (!visible && hasRunAnimationRef.current) onExited();\n }\n\n const animatedStyle = useAnimatedStyle(() => {\n const { duration, easing } = theme.kitt.dialogModal.animation.content;\n\n const [x1, y1, x2, y2] = easing;\n\n rotation.value = withTiming(visible ? 0 : 5, { duration, easing: Easing.bezier(x1, y1, x2, y2) }, (isFinished) => {\n if (!isFinished) return;\n runOnJS(handleAnimationFinished)();\n });\n\n return {\n opacity: withTiming(visible ? 1 : 0, { duration, easing: Easing.bezier(x1, y1, x2, y2) }),\n transform: [\n { scale: withTiming(visible ? 1 : 0.8, { duration, easing: Easing.bezier(x1, y1, x2, y2) }) },\n {\n rotateZ: `${rotation.value}deg`,\n },\n ],\n };\n });\n\n return <Animated.View style={[animatedStyle]}>{children}</Animated.View>;\n}\n","import type { ReactElement, ReactNode } from 'react';\nimport { useEffect, useState } from 'react';\nimport { Modal } from 'react-native';\nimport { Overlay } from '../../Overlay/Overlay';\nimport type { ViewProps } from '../../native-base/primitives';\nimport { View } from '../../native-base/primitives';\nimport { NativeOpacityAnimation } from './NativeOpacityAnimation';\nimport { NativeRotationAnimation } from './NativeRotationAnimation';\n\nexport interface DialogModalAnimationProps extends ViewProps {\n children: ReactNode;\n appear?: boolean;\n visible?: boolean;\n unmountOnExit?: boolean;\n isAnimationEnabled?: boolean;\n onEnter?: () => void;\n onEntered?: () => void;\n onExit?: () => void;\n onExited?: () => void;\n onClose?: () => void;\n}\n\nexport function DialogModalAnimation({\n visible,\n children,\n onEnter,\n onEntered,\n onExit,\n onExited,\n onClose,\n}: DialogModalAnimationProps): ReactElement {\n const [isModalVisible, setIsModalVisible] = useState(visible);\n const [isContentVisible, setIsContentVisible] = useState(false);\n\n const handleAnimationExited = (): void => {\n setIsModalVisible(false);\n };\n\n useEffect(() => {\n const shouldHideContent = !visible && isContentVisible;\n\n if (!shouldHideContent) return;\n\n if (onExit) onExit();\n setIsContentVisible(false);\n }, [visible, isContentVisible, onExit]);\n\n return (\n <Modal\n transparent\n visible={isModalVisible}\n onShow={() => {\n if (onEnter) onEnter();\n setIsContentVisible(true);\n }}\n onDismiss={() => {\n if (onExited) onExited();\n }}\n >\n <View position=\"relative\" flex={1} justifyContent=\"center\" alignItems=\"center\">\n <NativeOpacityAnimation visible={isContentVisible} onExited={handleAnimationExited}>\n <Overlay onPress={onClose} />\n </NativeOpacityAnimation>\n\n <NativeRotationAnimation visible={isContentVisible} onExited={handleAnimationExited} onEntered={onEntered}>\n <View\n paddingX=\"kitt.dialogModal.overlayPadding.horizontal\"\n paddingY=\"kitt.dialogModal.overlayPadding.vertical\"\n >\n {children}\n </View>\n </NativeRotationAnimation>\n </View>\n </Modal>\n );\n}\n","import type { ReactElement } from 'react';\nimport { useEffect, useState } from 'react';\nimport type { ModalBehaviourProps } from '../ModalBehaviour/ModalBehaviour';\nimport { ModalBehaviour } from '../ModalBehaviour/ModalBehaviour';\nimport { ScrollView } from '../native-base/primitives';\nimport type { DialogModalAnimationProps } from './DialogModalAnimation/DialogModalAnimation';\nimport { DialogModalAnimation } from './DialogModalAnimation/DialogModalAnimation';\n\nexport interface DialogModalBehaviourProps extends DialogModalAnimationProps {\n onClose: ModalBehaviourProps['onClose'];\n}\n\nexport function DialogModalBehaviour({\n children,\n visible,\n onClose,\n onExited,\n ...props\n}: DialogModalBehaviourProps): ReactElement {\n const [isModalBehaviourVisible, setIsModalBehaviourVisible] = useState(visible);\n\n useEffect(() => {\n if (visible === true) {\n setIsModalBehaviourVisible(true);\n }\n }, [visible]);\n\n const handleExitAnimationDone = (): void => {\n if (onExited) onExited();\n setIsModalBehaviourVisible(false);\n };\n\n return (\n <ModalBehaviour visible={isModalBehaviourVisible} onClose={onClose}>\n <ScrollView bounces={false} contentContainerStyle={{ flexGrow: 1 }}>\n <DialogModalAnimation {...props} visible={visible} onExited={handleExitAnimationDone} onClose={onClose}>\n {children}\n </DialogModalAnimation>\n </ScrollView>\n </ModalBehaviour>\n );\n}\n","import type { ReactElement, ReactFragment, ReactNode } from 'react';\nimport type { ActionsButtonProps } from '..';\nimport { Actions } from '../Actions/Actions';\nimport { View } from '../native-base/primitives';\nimport { DialogModalBehaviour } from './DialogModalBehaviour';\n\nexport interface DialogModalProps {\n illustration?: ReactNode;\n actions?: ReactFragment;\n title?: ReactNode;\n children: ReactNode;\n}\n\nexport function DialogModal({ illustration, title, children, actions }: DialogModalProps): ReactElement {\n return (\n <View\n alignItems=\"center\"\n maxWidth=\"kitt.dialogModal.maxWidth\"\n backgroundColor=\"kitt.uiBackgroundLight\"\n borderRadius=\"kitt.dialogModal.borderRadius\"\n shadow=\"kitt.dialogModal.shadow\"\n >\n {illustration ? <View>{illustration}</View> : null}\n\n <View\n width=\"100%\"\n alignItems=\"center\"\n padding={{ base: 'kitt.4', medium: 'kitt.6' }}\n paddingTop={illustration ? 'kitt.8' : 'kitt.6'}\n >\n {title ? <View marginBottom=\"kitt.2\">{title}</View> : null}\n\n <View marginBottom=\"kitt.8\">{children}</View>\n\n {actions ? (\n <Actions flex={undefined} width=\"100%\" layout=\"column\">\n {actions}\n </Actions>\n ) : null}\n </View>\n </View>\n );\n}\n\nDialogModal.ModalBehaviour = DialogModalBehaviour;\n\ninterface DialogModalButtonProps extends ActionsButtonProps {}\n\nfunction DialogModalButton({ stretch = true, ...props }: DialogModalButtonProps): ReactElement {\n return <Actions.Button stretch={stretch} {...props} />;\n}\n\nDialogModal.Button = DialogModalButton;\n","import type { IImageProps } from 'native-base';\nimport { Image } from 'native-base';\nimport type { ReactElement } from 'react';\nimport { useMemo } from 'react';\nimport type { ImageProps } from 'react-native';\nimport { Platform } from 'react-native';\nimport { parse } from 'twemoji-parser';\nimport type { KittResponsiveProp } from '../KittBreakpoints';\n\nexport interface EmojiProps extends Pick<ImageProps, 'style'> {\n emoji: string;\n size: number | KittResponsiveProp<number>;\n alignSelf?: IImageProps['alignSelf'];\n _web?: IImageProps['_web'];\n}\n\nexport function Emoji({ emoji, size, alignSelf, _web, style }: EmojiProps): ReactElement | null {\n const [emojiData] = useMemo(\n () =>\n parse(emoji, {\n // on native plaforms, you can't display svg as Image\n assetType: Platform.OS === 'web' ? 'svg' : 'png',\n }),\n [emoji],\n );\n\n if (!emojiData) return null;\n\n return (\n <Image\n size={size}\n alt={emojiData.text}\n accessibilityLabel={emojiData.text}\n source={{ uri: emojiData.url }}\n style={style}\n alignSelf={alignSelf}\n _web={_web}\n />\n );\n}\n","import type { ComponentProps, ReactElement, VoidFunctionComponent } from 'react';\nimport type { GestureResponderEvent, PressableProps, TextProps } from 'react-native';\nimport { Linking } from 'react-native';\n\ntype ExternalAppLinkScheme = 'sms' | 'tel' | 'mailto';\n\nexport interface ExternalAppLinkAsComponentMinimumRequiredProps {\n href?: TextProps['href'];\n hrefAttrs?: TextProps['hrefAttrs'];\n onPress?: PressableProps['onPress'];\n}\n\nexport interface ExternalAppLinkProps<C extends VoidFunctionComponent<any>> {\n as: C;\n appScheme: ExternalAppLinkScheme;\n appValue: string;\n onPress?: PressableProps['onPress'];\n onOpenAppError?: (err: string) => void;\n}\n\nexport interface ExternalAppLinkPhoneProps<C extends VoidFunctionComponent<any>>\n extends Partial<ExternalAppLinkProps<C>> {\n phoneNumber: string;\n}\n\nexport interface ExternalAppLinkMailProps<C extends VoidFunctionComponent<any>>\n extends Partial<ExternalAppLinkProps<C>> {\n emailAddress: string;\n}\n\n/** @internal for ExternalAppLink.web.tsx only */\n// eslint-disable-next-line @typescript-eslint/ban-types\nexport type ExternalAppLinkSendableComponentProps<C extends VoidFunctionComponent<any>> = Omit<\n ComponentProps<C>,\n keyof ExternalAppLinkProps<C> & keyof ExternalAppLinkAsComponentMinimumRequiredProps\n>;\n\nexport function ExternalAppLink<C extends VoidFunctionComponent<any>>({\n as: Component,\n appScheme,\n appValue,\n onPress,\n onOpenAppError,\n ...rest\n}: ExternalAppLinkProps<C> & ExternalAppLinkSendableComponentProps<C>): ReactElement {\n const href = `${appScheme}:${appValue}`;\n\n const handleOnPress = async (e: GestureResponderEvent): Promise<void> => {\n try {\n const canOpen = await Linking.canOpenURL(href);\n\n if (canOpen) {\n if (onPress) {\n onPress(e);\n if (e?.defaultPrevented) return;\n }\n\n Linking.openURL(href).catch((error) => {\n console.error(`An error occurred while opening ${href}`, error);\n\n onOpenAppError?.(`An error occurred while opening ${href}`);\n });\n } else {\n onOpenAppError?.(`Cannot open url: ${href}`);\n }\n } catch {\n onOpenAppError?.('An error occured with Linkinf.canOpenURL');\n }\n };\n\n return <Component href={href} {...(rest as any)} onPress={handleOnPress} />;\n}\n\nExternalAppLink.Sms = function ExternalAppLinkSms<C extends VoidFunctionComponent<any>>({\n phoneNumber,\n children,\n ...rest\n}: ExternalAppLinkPhoneProps<C> & ExternalAppLinkSendableComponentProps<C>): ReactElement {\n return (\n <ExternalAppLink {...(rest as any)} appScheme=\"sms\" appValue={phoneNumber}>\n {children}\n </ExternalAppLink>\n );\n};\n\nExternalAppLink.Tel = function ExternalAppLinkTel<C extends VoidFunctionComponent<any>>({\n phoneNumber,\n children,\n ...rest\n}: ExternalAppLinkPhoneProps<C> & ExternalAppLinkSendableComponentProps<C>): ReactElement {\n return (\n <ExternalAppLink {...(rest as any)} appScheme=\"tel\" appValue={phoneNumber}>\n {children}\n </ExternalAppLink>\n );\n};\n\nExternalAppLink.Mail = function ExternalAppLinkMail<C extends VoidFunctionComponent<any>>({\n emailAddress,\n children,\n ...rest\n}: ExternalAppLinkMailProps<C> & ExternalAppLinkSendableComponentProps<C>): ReactElement {\n return (\n <ExternalAppLink {...(rest as any)} appScheme=\"mailto\" appValue={emailAddress}>\n {children}\n </ExternalAppLink>\n );\n};\n","export interface ExternalLinkOpenLinkBehavior {\n /**\n * @default 'openInModal'\n *\n * @description open link behavior in native\n *\n * \"openInModal\": open via [expo-web-browser](https://docs.expo.dev/versions/latest/sdk/webbrowser/)\n *\n * \"openBrowserApp\": open via [Linking](https://docs.expo.dev/guides/linking/#opening-links-from-your-app)\n */\n native?: 'openInModal' | 'openBrowserApp';\n\n /**\n * @default 'targetBlank'\n *\n * @description open link behavior in native\n *\n * \"targetSelf\": no dom attributes added, behave like `target=\"_self\"`\n *\n * \"targetBlank\": dome attributes: `target=\"_blank\" rel=\"noopener noreferrer\"`\n */\n web?: 'targetSelf' | 'targetBlank';\n}\n\nexport const defaultOpenLinkBehavior: ExternalLinkOpenLinkBehavior = {\n native: 'openInModal',\n web: 'targetBlank',\n};\n","import * as WebBrowser from 'expo-web-browser';\nimport type { ComponentProps, ReactElement, VoidFunctionComponent } from 'react';\nimport type { PressableProps, TextProps } from 'react-native';\nimport { Linking } from 'react-native';\nimport type { ExternalLinkOpenLinkBehavior } from './ExternalLinkOpenLinkBehavior';\nimport { defaultOpenLinkBehavior } from './ExternalLinkOpenLinkBehavior';\n\nexport interface ExternalLinkAsComponentMinimumRequiredProps {\n href?: TextProps['href'];\n hrefAttrs?: TextProps['hrefAttrs'];\n onPress?: PressableProps['onPress'];\n}\n\nexport interface ExternalLinkProps<C extends VoidFunctionComponent<any>> {\n as: C;\n openLinkBehavior?: ExternalLinkOpenLinkBehavior;\n href?: string;\n onPress?: PressableProps['onPress'];\n}\n\n/** @internal for ExternalLink.web.tsx only */\n// eslint-disable-next-line @typescript-eslint/ban-types\nexport type ExternalLinkSendableComponentProps<C extends VoidFunctionComponent<any>> = Omit<\n ComponentProps<C>,\n keyof ExternalLinkProps<C> & keyof ExternalLinkAsComponentMinimumRequiredProps\n>;\n\nexport function ExternalLink<C extends VoidFunctionComponent<any>>({\n as: Component,\n href,\n openLinkBehavior = defaultOpenLinkBehavior,\n onPress,\n ...rest\n}: ExternalLinkProps<C> & ExternalLinkSendableComponentProps<C>): ReactElement {\n const handleOnPress: PressableProps['onPress'] = (e) => {\n if (onPress) {\n onPress(e);\n if (e?.defaultPrevented) return;\n }\n\n if (!href) return;\n\n switch (openLinkBehavior.native) {\n case 'openInModal':\n case undefined:\n WebBrowser.openBrowserAsync(href).catch((error) => {\n console.error(`An error occurred while opening ${href}`, error);\n });\n break;\n case 'openBrowserApp':\n Linking.openURL(href).catch((error) => {\n console.error(`An error occurred while opening ${href}`, error);\n });\n break;\n default:\n if (__DEV__) {\n throw new Error(`Invalid ExternalLink native behavior: ${openLinkBehavior.native as string}`);\n }\n }\n };\n\n return <Component {...(rest as any)} onPress={handleOnPress} />;\n}\n","export const 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 danger: FeedbackMessageVariantTheme;\n info: FeedbackMessageVariantTheme;\n success: FeedbackMessageVariantTheme;\n warning: FeedbackMessageVariantTheme;\n}\n\nexport const feedbackMessage: FeedbackMessageTheme = {\n danger: {\n backgroundColor: colors.danger,\n },\n success: {\n backgroundColor: colors.success,\n },\n info: {\n backgroundColor: colors.info,\n },\n warning: {\n backgroundColor: colors.warning,\n },\n};\n","import { colors } from './colors';\n\nexport const checkbox = {\n borderWidth: 2,\n borderRadius: 5,\n height: 20,\n width: 20,\n iconSize: 14,\n 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 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 hover: number;\n };\n };\n disabled: {\n scale: number;\n backgroundColor: string;\n borderColor: string;\n };\n default: IconButtonVariationValues;\n white: IconButtonVariationValues;\n primary: IconButtonVariationValues;\n}\n\nexport const iconButton: IconButtonTheme = {\n backgroundColor: 'transparent',\n width: 40,\n height: 40,\n borderRadius: 20,\n borderWidth: 2,\n borderColor: 'transparent',\n transition: {\n property: 'all',\n duration: '200ms',\n timingFunction: 'cubic-bezier(0.645, 0.045, 0.355, 1);',\n },\n scale: {\n base: {\n default: 1,\n hover: 0.95,\n active: 0.95,\n },\n medium: {\n hover: 1.05,\n },\n },\n disabled: {\n scale: 1,\n backgroundColor: button.disabled.default.backgroundColor,\n borderColor: button.disabled.default.borderColor,\n },\n default: {\n pressedBackgroundColor: button.default.default.pressedBackgroundColor,\n },\n white: {\n pressedBackgroundColor: button.white.default.hoverBackgroundColor,\n },\n primary: {\n pressedBackgroundColor: lateOceanColorPalette.moonPurpleLight1,\n },\n};\n","import { colors } from './colors';\n\nexport interface ListItemTheme {\n padding: string;\n borderColor: string;\n borderWidth: number;\n innerMargin: number;\n}\n\nexport const listItem: ListItemTheme = {\n padding: '12px 16px',\n borderColor: colors.separator,\n borderWidth: 1,\n innerMargin: 8,\n};\n","export interface NavigationModalTheme {\n height: number;\n padding: number;\n animation: {\n overlay: {\n duration: number;\n easing: number[];\n };\n content: {\n duration: number;\n easing: number[];\n };\n };\n}\n\nexport const webAnimationContentDuration = 600;\nexport const webAnimationContentEasing = [0.77, 0, 0.175, 1];\n\nexport const webAnimationOverlayDuration = 250;\nexport const webAnimationOverlayEasing = [0.42, 0, 1, 1];\n\nexport const navigationModal: NavigationModalTheme = {\n height: 56,\n padding: 16,\n animation: {\n overlay: {\n duration: webAnimationOverlayDuration,\n easing: webAnimationOverlayEasing,\n },\n content: {\n duration: webAnimationContentDuration,\n easing: webAnimationContentEasing,\n },\n },\n};\n","import { colors } from './colors';\n\nexport interface PageLoaderTheme {\n size: number;\n strokeWidth: number;\n colors: {\n base: string;\n fill: string;\n };\n animation: {\n delay: number;\n circleBackgroundFillDuration: number;\n filledCircleFillDuration: number;\n groupFilledCircleRotationDuration: number;\n filledCircleRotationDuration: number;\n fillEasingFunction: [number, number, number, number];\n };\n}\n\nexport const pageLoader: PageLoaderTheme = {\n size: 60,\n strokeWidth: 3,\n colors: {\n base: colors.separator,\n fill: colors.primary,\n },\n animation: {\n delay: 500,\n circleBackgroundFillDuration: 1000,\n filledCircleFillDuration: 1800,\n groupFilledCircleRotationDuration: 1800,\n filledCircleRotationDuration: 2160,\n fillEasingFunction: [0.39, 0.575, 0.565, 1],\n },\n};\n","import type { TextStyle } from 'react-native';\nimport { colors } from './colors';\nimport { typography } from './typography';\n\nexport interface PickerTheme {\n ios: {\n default: TextStyle;\n selected: {\n color: string;\n };\n };\n android: {\n padding: string;\n default: {\n backgroundColor: string;\n };\n selected: {\n backgroundColor: string;\n color: string;\n };\n };\n}\n\nexport const picker: PickerTheme = {\n ios: {\n default: {\n fontFamily: typography.types.bodies.fontFamily.native.regular,\n ...typography.types.bodies.configs.body.baseAndSmall,\n fontSize: 16,\n color: typography.colors['black-light'],\n },\n selected: {\n color: typography.colors.primary,\n },\n },\n android: {\n padding: '12px 24px',\n default: {\n backgroundColor: colors.transparent,\n },\n selected: {\n backgroundColor: colors.primary,\n color: typography.colors.white,\n },\n },\n};\n","import { colors } from './colors';\n\ninterface ShadowShapeTheme {\n color: string;\n offsetX: number;\n offsetY: number;\n opacity: number;\n radius: number;\n}\n\nexport interface ShadowsTheme {\n medium: string;\n cards: Record<string, ShadowShapeTheme>;\n navigation: Record<string, ShadowShapeTheme>;\n panel: ShadowShapeTheme;\n}\n\nexport const shadows: ShadowsTheme = {\n /** @deprecated: use cards.medium instead - shorthand shadow doesnt work with Native Base */\n medium: '0px 10px 20px rgba(41, 48, 51, 0.25)',\n cards: {\n low: {\n color: colors.black,\n offsetX: 0,\n offsetY: 5,\n opacity: 0.1,\n radius: 20,\n },\n medium: {\n color: colors.black,\n offsetX: 0,\n offsetY: 10,\n opacity: 0.15,\n radius: 20,\n },\n highBase: {\n color: colors.black,\n offsetX: 0,\n offsetY: 10,\n opacity: 0.15,\n radius: 20,\n },\n highMedium: {\n color: colors.black,\n offsetX: 0,\n offsetY: 60,\n opacity: 0.08,\n radius: 40,\n },\n highLarge: {\n color: colors.black,\n offsetX: 0,\n offsetY: 80,\n opacity: 0.08,\n radius: 60,\n },\n },\n navigation: {\n left: {\n color: colors.black,\n offsetX: 10,\n offsetY: 0,\n opacity: 0.15,\n radius: 30,\n },\n right: {\n color: colors.black,\n offsetX: -10,\n offsetY: 0,\n opacity: 0.15,\n radius: 30,\n },\n },\n panel: {\n color: colors.black,\n offsetX: 0,\n offsetY: 20,\n opacity: 1,\n radius: 40,\n },\n};\n","import { lateOceanColorPalette } from '../palettes/lateOceanColorPalette';\n\ninterface SkeletonShapeTheme {\n size: number;\n borderRadius: number;\n}\nexport interface SkeletonTheme {\n backgroundColor: string;\n flareColor: string;\n animationDuration: number;\n shape: Record<string, SkeletonShapeTheme>;\n}\n\nexport const skeleton: SkeletonTheme = {\n backgroundColor: lateOceanColorPalette.black100,\n flareColor: lateOceanColorPalette.black200,\n animationDuration: 1000,\n shape: {\n bar: {\n size: 8,\n borderRadius: 4,\n },\n circle: {\n size: 48,\n borderRadius: 24,\n },\n square: {\n size: 48,\n borderRadius: 6,\n },\n },\n};\n","import { lateOceanColorPalette } from '../palettes/lateOceanColorPalette';\nimport { colors } from './colors';\n\nexport interface TagVariantTheme {\n borderWidth: number;\n backgroundColor: string;\n borderColor: string;\n}\n\nexport interface TagTypeTheme {\n fill: TagVariantTheme;\n outline: TagVariantTheme;\n}\n\nexport interface TagTheme {\n borderRadius: number;\n padding: string;\n primary: TagTypeTheme;\n default: TagTypeTheme;\n danger: TagTypeTheme;\n warn: TagTypeTheme;\n}\n\nexport const tag: TagTheme = {\n borderRadius: 10,\n padding: '2px 12px',\n primary: {\n fill: {\n backgroundColor: lateOceanColorPalette.moonPurpleLight1,\n borderWidth: 0,\n borderColor: colors.transparent,\n },\n outline: {\n backgroundColor: colors.transparent,\n borderWidth: 1,\n borderColor: colors.primary,\n },\n },\n default: {\n fill: {\n backgroundColor: lateOceanColorPalette.black50,\n borderWidth: 0,\n borderColor: colors.transparent,\n },\n outline: {\n backgroundColor: colors.transparent,\n borderWidth: 1,\n borderColor: colors.black,\n },\n },\n danger: {\n fill: {\n backgroundColor: lateOceanColorPalette.warmEmbrace,\n borderWidth: 0,\n borderColor: colors.transparent,\n },\n outline: {\n backgroundColor: colors.transparent,\n borderWidth: 1,\n borderColor: colors.danger,\n },\n },\n warn: {\n fill: {\n backgroundColor: colors.warning,\n borderWidth: 0,\n borderColor: colors.transparent,\n },\n outline: {\n backgroundColor: colors.transparent,\n borderWidth: 1,\n borderColor: colors.warning,\n },\n },\n};\n","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","// 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","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 { Icon } from '../../Icon/Icon';\nimport { HStack } from '../../native-base/layout';\nimport { Pressable, View } from '../../native-base/primitives';\nimport { useKittTheme } from '../../useKittTheme';\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 = useKittTheme();\n\n const handlePress = (e: GestureResponderEvent): void => {\n if (onFocus) onFocus(e);\n if (onChange) onChange(!checked, e);\n if (onBlur) onBlur(e);\n };\n\n return (\n <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\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: nextDay ? nextDay.toString() : '',\n };\n }\n\n case 'month-change': {\n const { nextMonth } = action;\n\n return {\n ...state,\n currentMonth: nextMonth,\n displayedMonth: nextMonth ? nextMonth.toString() : '',\n };\n }\n\n case 'year-change': {\n const { nextYear } = action;\n\n return {\n ...state,\n currentYear: nextYear,\n displayedYear: nextYear ? nextYear.toString() : '',\n };\n }\n\n case 'day-blur': {\n const nextCurrentDay = getDayInInterval(state.currentDay);\n\n return {\n ...state,\n displayedDay: nextCurrentDay ? dayFormatter(nextCurrentDay) : state.displayedDay,\n };\n }\n\n case 'month-blur': {\n const { minDate, maxDate } = state;\n\n const nextCurrentMonth = getMonthInInterval(state.currentMonth, minDate, maxDate);\n\n return {\n ...state,\n currentMonth: nextCurrentMonth,\n displayedMonth: nextCurrentMonth !== undefined ? monthFormatter(nextCurrentMonth) : state.displayedMonth,\n };\n }\n\n case 'year-blur': {\n const { minDate, maxDate } = state;\n\n const nextCurrentYear = getYearInInterval(state.currentYear, minDate, maxDate);\n\n return {\n ...state,\n currentYear: nextCurrentYear,\n displayedYear: nextCurrentYear !== undefined ? yearFormatter(nextCurrentYear) : state.displayedYear,\n };\n }\n\n default:\n return state;\n }\n};\n","export function isNumber(input?: unknown): boolean {\n // Number.isNaN and isNaN are not consistent\n // eslint-disable-next-line no-restricted-globals\n return !isNaN(input as any);\n}\n","interface OnDatePartChangeParams {\n day?: number;\n month?: number;\n year?: number;\n validYearMinLength?: number;\n minDate?: Date;\n maxDate?: Date;\n onChange: (v?: Date) => void;\n onBlur?: () => void;\n onFocus?: () => void;\n}\n\nexport function onDatePartChange({\n day,\n month,\n year,\n validYearMinLength = 4,\n minDate,\n maxDate,\n onChange,\n onBlur,\n onFocus,\n}: OnDatePartChangeParams): void {\n const arrayParts = [day, month, year];\n\n const isEverythingUndefined = arrayParts.every((v) => v === undefined);\n const isEverythingDefined = arrayParts.every(Boolean);\n\n // every parts are undefined\n if (isEverythingUndefined) {\n if (onFocus) onFocus();\n onChange(undefined);\n if (onBlur) onBlur();\n\n return;\n }\n\n // Do nothing if some input parts are empty\n if (!isEverythingDefined) {\n return;\n }\n\n const nextValue = new Date();\n\n const isValidYear = year && year.toString().length >= validYearMinLength;\n\n if (!isValidYear) {\n return;\n }\n\n if (day) nextValue.setDate(day);\n if (month) nextValue.setMonth(month - 1);\n if (year) nextValue.setFullYear(year);\n\n nextValue.setMinutes(0);\n nextValue.setHours(0);\n nextValue.setSeconds(0);\n nextValue.setMilliseconds(0);\n\n if (minDate) {\n minDate.setMinutes(0);\n minDate.setHours(0);\n minDate.setSeconds(0);\n minDate.setMilliseconds(0);\n const isMinDateAfterNextValue = minDate.getTime() > nextValue.getTime();\n\n if (isMinDateAfterNextValue) {\n if (onFocus) onFocus();\n onChange(undefined);\n if (onBlur) onBlur();\n\n return;\n }\n }\n\n if (maxDate) {\n maxDate.setMinutes(0);\n maxDate.setHours(0);\n maxDate.setSeconds(0);\n maxDate.setMilliseconds(0);\n\n const isMaxDateBeforeNextValue = nextValue.getTime() > maxDate.getTime();\n\n if (isMaxDateBeforeNextValue) {\n if (onFocus) onFocus();\n onChange(undefined);\n if (onBlur) onBlur();\n\n return;\n }\n }\n\n if (onFocus) onFocus();\n onChange(nextValue);\n if (onBlur) onBlur();\n}\n","export function stringToNumber(text: string): number | undefined {\n if (text.length === 0) return undefined;\n return parseInt(text, 10);\n}\n","import type { ReactNode } from 'react';\nimport styled from 'styled-components/native';\n\nexport interface InputTextContainerProps {\n children: NonNullable<ReactNode>;\n $isDisabled?: boolean;\n}\n\nexport const InputTextContainer = styled.View<InputTextContainerProps>`\n position: relative;\n`;\n","import { Input } from 'native-base';\nimport type { ResponsiveValue } from 'native-base/lib/typescript/components/types';\nimport type { ReactElement, ReactNode } from 'react';\nimport { forwardRef } from 'react';\nimport type { TextInput as RNTextInput, TextInputProps as RNTextInputProps } from 'react-native';\nimport { Platform } from 'react-native';\nimport { useTheme } from 'styled-components/native';\nimport type { Except } from 'type-fest';\nimport { View } from '../../native-base/primitives';\nimport { createNativeBaseFontSize } from '../../typography/Typography';\nimport type { InputFormState, InputUIState } from '../utils';\nimport { InputTextContainer } from './InputTextContainer';\n\nexport interface InputTextProps extends Except<RNTextInputProps, 'nativeID'> {\n id?: string;\n name?: string;\n // See InterfaceInputProps from native-base\n variant?: ResponsiveValue<'outline' | 'unstyled'>;\n disabled?: boolean;\n minHeight?: number | 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 { PressableProps } from 'react-native';\nimport { HStack } from '../../../native-base/layout';\nimport { Pressable, View } from '../../../native-base/primitives';\nimport { createResponsiveStyleFromProp } from '../../../utils/createResponsiveStyleFromProp/createResponsiveStyleFromProp';\nimport type { DatePickerProps } from '../DatePicker';\nimport { dayFormatter, monthFormatter, yearFormatter } from '../utils/dateFormatter';\nimport { InputPart } from './InputPart';\nimport { PartContainer } from './PartContainer';\n\ninterface PressableDateInputsProps extends Omit<DatePickerProps, 'onChange'> {\n onPress: () => void;\n}\n\nexport const PressableDateInputs = forwardRef<PressableProps, PressableDateInputsProps>(\n (\n {\n disabled,\n stretch,\n id,\n testID,\n value,\n placeholder,\n isFocusedInternal,\n isHoveredInternal,\n isPressedInternal,\n onPress,\n }: PressableDateInputsProps,\n ref,\n ): ReactElement => {\n const sharedInputPartProps = {\n isFocusedInternal,\n isHoveredInternal,\n isPressedInternal,\n disabled,\n };\n\n return (\n <Pressable\n ref={ref}\n display=\"flex\"\n flexDirection=\"row\"\n position=\"relative\"\n alignSelf={createResponsiveStyleFromProp(stretch, undefined, 'baseline')}\n nativeID={id}\n disabled={disabled}\n testID={testID}\n onPress={onPress}\n >\n <View position=\"relative\" width={createResponsiveStyleFromProp(stretch, '100%')} pointerEvents=\"none\">\n <HStack space=\"kitt.2\" width={createResponsiveStyleFromProp(stretch, '100%')}>\n <PartContainer isStretch={stretch} width=\"kitt.forms.datePicker.day.minWidth\">\n <InputPart\n {...sharedInputPartProps}\n placeholder={placeholder?.day}\n value={value ? dayFormatter(value.getDate()) : undefined}\n />\n </PartContainer>\n\n <PartContainer isStretch={stretch} width=\"kitt.forms.datePicker.month.minWidth\">\n <InputPart\n {...sharedInputPartProps}\n placeholder={placeholder?.month}\n value={value ? monthFormatter(value.getMonth() + 1) : undefined}\n />\n </PartContainer>\n\n <PartContainer isStretch={stretch} width=\"kitt.forms.datePicker.year.minWidth\">\n <InputPart\n {...sharedInputPartProps}\n placeholder={placeholder?.year}\n value={value ? yearFormatter(value.getFullYear()) : undefined}\n />\n </PartContainer>\n </HStack>\n <View width=\"100%\" height=\"100%\" position=\"absolute\" top=\"0\" left=\"0\" />\n </View>\n </Pressable>\n );\n },\n);\n","import { DateTimePickerAndroid } from '@react-native-community/datetimepicker';\nimport { forwardRef, useEffect, useState } from 'react';\nimport type { ReactElement } from 'react';\nimport type { PressableProps } from 'react-native';\nimport type { Except } from 'type-fest';\nimport type { DatePickerProps } from '../../DatePicker';\nimport { PressableDateInputs } from '../PressableDateInputs';\n\ninterface DatePickerAndroidProps extends Except<DatePickerProps, 'pickerUITitle' | 'pickerUIValidateButtonLabel'> {}\n\nexport const DatePickerAndroid = forwardRef<PressableProps, DatePickerAndroidProps>(\n (\n {\n onBlur,\n onFocus,\n pickerDefaultDate,\n pickerUITestID,\n isDefaultVisible,\n value,\n onChange,\n ...props\n }: DatePickerAndroidProps,\n ref,\n ): ReactElement => {\n const [isFocused, setIsFocused] = useState(false);\n const [currentValue, setCurrentValue] = useState<Date | undefined>(value);\n\n const handleClose = (): void => {\n if (onBlur) onBlur();\n };\n\n const handleModalOpen = (): void => {\n setIsFocused(true);\n if (onFocus) onFocus();\n\n DateTimePickerAndroid.open({\n testID: pickerUITestID,\n value: currentValue || pickerDefaultDate || new Date(Date.now()),\n onChange: (e) => {\n setIsFocused(false);\n const { timestamp } = e.nativeEvent;\n if (timestamp) {\n const date = new Date(timestamp);\n\n setCurrentValue(date);\n onChange(date);\n handleClose();\n }\n },\n onTouchCancel: handleClose,\n });\n };\n\n useEffect(() => {\n if (isDefaultVisible) handleModalOpen();\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, []);\n\n return (\n <PressableDateInputs\n ref={ref}\n value={currentValue}\n isFocusedInternal={isFocused}\n onPress={handleModalOpen}\n {...props}\n />\n );\n },\n);\n","import type { ReactElement, ReactNode } from 'react';\nimport { ScrollView } from 'react-native';\nimport styled from 'styled-components/native';\n\nconst BodyView = styled.View`\n padding: ${({ theme }) => theme.kitt.spacing * 6}px ${({ theme }) => theme.kitt.spacing * 4}px;\n`;\n\nexport interface BodyProps {\n children: NonNullable<ReactNode>;\n}\n\nexport function ModalBody({ children }: BodyProps): ReactElement {\n return (\n <ScrollView>\n <BodyView>{children}</BodyView>\n </ScrollView>\n );\n}\n","import type { ReactElement, ReactNode } from 'react';\nimport styled from 'styled-components/native';\n\nexport interface FooterProps {\n children: NonNullable<ReactNode>;\n}\n\nconst FooterView = styled.View`\n flex: 0 0 auto;\n padding: ${({ theme }) => theme.kitt.spacing * 4}px;\n border-top-width: 1px;\n border-top-color: ${({ theme }) => theme.kitt.colors.separator};\n`;\n\nexport function ModalFooter({ children }: FooterProps): ReactElement {\n return <FooterView>{children}</FooterView>;\n}\n","import type { ComponentProps, ElementType, ReactElement, ReactNode } from 'react';\nimport { Platform } from 'react-native';\n\nexport interface StyleWebWrapperProps<T extends ElementType> {\n as: T;\n children: ReactNode;\n}\n\nexport function StyleWebWrapper<T extends ElementType = 'div'>({\n as,\n children,\n ...props\n}: StyleWebWrapperProps<T> & ComponentProps<T>): ReactElement {\n if (Platform.OS !== 'web') return children as ReactElement;\n const Component: T = as || ('div' as T); // as or default to div. If as is undefined, T is div but typescript is not sure\n return <Component {...(props as any)}>{children}</Component>;\n}\n","import type { ReactElement } from 'react';\nimport type { PressableIconButtonWebWrapperWithThemeProps } from './PressableIconButtonWebWrapper.web';\n\nexport type { PressableIconButtonWebWrapperWithThemeProps } from './PressableIconButtonWebWrapper.web';\n\nexport function PressableIconButtonWebWrapperWithTheme(\n props: PressableIconButtonWebWrapperWithThemeProps,\n): ReactElement {\n throw new Error('This component is not supposed to be called in native');\n}\n","import type { ReactElement } from 'react';\nimport type { PressableProps } from 'react-native';\nimport { Platform } from 'react-native';\nimport styled, { withTheme } from 'styled-components/native';\nimport { StyleWebWrapper } from '../utils/StyleWebWrapper';\nimport type { IconButtonProps } from './IconButton';\nimport { PressableIconButtonWebWrapperWithTheme } from './PressableIconButtonWebWrapper';\n\nconst PressableIconButtonWebWrapper = withTheme(PressableIconButtonWebWrapperWithTheme);\n\nconst StyledPressableIconButton = styled.Pressable`\n border-radius: ${({ theme }) => theme.kitt.iconButton.borderRadius}px;\n width: ${({ theme }) => theme.kitt.iconButton.width}px;\n height: ${({ theme }) => theme.kitt.iconButton.height}px;\n align-items: center;\n justify-content: center;\n position: relative;\n background-color: transparent;\n\n ${({ theme, disabled }) => {\n const { iconButton } = theme.kitt;\n\n if (Platform.OS !== 'web') {\n return undefined;\n }\n\n const { transition } = iconButton;\n\n if (disabled) {\n return `\n background-color: ${iconButton.disabled.backgroundColor};\n `;\n }\n\n return `\n transition: ${transition.property} ${transition.duration} ${transition.timingFunction};\n `;\n }};\n`;\n\nexport interface PressableIconButtonProps extends PressableProps {\n color: IconButtonProps['color'];\n}\n\nexport function PressableIconButton({ color, disabled, ...props }: PressableIconButtonProps): ReactElement {\n return (\n <StyleWebWrapper\n as={PressableIconButtonWebWrapper}\n $isWhite={color === 'white'}\n $isPrimary={color === 'primary'}\n $isDisabled={Boolean(disabled)}\n >\n <StyledPressableIconButton {...props} disabled={disabled} />\n </StyleWebWrapper>\n );\n}\n","import type { ReactElement, ReactNode } from 'react';\nimport Animated, { useAnimatedStyle, useSharedValue, withSpring } from 'react-native-reanimated';\nimport styled, { useTheme } from 'styled-components/native';\nimport type { IconButtonProps } from './IconButton';\nimport type { PressableIconButtonProps } from './PressableIconButton';\nimport { PressableIconButton } from './PressableIconButton';\n\nexport interface PressableAnimatedContainerProps {\n children: NonNullable<ReactNode>;\n disabled?: boolean;\n color: IconButtonProps['color'];\n testID?: IconButtonProps['testID'];\n accessibilityLabel?: IconButtonProps['accessibilityLabel'];\n accessibilityRole?: IconButtonProps['accessibilityRole'];\n onPress: PressableIconButtonProps['onPress'];\n}\n\ninterface AnimatedIconButtonBackgroundProps {\n color: IconButtonProps['color'];\n disabled?: boolean;\n}\n\nconst AnimatedIconButtonBackground = styled(Animated.View)<AnimatedIconButtonBackgroundProps>`\n background-color: ${({ theme, color, disabled }) => {\n const { iconButton } = theme.kitt;\n if (disabled) return iconButton.disabled.backgroundColor;\n if (color === 'white') return iconButton.white.pressedBackgroundColor;\n if (color === 'primary') return iconButton.primary.pressedBackgroundColor;\n return iconButton.default.pressedBackgroundColor;\n }};\n border-radius: ${({ theme }) => theme.kitt.iconButton.borderRadius}px;\n width: ${({ theme }) => theme.kitt.iconButton.width}px;\n height: ${({ theme }) => theme.kitt.iconButton.height}px;\n position: absolute;\n bottom: 0;\n left: 0;\n`;\n\nconst AnimatedViewContainer = styled(Animated.View)`\n position: relative;\n align-items: center;\n justify-content: center;\n width: 100%;\n height: 100%;\n`;\n\nexport function PressableAnimatedContainer({\n disabled,\n color = 'black',\n testID,\n accessibilityRole = 'button',\n accessibilityLabel,\n children,\n onPress,\n}: PressableAnimatedContainerProps): ReactElement {\n const theme = useTheme();\n const pressed = useSharedValue(false);\n\n const opacityStyles = useAnimatedStyle(() => {\n return {\n opacity: withSpring(pressed.value ? 1 : 0),\n };\n });\n\n const scaleStyles = useAnimatedStyle(() => {\n return {\n transform: [\n {\n scale: withSpring(\n pressed.value ? theme.kitt.iconButton.scale.base.active : theme.kitt.iconButton.scale.base.default,\n ),\n },\n ],\n };\n });\n\n return (\n <PressableIconButton\n accessibilityRole={accessibilityRole}\n disabled={disabled}\n color={color}\n testID={testID}\n accessibilityLabel={accessibilityLabel}\n onPress={onPress}\n onPressIn={() => {\n pressed.value = true;\n }}\n onPressOut={() => {\n pressed.value = false;\n }}\n >\n <AnimatedViewContainer style={disabled ? [{ transform: [{ scale: 1 }] }] : [scaleStyles]}>\n <AnimatedIconButtonBackground\n disabled={disabled}\n color={color}\n style={disabled ? [{ opacity: 1 }] : [opacityStyles]}\n />\n {children}\n </AnimatedViewContainer>\n </PressableIconButton>\n );\n}\n","import type { ReactElement } from 'react';\nimport type { AccessibilityRole } from 'react-native';\nimport { View } from '../native-base/primitives';\nimport { TypographyIcon } from '../typography/TypographyIcon';\nimport { PressableAnimatedContainer } from './PressableAnimatedContainer';\n\nexport interface IconButtonProps {\n icon: NonNullable<ReactElement>;\n color?: 'black' | 'white' | 'primary';\n disabled?: boolean;\n testID?: string;\n accessibilityLabel?: string;\n accessibilityRole?: AccessibilityRole;\n onPress?: () => void;\n}\n\nexport function IconButton({\n icon,\n color,\n disabled,\n testID,\n accessibilityLabel,\n accessibilityRole,\n onPress,\n}: IconButtonProps): ReactElement {\n return (\n <PressableAnimatedContainer\n color={color}\n disabled={disabled}\n testID={testID}\n accessibilityLabel={accessibilityLabel}\n accessibilityRole={accessibilityRole}\n onPress={onPress}\n >\n <View\n borderWidth=\"kitt.iconButton.borderWidth\"\n borderStyle=\"solid\"\n borderColor={disabled ? 'kitt.iconButton.disabled.borderColor' : 'kitt.iconButton.borderColor'}\n size=\"kitt.iconButton.size\"\n alignItems=\"center\"\n justifyContent=\"center\"\n borderRadius=\"kitt.iconButton.borderRadius\"\n >\n <TypographyIcon color={disabled ? 'black-light' : color} icon={icon} />\n </View>\n </PressableAnimatedContainer>\n );\n}\n","import { createContext } from 'react';\n\nexport const OnCloseContext = createContext<() => void>(() => {});\n","import { XIcon } from '@ornikar/kitt-icons';\nimport type { ReactElement, ReactNode } from 'react';\nimport { useContext } from 'react';\nimport styled from 'styled-components/native';\nimport { IconButton } from '../IconButton/IconButton';\nimport { OnCloseContext } from './OnCloseContext';\n\nexport interface HeaderProps {\n children: NonNullable<ReactNode>;\n left?: ReactNode;\n right?: ReactNode;\n}\n\nconst HeaderView = styled.View`\n position: relative;\n padding: ${({ theme }) => theme.kitt.spacing * 2}px;\n display: flex;\n flex: 0 0 auto;\n flex-direction: row;\n justify-content: space-between;\n align-items: center;\n border-bottom-width: 1px;\n border-bottom-color: ${({ theme }) => theme.kitt.colors.separator};\n min-height: 57px;\n`;\n\nconst LeftIconView = styled.View`\n align-self: flex-start;\n margin-right: ${({ theme }) => theme.kitt.spacing * 2}px;\n`;\n\nconst RightIconView = styled.View`\n align-self: flex-start;\n margin-left: ${({ theme }) => theme.kitt.spacing * 2}px;\n`;\n\ninterface TitleViewProps {\n isIconLeft?: boolean;\n}\n\nconst TitleView = styled.View<TitleViewProps>`\n padding-left: ${({ theme, isIconLeft }) => (isIconLeft ? 0 : theme.kitt.spacing * 2)}px;\n flex-shrink: 1;\n`;\n\nexport function ModalHeader({ left, right, children }: HeaderProps): ReactElement {\n const onClose = useContext(OnCloseContext);\n\n const isIconLeft = !!left;\n\n return (\n <HeaderView>\n {isIconLeft && <LeftIconView>{left}</LeftIconView>}\n\n <TitleView isIconLeft={isIconLeft}>{children}</TitleView>\n\n {right !== undefined ? (\n right\n ) : (\n <RightIconView>\n <IconButton icon={<XIcon />} onPress={onClose} />\n </RightIconView>\n )}\n </HeaderView>\n );\n}\n","import type { ReactElement, ReactNode } from 'react';\nimport { Modal as NativeModal } from 'react-native';\nimport styled from 'styled-components/native';\nimport { Overlay } from '../Overlay/Overlay';\nimport { ModalBody } from './Body';\nimport { ModalFooter } from './Footer';\nimport { ModalHeader } from './Header';\nimport { OnCloseContext } from './OnCloseContext';\n\nexport interface ModalProps {\n visible: boolean;\n children: ReactNode;\n onClose: () => void;\n onEntered?: () => void;\n onExited?: () => void;\n}\n\nconst ModalView = styled.View`\n top: 0;\n left: 0;\n width: 100%;\n height: 100%;\n\n display: flex;\n align-items: center;\n justify-content: center;\n padding: ${({ theme }) => theme.kitt.spacing * 20}px ${({ theme }) => theme.kitt.spacing * 4}px;\n`;\n\nconst ContentView = styled.View`\n position: relative;\n display: flex;\n flex-direction: column;\n max-height: 100%;\n max-width: 540px;\n height: auto;\n width: 100%;\n border-radius: ${({ theme }) => theme.kitt.card.borderRadius}px;\n background-color: ${({ theme }) => theme.kitt.colors.uiBackgroundLight};\n`;\n\n/**\n * @deprecated This component will be deleted in a later Kitt Universal version. Use CardModal instead\n */\nexport function Modal({ visible, children, onClose, onEntered, onExited }: ModalProps): ReactElement {\n return (\n <OnCloseContext.Provider value={onClose}>\n <NativeModal\n transparent\n animationType=\"fade\"\n visible={visible}\n onShow={onEntered}\n onDismiss={onExited}\n onRequestClose={onClose}\n >\n <ModalView>\n <Overlay onPress={onClose} />\n\n <ContentView>{children}</ContentView>\n </ModalView>\n </NativeModal>\n </OnCloseContext.Provider>\n );\n}\n\nModal.Header = ModalHeader;\nModal.Body = ModalBody;\nModal.Footer = ModalFooter;\n","import DateTimePicker from '@react-native-community/datetimepicker';\nimport type { DateTimePickerEvent } from '@react-native-community/datetimepicker';\nimport type { ComponentProps, ReactElement } from 'react';\nimport { Platform } from 'react-native';\nimport { useTheme } from 'styled-components/native';\n\ntype DateTimePickerProps = ComponentProps<typeof DateTimePicker>;\n\nfunction getDatePickerDisplayMode(): DateTimePickerProps['display'] {\n if (Platform.OS === 'android') return 'calendar';\n\n if (Platform.OS === 'ios') return 'spinner';\n\n return 'default';\n}\n\nexport interface PlatformDateTimePickerProps {\n value?: Date;\n defaultDate?: Date;\n maximumDate?: DateTimePickerProps['maximumDate'];\n minimuDate?: DateTimePickerProps['minimumDate'];\n testID?: DateTimePickerProps['testID'];\n onChange: (newDate?: Date) => void;\n}\n\nexport function PlatformDateTimePicker({\n value,\n defaultDate = new Date(),\n maximumDate,\n minimuDate,\n testID,\n onChange,\n}: PlatformDateTimePickerProps): ReactElement {\n const theme = useTheme();\n const displayMode = getDatePickerDisplayMode();\n\n const iosProps = Platform.OS === 'ios' ? { textColor: theme.kitt.colors.primary } : {};\n\n return (\n <DateTimePicker\n is24Hour\n testID={testID}\n value={value || defaultDate}\n mode=\"date\"\n maximumDate={maximumDate}\n minimumDate={minimuDate}\n display={displayMode}\n {...iosProps}\n onChange={(_event: DateTimePickerEvent, date?: Date | undefined) => onChange(date)}\n />\n );\n}\n","import type { ReactElement, ReactNode } from 'react';\nimport { useState } from 'react';\nimport { FormattedMessage } from 'react-intl';\nimport { Text } from 'react-native';\nimport { Button } from '../../../../Button/Button';\nimport { Modal } from '../../../../Modal/Modal';\nimport { Typography } from '../../../../typography/Typography';\nimport type { PlatformDateTimePickerProps } from './PlatformDateTimePicker';\nimport { PlatformDateTimePicker } from './PlatformDateTimePicker';\n\ninterface ModalTitleProps {\n children: NonNullable<ReactNode>;\n}\n\nfunction ModalTitle({ children }: ModalTitleProps): ReactElement {\n return (\n <Modal.Header>\n <Typography.Text base=\"body\" variant=\"bold\">\n {children}\n </Typography.Text>\n </Modal.Header>\n );\n}\n\ninterface ModalPlatformDateTimePickerProps extends PlatformDateTimePickerProps {\n title?: ReactNode;\n isVisible?: boolean;\n validateButtonLabel?: string;\n onClose: () => void;\n}\n\nexport function ModalPlatformDateTimePicker({\n title,\n isVisible,\n value,\n validateButtonLabel,\n onClose,\n onChange,\n ...props\n}: ModalPlatformDateTimePickerProps): ReactElement {\n const [currentValue, setCurrentValue] = useState(value);\n\n // Prevent unsynced value between the modal and its parent state\n const handleClose = (): void => {\n setCurrentValue(value);\n onClose();\n };\n\n const handleSubmit = (): void => {\n onChange(currentValue);\n };\n\n const handleChange = (newDate?: Date): void => {\n setCurrentValue((prev) => {\n return newDate || prev;\n });\n };\n\n return (\n <Modal visible={Boolean(isVisible)} onClose={handleClose}>\n {isVisible ? (\n <>\n {title ? <ModalTitle>{title}</ModalTitle> : null}\n\n <Modal.Body>\n <PlatformDateTimePicker {...props} value={currentValue} onChange={handleChange} />\n </Modal.Body>\n\n <Modal.Footer>\n <Button stretch type=\"primary\" onPress={handleSubmit}>\n {validateButtonLabel ? (\n <Text>{validateButtonLabel}</Text>\n ) : (\n <FormattedMessage id=\"kitt-universal.ModalDateTimePicker.confirm\" defaultMessage=\"Valider\" />\n )}\n </Button>\n </Modal.Footer>\n </>\n ) : null}\n </Modal>\n );\n}\n","import type { ReactElement } from 'react';\nimport { forwardRef, useState } from 'react';\nimport type { PressableProps } from 'react-native';\nimport type { DatePickerProps } from '../../DatePicker';\nimport { PressableDateInputs } from '../PressableDateInputs';\nimport { ModalPlatformDateTimePicker } from './ModalPlatformDateTimePicker';\n\nexport const DefaultNativeUIDatePicker = forwardRef<PressableProps, DatePickerProps>(\n (\n {\n value,\n pickerUITestID,\n pickerUITitle,\n pickerUIValidateButtonLabel,\n isDefaultVisible,\n pickerDefaultDate,\n isFocusedInternal,\n isHoveredInternal,\n isPressedInternal,\n onChange,\n onFocus,\n onBlur,\n ...props\n }: DatePickerProps,\n ref,\n ): ReactElement => {\n const [isPickerUIVisible, setIsPickerUIVisible] = useState(isDefaultVisible);\n const [isFocused, setIsFocused] = useState(false);\n const [currentValue, setCurrentValue] = useState<Date | undefined>(value);\n\n const handleModalOpen = (): void => {\n if (onFocus) onFocus();\n\n setIsPickerUIVisible(true);\n\n setIsFocused(true);\n };\n\n const handleModalClose = (): void => {\n if (onBlur) onBlur();\n\n setIsPickerUIVisible(false);\n\n setIsFocused(false);\n };\n\n const handleChange = (newDate?: Date): void => {\n setCurrentValue(newDate);\n\n onChange(newDate);\n\n handleModalClose();\n };\n\n return (\n <>\n <PressableDateInputs\n ref={ref}\n value={currentValue}\n isFocusedInternal={isFocused || isFocusedInternal}\n isHoveredInternal={isHoveredInternal}\n isPressedInternal={isPressedInternal}\n onPress={handleModalOpen}\n {...props}\n />\n\n <ModalPlatformDateTimePicker\n testID={pickerUITestID}\n value={currentValue}\n isVisible={isPickerUIVisible}\n title={pickerUITitle}\n validateButtonLabel={pickerUIValidateButtonLabel}\n defaultDate={pickerDefaultDate}\n onClose={handleModalClose}\n onChange={handleChange}\n />\n </>\n );\n },\n);\n","import type { ReactElement } from 'react';\nimport { forwardRef } from 'react';\nimport type { PressableProps } from 'react-native';\nimport { Platform } from 'react-native';\nimport type { DatePickerProps } from '../../DatePicker';\nimport { DatePickerAndroid } from './DatePickerAndroid';\nimport { DefaultNativeUIDatePicker } from './DefaultNativeUIDatePicker';\n\ninterface NativeUIDatePickerProps extends DatePickerProps {}\n\nexport const NativeUIDatePicker = forwardRef<PressableProps, NativeUIDatePickerProps>(\n (\n { value, pickerUITestID, isDefaultVisible, pickerDefaultDate, onChange, onBlur, ...props }: NativeUIDatePickerProps,\n ref,\n ): ReactElement => {\n if (Platform.OS === 'android') {\n return (\n <DatePickerAndroid\n ref={ref}\n pickerDefaultDate={pickerDefaultDate}\n pickerUITestID={pickerUITestID}\n isDefaultVisible={isDefaultVisible}\n value={value}\n onChange={onChange}\n onBlur={onBlur}\n {...props}\n />\n );\n }\n\n return (\n <DefaultNativeUIDatePicker\n ref={ref}\n value={value}\n isDefaultVisible={isDefaultVisible}\n pickerUITestID={pickerUITestID}\n onChange={onChange}\n onBlur={onBlur}\n {...props}\n />\n );\n },\n);\n","import type { ReactElement } from 'react';\nimport type React from 'react';\nimport { forwardRef } from 'react';\nimport type { PressableProps, TextInput as RNTextInput } from 'react-native';\nimport type { ResponsiveValue } from '../../utils/createResponsiveStyleFromProp/createResponsiveStyleFromProp';\nimport type { InputTextProps } from '../InputText/InputText';\nimport { KeyboardDatePicker } from './components/KeyboardDatePicker';\nimport { NativeUIDatePicker } from './components/NativeUIDatePicker/NativeUIDatePicker';\n\ntype DatePickerFillMode = 'keyboard' | 'native';\n\ninterface DatePickerPlaceholder {\n day: string;\n month: string;\n year: string;\n}\n\nexport interface DatePickerProps {\n id?: string;\n testID?: string;\n disabled?: boolean;\n /**\n * @description value of the input\n */\n value?: Date;\n placeholder?: DatePickerPlaceholder;\n /** @description minimum date for the value to be valid */\n minDate?: Date;\n /** @description maximum date for the value to be valid */\n maxDate?: Date;\n /** @description Native only props - testID of the native platform picker */\n pickerUITestID?: string;\n /** @description Display a keyboard or the native picker. Web only has \"keyboard\" mode available */\n fillMode?: DatePickerFillMode;\n /** @description Native only props - Default date to be displayed on the native UI before any interactions */\n pickerDefaultDate?: Date;\n /** @description iOS only props - Text of the title of the Kitt modal displaying the platform picker on iOS */\n pickerUITitle?: string;\n /** @description iOS only props - Label of the validate button shown in the Kitt modal displaying the platform picker on iOS */\n pickerUIValidateButtonLabel?: string;\n /** @description Native only props - Controls the default visibility of the native picker */\n isDefaultVisible?: boolean;\n stretch?: ResponsiveValue<boolean | undefined>;\n returnKeyType?: InputTextProps['returnKeyType'];\n /** @internal for story purpose */\n isHoveredInternal?: boolean;\n /** @internal for story purpose */\n isPressedInternal?: boolean;\n /** @internal for story purpose */\n isFocusedInternal?: boolean;\n onChange: (date?: Date) => void;\n onBlur?: (e?: any) => void;\n onFocus?: (e?: any) => void;\n onSubmitEditing?: InputTextProps['onSubmitEditing'];\n}\n\nexport const DatePicker = forwardRef<PressableProps | RNTextInput, DatePickerProps>(\n ({ fillMode = 'native', returnKeyType, value, onSubmitEditing, ...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 if (fillMode === 'keyboard') {\n return (\n <KeyboardDatePicker\n ref={ref as React.ForwardedRef<RNTextInput>}\n {...props}\n value={currentValue}\n returnKeyType={returnKeyType}\n onSubmitEditing={onSubmitEditing}\n />\n );\n }\n\n return <NativeUIDatePicker ref={ref as React.ForwardedRef<PressableProps>} {...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 from 'styled-components/native';\nimport type { TypographyColor } from '../../typography/Typography';\nimport { Typography } from '../../typography/Typography';\nimport { TypographyIcon } from '../../typography/TypographyIcon';\nimport { useKittTheme } from '../../useKittTheme';\n\ntype InputTagType = 'success' | 'danger';\n\nconst getTypographyColor = (type: InputTagType | undefined): TypographyColor => (type ? 'white' : 'black');\n\ninterface InputTagContainerProps {\n type?: InputTagType;\n}\n\nconst InputTagContainer = styled(View)<InputTagContainerProps>`\n align-items: center;\n justify-content: center;\n flex-direction: row;\n align-self: flex-start;\n overflow: hidden;\n padding-horizontal: ${({ theme }) => theme.kitt.spacing * 2}px;\n\n background-color: ${({ theme, type }) => {\n if (type === 'success') {\n return theme.kitt.forms.inputTag.success.backgroundColor;\n }\n if (type === 'danger') {\n return theme.kitt.forms.inputTag.danger.backgroundColor;\n }\n\n return theme.kitt.forms.inputTag.default.backgroundColor;\n }};\n border-radius: ${({ theme }) => theme.kitt.forms.inputTag.borderRadius}px;\n`;\n\nconst IconContainer = styled(View)`\n margin-right: ${({ theme }) => theme.kitt.spacing}px;\n`;\n\nexport interface InputTagProps {\n type?: InputTagType;\n children: ReactNode;\n icon?: ReactElement;\n}\n\nexport function InputTag({ children, type, icon }: InputTagProps): ReactElement {\n const typographyColor = getTypographyColor(type);\n const theme = useKittTheme();\n\n return (\n <InputTagContainer type={type}>\n {icon && (\n <IconContainer>\n <TypographyIcon icon={icon} size={theme.kitt.forms.inputTag.iconSize} color={typographyColor} />\n </IconContainer>\n )}\n <Typography.Text base=\"body-small\" color={typographyColor}>\n {children}\n </Typography.Text>\n </InputTagContainer>\n );\n}\n","import type { ReactElement, ReactNode } from 'react';\nimport { Platform } from 'react-native';\nimport { Typography } from '../../typography/Typography';\n\nexport interface LabelProps {\n htmlFor: string;\n children: NonNullable<ReactNode>;\n}\n\nexport function Label({ htmlFor, children }: LabelProps): ReactElement {\n return (\n <Typography.Text base=\"body\">\n {Platform.OS === 'web' ? <label htmlFor={htmlFor}>{children}</label> : children}\n </Typography.Text>\n );\n}\n","import type { ReactElement } 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","import type { ReactElement, ReactNode } from 'react';\nimport type { ViewStyle } from 'react-native';\nimport Animated from 'react-native-reanimated';\nimport styled from 'styled-components/native';\n\ninterface StyledAnimatedViewProps {\n $isFocused?: boolean;\n $isPressed?: boolean;\n $isSelected?: boolean;\n $isDisabled?: boolean;\n $isFirst?: boolean;\n $isLast?: boolean;\n}\n\nconst StyledAnimatedView = styled(Animated.View)<StyledAnimatedViewProps>`\n border-width: ${({ theme }) => theme.kitt.forms.radioButtonGroup.item.borderWidth}px;\n border-top-left-radius: ${({ theme, $isFirst }) =>\n $isFirst ? theme.kitt.forms.radioButtonGroup.item.borderRadius : 0}px;\n border-bottom-left-radius: ${({ theme, $isFirst }) =>\n $isFirst ? theme.kitt.forms.radioButtonGroup.item.borderRadius : 0}px;\n border-top-right-radius: ${({ theme, $isLast }) =>\n $isLast ? theme.kitt.forms.radioButtonGroup.item.borderRadius : 0}px;\n border-bottom-right-radius: ${({ theme, $isLast }) =>\n $isLast ? theme.kitt.forms.radioButtonGroup.item.borderRadius : 0}px;\n border-left-width: ${({ theme, $isFirst }) => ($isFirst ? theme.kitt.forms.radioButtonGroup.item.borderWidth : 0)}px;\n`;\n\nexport interface AnimatedContainerProps {\n children: ReactNode;\n isFocused?: boolean;\n isPressed?: boolean;\n isSelected?: boolean;\n isDisabled?: boolean;\n isFirst?: boolean;\n isLast?: boolean;\n animatedStyles: Partial<ViewStyle>;\n}\n\nexport function AnimatedContainer({\n children,\n isFocused,\n isPressed,\n isSelected,\n isDisabled,\n isFirst,\n isLast,\n animatedStyles,\n}: AnimatedContainerProps): ReactElement {\n return (\n <StyledAnimatedView\n style={[animatedStyles]}\n $isFocused={isFocused}\n $isPressed={isPressed}\n $isSelected={isSelected}\n $isDisabled={isDisabled}\n $isFirst={isFirst}\n $isLast={isLast}\n >\n {children}\n </StyledAnimatedView>\n );\n}\n","import type { ReactElement } from 'react';\nimport { useTheme } from 'styled-components/native';\nimport { View } from '../../native-base/primitives';\n\ninterface FocusBorderProps {\n isPressed?: boolean;\n isHovered?: boolean;\n isSelected?: boolean;\n isFocused?: boolean;\n isFirst?: boolean;\n isLast?: boolean;\n}\n\nexport function HoverBorder({\n isFirst,\n isLast,\n isSelected,\n isHovered,\n isFocused,\n isPressed,\n}: FocusBorderProps): ReactElement {\n const theme = useTheme();\n const hasPointerInteraction = isPressed || isHovered || isFocused;\n const shouldDisplayBorder = isSelected ? true : hasPointerInteraction;\n\n return (\n <View\n _web={{\n style: {\n width: `calc(100% + ${theme.kitt.forms.radioButtonGroup.item.borderWidth * 2}px)`,\n height: `calc(100% + ${theme.kitt.forms.radioButtonGroup.item.borderWidth * 2}px)`,\n transitionProperty: theme.kitt.forms.radioButtonGroup.item.transition.property,\n transitionDuration: theme.kitt.forms.radioButtonGroup.item.transition.duration,\n transitionTimingFunction: theme.kitt.forms.radioButtonGroup.item.transition.timingFunction,\n },\n }}\n opacity={shouldDisplayBorder ? 1 : 0}\n position=\"absolute\"\n top={-theme.kitt.forms.radioButtonGroup.item.borderWidth}\n left={-theme.kitt.forms.radioButtonGroup.item.borderWidth}\n margin={0}\n borderColor={`kitt.forms.radioButtonGroup.item.borderColor.${\n isHovered || isSelected || isFocused ? 'hover' : 'default'\n }`}\n borderWidth=\"kitt.forms.radioButtonGroup.item.borderWidth\"\n borderTopLeftRadius={isFirst ? 'kitt.forms.radioButtonGroup.item.borderRadius' : 0}\n borderBottomLeftRadius={isFirst ? 'kitt.forms.radioButtonGroup.item.borderRadius' : 0}\n borderTopRightRadius={isLast ? 'kitt.forms.radioButtonGroup.item.borderRadius' : 0}\n borderBottomRightRadius={isLast ? 'kitt.forms.radioButtonGroup.item.borderRadius' : 0}\n />\n );\n}\n","import type { ViewStyle } from 'react-native';\nimport { interpolateColor, useAnimatedStyle, useSharedValue, withSpring } from 'react-native-reanimated';\nimport { useTheme } from 'styled-components/native';\n\nexport interface UseNativeAnimationOptions {\n isDisabled?: boolean;\n isSelected?: boolean;\n isPressedInternal?: boolean;\n}\n\nexport interface NativeAnimation {\n onPressIn?: () => void;\n onPressOut?: () => void;\n animatedStyles: ViewStyle;\n}\n\nexport const useNativeAnimation = ({\n isDisabled,\n isSelected,\n isPressedInternal,\n}: UseNativeAnimationOptions): NativeAnimation => {\n const theme = useTheme();\n const pressed = useSharedValue<0 | 1>(isPressedInternal ? 1 : 0);\n const color = useSharedValue(0);\n\n const { default: backgroundColor, pressed: pressedBackgroundColor } =\n theme.kitt.forms.radioButtonGroup.item.backgroundColor;\n\n const { default: borderColor, pressed: pressedBorderColor } = theme.kitt.forms.radioButtonGroup.item.borderColor;\n\n const animatedStyles = useAnimatedStyle(() => {\n if (isDisabled) {\n return {\n backgroundColor: theme.kitt.forms.radioButtonGroup.item.backgroundColor.disabled,\n borderColor: theme.kitt.forms.radioButtonGroup.item.borderColor.disabled,\n };\n }\n\n if (isSelected) {\n return {\n backgroundColor: pressedBackgroundColor,\n borderColor: pressedBorderColor,\n };\n }\n\n return {\n backgroundColor: interpolateColor(color.value, [0, 1], [backgroundColor, pressedBackgroundColor]),\n borderColor: interpolateColor(color.value, [0, 1], [borderColor, pressedBorderColor]),\n };\n });\n\n const handlePressIn = (): void => {\n color.value = withSpring(1);\n pressed.value = 1;\n };\n\n const handlePressOut = (): void => {\n color.value = withSpring(0);\n pressed.value = 0;\n };\n\n return {\n onPressIn: handlePressIn,\n onPressOut: handlePressOut,\n animatedStyles,\n };\n};\n","import type { TypographyColor } from '../../../typography/Typography';\n\ninterface GetCurrentTextColorParams {\n isDisabled?: boolean;\n isSelected?: boolean;\n isPressed?: boolean;\n isHovered?: boolean;\n isFocused?: boolean;\n}\n\nexport function getCurrentTextColor({\n isDisabled,\n isSelected,\n isPressed,\n isHovered,\n isFocused,\n}: GetCurrentTextColorParams): TypographyColor {\n if (isDisabled) return 'black-light';\n\n if (isSelected) return 'white';\n\n if (isPressed) return 'white';\n\n if (isFocused) return 'white';\n\n if (isHovered && !isSelected) return 'black';\n\n return 'black';\n}\n","import type { ReactElement, ReactNode } from 'react';\nimport type { GestureResponderEvent } from 'react-native';\nimport { Platform } from 'react-native';\nimport { Pressable, View } from '../../native-base/primitives';\nimport { Typography } from '../../typography/Typography';\nimport { AnimatedContainer } from './AnimatedContainer/AnimatedContainer';\nimport { HoverBorder } from './HoverBorder';\nimport { useNativeAnimation } from './hooks/useNativeAnimation';\nimport { getCurrentTextColor } from './utils/getCurrentTextColor';\n\nexport interface RadioButtonProps<V> {\n children: ReactNode;\n isFirst?: boolean;\n isLast?: boolean;\n disabled?: boolean;\n value: V;\n selected?: boolean;\n stretch?: boolean;\n /**\n * @internal Used to display pressed UI for testing and storybook purpose\n */\n isPressedInternal?: boolean;\n /**\n * @internal Used to display hovered UI for testing and storybook purpose\n */\n isHoveredInternal?: boolean;\n /**\n * @internal Used to display focused UI for testing and storybook purpose\n */\n isFocusedInternal?: boolean;\n onChange?: (value?: V) => void;\n onFocus?: (e?: any | GestureResponderEvent) => void;\n onBlur?: (e?: any | GestureResponderEvent) => void;\n}\n\nexport function RadioButton<V>({\n children,\n value,\n selected,\n isFirst,\n isLast,\n disabled,\n stretch,\n isHoveredInternal,\n isPressedInternal,\n isFocusedInternal,\n onChange,\n onFocus,\n onBlur,\n}: RadioButtonProps<V>): ReactElement {\n const { onPressIn, onPressOut, animatedStyles } = useNativeAnimation({\n isDisabled: disabled,\n isSelected: selected,\n isPressedInternal,\n });\n\n const handlePress = (e: GestureResponderEvent): void => {\n if (onFocus) onFocus(e);\n\n if (onChange) onChange(value);\n\n if (onBlur) onBlur(e);\n };\n\n return (\n <Pressable\n accessibilityRole=\"radiogroup\"\n accessibilityState={{ checked: selected }}\n flex={stretch ? 1 : undefined}\n disabled={disabled}\n onPress={handlePress}\n onPressIn={onPressIn}\n onPressOut={onPressOut}\n onFocus={onFocus}\n onBlur={onBlur}\n >\n {({ isHovered, isPressed, isFocused }) => (\n <AnimatedContainer\n animatedStyles={animatedStyles}\n isFocused={isFocused || isFocusedInternal}\n isPressed={isPressed || isPressedInternal}\n isSelected={selected}\n isDisabled={disabled}\n isFirst={isFirst}\n isLast={isLast}\n >\n <View\n paddingX=\"kitt.forms.radioButtonGroup.item.padding.horizontal\"\n paddingY=\"kitt.forms.radioButtonGroup.item.padding.vertical\"\n alignItems=\"center\"\n >\n <Typography.SetDefaultColor\n value={getCurrentTextColor({\n isSelected: selected || isPressedInternal,\n isPressed,\n isHovered: isHovered || isHoveredInternal,\n isDisabled: disabled,\n isFocused: isFocused || isFocusedInternal,\n })}\n >\n {children}\n </Typography.SetDefaultColor>\n {Platform.OS === 'web' ? (\n <HoverBorder\n isFirst={isFirst}\n isLast={isLast}\n isSelected={selected}\n isHovered={isHovered || isHoveredInternal}\n isPressed={isPressed || isPressedInternal}\n isFocused={isFocused || isFocusedInternal}\n />\n ) : null}\n </View>\n </AnimatedContainer>\n )}\n </Pressable>\n );\n}\n","import type { ReactElement, ReactNode } from 'react';\nimport { Children, cloneElement, useState } from 'react';\nimport type { ViewProps } from '../../native-base/primitives';\nimport { View } from '../../native-base/primitives';\nimport type { RadioButtonProps } from './RadioButton';\nimport { RadioButton } from './RadioButton';\n\ntype InternalInheritedProps =\n | 'isFirst'\n | 'isLast'\n | 'selected'\n | 'stretch'\n | 'disabled'\n | 'onChange'\n | 'onFocus'\n | 'onBlur';\n\ninterface RadioButtonGroupItemProps<V> extends Omit<RadioButtonProps<V>, InternalInheritedProps> {}\n\nfunction RadioButtonGroupItem<V>({ ...props }: RadioButtonGroupItemProps<V>): ReactElement {\n return <RadioButton {...props} />;\n}\n\nexport interface RadioButtonGroupProps<V> extends Exclude<ViewProps, 'onBlur' | 'onFocus'> {\n children: ReactNode;\n disabled?: boolean;\n hovered?: boolean;\n selected?: boolean;\n stretch?: boolean;\n value?: V;\n onChange?: (newValue: V) => void;\n onFocus?: (e?: any) => void;\n onBlur?: (e?: any) => void;\n}\n\nexport function RadioButtonGroup<V>({\n children,\n stretch,\n value,\n disabled,\n onFocus,\n onBlur,\n onChange,\n ...props\n}: RadioButtonGroupProps<V>): ReactElement {\n const [currentValue, setCurrentValue] = useState(value);\n\n const handleChange = (newValue: V): void => {\n if (disabled) return;\n\n setCurrentValue(newValue);\n if (onChange) onChange(newValue);\n };\n\n const childrenArray = Children.toArray(children) as ReactElement<RadioButtonProps<V>, typeof RadioButton>[];\n\n return (\n <View flexDirection=\"row\" flexWrap=\"wrap\" {...props}>\n {childrenArray.map((child, index) => {\n const clone = cloneElement<RadioButtonProps<V>>(child, {\n stretch,\n disabled,\n selected: child.props.value === currentValue,\n isFirst: index === 0,\n isLast: index === childrenArray.length - 1,\n onChange: handleChange,\n onFocus,\n onBlur,\n } as any);\n\n return clone;\n })}\n </View>\n );\n}\n\nRadioButtonGroup.RadioButton = RadioButtonGroupItem;\n","import type { ReactElement } from 'react';\nimport { 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, ReactNode } from 'react';\nimport { createContext, useMemo } from 'react';\n\nexport interface KittMapConfigProviderConfig {\n mapId: string;\n apiToken: string;\n}\n\nexport const KittMapConfigProviderContext = createContext<KittMapConfigProviderConfig | undefined>(undefined);\n\nexport interface KittMapProviderProps {\n mapId: string;\n apiToken: string;\n children: ReactNode;\n}\n\nexport function KittMapConfigProvider({ children, mapId, apiToken }: KittMapProviderProps): ReactElement {\n const providerValue = useMemo(\n () => ({\n mapId,\n apiToken,\n }),\n [mapId, apiToken],\n );\n\n return (\n <KittMapConfigProviderContext.Provider value={providerValue}>{children}</KittMapConfigProviderContext.Provider>\n );\n}\n","import { useContext } from 'react';\nimport type { KittMapConfigProviderConfig } from '../KittMapConfigProvider';\nimport { KittMapConfigProviderContext } from '../KittMapConfigProvider';\n\nexport function useKittMapConfig(): KittMapConfigProviderConfig {\n const context = useContext(KittMapConfigProviderContext);\n\n if (!context) {\n throw new Error('<KittMapConfigProvider> missing in the react tree');\n }\n\n return context;\n}\n","import type { ReactElement, ReactNode } from 'react';\nimport type { ViewProps } from 'react-native';\nimport styled from 'styled-components/native';\n\nexport interface ListItemContentProps extends ViewProps {\n children: NonNullable<ReactNode>;\n}\n\nconst ContentView = styled.View`\n flex: 1 0 0%;\n align-self: center;\n`;\n\nexport function ListItemContent({ children, ...rest }: ListItemContentProps): ReactElement {\n return <ContentView {...rest}>{children}</ContentView>;\n}\n","import type { ReactElement, ReactNode } from 'react';\nimport type { ViewProps, ViewStyle } from 'react-native';\nimport styled from 'styled-components/native';\n\nexport interface ListItemSideContainerProps extends ViewProps {\n children: NonNullable<ReactNode>;\n side?: 'left' | 'right';\n}\n\nconst SideContainerView = styled.View<ListItemSideContainerProps>`\n flex-direction: row;\n margin-left: ${({ theme, side }) => (side === 'right' ? `${theme.kitt.listItem.innerMargin}px` : 0)};\n margin-right: ${({ theme, side }) => (side === 'left' ? `${theme.kitt.listItem.innerMargin}px` : 0)};\n`;\n\n// Handles the vertical alignment of the side elements of the list item\nexport function ListItemSideContainer({ children, side = 'left', ...rest }: ListItemSideContainerProps): ReactElement {\n return (\n <SideContainerView side={side} {...rest}>\n {children}\n </SideContainerView>\n );\n}\n\nexport interface ListItemSideContentProps extends ViewProps {\n children: NonNullable<ReactNode>;\n align?: ViewStyle['alignSelf'];\n}\n\nconst SideContentView = styled.View<ListItemSideContentProps>`\n align-self: ${({ align }) => align};\n`;\n\nexport function ListItemSideContent({ children, align = 'auto', ...rest }: ListItemSideContentProps): ReactElement {\n return (\n <SideContentView align={align} {...rest}>\n {children}\n </SideContentView>\n );\n}\n","import type { ReactElement, ReactNode } from 'react';\nimport { Fragment } from 'react';\nimport type { PressableProps, ViewProps } from 'react-native';\nimport { Pressable } from 'react-native';\nimport styled, { css } from 'styled-components/native';\nimport { ListItemContent } from './ListItemContent';\nimport { ListItemSideContainer, ListItemSideContent } from './ListItemSideContent';\n\ntype Borders = 'top' | 'bottom' | 'both';\n\nexport interface ListItemProps extends ViewProps {\n children: NonNullable<ReactNode>;\n left?: ReactNode;\n right?: ReactNode;\n borders?: Borders;\n withPadding?: boolean;\n onPress?: PressableProps['onPress'];\n}\n\ninterface ContainerViewProps extends Pick<ListItemProps, 'borders' | 'withPadding'> {}\n\nconst ContainerView = styled.View<ContainerViewProps>`\n flex-direction: row;\n padding: ${({ withPadding, theme }) => (withPadding ? theme.kitt.listItem.padding : 0)};\n ${({ theme, borders }) => {\n const { borderWidth } = theme.kitt.listItem;\n\n if (borders === 'top') {\n return `border-top-width: ${borderWidth}px`;\n }\n\n if (borders === 'bottom') {\n return `border-bottom-width: ${borderWidth}px`;\n }\n\n if (borders === 'both') {\n return css`\n border-top-width: ${borderWidth}px;\n border-bottom-width: ${borderWidth}px;\n `;\n }\n\n return 'border: none';\n }};\n border-color: ${({ theme }) => theme.kitt.listItem.borderColor};\n background-color: ${({ theme }) => theme.kitt.colors.uiBackgroundLight};\n`;\n\nexport function ListItem({\n children,\n withPadding,\n borders,\n left,\n right,\n onPress,\n ...rest\n}: ListItemProps): ReactElement {\n const Wrapper = onPress ? Pressable : Fragment;\n const wrapperProps = onPress ? { accessibilityRole: 'button', onPress, ...rest } : undefined;\n const containerProps = onPress ? undefined : rest;\n\n return (\n <Wrapper {...(wrapperProps as any)}>\n <ContainerView withPadding={withPadding} borders={borders} {...containerProps}>\n {left ? <ListItemSideContainer side=\"left\">{left}</ListItemSideContainer> : null}\n\n <ListItemContent>{children}</ListItemContent>\n\n {right ? <ListItemSideContainer side=\"right\">{right}</ListItemSideContainer> : null}\n </ContainerView>\n </Wrapper>\n );\n}\n\nListItem.Content = ListItemContent;\nListItem.SideContent = ListItemSideContent;\nListItem.SideContainer = ListItemSideContainer;\n","<svg fill=\"none\" viewBox=\"0 0 54 56\" width=\"54\" xmlns=\"http://www.w3.org/2000/svg\"><linearGradient id=\"marker-large_inline_svg__b\" gradientUnits=\"userSpaceOnUse\" x1=\"26.828\" x2=\"7.181\" y1=\"5.072\" y2=\"39.102\"><stop offset=\"0\" stop-opacity=\".01\"/><stop offset=\"1\"/></linearGradient><filter id=\"marker-large_inline_svg__a\" color-interpolation-filters=\"sRGB\" filterUnits=\"userSpaceOnUse\" height=\"48.706\" width=\"42.761\" x=\"10.437\" y=\"5.167\"><feFlood flood-opacity=\"0\" result=\"BackgroundImageFix\"/><feBlend in=\"SourceGraphic\" in2=\"BackgroundImageFix\" result=\"shape\"/><feGaussianBlur result=\"effect1_foregroundBlur_257_3018\" stdDeviation=\"2.718\"/></filter><mask id=\"marker-large_inline_svg__c\" height=\"43\" maskUnits=\"userSpaceOnUse\" width=\"31\" x=\"3\" y=\"3\"><path d=\"M16.303 44.99a3.002 3.002 0 0 0 4.394 0C29.631 35.38 34 26.678 34 18.938 34 10.12 27.04 3 18.5 3S3 10.12 3 18.938c0 7.74 4.369 16.442 13.303 26.052z\" fill=\"#fff\"/></mask><g filter=\"url(#marker-large_inline_svg__a)\" opacity=\".25\"><path d=\"M24.022 48.149c-3.018 1.02-6.128-.775-6.753-3.899-1.372-6.862-2.799-18.548 1.348-25.73C22.966 10.985 32.545 8.374 40 12.678c7.454 4.303 9.982 13.903 5.63 21.44-4.146 7.182-14.98 11.79-21.608 14.032z\" fill=\"url(#marker-large_inline_svg__b)\"/></g><g mask=\"url(#marker-large_inline_svg__c)\"><path d=\"M3 3h31v43H3z\" fill=\"#4c34e0\"/></g><path d=\"M15.677 46.315c-2.682-3.029-6.253-7.443-9.145-12.356C3.622 29.015 1.5 23.735 1.5 18.938 1.5 9.27 9.152 1.5 18.5 1.5c9.349 0 17 7.771 17 17.438 0 4.797-2.122 10.077-5.032 15.02-2.892 4.914-6.463 9.328-9.145 12.357-1.536 1.735-4.11 1.735-5.646 0z\" stroke=\"#fff\" stroke-width=\"3\"/></svg>","<svg viewBox=\"0 0 40 39\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\"><path d=\"M16.417 33.38c-2.3.776-4.668-.592-5.146-2.971-1.059-5.274-2.171-14.297 1.027-19.837 3.348-5.798 10.717-7.806 16.452-4.495 5.735 3.31 7.68 10.697 4.333 16.495-3.198 5.54-11.57 9.088-16.666 10.808z\" fill=\"url(#marker_inline_svg__a)\" opacity=\".25\" filter=\"url(#marker_inline_svg__b)\"/><path d=\"M10.89 29.536a2.81 2.81 0 0 0 4.22 0C20.428 23.492 23 18.054 23 13.256 23 7.58 18.507 3 13 3S3 7.58 3 13.256c0 4.798 2.572 10.236 7.89 16.28z\" fill=\"#4C34E0\"/><mask id=\"marker_inline_svg__c\" style=\"mask-type:alpha\" maskUnits=\"userSpaceOnUse\" x=\"3\" y=\"3\" width=\"20\" height=\"28\"><path d=\"M10.89 29.536a2.81 2.81 0 0 0 4.22 0C20.428 23.492 23 18.054 23 13.256 23 7.58 18.507 3 13 3S3 7.58 3 13.256c0 4.798 2.572 10.236 7.89 16.28z\" fill=\"#fff\"/></mask><g mask=\"url(#marker_inline_svg__c)\"><path fill=\"#4C34E0\" d=\"M3 3h20v27H3z\"/></g><path d=\"M10.374 31c-1.884-2.216-4.125-5.144-5.888-8.307C2.71 19.505 1.5 16.22 1.5 13.256 1.5 6.734 6.681 1.5 13 1.5s11.5 5.234 11.5 11.756c0 2.964-1.21 6.249-2.986 9.437-1.763 3.163-4.004 6.091-5.888 8.307-1.414 1.662-3.838 1.662-5.252 0z\" stroke=\"#fff\" stroke-width=\"3\"/><defs><linearGradient id=\"marker_inline_svg__a\" x1=\"18.616\" y1=\".226\" x2=\"3.501\" y2=\"26.405\" gradientUnits=\"userSpaceOnUse\"><stop stop-opacity=\".01\"/><stop offset=\"1\"/></linearGradient><filter id=\"marker_inline_svg__b\" x=\"6.046\" y=\".339\" width=\"32.817\" height=\"37.4\" filterUnits=\"userSpaceOnUse\" color-interpolation-filters=\"sRGB\"><feFlood flood-opacity=\"0\" result=\"BackgroundImageFix\"/><feBlend in=\"SourceGraphic\" in2=\"BackgroundImageFix\" result=\"shape\"/><feGaussianBlur stdDeviation=\"2.071\" result=\"effect1_foregroundBlur_257_3020\"/></filter></defs></svg>","<svg viewBox=\"0 0 47 47\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\"><path fill-rule=\"evenodd\" clip-rule=\"evenodd\" d=\"M23.5 36C30.404 36 36 30.404 36 23.5S30.404 11 23.5 11 11 16.596 11 23.5 16.596 36 23.5 36z\" fill=\"#38836D\" opacity=\".8\" filter=\"url(#position-marker_inline_svg__a)\"/><path d=\"M31 18.5a7.5 7.5 0 1 1-15 0 7.5 7.5 0 0 1 15 0z\" fill=\"#fff\" stroke=\"#38836D\" stroke-width=\"10\"/><circle cx=\"23.5\" cy=\"18.5\" r=\"2.5\" fill=\"#fff\"/><defs><filter id=\"position-marker_inline_svg__a\" x=\".127\" y=\".127\" width=\"46.746\" height=\"46.746\" filterUnits=\"userSpaceOnUse\" color-interpolation-filters=\"sRGB\"><feFlood flood-opacity=\"0\" result=\"BackgroundImageFix\"/><feBlend in=\"SourceGraphic\" in2=\"BackgroundImageFix\" result=\"shape\"/><feGaussianBlur stdDeviation=\"5.437\" result=\"effect1_foregroundBlur_257_3019\"/></filter></defs></svg>","import type { ReactElement } from 'react';\nimport LargeMarkerSvg from './assets/marker-large.inline.svg';\nimport DefaultMarkerSvg from './assets/marker.inline.svg';\nimport PositionMarkerSvg from './assets/position-marker.inline.svg';\n\ninterface BaseMarkerWithSizeProps {\n width: number;\n height: number;\n}\n\ninterface BaseMarkerWithoutSizeProps {\n width?: never;\n height?: never;\n}\n\nexport type MapMarkerProps = BaseMarkerWithSizeProps | BaseMarkerWithoutSizeProps;\n\nexport function MapMarkerSimple({ width = 40, height = 39 }: MapMarkerProps): ReactElement {\n return <DefaultMarkerSvg width={width} height={height} />;\n}\n\nexport function MapMarkerLarge({ width = 54, height = 56 }: MapMarkerProps): ReactElement {\n return <LargeMarkerSvg width={width} height={height} />;\n}\n\nexport function MapMarkerPosition({ width = 47, height = 47 }: MapMarkerProps): ReactElement {\n return <PositionMarkerSvg width={width} height={height} />;\n}\n","import { AlertCircleIcon, AlertTriangleIcon, CheckIcon, InfoIcon } from '@ornikar/kitt-icons';\nimport type { ReactElement } from 'react';\nimport type { TypographyColor } from '../typography/Typography';\nimport type { MessageType } from './BaseMessage';\n\ninterface IconContentProps {\n type: MessageType;\n color: TypographyColor;\n}\n\nexport function IconContent({ type, color }: IconContentProps): ReactElement {\n switch (type) {\n case 'warning':\n return <AlertCircleIcon color={color} />;\n case 'success':\n return <CheckIcon color={color} />;\n case 'danger':\n return <AlertTriangleIcon color={color} />;\n default:\n return <InfoIcon color={color} />;\n }\n}\n","import type { IconButtonProps } from '../IconButton/IconButton';\nimport type { TypographyColor } from '../typography/Typography';\nimport type { MessageType } from './BaseMessage';\n\nexport const getColorByType = (type: MessageType): TypographyColor => {\n switch (type) {\n case 'success':\n return 'white';\n case 'danger':\n return 'white';\n case 'warning':\n default:\n return 'black';\n }\n};\n\nexport const getIconButtonColor = (messageType: MessageType): IconButtonProps['color'] => {\n switch (messageType) {\n case 'success':\n case 'danger':\n return 'white';\n case 'warning':\n default:\n return 'black';\n }\n};\n","import { XIcon } from '@ornikar/kitt-icons';\nimport type { ReactElement, ReactNode } from 'react';\nimport type { EdgeInsets } from 'react-native-safe-area-context';\nimport styled from 'styled-components/native';\nimport { Icon } from '../Icon/Icon';\nimport { IconButton } from '../IconButton/IconButton';\nimport { Typography } from '../typography/Typography';\nimport { IconContent } from './IconContent';\nimport { getColorByType, getIconButtonColor } from './helper';\n\nexport type MessageType = 'success' | 'warning' | 'danger' | 'info';\n\ninterface StyledMessageContainerProps {\n $type: MessageType;\n $hasNoRadius?: boolean;\n $insets?: EdgeInsets;\n}\n\nconst StyledMessageContainer = styled.View<StyledMessageContainerProps>`\n flex-direction: row;\n align-items: flex-start;\n justify-content: space-between;\n min-height: 60px;\n padding-top: ${({ $insets }) => $insets?.top ?? 0}px;\n border-radius: ${({ theme, $hasNoRadius }) => ($hasNoRadius ? 0 : theme.kitt.spacing * 5)}px;\n background-color: ${({ theme, $type }) => theme.kitt.feedbackMessage[$type].backgroundColor};\n`;\n\nconst StyledDismissWrapper = styled.View`\n align-items: center;\n align-items: flex-start;\n margin: ${({ theme }) => {\n const { spacing } = theme.kitt;\n return `${spacing * 2.5}px ${spacing * 2}px 0 ${spacing * 5}px`;\n }};\n`;\n\nconst StyledIconContainer = styled.View`\n margin: ${({ theme }) => {\n const { spacing } = theme.kitt;\n return `${spacing}px ${spacing * 5}px 0 0`;\n }};\n`;\n\ninterface StyledTextContentProps {\n $isCenteredText?: boolean;\n}\n\nconst StyledTextContent = styled(Typography.Text)<StyledTextContentProps>`\n flex: 1;\n text-align: ${({ $isCenteredText }) => ($isCenteredText ? 'center' : 'left')};\n`;\n\nconst StyledMessageContent = styled.View`\n display: flex;\n flex-direction: row;\n flex-grow: 1;\n align-self: center;\n align-items: flex-start;\n flex-shrink: 1;\n padding: ${({ theme }) => {\n const { spacing } = theme.kitt;\n return `${spacing * 4}px ${spacing * 5}px`;\n }};\n`;\n\nexport interface BaseMessageProps {\n type?: MessageType;\n children: NonNullable<ReactNode>;\n /**\n * @internal for styling between Message and Notification\n */\n hasNoRadius?: boolean;\n centeredText?: boolean;\n insets?: EdgeInsets;\n onDismiss?: () => void;\n}\n\nexport function BaseMessage({\n type = 'info',\n children,\n hasNoRadius,\n centeredText,\n insets,\n onDismiss,\n}: BaseMessageProps): ReactElement {\n const color = getColorByType(type);\n\n return (\n <StyledMessageContainer $type={type} $hasNoRadius={hasNoRadius} $insets={insets}>\n <StyledMessageContent>\n {centeredText ? null : (\n <StyledIconContainer>\n <Icon color={color} icon={<IconContent type={type} color={color} />} />\n </StyledIconContainer>\n )}\n <StyledTextContent $isCenteredText={centeredText} base=\"body\" color={color}>\n {children}\n </StyledTextContent>\n </StyledMessageContent>\n\n {onDismiss ? (\n <StyledDismissWrapper>\n <IconButton color={getIconButtonColor(type)} icon={<XIcon />} onPress={onDismiss} />\n </StyledDismissWrapper>\n ) : null}\n </StyledMessageContainer>\n );\n}\n","import type { ReactElement } from 'react';\nimport type { BaseMessageProps } from '../BaseMessage/BaseMessage';\nimport { BaseMessage } from '../BaseMessage/BaseMessage';\n\nexport interface MessageProps extends BaseMessageProps {}\n\nexport function Message({\n type = 'info',\n children,\n hasNoRadius,\n centeredText,\n insets,\n onDismiss,\n}: MessageProps): ReactElement {\n return (\n <BaseMessage\n insets={insets}\n hasNoRadius={hasNoRadius}\n type={type}\n centeredText={centeredText}\n onDismiss={onDismiss}\n >\n {children}\n </BaseMessage>\n );\n}\n","import type { NativeBaseProviderProps } from 'native-base';\nimport { NativeBaseProvider, extendTheme } from 'native-base';\nimport type { ReactElement, ReactNode } from 'react';\nimport { useMemo } from 'react';\nimport { Platform } from 'react-native';\nimport type { KittTheme } from '..';\nimport { KittBreakpoints } from '../KittBreakpoints';\nimport type { Theme } from '../themes/default';\n\nexport type Enumerate<N, A extends number[] = []> = A['length'] extends N\n ? A[number]\n : Enumerate<N, [...A, A['length']]>;\n\ntype KittSize = `kitt.${Exclude<Enumerate<65>, 0>}`;\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 iconButton: {\n borderColor: theme.iconButton.borderColor,\n disabled: {\n borderColor: theme.iconButton.disabled.borderColor,\n },\n },\n tooltip: {\n backgroundColor: theme.tooltip.backgroundColor,\n },\n typography: theme.typography.colors,\n palettes: theme.palettes,\n forms: {\n input: {\n states: theme.forms.input.states,\n },\n radioButtonGroup: {\n item: {\n borderColor: theme.forms.radioButtonGroup.item.borderColor,\n backgroundColor: theme.forms.radioButtonGroup.item.backgroundColor,\n },\n },\n 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 },\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 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 },\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 type { ReactElement, ReactNode } from 'react';\nimport { StyleSheet } from 'react-native';\nimport Animated, { Easing, useAnimatedStyle, withTiming } from 'react-native-reanimated';\nimport { useTheme } from 'styled-components/native';\n\nexport interface NativeOpacityAnimationProps {\n visible?: boolean;\n children: ReactNode;\n}\n\nexport function NativeOpacityAnimation({ visible, children }: NativeOpacityAnimationProps): ReactElement {\n const theme = useTheme();\n\n const opacityStyle = useAnimatedStyle(() => {\n const { duration, easing } = theme.kitt.navigationModal.animation.overlay;\n const [x1, y1, x2, y2] = easing;\n\n return {\n opacity: withTiming(visible ? 1 : 0, { duration, easing: Easing.bezier(x1, y1, x2, y2) }),\n };\n });\n\n return <Animated.View style={[StyleSheet.absoluteFillObject, opacityStyle]}>{children}</Animated.View>;\n}\n","import type { ReactElement, ReactNode } from 'react';\nimport { useRef } from 'react';\nimport { useWindowDimensions } from 'react-native';\nimport Animated, { Easing, runOnJS, useAnimatedStyle, withTiming } from 'react-native-reanimated';\nimport { useTheme } from 'styled-components/native';\nimport type { NavigationModalAnimationProps } from '../NavigationModalAnimation';\n\nexport interface NativeSlideInAnimationProps {\n children: ReactNode;\n visible?: NavigationModalAnimationProps['visible'];\n onEntered?: NavigationModalAnimationProps['onEntered'];\n onExited: () => void;\n}\n\nexport function NativeSlideInAnimation({\n visible,\n children,\n onEntered,\n onExited,\n}: NativeSlideInAnimationProps): ReactElement | null {\n const theme = useTheme();\n const { height: wHeight } = useWindowDimensions();\n const hasRunAnimationRef = useRef(false);\n\n function handleAnimationFinished(): void {\n if (visible) {\n if (onEntered) onEntered();\n hasRunAnimationRef.current = true;\n }\n\n // Since animation callback is called on component mount, we must make sure that the animation has been runed once to call it an exit\n if (!visible && hasRunAnimationRef.current) onExited();\n }\n\n const translateStyle = useAnimatedStyle(() => {\n const { duration, easing } = theme.kitt.navigationModal.animation.content;\n const [x1, y1, x2, y2] = easing;\n\n return {\n transform: [\n {\n translateY: withTiming(\n visible ? 0 : wHeight,\n { duration, easing: Easing.bezier(x1, y1, x2, y2) },\n (isFinished) => {\n if (!isFinished) return;\n runOnJS(handleAnimationFinished)();\n },\n ),\n },\n ],\n };\n });\n\n return (\n <Animated.View style={[{ transform: [{ translateY: wHeight }] }, translateStyle, { width: '100%', flex: 1 }]}>\n {children}\n </Animated.View>\n );\n}\n","import type { ReactElement, ReactNode } from 'react';\nimport { useEffect, useState } from 'react';\nimport { Modal } from 'react-native';\nimport { Overlay } from '../Overlay/Overlay';\nimport type { ViewProps } from '../native-base/primitives';\nimport { View } from '../native-base/primitives';\nimport { NativeOpacityAnimation } from './components/NativeOpacityAnimation';\nimport { NativeSlideInAnimation } from './components/NativeSlideInAnimation';\n\nexport interface NavigationModalAnimationProps extends ViewProps {\n children: ReactNode;\n appear?: boolean;\n visible?: boolean;\n unmountOnExit?: boolean;\n isAnimationEnabled?: boolean;\n onEnter?: () => void;\n onEntered?: () => void;\n onExit?: () => void;\n onExited?: () => void;\n onClose?: () => void;\n}\n\nexport function NavigationModalAnimation({\n visible,\n children,\n onEnter,\n onEntered,\n onExit,\n onExited,\n}: NavigationModalAnimationProps): ReactElement {\n const [isModalVisible, setIsModalVisible] = useState(visible);\n const [isContentVisible, setIsContentVisible] = useState(false);\n\n const handleAnimationExited = (): void => {\n setIsModalVisible(false);\n };\n\n // When parent visibility is set to false, in order to have our exit animation we must in this order :\n // 1 - run the exit animation\n // 2 - once it is done, unmount the Modal\n useEffect(() => {\n const shouldHideContent = !visible && isContentVisible;\n\n if (!shouldHideContent) return;\n\n if (onExit) onExit();\n setIsContentVisible(false);\n }, [visible, isContentVisible, onExit]);\n\n return (\n <Modal\n transparent\n visible={isModalVisible}\n onShow={() => {\n if (onEnter) onEnter();\n setIsContentVisible(true);\n }}\n onDismiss={() => {\n if (onExited) onExited();\n }}\n >\n <View position=\"relative\" flex={1} justifyContent=\"center\" alignItems=\"center\">\n <NativeOpacityAnimation visible={isContentVisible}>\n <Overlay onPress={handleAnimationExited} />\n </NativeOpacityAnimation>\n <NativeSlideInAnimation visible={isContentVisible} onExited={handleAnimationExited} onEntered={onEntered}>\n <View flex={1}>{children}</View>\n </NativeSlideInAnimation>\n </View>\n </Modal>\n );\n}\n","import type { ReactElement } from 'react';\nimport { useEffect, useState } from 'react';\nimport type { ModalBehaviourProps } from '../ModalBehaviour/ModalBehaviour';\nimport { ModalBehaviour } from '../ModalBehaviour/ModalBehaviour';\nimport type { NavigationModalAnimationProps } from './NavigationModalAnimation';\nimport { NavigationModalAnimation } from './NavigationModalAnimation';\n\ninterface NavigationModalBehaviourProps extends NavigationModalAnimationProps {\n onClose: ModalBehaviourProps['onClose'];\n}\n\nexport function NavigationModalBehaviour({\n children,\n visible,\n onClose,\n onExited,\n ...props\n}: NavigationModalBehaviourProps): ReactElement {\n const [isModalBehaviourVisible, setIsModalBehaviourVisible] = useState(visible);\n\n useEffect(() => {\n if (visible === true) {\n setIsModalBehaviourVisible(true);\n }\n }, [visible]);\n\n const handleExitAnimationDone = (): void => {\n if (onExited) onExited();\n setIsModalBehaviourVisible(false);\n };\n\n return (\n <ModalBehaviour visible={isModalBehaviourVisible} onClose={onClose}>\n <NavigationModalAnimation {...props} visible={visible} onExited={handleExitAnimationDone}>\n {children}\n </NavigationModalAnimation>\n </ModalBehaviour>\n );\n}\n","import type { ViewStyle } from 'react-native';\nimport { Platform, View } from 'react-native';\nimport styled, { css } from 'styled-components/native';\n\nexport interface NavigationModalContainerProps {\n $backgroundColor?: ViewStyle['backgroundColor'];\n}\n\nexport const NavigationModalContainer = styled(View)<NavigationModalContainerProps>`\n position: relative;\n background-color: ${({ theme, $backgroundColor }) =>\n ($backgroundColor as string) || theme.kitt.colors.uiBackgroundLight};\n flex: 1;\n\n ${() => {\n if (Platform.OS !== 'web') return undefined;\n return css`\n min-height: 100vh;\n `;\n }}\n`;\n","import type { ReactElement, ReactNode } from 'react';\nimport type { ViewStyle } from 'react-native';\nimport { ScrollView, View } from 'react-native';\nimport styled from 'styled-components/native';\nimport { Body } from './Body';\nimport { ContentPadding } from './ContentPadding';\nimport { Footer } from './Footer';\nimport { Header } from './Header';\nimport { NavigationModalBehaviour } from './NavigationModalBehaviour';\nimport { NavigationModalContainer } from './NavigationModalContainer';\n\nconst ContainerWithoutHeader = styled(View)`\n justify-content: space-between;\n flex: 1;\n`;\n\nexport interface NavigationModalProps {\n header?: ReactNode;\n footer?: ReactNode;\n body: ReactNode;\n backgroundColor?: ViewStyle['backgroundColor'];\n}\n\nexport function NavigationModal({ body, header, footer, backgroundColor }: NavigationModalProps): ReactElement {\n return (\n <NavigationModalContainer $backgroundColor={backgroundColor}>\n {header ? <View>{header}</View> : null}\n\n <ContainerWithoutHeader>\n <ScrollView bounces={false} contentContainerStyle={{ flexGrow: 1, position: 'relative' }}>\n {body}\n </ScrollView>\n {footer || null}\n </ContainerWithoutHeader>\n </NavigationModalContainer>\n );\n}\n\nNavigationModal.Header = Header;\nNavigationModal.Footer = Footer;\nNavigationModal.Body = Body;\nNavigationModal.Padding = ContentPadding;\nNavigationModal.ModalBehaviour = NavigationModalBehaviour;\n","import type { ReactElement } from 'react';\nimport { BaseMessage } from '../BaseMessage/BaseMessage';\nimport type { BaseMessageProps } from '../BaseMessage/BaseMessage';\n\nexport interface NotificationProps extends BaseMessageProps {\n /**\n * @deprecated use onDismiss instead\n */\n onDelete?: BaseMessageProps['onDismiss'];\n}\n\nexport function Notification({\n type,\n children,\n centeredText,\n insets,\n onDelete,\n onDismiss,\n}: NotificationProps): ReactElement {\n if (__DEV__) {\n if (onDelete) {\n throw new Error('onDelete is deprecated us onDismiss instead');\n }\n }\n\n return (\n <BaseMessage hasNoRadius type={type} centeredText={centeredText} insets={insets} onDismiss={onDismiss}>\n {children}\n </BaseMessage>\n );\n}\n","import type { ReactElement } from 'react';\nimport Animated, { useAnimatedProps } from 'react-native-reanimated';\nimport type { CircleProps } from 'react-native-svg';\nimport { Circle } from 'react-native-svg';\nimport { useTheme } from 'styled-components/native';\n\nconst AnimatedCircle = Animated.createAnimatedComponent(Circle);\n\ninterface PageLoaderCircleProps {\n color: CircleProps['stroke'];\n progress: Animated.SharedValue<number>;\n}\n\nexport function AnimatedLoaderCircle({ color, progress }: PageLoaderCircleProps): ReactElement {\n const theme = useTheme();\n\n const { strokeWidth, size } = theme.kitt.pageLoader;\n\n const centerCoord = size * 0.5;\n const radius = centerCoord - strokeWidth;\n const circlePerimeter = 2 * Math.PI * (size * 0.5 - strokeWidth);\n\n const strokeAnimation = useAnimatedProps(() => {\n return {\n strokeDashoffset: circlePerimeter - circlePerimeter * progress.value,\n };\n });\n\n return (\n <AnimatedCircle\n transform-origin=\"center center\"\n strokeWidth={strokeWidth}\n stroke={color}\n strokeLinecap=\"round\"\n cx={centerCoord}\n cy={centerCoord}\n r={radius}\n fill=\"none\"\n strokeDasharray={circlePerimeter}\n animatedProps={strokeAnimation}\n />\n );\n}\n","import type { ReactElement } from 'react';\nimport { useEffect } from 'react';\nimport { Easing, useSharedValue, withDelay, withTiming } from 'react-native-reanimated';\nimport Svg from 'react-native-svg';\nimport { useTheme } from 'styled-components/native';\nimport { AnimatedLoaderCircle } from './AnimatedLoaderCircle';\n\nexport function AnimatedBackgroundCircle(): ReactElement {\n const theme = useTheme();\n const progress = useSharedValue(0);\n\n const { animation, colors, size } = theme.kitt.pageLoader;\n\n useEffect(() => {\n const { delay, circleBackgroundFillDuration, fillEasingFunction } = animation;\n const [x1, y1, x2, y2] = fillEasingFunction;\n\n progress.value = withDelay(\n delay,\n withTiming(1, { duration: circleBackgroundFillDuration, easing: Easing.bezier(x1, y1, x2, y2) }),\n );\n }, [progress, animation]);\n\n return (\n <Svg width={size} height={size} viewBox={`0 0 ${size} ${size}`}>\n <AnimatedLoaderCircle color={colors.base} progress={progress} />\n </Svg>\n );\n}\n","import type { ReactElement, ReactNode } from 'react';\nimport { useEffect } from 'react';\nimport { StyleSheet } from 'react-native';\nimport Animated, {\n Easing,\n useAnimatedStyle,\n useSharedValue,\n withDelay,\n withRepeat,\n withTiming,\n} from 'react-native-reanimated';\nimport { useTheme } from 'styled-components/native';\n\nconst isInfinitAnimation = -1;\n\ninterface AnimatedFillCircleContainerProps {\n children: NonNullable<ReactNode>;\n duration: number;\n}\n\nexport function AnimatedFillCircleContainer({ children, duration }: AnimatedFillCircleContainerProps): ReactElement {\n const theme = useTheme();\n const progress = useSharedValue(0);\n\n const { animation } = theme.kitt.pageLoader;\n\n useEffect(() => {\n const { delay } = animation;\n\n progress.value = withDelay(\n delay,\n withRepeat(withTiming(1, { duration, easing: Easing.linear }), isInfinitAnimation),\n );\n }, [progress, animation, duration]);\n\n const rotationStyles = useAnimatedStyle(() => {\n return {\n transform: [\n {\n rotate: `${360 * progress.value}deg`,\n },\n ],\n };\n });\n\n return <Animated.View style={[StyleSheet.absoluteFill, rotationStyles]}>{children}</Animated.View>;\n}\n","import type { ReactElement } from 'react';\nimport { useEffect } from 'react';\nimport { Easing, useSharedValue, withDelay, withRepeat, withTiming } from 'react-native-reanimated';\nimport Svg from 'react-native-svg';\nimport { useTheme } from 'styled-components/native';\nimport { AnimatedFillCircleContainer } from './AnimatedFillCircleContainer';\nimport { AnimatedLoaderCircle } from './AnimatedLoaderCircle';\n\nconst isInfinitAnimation = -1;\nconst shouldReverse = true;\n\nexport function AnimatedFilledCircle(): ReactElement {\n const theme = useTheme();\n const progress = useSharedValue(0);\n\n const { size, animation, colors } = theme.kitt.pageLoader;\n\n useEffect(() => {\n const { delay, filledCircleFillDuration, fillEasingFunction } = animation;\n const [x1, y1, x2, y2] = fillEasingFunction;\n\n progress.value = withDelay(\n delay,\n withRepeat(\n withTiming(0.8, { duration: filledCircleFillDuration, easing: Easing.bezier(x1, y1, x2, y2) }),\n isInfinitAnimation,\n shouldReverse,\n ),\n );\n }, [progress, animation]);\n\n return (\n <AnimatedFillCircleContainer duration={animation.groupFilledCircleRotationDuration}>\n <AnimatedFillCircleContainer duration={animation.filledCircleRotationDuration}>\n <Svg width={size} height={size} viewBox={`0 0 ${size} ${size}`}>\n <AnimatedLoaderCircle color={colors.fill} progress={progress} />\n </Svg>\n </AnimatedFillCircleContainer>\n </AnimatedFillCircleContainer>\n );\n}\n","import type { ReactElement, ReactNode } from 'react';\nimport styled from 'styled-components/native';\nimport { AnimatedBackgroundCircle } from './AnimatedBackgroundCircle';\nimport { AnimatedFilledCircle } from './AnimatedFillCircle';\n\ninterface PageLoaderContainerProps {\n children: NonNullable<ReactNode>;\n}\n\nconst PageLoaderContainer = styled.View<PageLoaderContainerProps>`\n /* Needed to make the animation starting from the top of the circles */\n transform: scale(-1) rotate(90deg);\n position: relative;\n width: ${({ theme }) => theme.kitt.pageLoader.size}px;\n height: ${({ theme }) => theme.kitt.pageLoader.size}px;\n`;\n\nexport type PageLoaderProps = Record<string, never>;\n\nexport function PageLoader(props: PageLoaderProps): ReactElement {\n return (\n <PageLoaderContainer>\n <AnimatedBackgroundCircle />\n <AnimatedFilledCircle />\n </PageLoaderContainer>\n );\n}\n","import type { PickerItemProps as NativePickerItemProps } from '@react-native-picker/picker';\nimport type { ReactElement } from 'react';\nimport styled from 'styled-components/native';\nimport { Typography } from '../typography/Typography';\n\nexport interface PickerItemProps<T> extends Pick<NativePickerItemProps<T>, 'label'> {\n isSelected?: boolean;\n value: T;\n onPress?: (value: T) => void;\n}\n\nconst ContainerPressable = styled.Pressable<{ $isSelected?: boolean }>`\n padding: ${({ theme }) => theme.kitt.picker.android.padding};\n background-color: ${({ theme, $isSelected }) =>\n $isSelected\n ? theme.kitt.picker.android.selected.backgroundColor\n : theme.kitt.picker.android.default.backgroundColor};\n`;\n\n// This item is for Android only, iOS uses its own implementation and web is not supported yet\nexport function PickerItem<T>({ label, value, isSelected, onPress }: PickerItemProps<T>): ReactElement {\n return (\n <ContainerPressable\n accessibilityRole=\"button\"\n accessibilityState={{\n selected: isSelected,\n }}\n $isSelected={isSelected}\n onPress={onPress ? () => onPress(value) : undefined}\n >\n <Typography.Text base=\"body\" color={isSelected ? 'white' : undefined}>\n {label}\n </Typography.Text>\n </ContainerPressable>\n );\n}\n","import type { PickerItemProps as NativePickerItemProps } from '@react-native-picker/picker';\nimport { Picker as NativePicker } from '@react-native-picker/picker';\nimport type { ReactElement, ReactNode } from 'react';\nimport React, { cloneElement, useState } from 'react';\nimport { FormattedMessage } from 'react-intl';\nimport { Platform, ScrollView } from 'react-native';\nimport { Button } from '../Button/Button';\nimport { Modal } from '../Modal/Modal';\nimport { theme } from '../themes/default';\nimport { Typography } from '../typography/Typography';\nimport type { PickerItemProps } from './PickerItem';\nimport { PickerItem } from './PickerItem';\n\nexport interface PickerProps<T> {\n children: ReactNode;\n isVisible: boolean;\n title: ReactNode;\n initialValue: T;\n validateButtonLabel?: ReactNode;\n testID?: string;\n onValueSelected: (value: T) => void;\n onClose: () => void;\n}\n\nexport function Picker<T>({\n children,\n isVisible,\n title,\n initialValue,\n validateButtonLabel,\n testID,\n onValueSelected,\n onClose,\n}: PickerProps<T>): ReactElement {\n const [value, setValue] = useState<T>(initialValue);\n\n const handleValueSelected = (): void => {\n onValueSelected(value);\n\n onClose();\n };\n\n return (\n <Modal visible={isVisible} onClose={onClose}>\n <Modal.Header>\n <Typography.Text base=\"body\" variant=\"bold\">\n {title}\n </Typography.Text>\n </Modal.Header>\n\n {Platform.OS === 'ios' ? (\n <NativePicker<T>\n testID={testID}\n selectedValue={value}\n itemStyle={theme.picker.ios.default}\n onValueChange={(itemValue) => setValue(itemValue)}\n >\n {React.Children.map(children, (child) => {\n const item = child as ReactElement<NativePickerItemProps<T>>;\n\n // iOS Picker doesn't support a custom Item component, we need to override its props manually for the selected one\n return cloneElement(item, {\n color: item.props.value === value ? theme.picker.ios.selected.color : undefined,\n });\n })}\n </NativePicker>\n ) : (\n <ScrollView testID={testID}>\n {React.Children.map(children, (child) => {\n const item = child as ReactElement<PickerItemProps<T>>;\n\n return cloneElement(item, {\n onPress: (newValue: T) => setValue(newValue),\n isSelected: item.props.value === value,\n });\n })}\n </ScrollView>\n )}\n\n <Modal.Footer>\n <Button stretch type=\"primary\" onPress={handleValueSelected}>\n {validateButtonLabel || <FormattedMessage defaultMessage=\"Valider\" id=\"kitt-universal.Picker.validate\" />}\n </Button>\n </Modal.Footer>\n </Modal>\n );\n}\n\nPicker.Item = PickerItem;\n","import { LinearGradient } from 'expo-linear-gradient';\nimport type { ReactElement } from 'react';\nimport { useEffect } from 'react';\nimport { StyleSheet } from 'react-native';\nimport Animated, {\n Easing,\n interpolate,\n useAnimatedStyle,\n useSharedValue,\n withRepeat,\n withTiming,\n} from 'react-native-reanimated';\nimport styled, { useTheme } from 'styled-components/native';\n\ninterface SkeletonProps {\n isLoading?: boolean;\n width: number;\n}\n\nconst Container = styled.View`\n background-color: ${({ theme }) => theme.kitt.skeleton.backgroundColor};\n border-color: ${({ theme }) => theme.kitt.skeleton.flareColor};\n height: 100%;\n width: 100%;\n`;\nconst AnimatedLinearGradient = Animated.createAnimatedComponent(LinearGradient);\n\nexport function SkeletonContent({ isLoading, width }: SkeletonProps): ReactElement {\n const theme = useTheme();\n const sharedX = useSharedValue(0);\n\n useEffect(() => {\n if (isLoading) {\n sharedX.value = withRepeat(\n withTiming(1, { duration: theme.kitt.skeleton.animationDuration, easing: Easing.inOut(Easing.ease) }),\n -1,\n );\n }\n }, [sharedX, width, isLoading, theme]);\n\n const linearGradientStyle = useAnimatedStyle(() => {\n return {\n transform: [{ translateX: interpolate(sharedX.value, [0, 1], [-width, width]) }],\n };\n });\n\n return (\n <Container>\n <AnimatedLinearGradient\n colors={[\n theme.kitt.skeleton.backgroundColor,\n theme.kitt.skeleton.flareColor,\n theme.kitt.skeleton.backgroundColor,\n ]}\n locations={[0.1, 0.5, 0.9]}\n start={{ x: 0, y: 0 }}\n end={{ x: 1, y: 0 }}\n style={[StyleSheet.absoluteFill, linearGradientStyle]}\n />\n </Container>\n );\n}\n","import type { ReactElement } from 'react';\nimport { useState } from 'react';\nimport type { StyleProp, ViewStyle } from 'react-native';\nimport type { ViewProps } from '../native-base/primitives';\nimport { View } from '../native-base/primitives';\nimport { SkeletonContent } from './SkeletonContent';\n\nexport interface SkeletonProps extends Omit<ViewProps, 'onLayout'> {\n isLoading?: boolean;\n style?: StyleProp<ViewStyle>;\n}\n\nexport function Skeleton({ isLoading = false, style, ...props }: SkeletonProps): ReactElement {\n const [width, setWidth] = useState(0);\n\n return (\n <View {...props} overflow=\"hidden\" style={style} onLayout={({ nativeEvent }) => setWidth(nativeEvent.layout.width)}>\n <SkeletonContent isLoading={isLoading} width={width} />\n </View>\n );\n}\n\nexport interface BarSkeletonProps extends Omit<SkeletonProps, 'width' | 'height' | 'borderRadius'> {\n size?: number;\n}\n\nfunction Bar({ size, ...props }: BarSkeletonProps): ReactElement {\n const currentBorderRadius = size ? size * 0.5 : 'kitt.skeleton.shape.bar.borderRadius';\n\n return (\n <Skeleton\n {...props}\n width=\"100%\"\n height={size || 'kitt.skeleton.shape.bar.size'}\n borderRadius={currentBorderRadius}\n />\n );\n}\n\nexport interface CircleSkeletonProps extends Omit<SkeletonProps, 'width' | 'height' | 'borderRadius'> {\n size?: number;\n}\n\nfunction Circle({ size, ...props }: CircleSkeletonProps): ReactElement {\n const currentSize = size || 'kitt.skeleton.shape.circle.size';\n const currentBorderRadius = size ? size * 0.5 : 'kitt.skeleton.shape.circle.borderRadius';\n\n return <Skeleton {...props} width={currentSize} height={currentSize} borderRadius={currentBorderRadius} />;\n}\n\nexport interface SquareSkeletonProps extends Omit<SkeletonProps, 'width' | 'height' | 'borderRadius'> {\n size?: number;\n}\n\nfunction Square({ size, ...props }: SquareSkeletonProps): ReactElement {\n const currentSize = size || 'kitt.skeleton.shape.square.size';\n const currentBorderRadius = size ? size * 0.5 : 'kitt.skeleton.shape.square.borderRadius';\n\n return <Skeleton {...props} width={currentSize} height={currentSize} borderRadius={currentBorderRadius} />;\n}\n\nSkeleton.Bar = Bar;\nSkeleton.Circle = Circle;\nSkeleton.Square = Square;\n","export interface MapCenter {\n long: number;\n lat: number;\n zoom: number;\n}\n\nexport interface GetStaticMapImageUrlParams {\n mapId: string;\n apiToken: string;\n mapWidth: number;\n mapHeight: number;\n center: MapCenter;\n is2x?: boolean;\n}\n\nexport function getStaticMapImageUrl({\n mapId,\n apiToken,\n mapWidth,\n mapHeight,\n center,\n is2x,\n}: GetStaticMapImageUrlParams): string {\n const width = Math.round(mapWidth);\n const height = Math.round(mapHeight);\n\n const centerPart = `${center.long},${center.lat},${center.zoom}/`;\n\n const sizePart = `${width}x${height}`;\n\n const urlParts = [\n `https://api.mapbox.com/styles/v1/ornikar/${mapId}/static/`,\n centerPart,\n sizePart,\n is2x ? '@2x' : '',\n ];\n\n const mapImageUrl = new URL(urlParts.join(''));\n mapImageUrl.searchParams.append('access_token', apiToken);\n\n return mapImageUrl.toString();\n}\n","import { useEffect, useRef, useState } from 'react';\nimport { useKittMapConfig } from '../../KittMapConfigProvider/hooks/useKittMapConfig';\nimport type { GetStaticMapImageUrlParams } from '../utils/getStaticMapImageUrl';\nimport { getStaticMapImageUrl } from '../utils/getStaticMapImageUrl';\n\ninterface UseGetStaticMapImageUrlParams extends Omit<GetStaticMapImageUrlParams, 'mapId' | 'apiToken'> {\n forceMapId?: string;\n forceApiToken?: string;\n}\n\nexport function useGetStaticMapImageUrl({\n forceMapId,\n forceApiToken,\n mapWidth,\n mapHeight,\n center,\n is2x,\n}: UseGetStaticMapImageUrlParams): string {\n const { mapId, apiToken } = useKittMapConfig();\n const [currentUrl, setCurrentUrl] = useState<string>('');\n\n const currentMapIdRef = useRef(forceMapId || mapId);\n const currentApiTokenRef = useRef(forceApiToken || apiToken);\n\n useEffect(() => {\n const newUrl = getStaticMapImageUrl({\n center,\n is2x,\n mapHeight,\n mapWidth,\n mapId: currentMapIdRef.current,\n apiToken: currentApiTokenRef.current,\n });\n\n setCurrentUrl(newUrl);\n }, [mapHeight, mapWidth, center, is2x]);\n\n return currentUrl;\n}\n","import { RotateCCWIcon } from '@ornikar/kitt-icons';\nimport type { ReactElement } from 'react';\nimport { IconButton } from '../IconButton/IconButton';\nimport { View } from '../native-base/primitives';\n\ninterface StaticMapErrorProps {\n onReload?: () => void;\n}\n\nexport function StaticMapError({ onReload }: StaticMapErrorProps): ReactElement {\n return (\n <View alignItems=\"center\" justifyContent=\"center\" height=\"100%\" backgroundColor=\"kitt.separator\">\n <IconButton icon={<RotateCCWIcon />} onPress={onReload} />\n </View>\n );\n}\n","import type { ReactElement } from 'react';\nimport { Image } from '../native-base/primitives';\n\ninterface StaticMapImageProps {\n url: string;\n alt?: string;\n width: number;\n height: number;\n onLoadEnd?: () => void;\n onError?: () => void;\n}\n\nexport function StaticMapImage({ url, alt, width, height, onLoadEnd, onError }: StaticMapImageProps): ReactElement {\n return (\n <Image source={{ uri: url }} width={width} height={height} alt={alt} onError={onError} onLoadEnd={onLoadEnd} />\n );\n}\n","import type { ReactElement } from 'react';\nimport { Skeleton } from '../Skeleton/Skeleton';\nimport { View } from '../native-base/primitives';\n\nexport function StaticMapLoader(): ReactElement {\n return (\n <View alignItems=\"center\" justifyContent=\"center\" height=\"100%\">\n <Skeleton isLoading width=\"100%\" height=\"100%\" />\n </View>\n );\n}\n","import type { ReactElement } from 'react';\nimport { MapMarkerLarge, MapMarkerPosition, MapMarkerSimple } from '../MapMarker/MapMarker';\nimport { View } from '../native-base/primitives';\n\ntype MarkerVariant = 'large' | 'position' | 'simple';\n\ninterface MarkerProps {\n variant?: MarkerVariant;\n}\n\nfunction getMarkerPosition(variant: MarkerVariant): [{ translateX: number }, { translateY: number }] {\n if (variant === 'position') return [{ translateX: -2 }, { translateY: 8 }];\n\n if (variant === 'large') return [{ translateX: 8 }, { translateY: -20 }];\n\n return [{ translateX: 6 }, { translateY: -15 }];\n}\n\nexport function StaticMapMarker({ variant = 'simple' }: MarkerProps): ReactElement {\n return (\n <View position=\"absolute\" top=\"0\" left=\"0\" width=\"100%\" height=\"100%\">\n <View\n justifyContent=\"center\"\n alignItems=\"center\"\n height=\"100%\"\n style={{\n transform: getMarkerPosition(variant),\n }}\n >\n {variant === 'position' ? <MapMarkerPosition /> : null}\n {variant === 'large' ? <MapMarkerLarge /> : null}\n {variant === 'simple' ? <MapMarkerSimple /> : null}\n </View>\n </View>\n );\n}\n","export function getRangedWidthValue(nextWidth: number, maxValue: number): number {\n const rangedMapWidth = Math.max(1, Math.min(nextWidth, maxValue));\n\n return rangedMapWidth;\n}\n","import { PixelRatio } from 'react-native';\n\nexport function getShouldDisplay2x(): boolean {\n const currentDevicePixelRatio = PixelRatio.get();\n\n return currentDevicePixelRatio > 1;\n}\n","import type { ReactElement, ReactNode } from 'react';\nimport { useState } from 'react';\nimport type { LayoutChangeEvent } from 'react-native';\nimport type { ViewProps } from '../native-base/primitives';\nimport { View } from '../native-base/primitives';\nimport { StaticMapError } from './StaticMapError';\nimport { StaticMapImage } from './StaticMapImage';\nimport { StaticMapLoader } from './StaticMapLoader';\nimport { StaticMapMarker } from './StaticMapMarker';\nimport { useGetStaticMapImageUrl } from './hooks/useGetStaticMapImageUrl';\nimport { getRangedWidthValue } from './utils/getRangedWidthValue';\nimport { getShouldDisplay2x } from './utils/getShouldDisplay2x';\nimport type { MapCenter } from './utils/getStaticMapImageUrl';\n\nconst mapBoxMaxPictureWidth = 1280;\n\n// Mapbox requestable width for image is between 1 - 1280px\nfunction getPictureWidth(nextWidth: number): number {\n return getRangedWidthValue(nextWidth, mapBoxMaxPictureWidth);\n}\n\nexport interface StaticMapProps extends Omit<ViewProps, 'onLayout'> {\n width?: number;\n height: number;\n alt?: string;\n center: MapCenter;\n marker?: ReactNode;\n /**\n * Mapbox map id.\n * Only use this props if you want to use something different that the config in <KittMapConfigProvider />\n */\n mapId?: string;\n /**\n * Mapbox api access token.\n * Only use this props if you want to use something different that the config in <KittMapConfigProvider />\n */\n apiToken?: string;\n\n onLoaded?: () => void;\n onError?: () => void;\n}\n\nexport function StaticMap({\n width = 0,\n height,\n alt,\n apiToken,\n mapId,\n marker,\n center,\n onLoaded,\n onError,\n ...props\n}: StaticMapProps): ReactElement {\n const [currentWidth, setCurrentWidth] = useState(getPictureWidth(width));\n const [isLoading, setIsLoading] = useState(true);\n const [hasError, setHasError] = useState(false);\n const [currentMapKey, setCurrentMapKey] = useState(0);\n\n const shouldDisplay2xImage = getShouldDisplay2x();\n\n const mapUrl = useGetStaticMapImageUrl({\n forceApiToken: apiToken,\n forceMapId: mapId,\n mapWidth: currentWidth,\n mapHeight: height,\n center,\n is2x: shouldDisplay2xImage,\n });\n\n const handleParentLayout = (event: LayoutChangeEvent): void => {\n const { nativeEvent } = event;\n const rangedMapWidth = getPictureWidth(nativeEvent.layout.width);\n\n setCurrentWidth(rangedMapWidth);\n };\n\n const handleImageLoadEnd = (): void => {\n setIsLoading(false);\n\n if (onLoaded) onLoaded();\n };\n\n const handleError = (): void => {\n setHasError(true);\n\n if (onError) onError();\n };\n\n const handleReload = (): void => {\n setHasError(false);\n setIsLoading(true);\n setCurrentMapKey((prev) => prev + 1);\n };\n\n const shouldDisplayMarker = marker && !isLoading && !hasError;\n\n // Prevents requesting unusable image\n const shouldDisplayPicture = currentWidth > 1 && mapUrl;\n\n return (\n <View\n position=\"relative\"\n maxWidth={mapBoxMaxPictureWidth}\n height={height}\n onLayout={handleParentLayout}\n {...props}\n data-chromatic={process.env.KITT_MAP_CHROMATIC_IGNORE === 'true' ? 'ignore' : undefined}\n >\n {shouldDisplayPicture ? (\n <StaticMapImage\n key={`map-key-${currentMapKey}`}\n url={mapUrl}\n width={currentWidth}\n height={height}\n alt={alt}\n onLoadEnd={handleImageLoadEnd}\n onError={handleError}\n />\n ) : null}\n\n {shouldDisplayMarker ? (\n <View position=\"absolute\" top=\"0\" left=\"0\" width=\"100%\" height=\"100%\">\n {marker}\n </View>\n ) : null}\n\n {isLoading ? (\n <View position=\"absolute\" top=\"0\" left=\"0\" width=\"100%\" height=\"100%\">\n <StaticMapLoader />\n </View>\n ) : null}\n\n {hasError ? (\n <View position=\"absolute\" top=\"0\" left=\"0\" width=\"100%\" height=\"100%\">\n <StaticMapError onReload={handleReload} />\n </View>\n ) : null}\n </View>\n );\n}\n\nStaticMap.Image = StaticMapImage;\nStaticMap.Loader = StaticMapLoader;\nStaticMap.Error = StaticMapError;\nStaticMap.Marker = StaticMapMarker;\n","import type { ViewStyle } from 'react-native';\nimport styled from 'styled-components/native';\n\ninterface FlexProps {\n direction: ViewStyle['flexDirection'];\n padding?: number;\n}\n\nexport const Flex = styled.View.withConfig<FlexProps>({\n shouldForwardProp: (prop, defaultValidatorFn) => !['direction', 'padding'].includes(prop) && defaultValidatorFn(prop),\n})`\n display: flex;\n flex-direction: ${({ direction }) => direction};\n flex-wrap: wrap;\n padding: ${({ theme, padding = 0 }) => padding * theme.kitt.spacing}px;\n`;\n","export const storyPadding = 16;\n","import type { ReactElement, ReactNode } from 'react';\nimport { createContext, useContext } from 'react';\nimport type { DefaultTheme } from 'styled-components/native';\nimport styled from 'styled-components/native';\nimport type { TypographyColor } from '../typography/Typography';\nimport { storyPadding } from './theme';\n\nexport interface StoryBlockProps {\n background?: 'dark' | 'light' | 'primary' | 'transparent';\n children: ReactNode;\n}\n\nconst getBackgroundColorFromBlockColor = (\n theme: DefaultTheme,\n color: StoryBlockProps['background'] = 'transparent',\n): string => {\n switch (color) {\n case 'dark':\n return '#293033';\n case 'light':\n return '#ffffff';\n case 'primary':\n return theme.kitt.palettes.lateOcean.lateOcean;\n default:\n return 'transparent';\n }\n};\n\nconst getTypographyColorFromBlockColor = (color: StoryBlockProps['background'] = 'transparent'): TypographyColor => {\n switch (color) {\n case 'dark':\n case 'primary':\n return 'white';\n case 'light':\n default:\n return 'black';\n }\n};\n\nexport const StoryBlockBackgroundContext = createContext<StoryBlockProps['background']>('transparent');\nconst StoryBlockColorContext = createContext<TypographyColor>('black');\n\nexport const useStoryBlockColor = (color?: TypographyColor | undefined): TypographyColor => {\n const storyBlockColor = useContext(StoryBlockColorContext);\n return color || storyBlockColor;\n};\n\nconst StyledStoryBlockView = styled.View<StoryBlockProps>`\n padding: 16px ${storyPadding}px 0;\n margin: 0 -${storyPadding}px;\n background: ${({ theme, background }) => getBackgroundColorFromBlockColor(theme, background)};\n`;\n\nexport function StoryBlock({ children, background }: StoryBlockProps): ReactElement {\n return (\n <StyledStoryBlockView background={background}>\n <StoryBlockColorContext.Provider value={getTypographyColorFromBlockColor(background)}>\n <StoryBlockBackgroundContext.Provider value={background}>{children}</StoryBlockBackgroundContext.Provider>\n </StoryBlockColorContext.Provider>\n </StyledStoryBlockView>\n );\n}\n","import type { ReactElement, ReactNode } from 'react';\nimport styled from 'styled-components/native';\nimport type { TypographyProps } from '../typography/Typography';\nimport { Typography } from '../typography/Typography';\nimport { useStoryBlockColor } from './StoryBlock';\n\ninterface StoryTitleProps {\n color?: TypographyProps['color'];\n numberOfLines?: TypographyProps['numberOfLines'];\n children: ReactNode;\n}\n\nconst StoryTitleContainer = styled.View`\n margin-bottom: 30px;\n`;\n\nconst StorySubTitleContainer = styled.View`\n margin-bottom: 10px;\n`;\n\nexport function StoryTitle({ color, children, numberOfLines }: StoryTitleProps): ReactElement {\n return (\n <StoryTitleContainer>\n <Typography.Header1 variant=\"bold\" base=\"header1\" color={useStoryBlockColor(color)} numberOfLines={numberOfLines}>\n {children}\n </Typography.Header1>\n </StoryTitleContainer>\n );\n}\n\nfunction StoryTitleLevel2({ color, children, numberOfLines }: StoryTitleProps): ReactElement {\n return (\n <StoryTitleContainer>\n <Typography.Header2 variant=\"bold\" base=\"header2\" color={useStoryBlockColor(color)} numberOfLines={numberOfLines}>\n {children}\n </Typography.Header2>\n </StoryTitleContainer>\n );\n}\n\nStoryTitleLevel2.displayName = 'StoryTitle.Level2';\n\nfunction StoryTitleLevel3({ color, children, numberOfLines }: StoryTitleProps): ReactElement {\n return (\n <StorySubTitleContainer>\n <Typography.Header3\n variant=\"bold\"\n base=\"header3\"\n medium=\"header4\"\n color={useStoryBlockColor(color)}\n numberOfLines={numberOfLines}\n >\n {children}\n </Typography.Header3>\n </StorySubTitleContainer>\n );\n}\n\nStoryTitleLevel3.displayName = 'StoryTitle.Level3';\n\nfunction StoryTitleLevel4({ color, children, numberOfLines }: StoryTitleProps): ReactElement {\n return (\n <StorySubTitleContainer>\n <Typography.Header4\n variant=\"bold\"\n base=\"header4\"\n medium=\"header5\"\n color={useStoryBlockColor(color)}\n numberOfLines={numberOfLines}\n >\n {children}\n </Typography.Header4>\n </StorySubTitleContainer>\n );\n}\n\nStoryTitleLevel4.displayName = 'StoryTitle.Level3';\n\nStoryTitle.Level2 = StoryTitleLevel2;\nStoryTitle.Level3 = StoryTitleLevel3;\nStoryTitle.Level4 = StoryTitleLevel4;\n","import type { ReactElement, ReactNode } from 'react';\nimport type { ScrollViewProps } from 'react-native';\nimport styled from 'styled-components/native';\nimport { StoryTitle } from './StoryTitle';\nimport { storyPadding } from './theme';\n\nexport interface StoryProps {\n title: ReactNode;\n children: ReactNode;\n contentContainerStyle?: ScrollViewProps['contentContainerStyle'];\n}\n\nconst StoryContainer = styled.ScrollView`\n padding: ${storyPadding}px;\n`;\n\nexport function Story({ title, contentContainerStyle, children }: StoryProps): ReactElement {\n return (\n <StoryContainer contentContainerStyle={contentContainerStyle}>\n <StoryTitle>{title}</StoryTitle>\n {children}\n </StoryContainer>\n );\n}\n","import type { ReactElement, ReactNode } from 'react';\nimport type { ViewProps } from 'react-native';\nimport styled from 'styled-components/native';\nimport { StoryTitle } from './StoryTitle';\n\ninterface StyledSectionProps extends ViewProps {}\n\nconst StyledSection = styled.View<StyledSectionProps>`\n margin-bottom: 32px;\n`;\n\nexport interface StorySectionProps extends ViewProps {\n title: ReactNode;\n children: ReactNode;\n /** @private */\n internalIsDemoSection?: boolean;\n}\n\nexport function StorySection({ title, children, internalIsDemoSection, ...props }: StorySectionProps): ReactElement {\n if (title === 'Demo' && !internalIsDemoSection) throw new Error('Use StorySection.Demo instead');\n return (\n <StyledSection {...props}>\n <StoryTitle.Level2>{title}</StoryTitle.Level2>\n {children}\n </StyledSection>\n );\n}\n\nconst StyledSubSection = styled.View`\n margin-bottom: 16px;\n`;\n\nfunction SubSection({ title, children, ...props }: StorySectionProps): ReactElement {\n return (\n <StyledSubSection {...props}>\n <StoryTitle.Level3>{title}</StoryTitle.Level3>\n {children}\n </StyledSubSection>\n );\n}\n\nconst StyledBlockSection = styled.View`\n margin-bottom: 16px;\n`;\n\nfunction BlockSection({ title, children, ...props }: StorySectionProps): ReactElement {\n return (\n <StyledBlockSection {...props}>\n <StoryTitle.Level4>{title}</StoryTitle.Level4>\n {children}\n </StyledBlockSection>\n );\n}\n\nexport interface DemoSectionProps {\n children: ReactNode;\n}\n\nconst StyledDemoSection = styled.View`\n margin-bottom: 64px;\n`;\n\nfunction DemoSection({ children }: DemoSectionProps): ReactElement {\n return (\n <StyledDemoSection>\n <StorySection internalIsDemoSection title=\"Demo\">\n {children}\n </StorySection>\n </StyledDemoSection>\n );\n}\n\nStorySection.SubSection = SubSection;\nStorySection.BlockSection = BlockSection;\n/** @deprecated use StorySection.Demo instead */\nStorySection.DemoSection = DemoSection;\nStorySection.Demo = DemoSection;\n\n/** @deprecated use StorySection instead */\nexport const DeprecatedSection = StorySection;\n","import type { ReactElement, ReactNode } from 'react';\nimport { StorySection } from './StorySection';\n\nexport interface StoryContainerProps {\n children: NonNullable<ReactNode>;\n state?: 'none' | 'active' | 'hover' | 'focus';\n platform?: 'all' | 'native' | 'web';\n title?: ReactNode;\n}\n\nexport function StoryContainer({\n children,\n title,\n state = 'none',\n platform = 'all',\n}: StoryContainerProps): ReactElement | null {\n if (platform === 'web') return null;\n\n return (\n <StorySection.BlockSection testID={state} title={title}>\n {children}\n </StorySection.BlockSection>\n );\n}\n","import type { StoryContext } from '@storybook/addons';\nimport type { ReactElement, ReactNode } from 'react';\nimport { Story as StoryContainer } from './Story';\n\nexport function StoryDecorator(storyFn: () => ReactNode, context: StoryContext): ReactElement {\n return <StoryContainer title={context.name}>{storyFn()}</StoryContainer>;\n}\n","import type { ReactElement, ReactNode } from 'react';\nimport { Children } from 'react';\nimport { Platform, useWindowDimensions } from 'react-native';\nimport styled from 'styled-components/native';\nimport type { TypographyProps } from '..';\nimport { StoryTitle } from './StoryTitle';\n\nconst SmallScreenRow = styled.View`\n flex-direction: column;\n margin: 0;\n`;\n\nconst SmallScreenCol = styled.View`\n padding: 8px 0 16px;\n`;\n\nconst FlexRow = styled.View`\n flex-direction: row;\n margin: 0 -4px 16px;\n`;\n\nconst FlexCol = styled.View`\n flex-grow: 1;\n flex-basis: 0;\n margin: 0 8px;\n`;\n\nexport interface StoryGridRowProps {\n children: NonNullable<ReactNode>;\n breakpoint?: 'small' | 'medium';\n}\n\nfunction StoryGridRow({ children, breakpoint = 'small' }: StoryGridRowProps): ReactElement {\n // eslint-disable-next-line unicorn/expiring-todo-comments\n // TODO use useBreakpoint instead\n const { width } = useWindowDimensions();\n const breakpointValue = breakpoint === 'small' ? 480 : 768;\n\n if (width < breakpointValue) {\n return (\n <SmallScreenRow>\n {Children.map(children, (child) => (\n <SmallScreenCol>{child}</SmallScreenCol>\n ))}\n </SmallScreenRow>\n );\n }\n\n return (\n <FlexRow>\n {Children.map(children, (child) => (\n <FlexCol>{child}</FlexCol>\n ))}\n </FlexRow>\n );\n}\n\nexport interface StoryGridColProps {\n children: NonNullable<ReactNode>;\n title?: string;\n titleColor?: TypographyProps['color'];\n platform?: 'all' | 'native' | 'web';\n}\n\nfunction StoryGridCol({ title, titleColor, children, platform = 'all' }: StoryGridColProps): ReactElement | null {\n const isNative = Platform.OS === 'ios' || Platform.OS === 'android';\n\n if (Platform.OS === 'web' && platform === 'native') {\n return null;\n }\n\n if (isNative && platform === 'web') {\n return null;\n }\n\n return (\n <>\n {title ? (\n <StoryTitle.Level4 numberOfLines={1} color={titleColor}>\n {title}\n </StoryTitle.Level4>\n ) : null}\n {children}\n </>\n );\n}\n\nexport const StoryGrid = {\n Row: StoryGridRow,\n Col: StoryGridCol,\n};\n","import type { ReactElement, ReactNode } from 'react';\nimport styled from 'styled-components/native';\nimport type { TypographyColor } from '../typography/Typography';\nimport { Typography } from '../typography/Typography';\n\nexport type TagType = 'primary' | 'default' | 'danger' | 'warn';\n\nexport type TagVariant = 'outline' | 'fill';\n\nexport interface TagProps {\n label: ReactNode;\n type?: TagType;\n variant?: TagVariant;\n}\n\ninterface ContainerProps {\n type: TagType;\n variant: TagVariant;\n}\n\nconst Container = styled.View<ContainerProps>`\n background-color: ${({ theme, type, variant }) => theme.kitt.tag[type][variant].backgroundColor};\n border-width: ${({ theme, type, variant }) => theme.kitt.tag[type][variant].borderWidth}px;\n border-color: ${({ theme, type, variant }) => theme.kitt.tag[type][variant].borderColor};\n padding: ${({ theme }) => theme.kitt.tag.padding};\n border-radius: ${({ theme }) => theme.kitt.tag.borderRadius}px;\n align-self: flex-start;\n`;\n\nexport const getLabelColor = (type: TagType, variant: TagVariant): TypographyColor => {\n switch (type) {\n case 'danger': {\n return variant === 'outline' ? 'danger' : 'black';\n }\n case 'warn': {\n return variant === 'outline' ? 'warning' : 'black';\n }\n case 'primary': {\n return 'primary';\n }\n case 'default': {\n return 'black';\n }\n default: {\n return 'black';\n }\n }\n};\n\nexport function Tag({ label, type = 'default', variant = 'fill' }: TagProps): ReactElement {\n return (\n <Container type={type} variant={variant}>\n <Typography.Text base=\"body-xsmall\" color={getLabelColor(type, variant)}>\n {label}\n </Typography.Text>\n </Container>\n );\n}\n","import { Platform } from 'react-native';\nimport { css } from 'styled-components/native';\nimport { getTypographyTypeConfigKey } from '../typography/Typography';\nimport type { InputUIState } from './utils';\n\nexport interface TextInputMixinProps {\n $state: InputUIState;\n}\n\n/** @deprecated this mixin is not SSR compatible */\nexport const styledTextInputMixin = css<TextInputMixinProps>`\n background-color: ${({ theme, $state }) =>\n $state === 'disabled'\n ? theme.kitt.forms.input.states.disabled.backgroundColor\n : theme.kitt.forms.input.states.default.backgroundColor};\n\n border-width: ${({ theme }) => theme.kitt.forms.input.borderWidth}px;\n border-radius: ${({ theme }) => theme.kitt.forms.input.borderRadius}px;\n border-color: ${({ theme, $state }) => theme.kitt.forms.input.states[$state].borderColor};\n\n font-size: ${({ theme }) => {\n const typeConfigKey = getTypographyTypeConfigKey(theme);\n return `${theme.kitt.typography.types.bodies.configs.body[typeConfigKey].fontSize}px`;\n }};\n\n color: ${({ theme, $state }) =>\n theme.kitt.forms.input.states[$state].color || theme.kitt.forms.input.states.default.color};\n font-family: ${({ theme }) =>\n Platform.OS === 'web'\n ? theme.kitt.typography.types.bodies.fontFamily.web.regular\n : theme.kitt.typography.types.bodies.fontFamily.native.regular};\n`;\n","import type { DateTimePickerEvent } from '@react-native-community/datetimepicker';\nimport DateTimePicker from '@react-native-community/datetimepicker';\nimport type { ReactElement, ReactNode } from 'react';\nimport { useState } from 'react';\nimport { FormattedMessage } from 'react-intl';\nimport { Platform, Text } from 'react-native';\nimport { Button } from '../Button/Button';\nimport { Modal } from '../Modal/Modal';\nimport { Typography } from '../typography/Typography';\n\ninterface TitleProps {\n children: NonNullable<ReactNode>;\n}\n\nfunction Title({ children }: TitleProps): ReactElement {\n return (\n <Modal.Header>\n <Typography.Text base=\"body\" variant=\"bold\">\n {children}\n </Typography.Text>\n </Modal.Header>\n );\n}\n\ninterface ModalDateTimePickerProps {\n title?: ReactNode;\n visible?: boolean;\n value: Date;\n validateButtonLabel?: string;\n onClose: () => void;\n onChange: (newDate: Date) => void;\n}\n\nexport function ModalDateTimePicker({\n title,\n visible,\n value,\n validateButtonLabel,\n onChange,\n onClose,\n}: ModalDateTimePickerProps): ReactElement {\n const [currentValue, setCurrentValue] = useState(value);\n\n // Prevent unsynced value between the modal and its parent state\n const handleClose = (): void => {\n setCurrentValue(value);\n onClose();\n };\n\n const handleSubmit = (): void => {\n onChange(currentValue);\n };\n\n return (\n <Modal visible={Boolean(visible)} onClose={handleClose}>\n {visible ? (\n <>\n {title ? <Title>{title}</Title> : null}\n\n <Modal.Body>\n <DateTimePicker\n is24Hour\n testID=\"timePicker.ModalDateTimePicker.dateTimeNativePicker\"\n value={currentValue}\n mode=\"time\"\n display={Platform.OS === 'ios' ? 'spinner' : 'default'}\n onChange={(_event: DateTimePickerEvent, date?: Date) =>\n setCurrentValue((prev) => {\n return date || prev;\n })\n }\n />\n </Modal.Body>\n <Modal.Footer>\n <Button stretch type=\"primary\" onPress={handleSubmit}>\n {validateButtonLabel ? (\n <Text>{validateButtonLabel}</Text>\n ) : (\n <FormattedMessage id=\"kitt-universal.ModalDateTimePicker.confirm\" defaultMessage=\"Valider\" />\n )}\n </Button>\n </Modal.Footer>\n </>\n ) : null}\n </Modal>\n );\n}\n","import type { InputUIState } from '@ornikar/kitt-universal';\nimport { useMemo, useState } from 'react';\n\nexport const timePickerPlaceholder = '--:--';\n\nexport const formatNumberToTimeString = (time: number): string => `${String(time).padStart(2, '0')}`;\n\nexport const formatDateToTimeString = (date: Date): string =>\n `${formatNumberToTimeString(date.getHours())}:${formatNumberToTimeString(date.getMinutes())}`;\n\nexport const useTimePicker = (\n value: Date | null,\n onChange: (time?: Date | null) => void,\n onBlur: () => void,\n disabled: boolean,\n defaultValue?: Date | null,\n isDefaultVisible?: boolean,\n): {\n displayedValue: string;\n dateTimePickerValue: Date;\n timePickerState: InputUIState;\n isTimePickerModalVisible: boolean;\n handleInputPress: () => void;\n handleModalClose: () => void;\n handleTimeChange: (date?: Date) => void;\n} => {\n const [isTimePickerModalVisible, setIsTimePickerModalVisible] = useState<boolean>(Boolean(isDefaultVisible));\n\n const todayAtNoon = useMemo(() => {\n const now = new Date(2000, 0, 1, 12);\n return new Date(now.getFullYear(), now.getMonth(), now.getDay(), 12);\n }, []);\n\n const defaultDate = defaultValue || todayAtNoon;\n const handleInputPress = (): void => {\n if (disabled) {\n return;\n }\n setIsTimePickerModalVisible(true);\n };\n\n const handleTimeChange = (date?: Date | null): void => {\n setIsTimePickerModalVisible(false);\n\n onChange(date || defaultDate);\n onBlur();\n };\n\n const dateTimePickerValue = value || defaultDate;\n const displayedValue = value === null ? timePickerPlaceholder : formatDateToTimeString(dateTimePickerValue);\n const timePickerState = isTimePickerModalVisible ? 'focus' : 'default';\n\n return {\n dateTimePickerValue,\n displayedValue,\n timePickerState,\n isTimePickerModalVisible,\n handleInputPress,\n handleTimeChange,\n handleModalClose: () => setIsTimePickerModalVisible(false),\n };\n};\n","import type { TextInputMixinProps } from '@ornikar/kitt-universal';\nimport type { DateTimePickerEvent } from '@react-native-community/datetimepicker';\nimport DateTimePicker from '@react-native-community/datetimepicker';\nimport type { ReactElement, ReactNode } from 'react';\nimport { Platform } from 'react-native';\nimport styled from 'styled-components/native';\nimport { styledTextInputMixin } from '../forms/styledTextInputMixin';\nimport { Typography } from '../typography/Typography';\nimport { ModalDateTimePicker } from './ModalDateTimePicker';\nimport { timePickerPlaceholder, useTimePicker } from './useTimePicker';\n\ninterface ContainerProps extends TextInputMixinProps {}\n\nconst Container = styled.Pressable<ContainerProps>`\n ${styledTextInputMixin}\n width: 100px;\n height: 40px;\n justify-content: center;\n align-items: center;\n`;\n\nexport type TimePickerValue = Date | null | undefined;\n\nexport interface TimePickerProps {\n title?: ReactNode;\n state?: TextInputMixinProps['$state'];\n disabled?: boolean;\n forceDefaultValue?: TimePickerValue;\n value?: Date | '' | null;\n validateButtonLabel?: string;\n isDefaultVisible?: boolean;\n onChange: (time: TimePickerValue) => void;\n onBlur: () => void;\n}\n\nexport function TimePicker({\n title,\n state = 'default',\n disabled = false,\n forceDefaultValue,\n value,\n validateButtonLabel,\n isDefaultVisible,\n onChange,\n onBlur,\n}: TimePickerProps): ReactElement {\n const {\n dateTimePickerValue,\n displayedValue,\n timePickerState,\n handleInputPress,\n handleModalClose,\n handleTimeChange,\n isTimePickerModalVisible,\n } = useTimePicker(value || null, onChange, onBlur, disabled, forceDefaultValue, isDefaultVisible);\n\n return (\n <Container\n $state={timePickerState === 'default' ? state : timePickerState}\n accessibilityRole=\"button\"\n onPress={handleInputPress}\n >\n <Typography.Text base=\"body\" color={displayedValue === timePickerPlaceholder ? 'black-light' : 'black'}>\n {displayedValue}\n </Typography.Text>\n\n {Platform.OS === 'android' && isTimePickerModalVisible ? (\n <DateTimePicker\n is24Hour\n testID=\"timePicker.TimePicker.dateTimeNativePicker\"\n value={dateTimePickerValue}\n mode=\"time\"\n display=\"default\"\n onChange={(_event: DateTimePickerEvent, date?: Date) => handleTimeChange(date)}\n />\n ) : null}\n\n {Platform.OS !== 'android' ? (\n <ModalDateTimePicker\n title={title}\n visible={isTimePickerModalVisible}\n value={dateTimePickerValue}\n validateButtonLabel={validateButtonLabel}\n onChange={handleTimeChange}\n onClose={handleModalClose}\n />\n ) : null}\n </Container>\n );\n}\n","import { TooltipArrowIcon } from '@ornikar/kitt-icons';\nimport type { ReactElement } from 'react';\nimport { forwardRef } from 'react';\nimport { useTheme } from 'styled-components/native';\nimport type { ViewProps } from '../native-base/primitives';\nimport { View } from '../native-base/primitives';\nimport type { TooltipPosition } from './Tooltip';\n\nexport interface ArrowProps {\n position: TooltipPosition;\n top?: number;\n left?: number;\n display?: ViewProps['display'];\n}\n\nexport const Arrow = forwardRef<typeof View, ArrowProps>(\n ({ position, top, left, display }: ArrowProps, ref): ReactElement => {\n const theme = useTheme();\n\n const transformStyle = [\n {\n rotate: position === 'bottom' ? '180deg' : '0deg',\n },\n ];\n\n return (\n <View\n ref={ref}\n display={display || { base: 'none', small: 'flex' }}\n width=\"kitt.tooltip.arrow.width\"\n height=\"kitt.tooltip.arrow.height\"\n left={left}\n top={top}\n style={{\n transform: transformStyle,\n }}\n >\n <TooltipArrowIcon color={theme.kitt.tooltip.backgroundColor} opacity={theme.kitt.tooltip.opacity} />\n </View>\n );\n },\n);\n","import type { ReactElement, ReactNode } from 'react';\nimport { View } from '../native-base/primitives';\nimport { Typography } from '../typography/Typography';\n\ninterface TooltipContentProps {\n children: ReactNode;\n}\n\nexport function TooltipContent({ children }: TooltipContentProps): ReactElement {\n return (\n <View\n backgroundColor=\"kitt.tooltip.backgroundColor\"\n borderRadius=\"kitt.tooltip.borderRadius\"\n opacity=\"kitt.tooltip.opacity\"\n paddingY=\"kitt.tooltip.verticalPadding\"\n paddingX=\"kitt.tooltip.horizontalPadding\"\n >\n <Typography.Text base=\"body-small\" color=\"white-light\">\n {children}\n </Typography.Text>\n </View>\n );\n}\n","import { useEffect, useState } from 'react';\nimport { useWindowDimensions } from 'react-native';\n\ninterface CustomShiftParams {\n tooltipX: number;\n refPageX: number;\n refWidth: number;\n floatingWidth: number;\n wWidth: number;\n}\n// HG 08/11/2022\n// At the moment `shift` from `@floating-ui/react-native` does not work properly\nexport function customShift({ tooltipX, refPageX, refWidth, floatingWidth, wWidth }: CustomShiftParams): {\n left?: number;\n right?: number;\n} {\n const refCenterOnScreen = refPageX + refWidth * 0.5;\n const halfFloatingWith = floatingWidth * 0.5;\n\n // Left collisions\n if (refCenterOnScreen - halfFloatingWith < 0) {\n return {\n left: 0,\n right: undefined,\n };\n }\n\n // Right collisions\n if (refCenterOnScreen + halfFloatingWith > wWidth) {\n return {\n left: undefined,\n right: 0,\n };\n }\n\n // No collisions\n return {\n left: tooltipX,\n right: undefined,\n };\n}\n\ninterface UseCustomShiftParams {\n tooltipX: number;\n pressableRect?: {\n pageX: number;\n width: number;\n };\n floatingWidth?: number;\n}\n\nexport function useCustomShift({ tooltipX, pressableRect, floatingWidth }: UseCustomShiftParams): {\n left?: number;\n right?: number;\n} {\n const windowDimensions = useWindowDimensions();\n const [customShiftData, setCustomShiftData] = useState<{ left?: number; right?: number }>({\n left: undefined,\n right: undefined,\n });\n\n useEffect(() => {\n if (tooltipX === undefined || !pressableRect || floatingWidth === undefined) return;\n\n const res = customShift({\n tooltipX,\n refPageX: pressableRect.pageX,\n refWidth: pressableRect.width,\n wWidth: windowDimensions.width,\n floatingWidth,\n });\n\n setCustomShiftData(res);\n }, [floatingWidth, tooltipX, windowDimensions, pressableRect]);\n\n return customShiftData;\n}\n","import type { MiddlewareData, Placement } from '@floating-ui/react-native';\nimport { autoPlacement, offset, useFloating } from '@floating-ui/react-native';\nimport type { ReactElement, ReactNode, RefObject } from 'react';\nimport { useCallback, useEffect, useRef, useState } from 'react';\nimport Animated, { useAnimatedStyle, useSharedValue, withSpring } from 'react-native-reanimated';\nimport { useTheme } from 'styled-components/native';\nimport { Pressable, View } from '../native-base/primitives';\nimport { Arrow } from './Arrow';\nimport { TooltipContent } from './TooltipContent';\nimport { useCustomShift } from './hooks/useCustomShift';\n\nexport type TooltipPosition = 'bottom' | 'top';\nexport type WebFloatingPosition = 'fixed' | 'absolute';\n\nexport interface UpdateCallbackParams {\n x: number;\n y: number;\n placement: Placement;\n strategy: string;\n refs: {\n reference: RefObject<any>;\n floating: RefObject<any>;\n offsetParent?: RefObject<any>;\n };\n middlewareData: MiddlewareData;\n update: () => void;\n}\n\ntype OnUpdateCallback = (params: UpdateCallbackParams) => void;\n\nexport interface TooltipProps {\n children: NonNullable<ReactNode>;\n content: NonNullable<ReactNode>;\n floatingPadding?: number;\n position?: TooltipPosition;\n zIndex?: number;\n fullWidth?: boolean;\n /**\n * @description\n * This value init the internal visibile state of the tooltip. This is mainly used for testing purpose.\n */\n defaultVisible?: boolean;\n /**\n * @default absolute\n * @description\n * Specific position strategy to apply to the tooltip.\n * Might be usefull when dealing with edge case (see https://floating-ui.com/docs/misc#z-index-stacking).\n */\n floatingStrategy?: {\n web: WebFloatingPosition;\n };\n onToggle?: (isVisible: boolean) => void;\n onUpdate?: OnUpdateCallback;\n}\n\n// eslint-disable-next-line unicorn/expiring-todo-comments\n// TODO : update position on scroll in future iteration\nexport function Tooltip({\n children,\n defaultVisible,\n position = 'top',\n content,\n floatingPadding,\n zIndex = 1000,\n fullWidth,\n onUpdate,\n onToggle,\n}: TooltipProps): ReactElement {\n const theme = useTheme();\n const currentFloatingPadding = floatingPadding || theme.kitt.tooltip.floatingPadding;\n\n const [floatingWidth, setFloatingWidth] = useState<number | undefined>(undefined);\n const pressableRectRef = useRef<{ width: number; pageX: number } | undefined>(undefined);\n\n const pressed = useSharedValue(defaultVisible);\n\n const animatedStyles = useAnimatedStyle(() => {\n return {\n opacity: withSpring(pressed.value ? theme.kitt.tooltip.opacity : 0),\n transform: [\n {\n scale: withSpring(pressed.value ? 1 : 0.8),\n },\n ],\n };\n });\n\n const { x, y, reference, floating, update, refs, middlewareData, strategy, placement } = useFloating({\n placement: position,\n middleware: [\n // Order matters\n offset(currentFloatingPadding),\n // shift() => shift is replaced by customShift\n autoPlacement({\n allowedPlacements: ['top', 'bottom'],\n padding: currentFloatingPadding,\n }),\n // arrow is not reliable enough for implementation\n // arrow({ element: arrowRef }),\n ],\n });\n\n const tooltipY = Math.round(y ?? 0);\n const tooltipX = Math.round(x ?? 0);\n\n useEffect(() => {\n if (!onUpdate) return;\n onUpdate({\n x: tooltipX,\n y: tooltipY,\n placement,\n strategy,\n update,\n refs,\n middlewareData,\n });\n }, [tooltipX, tooltipY, placement, strategy, update, refs, middlewareData, onUpdate]);\n\n const getPressableRect = useCallback(\n (element) => {\n if (element) {\n element.measure((_x: number, _y: number, width: number, _h: number, pageX: number) => {\n pressableRectRef.current = { width, pageX };\n });\n }\n },\n [pressableRectRef],\n );\n\n const customShiftData = useCustomShift({ tooltipX, pressableRect: pressableRectRef.current, floatingWidth });\n\n const handlePress = (): void => {\n if (onToggle) onToggle(!!pressed.value);\n pressed.value = !pressed.value;\n };\n\n return (\n <View position=\"relative\">\n <View ref={reference}>\n <Pressable ref={getPressableRect} accessibilityRole=\"button\" onPress={handlePress}>\n {children}\n </Pressable>\n </View>\n\n <View\n ref={floating}\n accessibilityElementsHidden={!pressed.value}\n importantForAccessibility={pressed.value === true ? 'auto' : 'no-hide-descendants'}\n position=\"absolute\"\n maxWidth={fullWidth ? undefined : { base: '100%', small: 'kitt.tooltip.maxWidth' }}\n top={tooltipY}\n left={customShiftData.left}\n right={customShiftData.right}\n onLayout={({ nativeEvent }) => setFloatingWidth(nativeEvent.layout.width)}\n >\n <Animated.View style={[animatedStyles]}>\n <TooltipContent>{content}</TooltipContent>\n </Animated.View>\n </View>\n </View>\n );\n}\n\nTooltip.Arrow = Arrow;\nTooltip.Content = TooltipContent;\n","import type { ReactElement } from 'react';\nimport { useMemo } from 'react';\nimport type { DefaultTheme } from 'styled-components/native';\nimport { useTheme } from 'styled-components/native';\nimport type { Entries } from 'type-fest';\nimport type { TypographyTypeConfig } from 'themes/late-ocean/typography';\nimport type { EmojiProps } from '../Emoji/Emoji';\nimport { Emoji } from '../Emoji/Emoji';\nimport { KittBreakpointNameEnum } from '../KittBreakpoints';\nimport type { TypographyBreakpointType, TypographyType } from './Typography';\nimport { getTypographyTypeConfigKeyFromTypeName, isTypographyHeader } from './Typography';\n\nfunction getTypographyTypeConfig(type: TypographyType, theme: DefaultTheme): TypographyTypeConfig {\n if (isTypographyHeader(type, undefined)) {\n return theme.kitt.typography.types.headers.configs[type];\n }\n\n return theme.kitt.typography.types.bodies.configs[type];\n}\n\ninterface Sizes {\n size: EmojiProps['size'];\n marginLeft: NonNullable<EmojiProps['_web']>['marginLeft'];\n marginRight: NonNullable<EmojiProps['_web']>['marginRight'];\n}\n\nfunction calcSizesFromType(type: TypographyBreakpointType, theme: DefaultTheme): Sizes {\n const typeWithMediumForced = {\n ...type,\n medium: type.medium || type.small || type.base,\n };\n\n const size: Sizes['size'] = {\n base: getTypographyTypeConfig(type.base ?? 'body', theme).baseAndSmall.fontSize,\n };\n\n [\n KittBreakpointNameEnum.SMALL,\n KittBreakpointNameEnum.MEDIUM,\n KittBreakpointNameEnum.LARGE,\n KittBreakpointNameEnum.WIDE,\n ].forEach((typeName) => {\n const value = typeWithMediumForced[typeName];\n if (value) {\n size[typeName] = getTypographyTypeConfig(value, theme)[getTypographyTypeConfigKeyFromTypeName(typeName)].fontSize;\n }\n });\n\n const marginLeft: Sizes['marginLeft'] = {};\n const marginRight: Sizes['marginRight'] = {};\n\n (Object.entries(size) as Entries<typeof size>).forEach(([key, value]) => {\n if (value) {\n marginLeft[key] = value / 10;\n marginLeft[key] = value / 20;\n }\n });\n\n return { size, marginLeft, marginRight };\n}\n\nexport interface TypographyEmojiProps extends TypographyBreakpointType {\n type?: TypographyBreakpointType;\n emoji: string;\n}\n\nexport function TypographyEmoji({\n emoji,\n base: legacyBase,\n small: legacySmall,\n medium: legacyMedium,\n large: legacyLarge,\n wide: legacyWide,\n type = { base: legacyBase, small: legacySmall, medium: legacyMedium, large: legacyLarge, wide: legacyWide },\n}: TypographyEmojiProps): ReactElement {\n const theme = useTheme();\n const { base, small, medium, large, wide } = type;\n const { size, marginLeft, marginRight } = useMemo(\n () => calcSizesFromType({ base, small, medium, large, wide }, theme),\n [base, small, medium, large, wide, theme],\n );\n\n return (\n <Emoji\n size={size}\n emoji={emoji}\n alignSelf=\"center\"\n _web={{\n // @ts-expect-error -- transform expects number, but string works on web\n style: {\n transform: 'translateY(20%)',\n },\n /* Style Twemoji: https://github.com/twitter/twemoji#inline-styles */\n marginLeft,\n marginRight,\n }}\n />\n );\n}\n","import type { ComponentType, ForwardRefExoticComponent, PropsWithoutRef, RefAttributes } from 'react';\nimport { forwardRef } from 'react';\nimport { useTheme } from 'styled-components/native';\nimport type { DefaultTheme } from 'styled-components/native';\nimport type { Except } from 'type-fest';\n\n// type $Without<T, K extends keyof any> = T extends any ? Pick<T, Exclude<keyof T, K>> : never;\n// type $DeepPartial<T> = { [P in keyof T]?: $DeepPartial<T[P]> };\n\n// export function withTheme<Props extends { theme: DefaultTheme }, C>(\n// WrappedComponent: ComponentType<Props> & C,\n// ): ComponentType<SetOptional<Props, 'theme'>> & hoistNonReactStatics.NonReactStatics<typeof WrappedComponent> {\n// return function ThemedComponent(props) {\n// const theme = useTheme();\n\n// return (<WrappedComponent theme={theme} {...(props as any)} />) as any;\n// };\n// }\n\nexport function withTheme<Props extends { theme: DefaultTheme }, T>(\n WrappedComponent: ComponentType<Props>,\n): ForwardRefExoticComponent<PropsWithoutRef<Except<Props, 'theme'>> & RefAttributes<T>> {\n // eslint-disable-next-line prefer-arrow-callback\n return forwardRef<T, Except<Props, 'theme'>>(function ThemedComponent(props, ref) {\n const theme = useTheme();\n\n return <WrappedComponent ref={ref} theme={theme} {...(props as any)} />;\n });\n}\n","import { styled as styledLinaria } from '@linaria/react';\nimport type { ReactElement, ReactNode } from 'react';\nimport type { TextProps } from 'react-native';\nimport { Platform } from 'react-native';\nimport type { DefaultTheme } from 'styled-components/native';\nimport styled from 'styled-components/native';\nimport type { Except } from 'type-fest';\nimport { StyleWebWrapper } from '../utils/StyleWebWrapper';\nimport { withTheme } from '../utils/withTheme';\nimport type { TypographyPropsWithoutRole } from './Typography';\nimport { Typography } from './Typography';\n\ninterface TypographyLinkWebWrapperProps {\n theme: DefaultTheme;\n $hasNoUnderline?: boolean;\n}\n\nconst TypographyLinkWebWrapper = withTheme(styledLinaria.span<TypographyLinkWebWrapperProps>`\n & > *:hover,\n & > *:active,\n .kitt-hover & > * {\n text-decoration: none;\n }\n\n & > *:hover,\n & > *:active,\n .kitt-hover & > * {\n text-decoration: ${({ $hasNoUnderline }) => ($hasNoUnderline ? 'underline' : 'none')}\n }\n`);\n\ninterface StyledLinkProps {\n $disabled?: boolean;\n $hasNoUnderline?: boolean;\n}\n\nconst StyledLink = styled.Text<StyledLinkProps & TextProps>`\n text-decoration: ${({ $hasNoUnderline }) => ($hasNoUnderline ? 'none' : 'underline')};\n\n ${({ $disabled }) => {\n if (Platform.OS !== 'web') return undefined;\n\n return `\n text-decoration-color: inherit;\n transition: color 0.2s ease-in-out;\n cursor: ${$disabled ? 'not-allowed' : 'pointer'};\n `;\n }};\n\n ${({ $disabled, theme }) => {\n if (!$disabled) return undefined;\n return `color: ${theme.kitt.typography.link.disabledColor};`;\n }};\n`;\n\nexport interface TypographyLinkProps extends Except<TypographyPropsWithoutRole, 'children'> {\n children: NonNullable<ReactNode>;\n disabled?: boolean;\n noUnderline?: boolean;\n variant: NonNullable<TypographyPropsWithoutRole['variant']>;\n href?: TextProps['href'];\n hrefAttrs?: TextProps['hrefAttrs'];\n onPress?: TextProps['onPress'];\n}\n\nexport function TypographyLink({\n children,\n disabled,\n noUnderline,\n href,\n hrefAttrs,\n onPress,\n ...otherProps\n}: TypographyLinkProps): ReactElement {\n return (\n <Typography {...otherProps} accessibilityRole=\"none\">\n <StyleWebWrapper as={TypographyLinkWebWrapper} $hasNoUnderline={noUnderline}>\n <StyledLink\n $disabled={disabled}\n $hasNoUnderline={noUnderline}\n href={href}\n hrefAttrs={hrefAttrs}\n accessibilityRole=\"link\"\n dataSet={{\n // remove data-kitt-universal when we delete kitt web. See See :global(a) in Link styles.module.css\n 'kitt-universal': 'true',\n }}\n onPress={disabled ? undefined : onPress}\n >\n {children}\n </StyledLink>\n </StyleWebWrapper>\n </Typography>\n );\n}\n","import { makeDecorator } from '@storybook/addons';\nimport type { ReactElement, ReactNode } from 'react';\nimport { ThemeProvider } from 'styled-components/native';\nimport type { AppTheme, KittNativeBaseProviderProps } from '../../native-base/KittNativeBaseProvider';\nimport { KittNativeBaseProvider } from '../../native-base/KittNativeBaseProvider';\nimport type { KittTheme } from '../../useKittTheme';\nimport { useKittTheme } from '../../useKittTheme';\n\ndeclare module 'styled-components' {\n export interface DefaultTheme extends KittTheme {}\n}\n\ninterface KittThemeProviderProps {\n appTheme?: AppTheme;\n isSSR?: KittNativeBaseProviderProps['isSSR'];\n children: ReactNode;\n}\n\nexport function KittThemeProvider({ isSSR, children, appTheme }: KittThemeProviderProps): ReactElement {\n const theme = useKittTheme();\n return (\n <ThemeProvider theme={theme}>\n <KittNativeBaseProvider theme={theme} isSSR={isSSR} appTheme={appTheme}>\n {children}\n </KittNativeBaseProvider>\n </ThemeProvider>\n );\n}\n\nexport const KittThemeDecorator = makeDecorator({\n name: 'ThemeDecorator',\n parameterName: 'theme',\n wrapper: (storyFn, context, { options = {}, parameters = {} }) => {\n return (\n <KittThemeProvider isSSR={parameters.isSSR ?? (options as any).isSSR}>\n {storyFn(context) as ReactNode}\n </KittThemeProvider>\n );\n },\n});\n","import type { ReactElement, ReactNode } from 'react';\nimport type { MatchWindowSizeOptions } from './useMatchWindowSize';\nimport { useMatchWindowSize } from './useMatchWindowSize';\n\ninterface MatchWindowSizeProps extends MatchWindowSizeOptions {\n children: ReactNode;\n}\n\n/**\n * Display children if match window size options\n *\n * WARNING: Not SSR friendly.\n */\nexport function MatchWindowSize({ children, ...matchWindowSizeOptions }: MatchWindowSizeProps): ReactElement | null {\n const match = useMatchWindowSize(matchWindowSizeOptions);\n if (!match) return null;\n return children as ReactElement;\n}\n","import { useBreakpointValue } from 'native-base';\nimport { KittBreakpointNameEnum } from '../../KittBreakpoints';\n\nexport function useCurrentBreakpointName(): KittBreakpointNameEnum {\n return useBreakpointValue({\n base: KittBreakpointNameEnum.BASE,\n small: KittBreakpointNameEnum.SMALL,\n medium: KittBreakpointNameEnum.MEDIUM,\n large: KittBreakpointNameEnum.LARGE,\n wide: KittBreakpointNameEnum.WIDE,\n });\n}\n"],"names":["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","StyledAnimatedView","styled","Animated","button","borderRadius","$isDisabled","default","backgroundColor","AnimatedContainer","animatedStyles","KittBreakpoints","BASE","SMALL","MEDIUM","LARGE","WIDE","KittBreakpointsMax","KittBreakpointNameEnum","IsHeaderTypographyContext","createContext","TypographyColorContext","useTypographyColor","useContext","TypographyDefaultColorContext","useTypographyDefaultColor","getTypographyTypeConfigKey","isMediumOrAbove","responsive","matchWindowSize","minWidth","getTypographyTypeConfigKeyFromTypeName","isTypeHeader","type","startsWith","isTypographyHeader","isHeaderTypographyInContext","Error","createNativeBaseFontSize","typeWithMediumForced","medium","small","base","fontSizeForNativeBase","typeName","value","getNBThemeColorFromColorProps","colorName","Typography","legacyBase","legacySmall","legacyMedium","large","legacyLarge","wide","legacyWide","color","otherProps","defaultColor","hasTypographyAncestor","baseOrDefaultToBody","isHeader","nonNullableVariant","entries","key","currentColor","text","NBText","content","TypographyText","props","TypographyParagraph","Platform","OS","createHeading","level","defaultBase","TypographyHeading","displayName","SetDefaultColor","Provider","Text","Paragraph","Header1","Header2","Header3","Header4","Header5","Header6","h1","h2","h3","h4","h5","Icon","icon","size","align","clonedIcon","cloneElement","TypographyIconSpecifiedColor","typography","colors","TypographyIconInheritColor","TypographyIcon","getTextColorByType","isButtonInteractedWith","ButtonIcon","iconPosition","ButtonContentChildren","buttonIconSharedProps","sharedNativeStyle","flexShrink","_jsxs","ButtonContent","isDisabled","flexGrow","flexBasis","getCurrentPaddingConfig","ButtonPadding","currentPaddingKey","DisabledBorder","FocusBorder","buttonTheme","width","borderWidth","focus","height","transitionProperty","transitionDuration","transition","duration","transitionTimingFunction","timingFunction","hasVariant","getVariantValuesIfExist","useNativeAnimation","pressed","useSharedValue","pressedBackgroundColor","scale","useAnimatedStyle","interpolateColor","withSpring","active","onPressIn","onPressOut","getButtonSize","xLarge","allowedGhostTypes","Button","stretch","sizeProp","__DEV__","includes","deprecatedProp","SpinningIcon","String","animationRef","useRef","Value","rotation","current","interpolate","inputRange","outputRange","useEffect","animation","loop","timing","toValue","easing","Easing","linear","useNativeDriver","start","stop","rotate","LoaderIcon","ArcIcon","maxWidth","minHeight","maxHeight","hasWidthMatched","hasHeightMatched","useMatchWindowSize","options","useWindowDimensions","getCurrentStretchValue","isStretch","isMedium","ActionsItem","as","isCurrentStretch","isLoading","setIsLoading","useState","mountedRef","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","hover","black","blackDisabled","blackLight","blackAnthracite","uiBackground","uiBackgroundLight","overlay","dark","light","defaultAvatarSize","defaultAvatarIconSize","largeAvatarSize","largeAvatarIconSize","avatar","iconSize","getCurrentRadius","sizeVariant","round","getCurrentSize","getIconSize","getInitials","firstname","lastname","toUpperCase","AvatarContent","src","alt","isLight","uri","UserIcon","Avatar","currentSize","currentBorderRadius","BottomSheetComp","Content","hasScrollView","hasBackdrop","hasHandle","onDismiss","Wrapper","useMemo","BottomSheetScrollView","BottomSheetView","initialSnapPoints","animatedHandleHeight","animatedSnapPoints","animatedContentHeight","handleContentLayout","useBottomSheetDynamicSnapPoints","BottomSheetModal","bottomSheet","handle","BottomSheetHandle","BottomSheetBackdrop","data","SafeAreaView","BottomSheetContainerView","BottomSheet","useBottomSheet","useStaticBottomSheet","bottomSheetRef","BottomSheetMemoized","ModalBehaviourPortal","_Fragment","OnCloseContext","OnCloseProvider","onClose","useOnCloseModalBehaviour","CloseButton","onCloseContextCallback","ModalBehaviour","visible","position","top","left","OverlayPressable","StyleSheet","absoluteFillObject","Overlay","CardModalRotationContainer","NativeOpacityAnimation","onExited","hasRunAnimationRef","handleAnimationFinished","opacityStyle","cardModal","x1","y1","x2","y2","opacity","withTiming","bezier","isFinished","runOnJS","NativeRotationAnimation","onEntered","animatedStyle","rotateZ","CardModalAnimation","onEnter","onExit","isModalVisible","setIsModalVisible","isContentVisible","setIsContentVisible","handleAnimationExited","Modal","ScrollContainer","CardModalBehaviour","isModalBehaviourVisible","setIsModalBehaviourVisible","CardModalBody","paddingX","paddingY","CardModalFooter","padding","hasSeparator","CardModalHeader","title","paddingBottom","right","defaultContainerPadding","CardModal","withoutShadow","Body","Header","Footer","selected","Boolean","progress","useDerivedValue","choices","item","backgroundStyles","defaultBg","pressedBg","selectedBg","disabledBg","getCurrentTextColor","isSelected","getBorderRadius","defaultRadius","$variant","border","css","ChoiceItemView","$isHovered","$isPressed","$isSelected","hoverWhenSelected","defaultBackground","$size","ifWindowSizeMatches","property","ChoiceItem","onChange","onBlur","onFocus","handleChange","checked","ChoiceItemContainer","$isLast","$direction","row","column","spacing","ChoicesContainer","direction","Choices","id","currentValue","setCurrentValue","isForm","childrenArray","Children","toArray","sharedProps","newValue","map","child","index","element","createChoicesComponent","ButtonChoices","ChoicesElements","dialogModal","DialogModalAnimation","DialogModalBehaviour","DialogModal","illustration","actions","DialogModalButton","Emoji","emoji","alignSelf","_web","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","WebBrowser","openBrowserAsync","hex2rgba","hex","alpha","r","parseInt","slice","g","b","borderColor","shadow","offsetX","offsetY","radius","hovered","focused","secondary","highlight","container","contentPadding","horizontal","vertical","hoverBackgroundColor","focusBorderColor","ghost","hoverColor","activeColor","subtle","card","webAnimationContentDuration","webAnimationContentEasing","webAnimationOverlayDuration","webAnimationOverlayEasing","overlayHorizontalPadding","maxWidthWithPadding","header","footer","overlayPadding","feedbackMessage","checkbox","markColor","textSpacing","datePicker","day","month","year","calcLineHeight","fontSize","lineHeightMultiplier","Math","createTypographyTypeConfig","baseAndSmallFontSize","mediumAndWideFontSize","baseAndSmall","lineHeight","mediumAndWide","kittColors","types","headers","fontFamily","regular","bold","fontWeight","fontStyle","configs","header1","header2","header3","header4","header5","bodies","body","link","disabledColor","inputStatesStyle","pending","valid","invalid","input","selection","placeholder","rightContainer","states","inputField","containerPaddingTop","containerPaddingBottom","feedbackPaddingTop","labelContainerPaddingBottom","labelFeedbackMarginLeft","inputTag","labelColor","radio","unchecked","innerSize","innerBackgroundColor","radioButtonGroup","textArea","forms","iconButton","listItem","innerMargin","navigationModal","pageLoader","strokeWidth","fill","delay","circleBackgroundFillDuration","filledCircleFillDuration","groupFilledCircleRotationDuration","filledCircleRotationDuration","fillEasingFunction","picker","ios","android","shadows","cards","low","highBase","highMedium","highLarge","navigation","panel","skeleton","flareColor","animationDuration","shape","bar","circle","square","tag","outline","tooltip","horizontalPadding","verticalPadding","floatingPadding","in","out","arrow","breakpoints","values","min","smallBreakpoint","mediumBreakpoint","largeBreakpoint","wideBreakpoint","max","palettes","createWindowSizeHelper","dimensions","mapWindowWidth","widthList","previousMinWidth","found","find","Number","useKittTheme","useWindowSize","kittTheme","getBackgroundColor","isChecked","getBorderColor","Checkbox","hitSlop","CheckboxMark","getReturnKeyTypeForNumericInput","returnKeyType","prefixWithZero","maxLength","padStart","dayFormatter","monthFormatter","yearFormatter","getDayInInterval","getMonthInInterval","minDate","maxDate","minValue","getMonth","maxValue","getYearInInterval","getFullYear","keyboardDatePickerReducer","action","nextDay","currentDay","displayedDay","toString","nextMonth","currentMonth","displayedMonth","nextYear","currentYear","displayedYear","nextCurrentDay","nextCurrentMonth","nextCurrentYear","isNumber","isNaN","onDatePartChange","validYearMinLength","arrayParts","isEverythingUndefined","every","v","isEverythingDefined","nextValue","Date","isValidYear","setDate","setMonth","setFullYear","setMinutes","setHours","setSeconds","setMilliseconds","isMinDateAfterNextValue","getTime","isMaxDateBeforeNextValue","stringToNumber","InputTextContainer","InputText","formState","internalForceState","autoCorrect","textContentType","autoComplete","keyboardType","multiline","onSubmitEditing","shouldHandleSingleLineOnIOS","Input","getCurrentInternalForcedState","InputPart","PartContainer","KeyboardDatePicker","monthRef","yearRef","defaultValue","defaultDay","getDate","defaultMonth","defaultYear","dispatch","useReducer","sharedInputPartProps","handleDatePartChange","handleAutoFocusNextField","currentFieldValue","nextFieldRef","nativeEvent","PressableDateInputs","DatePickerAndroid","pickerDefaultDate","pickerUITestID","isDefaultVisible","setIsFocused","handleClose","handleModalOpen","DateTimePickerAndroid","open","now","timestamp","date","onTouchCancel","BodyView","ModalBody","FooterView","ModalFooter","StyleWebWrapper","PressableIconButtonWebWrapperWithTheme","PressableIconButtonWebWrapper","withTheme","StyledPressableIconButton","PressableIconButton","AnimatedIconButtonBackground","AnimatedViewContainer","PressableAnimatedContainer","accessibilityLabel","opacityStyles","scaleStyles","IconButton","HeaderView","LeftIconView","RightIconView","TitleView","isIconLeft","ModalHeader","XIcon","ModalView","ContentView","NativeModal","getDatePickerDisplayMode","PlatformDateTimePicker","defaultDate","maximumDate","minimuDate","displayMode","iosProps","textColor","DateTimePicker","_event","ModalTitle","ModalPlatformDateTimePicker","isVisible","validateButtonLabel","newDate","prev","FormattedMessage","DefaultNativeUIDatePicker","pickerUITitle","pickerUIValidateButtonLabel","isPickerUIVisible","setIsPickerUIVisible","handleModalClose","NativeUIDatePicker","DatePicker","fillMode","InputEmail","getColorFromState","InputFeedback","InputField","label","labelFeedback","feedback","getIconColor","InputIcon","InputPressable","InputPassword","isPasswordDefaultVisible","setIsVisible","EyeOffIcon","EyeIcon","isPhoneNumberValid","number","isValidNumber","phoneNumberLength","InputPhone","currentReturnKeyType","event","parseNumber","phone","finalPhoneNumber","eventWithoutCountryCode","countryCode","getCountryCallingCode","country","originalNativeEventText","getTypographyColor","InputTagContainer","IconContainer","InputTag","typographyColor","Label","htmlFor","InnerCircle","OuterCircle","Radio","$isFirst","isFirst","isLast","HoverBorder","shouldDisplayBorder","pressedBorderColor","RadioButton","RadioButtonGroupItem","RadioButtonGroup","clone","TextArea","Highlight","KittMapConfigProviderContext","KittMapConfigProvider","mapId","apiToken","providerValue","useKittMapConfig","context","ListItemContent","SideContainerView","side","ListItemSideContainer","SideContentView","ListItemSideContent","ContainerView","withPadding","borders","ListItem","Fragment","wrapperProps","containerProps","SideContent","SideContainer","MapMarkerSimple","DefaultMarkerSvg","MapMarkerLarge","LargeMarkerSvg","MapMarkerPosition","PositionMarkerSvg","IconContent","AlertCircleIcon","CheckIcon","AlertTriangleIcon","InfoIcon","getColorByType","getIconButtonColor","messageType","StyledMessageContainer","$insets","$hasNoRadius","$type","StyledDismissWrapper","StyledIconContainer","StyledTextContent","$isCenteredText","StyledMessageContent","BaseMessage","hasNoRadius","centeredText","insets","Message","createKittSpaces","sizes","positive","negative","overridenNativeBaseSizeandSpaceScale","fromEntries","createKittNativeBaseCustomTheme","appTheme","spaces","appBreakpoints","extendedTheme","extendTheme","innerCircle","app","radii","lg","MAX_SAFE_INTEGER","md","sm","xl","xs","borderWidths","defaultSize","space","fontSizes","lineHeights","fontWeights","fonts","shadowColor","shadowOffset","shadowOpacity","shadowRadius","components","baseStyle","py","px","_disabled","_light","placeholderTextColor","bg","_hover","_focus","_stack","outlineWidth","boxShadow","_ios","selectionColor","_android","_invalid","variants","underlined","rounded","filled","unstyled","_dark","KittNativeBaseProvider","isSSR","nativeBaseCustomTheme","NativeBaseProvider","ViewWithPadding","ContentPadding","StyledViewWithPadding","$insetTop","$insetBottom","shouldHandleBottomNotch","shouldHandleTopNotch","bottom","useSafeAreaInsets","insetBottom","insetTop","FooterContainer","$hasSeparator","HeaderContainer","$isTransparent","$hasRight","$hasLeft","Row","$hasContent","ButtonContainer","ChildrenComponent","paddingHorizontal","HeaderTitle","isTransparent","NativeSlideInAnimation","wHeight","translateStyle","flex","NavigationModalAnimation","NavigationModalBehaviour","NavigationModalContainer","$backgroundColor","ContainerWithoutHeader","NavigationModal","Padding","Notification","onDelete","AnimatedCircle","createAnimatedComponent","Circle","AnimatedLoaderCircle","centerCoord","circlePerimeter","PI","strokeAnimation","useAnimatedProps","strokeDashoffset","AnimatedBackgroundCircle","withDelay","Svg","isInfinitAnimation","AnimatedFillCircleContainer","withRepeat","rotationStyles","absoluteFill","shouldReverse","AnimatedFilledCircle","PageLoaderContainer","PageLoader","ContainerPressable","PickerItem","Picker","initialValue","onValueSelected","setValue","NativePicker","itemValue","React","Container","AnimatedLinearGradient","LinearGradient","SkeletonContent","sharedX","inOut","ease","linearGradientStyle","translateX","x","y","Skeleton","setWidth","Bar","Square","getStaticMapImageUrl","mapWidth","mapHeight","center","is2x","centerPart","long","lat","zoom","urlParts","mapImageUrl","URL","join","searchParams","append","useGetStaticMapImageUrl","forceMapId","forceApiToken","currentUrl","setCurrentUrl","currentMapIdRef","currentApiTokenRef","newUrl","StaticMapError","onReload","RotateCCWIcon","StaticMapImage","onLoadEnd","onError","StaticMapLoader","getMarkerPosition","StaticMapMarker","getRangedWidthValue","nextWidth","rangedMapWidth","getShouldDisplay2x","currentDevicePixelRatio","PixelRatio","get","mapBoxMaxPictureWidth","getPictureWidth","StaticMap","marker","onLoaded","currentWidth","setCurrentWidth","hasError","setHasError","currentMapKey","setCurrentMapKey","shouldDisplay2xImage","mapUrl","KITT_MAP_CHROMATIC_IGNORE","Loader","Marker","Flex","withConfig","shouldForwardProp","prop","defaultValidatorFn","storyPadding","getBackgroundColorFromBlockColor","getTypographyColorFromBlockColor","StoryBlockBackgroundContext","StoryBlockColorContext","useStoryBlockColor","storyBlockColor","StyledStoryBlockView","background","StoryBlock","StoryTitleContainer","StorySubTitleContainer","StoryTitle","numberOfLines","StoryTitleLevel2","StoryTitleLevel3","StoryTitleLevel4","Level2","Level3","Level4","StoryContainer","Story","contentContainerStyle","StyledSection","StorySection","internalIsDemoSection","StyledSubSection","SubSection","StyledBlockSection","BlockSection","StyledDemoSection","DemoSection","Demo","DeprecatedSection","platform","StoryDecorator","storyFn","name","SmallScreenRow","SmallScreenCol","FlexRow","FlexCol","StoryGridRow","breakpoint","breakpointValue","StoryGridCol","titleColor","isNative","StoryGrid","Col","getLabelColor","Tag","styledTextInputMixin","$state","typeConfigKey","Title","ModalDateTimePicker","timePickerPlaceholder","formatNumberToTimeString","time","formatDateToTimeString","getHours","getMinutes","useTimePicker","isTimePickerModalVisible","setIsTimePickerModalVisible","todayAtNoon","getDay","dateTimePickerValue","displayedValue","timePickerState","handleInputPress","handleTimeChange","TimePicker","forceDefaultValue","Arrow","display","transformStyle","TooltipArrowIcon","TooltipContent","customShift","tooltipX","refPageX","refWidth","floatingWidth","wWidth","refCenterOnScreen","halfFloatingWith","useCustomShift","pressableRect","windowDimensions","customShiftData","setCustomShiftData","res","pageX","Tooltip","defaultVisible","zIndex","fullWidth","onUpdate","onToggle","currentFloatingPadding","setFloatingWidth","pressableRectRef","reference","floating","update","refs","middlewareData","strategy","placement","useFloating","middleware","offset","autoPlacement","allowedPlacements","tooltipY","getPressableRect","useCallback","measure","_x","_y","_h","getTypographyTypeConfig","calcSizesFromType","marginLeft","marginRight","TypographyEmoji","WrappedComponent","_exp","$hasNoUnderline","TypographyLinkWebWrapper","styledLinaria","class","propsAsIs","vars","StyledLink","$disabled","TypographyLink","noUnderline","TypographyLinkProps","KittThemeProvider","ThemeProvider","KittThemeDecorator","makeDecorator","parameterName","wrapper","parameters","MatchWindowSize","matchWindowSizeOptions","match","useCurrentBreakpointName","useBreakpointValue"],"mappings":"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"}
1
+ {"version":3,"file":"index-node-14.17.cjs.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/AnimatedContainer.tsx","../src/KittBreakpoints.ts","../src/typography/Typography.tsx","../src/Icon/Icon.tsx","../src/typography/TypographyIcon.tsx","../src/Button/utils/getTextColorByType.ts","../src/Button/ButtonContent.tsx","../src/Button/ButtonPadding.tsx","../src/Button/DisabledBorder.tsx","../src/Button/FocusBorder.tsx","../src/Button/getVariantValuesIfExist.ts","../src/Button/hooks/useNativeAnimation.ts","../src/Button/utils/getButtonSize.ts","../src/Button/Button.tsx","../src/Icon/SpinningIcon.tsx","../src/LoaderIcon/LoaderIcon.tsx","../src/utils/windowSize/useMatchWindowSize.ts","../src/Actions/ActionsItem.tsx","../src/Actions/ActionsButton.tsx","../src/Actions/Actions.tsx","../src/themes/palettes/lateOceanColorPalette.ts","../src/themes/late-ocean/colors.ts","../src/themes/late-ocean/avatar.ts","../src/Avatar/utils/getCurrentRadius.ts","../src/Avatar/utils/getCurrentSize.ts","../src/Avatar/utils/getIconSize.ts","../src/Avatar/utils/getInitials.ts","../src/Avatar/Avatar.tsx","../src/BottomSheet/BottomSheet.tsx","../src/BottomSheet/useBottomSheet.ts","../src/BottomSheet/useStaticBottomSheet.tsx","../src/ModalBehaviour/ModalBehaviourPortal.tsx","../src/ModalBehaviour/OnCloseContext.tsx","../src/ModalBehaviour/ModalBehaviour.tsx","../src/Overlay/Overlay.tsx","../src/CardModal/CardModalAnimation/CardModalRotationContainer.tsx","../src/CardModal/CardModalAnimation/NativeOpacityAnimation.tsx","../src/CardModal/CardModalAnimation/NativeRotationAnimation.tsx","../src/CardModal/CardModalAnimation/CardModalAnimation.tsx","../src/CardModal/CardModalBehaviour.tsx","../src/CardModal/CardModalBody.tsx","../src/CardModal/CardModalFooter.tsx","../src/CardModal/CardModalHeader.tsx","../src/CardModal/CardModal.tsx","../src/Choices/hooks/useNativeAnimation.tsx","../src/Choices/ChoiceItem.tsx","../src/Choices/ChoiceItemContainer.tsx","../src/Choices/Choices.tsx","../src/DialogModal/DialogModalAnimation/NativeOpacityAnimation.tsx","../src/DialogModal/DialogModalAnimation/NativeRotationAnimation.tsx","../src/DialogModal/DialogModalAnimation/DialogModalAnimation.tsx","../src/DialogModal/DialogModalBehaviour.tsx","../src/DialogModal/DialogModal.tsx","../src/Emoji/Emoji.tsx","../src/ExternalAppLink/ExternalAppLink.tsx","../src/ExternalLink/ExternalLinkOpenLinkBehavior.ts","../src/ExternalLink/ExternalLink.tsx","../src/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.tsx","../src/forms/InputText/InputText.tsx","../src/forms/DatePicker/components/InputPart.tsx","../src/forms/DatePicker/components/PartContainer.tsx","../src/forms/DatePicker/components/KeyboardDatePicker.tsx","../src/forms/DatePicker/components/PressableDateInputs.tsx","../src/forms/DatePicker/components/NativeUIDatePicker/DatePickerAndroid.tsx","../src/Modal/Body.tsx","../src/Modal/Footer.tsx","../src/IconButton/Background.tsx","../src/IconButton/AnimatedBackground.tsx","../src/IconButton/AnimatedScale.tsx","../src/IconButton/hooks/useNativeAnimation.ts","../src/IconButton/IconButton.tsx","../src/Modal/OnCloseContext.ts","../src/Modal/Header.tsx","../src/Modal/Modal.tsx","../src/forms/DatePicker/components/NativeUIDatePicker/PlatformDateTimePicker.tsx","../src/forms/DatePicker/components/NativeUIDatePicker/ModalPlatformDateTimePicker.tsx","../src/forms/DatePicker/components/NativeUIDatePicker/DefaultNativeUIDatePicker.tsx","../src/forms/DatePicker/components/NativeUIDatePicker/NativeUIDatePicker.tsx","../src/forms/DatePicker/DatePicker.tsx","../src/forms/InputEmail/InputEmail.tsx","../src/forms/InputFeedback/InputFeedback.tsx","../src/forms/InputField/InputField.tsx","../src/forms/InputIcon/InputIcon.tsx","../src/forms/InputPressable/InputPressable.tsx","../src/forms/InputPassword/InputPassword.tsx","../src/forms/InputPhone/InputPhone.tsx","../src/forms/InputTag/InputTag.tsx","../src/forms/Label/Label.tsx","../src/forms/Radio/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/AnimatedContainer/AnimatedContainer.tsx","../src/forms/RadioButtonGroup/HoverBorder.tsx","../src/forms/RadioButtonGroup/hooks/useNativeAnimation.ts","../src/forms/RadioButtonGroup/utils/getCurrentTextColor.ts","../src/forms/RadioButtonGroup/RadioButton.tsx","../src/forms/RadioButtonGroup/RadioButtonGroup.tsx","../src/forms/TextArea/TextArea.tsx","../src/Highlight/Highlight.tsx","../src/KittMapConfigProvider/KittMapConfigProvider.tsx","../src/KittMapConfigProvider/hooks/useKittMapConfig.ts","../src/ListItem/ListItemContent.tsx","../src/ListItem/ListItemSideContent.tsx","../src/ListItem/ListItem.tsx","../src/MapMarker/assets/marker-large.inline.svg","../src/MapMarker/assets/marker.inline.svg","../src/MapMarker/assets/position-marker.inline.svg","../src/MapMarker/MapMarker.tsx","../src/BaseMessage/IconContent.tsx","../src/BaseMessage/helper.ts","../src/BaseMessage/BaseMessage.tsx","../src/Message/Message.tsx","../src/native-base/KittNativeBaseProvider.tsx","../src/NavigationModal/ContentPadding.tsx","../src/NavigationModal/Body.tsx","../src/NavigationModal/Footer.tsx","../src/NavigationModal/Header.tsx","../src/NavigationModal/components/NativeOpacityAnimation.tsx","../src/NavigationModal/components/NativeSlideInAnimation.tsx","../src/NavigationModal/NavigationModalAnimation.tsx","../src/NavigationModal/NavigationModalBehaviour.tsx","../src/NavigationModal/NavigationModalContainer.tsx","../src/NavigationModal/NavigationModal.tsx","../src/Notification/Notification.tsx","../src/PageLoader/AnimatedLoaderCircle.tsx","../src/PageLoader/AnimatedBackgroundCircle.tsx","../src/PageLoader/AnimatedFillCircleContainer.tsx","../src/PageLoader/AnimatedFillCircle.tsx","../src/PageLoader/PageLoader.tsx","../src/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/Picker/PickerItem.tsx","../src/Picker/Picker.tsx","../src/Skeleton/SkeletonContent.tsx","../src/Skeleton/Skeleton.tsx","../src/StaticMap/utils/getStaticMapImageUrl.ts","../src/StaticMap/hooks/useGetStaticMapImageUrl.ts","../src/StaticMap/StaticMapError.tsx","../src/StaticMap/StaticMapImage.tsx","../src/StaticMap/StaticMapLoader.tsx","../src/StaticMap/StaticMapMarker.tsx","../src/StaticMap/utils/getRangedWidthValue.ts","../src/StaticMap/utils/getShouldDisplay2x.ts","../src/StaticMap/StaticMap.tsx","../src/story-components/Flex.tsx","../src/story-components/theme.ts","../src/story-components/StoryBlock.tsx","../src/story-components/StoryTitle.tsx","../src/story-components/Story.tsx","../src/story-components/StorySection.tsx","../src/story-components/StoryContainer.tsx","../src/story-components/StoryDecorator.tsx","../src/story-components/StoryGrid.tsx","../src/Tag/Tag.tsx","../src/forms/styledTextInputMixin.ts","../src/TimePicker/ModalDateTimePicker.tsx","../src/TimePicker/useTimePicker.ts","../src/TimePicker/TimePicker.tsx","../src/Tooltip/Arrow.tsx","../src/Tooltip/TooltipContent.tsx","../src/Tooltip/hooks/useCustomShift.ts","../src/Tooltip/Tooltip.tsx","../src/typography/TypographyEmoji.tsx","../src/utils/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","../src/utils/withTheme.tsx"],"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 { useSx } from 'native-base';\nimport type { ReactElement, ReactNode } from 'react';\nimport type { ViewStyle } from 'react-native';\nimport Animated from 'react-native-reanimated';\nimport type { ButtonProps, ButtonType, ButtonVariant } from './Button';\n\nexport interface AnimatedContainerProps {\n children: ReactNode;\n disabled?: boolean;\n variant: ButtonVariant;\n type: ButtonType;\n isHovered?: boolean;\n isPressed?: boolean;\n isStretch?: ButtonProps['stretch'];\n animatedStyles: Partial<ViewStyle>;\n}\n\nexport function AnimatedContainer({ disabled, animatedStyles, children }: AnimatedContainerProps): ReactElement {\n const sx = useSx();\n const styles = sx({\n borderRadius: 'kitt.button.borderRadius',\n backgroundColor: disabled ? 'kitt.button.disabled.default.backgroundColor' : undefined,\n });\n return <Animated.View style={disabled ? [styles] : [styles, animatedStyles]}>{children}</Animated.View>;\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 { DefaultTheme } from 'styled-components/native';\nimport type { BaseButtonTheme, BaseButtonWithVariant } from '../themes/late-ocean/button';\nimport type { ButtonType, ButtonVariant } from './Button';\n\nconst hasVariant = (button: BaseButtonTheme, variant: ButtonVariant): button is BaseButtonWithVariant => {\n return variant in button;\n};\n\nexport function getVariantValuesIfExist<V extends ButtonVariant>(\n theme: DefaultTheme,\n type: ButtonType,\n variant: ButtonVariant,\n): BaseButtonTheme['default'] | BaseButtonWithVariant[V] {\n const button = theme.kitt.button[type];\n\n if (hasVariant(button, variant)) {\n return button[variant];\n }\n\n return theme.kitt.button[type].default;\n}\n","import type { ViewStyle } from 'react-native';\nimport { interpolateColor, useAnimatedStyle, useSharedValue, withSpring } from 'react-native-reanimated';\nimport { useTheme } from 'styled-components/native';\nimport type { ButtonType, ButtonVariant } from 'Button/Button';\nimport { getVariantValuesIfExist } from '../getVariantValuesIfExist';\n\nexport interface UseNativeAnimationOptions {\n type: ButtonType;\n variant: ButtonVariant;\n isPressedInternal?: boolean;\n}\n\nexport interface NativeAnimation {\n onPressIn?: () => void;\n onPressOut?: () => void;\n animatedStyles: ViewStyle;\n}\n\nexport const useNativeAnimation = ({\n type,\n variant,\n isPressedInternal,\n}: UseNativeAnimationOptions): NativeAnimation => {\n const theme = useTheme();\n const pressed = useSharedValue<0 | 1>(isPressedInternal ? 1 : 0);\n const color = useSharedValue(0);\n\n const { backgroundColor, pressedBackgroundColor } = getVariantValuesIfExist(theme, type, variant);\n const { scale } = theme.kitt.button;\n\n const animatedStyles = useAnimatedStyle(() => {\n return {\n backgroundColor: interpolateColor(color.value, [0, 1], [backgroundColor, pressedBackgroundColor]),\n transform: [\n {\n scale: withSpring(pressed.value ? scale.base.active : scale.base.default),\n },\n ],\n };\n });\n\n const handlePressIn = (): void => {\n color.value = withSpring(1);\n pressed.value = 1;\n };\n\n const handlePressOut = (): void => {\n color.value = withSpring(0);\n pressed.value = 0;\n };\n\n return {\n onPressIn: handlePressIn,\n onPressOut: handlePressOut,\n animatedStyles,\n };\n};\n","import type { ButtonProps } from '../Button';\n\nexport const getButtonSize = ({ large, xLarge, size }: Partial<ButtonProps>): ButtonProps['size'] => {\n if (large) return 'large';\n if (xLarge) return 'xLarge';\n return size;\n};\n","import type { ReactElement, ReactNode } from 'react';\nimport { forwardRef } from 'react';\nimport type { PressableProps } from 'react-native';\nimport type { View } from '../native-base/primitives';\nimport { Pressable } from '../native-base/primitives';\nimport type { ResponsiveValue } from '../utils/createResponsiveStyleFromProp/createResponsiveStyleFromProp';\nimport { createResponsiveStyleFromProp } from '../utils/createResponsiveStyleFromProp/createResponsiveStyleFromProp';\nimport { deprecatedInComponent } from '../utils/warnings';\nimport { AnimatedContainer } from './AnimatedContainer';\nimport { ButtonContent } from './ButtonContent';\nimport { ButtonPadding } from './ButtonPadding';\nimport { DisabledBorder } from './DisabledBorder';\nimport { FocusBorder } from './FocusBorder';\nimport { useNativeAnimation } from './hooks/useNativeAnimation';\nimport { getButtonSize } from './utils/getButtonSize';\n\nexport type SubtleButtonType = 'subtle' | 'subtle-dark';\nexport type ButtonType = 'primary' | 'default' | SubtleButtonType | 'white' | '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 { ReactElement } from 'react';\nimport { cloneElement, useEffect, useRef } from 'react';\nimport { Animated, Easing } from 'react-native';\n\nexport interface SpinningIconProps {\n icon: ReactElement;\n color?: string;\n}\n\nexport function SpinningIcon({ icon, color }: SpinningIconProps): ReactElement {\n if (process.env.NODE_ENV !== 'production' && !color) {\n throw new Error(`Invalid color passed to SpinningIcon: ${String(color)}`);\n }\n const clonedIcon = cloneElement(icon, { color });\n const animationRef = useRef(new Animated.Value(0));\n\n const rotation = animationRef.current.interpolate({\n inputRange: [0, 1],\n outputRange: ['0deg', '360deg'],\n });\n\n useEffect(() => {\n if (process.env.NODE_ENV === 'test') return undefined;\n\n const animation = Animated.loop(\n Animated.timing(animationRef.current, {\n toValue: 1,\n duration: 1100,\n easing: Easing.linear,\n useNativeDriver: true,\n }),\n );\n animation.start();\n return () => {\n if (process.env.NODE_ENV === 'test') return undefined;\n\n animation.stop();\n return undefined;\n };\n }, []);\n\n return <Animated.View style={{ transform: [{ rotate: rotation }] }}>{clonedIcon}</Animated.View>;\n}\n","import { ArcIcon } from '@ornikar/kitt-icons';\nimport type { ReactElement } from 'react';\nimport type { SpinningIconProps } from '../Icon/SpinningIcon';\nimport { SpinningIcon } from '../Icon/SpinningIcon';\n\nexport interface LoaderIconProps {\n color?: SpinningIconProps['color'];\n}\n\nexport function LoaderIcon({ color }: LoaderIconProps): ReactElement {\n return <SpinningIcon color={color} icon={<ArcIcon />} />;\n}\n","import { useWindowDimensions } from 'react-native';\nimport type { WindowDimensions } from './createWindowSizeHelper';\n\nexport interface MatchWindowSizeOptions {\n minWidth?: number;\n maxWidth?: number;\n minHeight?: number;\n maxHeight?: number;\n}\nexport function matchWindowSize(\n { width, height }: WindowDimensions,\n { minWidth, maxWidth, minHeight, maxHeight }: MatchWindowSizeOptions,\n): boolean {\n const hasWidthMatched = width ? (!minWidth || width >= minWidth) && (!maxWidth || width <= maxWidth) : true;\n const hasHeightMatched = height ? (!minHeight || height >= minHeight) && (!maxHeight || height <= maxHeight) : true;\n return hasWidthMatched && hasHeightMatched;\n}\n\n/**\n * Returns if a size matches based on dimensions passed as options.\n *\n * WARNING: Not SSR friendly.\n */\nexport function useMatchWindowSize(options: MatchWindowSizeOptions): boolean {\n const { width, height } = useWindowDimensions();\n return matchWindowSize({ width, height }, options);\n}\n","import type { ComponentProps, ElementType, ReactElement, VoidFunctionComponent } from 'react';\nimport { useEffect, useRef, useState } from 'react';\nimport type { ButtonProps } from '../Button/Button';\nimport { KittBreakpoints } from '../KittBreakpoints';\nimport { LoaderIcon } from '../LoaderIcon/LoaderIcon';\nimport { View } from '../native-base/primitives';\nimport { useMatchWindowSize } from '../utils/windowSize/useMatchWindowSize';\n\nfunction getCurrentStretchValue(isStretch: boolean | undefined, isMedium: boolean): boolean | undefined {\n // Stretch will follow the value passed from the component occurence if defined\n if (isStretch) return isStretch;\n\n return !isMedium ? true : undefined;\n}\n\ninterface ActionsItemMinimumRequiredProps extends Pick<ButtonProps, 'onPress'> {}\n\nexport interface ActionsItemProps<C extends VoidFunctionComponent<any>> {\n readonly onPress?: (\n e: Parameters<NonNullable<ButtonProps['onPress']>>[0],\n // eslint-disable-next-line @typescript-eslint/no-invalid-void-type\n ) => Promise<void | undefined | null> | void | undefined | null;\n readonly as: C;\n}\n\n// eslint-disable-next-line @typescript-eslint/ban-types\ntype ActionsItemSendableComponentProps<C extends VoidFunctionComponent<any>> = Omit<\n ComponentProps<C>,\n keyof ActionsItemProps<C> & keyof ActionsItemMinimumRequiredProps\n>;\n\nexport function ActionsItem<C extends VoidFunctionComponent<any>>({\n as,\n onPress,\n disabled,\n icon,\n stretch,\n ...props\n}: ActionsItemProps<C> & ActionsItemSendableComponentProps<C>): ReactElement {\n const isMedium = useMatchWindowSize({\n minWidth: KittBreakpoints.MEDIUM,\n });\n\n const isCurrentStretch = getCurrentStretchValue(stretch, isMedium);\n\n const [isLoading, setIsLoading] = useState(false);\n const mountedRef = useRef(false);\n\n // effect just for tracking mounted state, as onPress can unmount the ActionButton\n useEffect(() => {\n mountedRef.current = true;\n return () => {\n mountedRef.current = false;\n };\n }, []);\n\n const handlePress: ButtonProps['onPress'] = (e) => {\n const callPressAndUpdateLoadingState = async (): Promise<void> => {\n if (!onPress) return;\n setIsLoading(true);\n try {\n await onPress(e);\n if (mountedRef.current) {\n setIsLoading(false);\n }\n } catch (error) {\n if (mountedRef.current) {\n setIsLoading(false);\n }\n throw error;\n }\n };\n\n callPressAndUpdateLoadingState();\n };\n\n const Component: ElementType = as;\n\n return (\n <View>\n <Component\n {...props}\n stretch={isCurrentStretch}\n disabled={isLoading ? true : disabled}\n icon={isLoading ? <LoaderIcon /> : icon}\n onPress={handlePress}\n />\n </View>\n );\n}\n","import type { ReactElement } from 'react';\nimport type { Except } from 'type-fest';\nimport type { ButtonProps } from '../Button/Button';\nimport { Button } from '../Button/Button';\nimport type { ActionsItemProps } from './ActionsItem';\nimport { ActionsItem } from './ActionsItem';\n\nexport interface ActionsButtonProps\n extends Except<ButtonProps, 'onPress'>,\n Pick<ActionsItemProps<typeof Button>, 'onPress'> {}\n\nexport function ActionsButton({ ...props }: ActionsButtonProps): ReactElement {\n return <ActionsItem as={Button} {...props} />;\n}\n","import type { ReactElement } from 'react';\nimport type { Except } from 'type-fest';\nimport { Stack } from '../native-base/layout';\nimport type { StackProps } from '../native-base/layout';\nimport { ActionsButton } from './ActionsButton';\nimport { ActionsItem } from './ActionsItem';\n\ntype ActionsLayout = 'column' | 'row';\n\nfunction getCurrentLayout(layout: ActionsLayout | undefined): StackProps['alignItems'] {\n if (!layout) return { base: 'stretch', medium: 'center' };\n\n if (layout === 'column') return 'stretch';\n\n return 'center';\n}\n\nfunction getCurrentDirection(layout: ActionsLayout | undefined): StackProps['direction'] {\n if (!layout) return { base: 'column', medium: 'row' };\n\n if (layout === 'column') return 'column';\n\n return 'row';\n}\n\nexport interface ActionsProps extends Except<StackProps, 'space'> {\n layout?: ActionsLayout;\n}\n\nexport function Actions({ children, layout, ...props }: ActionsProps): ReactElement {\n const currentAlignItems = getCurrentLayout(layout);\n const currentDirection = getCurrentDirection(layout);\n\n return (\n <Stack alignItems={currentAlignItems} direction={currentDirection} flex={1} {...props} space=\"kitt.3\">\n {children}\n </Stack>\n );\n}\n\nActions.Button = ActionsButton;\nActions.Item = ActionsItem;\n","export const lateOceanColorPalette = {\n lateOcean: '#4C34E0',\n lateOceanLight1: '#705DE6',\n lateOceanLight2: '#9485EC',\n lateOceanLight3: '#D6BAF9',\n\n warmEmbrace: '#F4D3CE',\n warmEmbraceLight1: '#FFEDE6',\n\n black1000: '#000000',\n black800: '#333333',\n black555: '#737373',\n black400: '#999999',\n black200: '#CCCCCC',\n black100: '#E5E5E5',\n black50: '#F2F2F2',\n black25: '#F9F9F9',\n white: '#FFFFFF',\n\n viride: '#38836D',\n englishVermillon: '#D44148',\n goldCrayola: '#F8C583',\n aero: '#89BDDD',\n seaShell: '#FFF9F3',\n\n transparent: 'transparent',\n\n moonPurple: '#DBD6F9',\n moonPurpleLight1: '#EDEBFC',\n};\n","import { lateOceanColorPalette } from '../palettes/lateOceanColorPalette';\n\nexport const colors = {\n primary: lateOceanColorPalette.lateOcean,\n primaryLight: lateOceanColorPalette.lateOceanLight1,\n accent: lateOceanColorPalette.warmEmbrace,\n accentLight: lateOceanColorPalette.warmEmbraceLight1,\n success: lateOceanColorPalette.viride,\n correct: lateOceanColorPalette.viride,\n danger: lateOceanColorPalette.englishVermillon,\n info: lateOceanColorPalette.aero,\n warning: lateOceanColorPalette.goldCrayola,\n separator: lateOceanColorPalette.black100,\n hover: lateOceanColorPalette.black100,\n white: lateOceanColorPalette.white,\n black: lateOceanColorPalette.black1000,\n blackDisabled: lateOceanColorPalette.black400,\n blackLight: lateOceanColorPalette.black555,\n blackAnthracite: lateOceanColorPalette.black800,\n uiBackground: lateOceanColorPalette.black25,\n uiBackgroundLight: lateOceanColorPalette.white,\n transparent: lateOceanColorPalette.transparent,\n disabled: lateOceanColorPalette.black50,\n overlay: {\n dark: 'rgba(41, 48, 51, 0.25)',\n light: 'rgba(255, 255, 255, 0.90)',\n },\n};\n","import { lateOceanColorPalette } from '../palettes/lateOceanColorPalette';\nimport { colors } from './colors';\n\nexport const defaultAvatarSize = 40;\nexport const defaultAvatarIconSize = 20;\n\nexport const largeAvatarSize = 120;\nexport const largeAvatarIconSize = 30;\n\nexport interface AvatarThemeColorVariant {\n backgroundColor: string;\n}\n\nexport interface AvatarThemeSizeVariant {\n borderRadius: number;\n size: number;\n iconSize: number;\n}\n\nexport interface AvatarTheme {\n borderRadius: number;\n size: number;\n iconSize: number;\n default: AvatarThemeColorVariant;\n light: AvatarThemeColorVariant;\n large: AvatarThemeSizeVariant;\n}\n\nexport const avatar: AvatarTheme = {\n borderRadius: 10,\n size: defaultAvatarSize,\n iconSize: defaultAvatarIconSize,\n default: {\n backgroundColor: colors.primary,\n },\n light: {\n backgroundColor: lateOceanColorPalette.black100,\n },\n large: {\n borderRadius: 30,\n size: largeAvatarSize,\n iconSize: largeAvatarIconSize,\n },\n};\n","import { defaultAvatarSize, largeAvatarSize } from '../../themes/late-ocean/avatar';\nimport type { AvatarSizeVariant } from '../Avatar';\n\ninterface GetCurrentRadiusParams {\n size?: number;\n sizeVariant?: AvatarSizeVariant;\n round?: boolean;\n}\n\nexport function getCurrentRadius({ size, sizeVariant, round }: GetCurrentRadiusParams): string | number {\n if (round) {\n if (size) return size * 0.5;\n\n if (sizeVariant === 'large') return largeAvatarSize * 0.5;\n\n return defaultAvatarSize * 0.5;\n }\n\n if (sizeVariant === 'large') return 'kitt.avatar.large.borderRadius';\n\n return 'kitt.avatar.borderRadius';\n}\n","import type { AvatarSizeVariant } from '../Avatar';\n\ninterface GetCurrentSizeParams {\n size?: number;\n sizeVariant?: AvatarSizeVariant;\n}\n\nexport function getCurrentSize({ size, sizeVariant }: GetCurrentSizeParams): string | number {\n if (size) return size;\n\n if (sizeVariant === 'large') return 'kitt.avatar.large.size';\n\n return 'kitt.avatar.size';\n}\n","import { defaultAvatarIconSize, largeAvatarIconSize } from '../../themes/late-ocean/avatar';\nimport type { AvatarSizeVariant } from '../Avatar';\n\nexport function getIconSize(size: string | number, sizeVariant?: AvatarSizeVariant): number {\n if (typeof size === 'number') return size * 0.5;\n\n if (sizeVariant === 'large') return largeAvatarIconSize;\n\n return defaultAvatarIconSize;\n}\n","export function getInitials(firstname: string, lastname: string): string {\n return `${firstname[0]}${lastname[0]}`.toUpperCase();\n}\n","import { UserIcon } from '@ornikar/kitt-icons';\nimport type { ReactElement } from 'react';\nimport { Icon } from '../Icon/Icon';\nimport { Image, View } from '../native-base/primitives';\nimport { Typography } from '../typography/Typography';\nimport { getCurrentRadius } from './utils/getCurrentRadius';\nimport { getCurrentSize } from './utils/getCurrentSize';\nimport { getIconSize } from './utils/getIconSize';\nimport { getInitials } from './utils/getInitials';\n\nexport type AvatarSizeVariant = 'large';\n\ninterface AvatarContentProps extends Omit<AvatarProps, 'light' | 'round' | 'size'> {\n size: string | number;\n isLight?: boolean;\n sizeVariant?: AvatarSizeVariant;\n}\n\nfunction AvatarContent({\n size,\n src,\n firstname,\n lastname,\n alt,\n isLight,\n sizeVariant,\n}: AvatarContentProps): ReactElement {\n if (src) {\n return <Image source={{ uri: src }} width={size} height={size} alt={alt} accessibilityLabel={alt} />;\n }\n\n if (firstname && lastname) {\n return (\n <Typography.Text\n base={sizeVariant === 'large' ? 'body-large' : 'body-small'}\n variant={sizeVariant === 'large' ? 'bold' : 'regular'}\n color={isLight ? 'black' : 'white'}\n >\n {getInitials(firstname, lastname)}\n </Typography.Text>\n );\n }\n\n return <Icon icon={<UserIcon />} color={isLight ? 'black' : 'white'} size={getIconSize(size, sizeVariant)} />;\n}\n\nexport interface AvatarProps {\n size?: number;\n src?: string;\n alt?: string;\n firstname?: string | null;\n lastname?: string | null;\n round?: boolean;\n light?: boolean;\n sizeVariant?: AvatarSizeVariant;\n}\n\nexport function Avatar({ size, round, light, sizeVariant, ...props }: AvatarProps): ReactElement {\n const currentSize = getCurrentSize({ size, sizeVariant });\n const currentBorderRadius = getCurrentRadius({ size, sizeVariant, round });\n\n return (\n <View\n overflow=\"hidden\"\n alignItems=\"center\"\n justifyContent=\"center\"\n width={currentSize}\n height={currentSize}\n borderRadius={currentBorderRadius}\n backgroundColor={`kitt.avatar.${light ? 'light' : 'default'}.backgroundColor`}\n >\n <AvatarContent size={currentSize} isLight={light} sizeVariant={sizeVariant} {...props} />\n </View>\n );\n}\n","import {\n BottomSheetBackdrop,\n BottomSheetHandle,\n BottomSheetModal,\n BottomSheetScrollView,\n BottomSheetView,\n useBottomSheetDynamicSnapPoints,\n} from '@gorhom/bottom-sheet';\nimport type { BottomSheetModalMethods } from '@gorhom/bottom-sheet/lib/typescript/types';\nimport { View } from 'native-base';\nimport type { ForwardRefExoticComponent, MutableRefObject, ReactElement, ReactNode, Ref, RefAttributes } from 'react';\nimport { forwardRef, useMemo } from 'react';\nimport { SafeAreaView } from 'react-native-safe-area-context';\nimport { useTheme } from 'styled-components/native';\nimport type { Except } from 'type-fest';\nimport type { ViewProps } from 'native-base/primitives';\n\nexport interface BottomSheetProps {\n children?: ((props?: never) => React.ReactNode) | ReactNode;\n ref: MutableRefObject<BottomSheetModalMethods | null>;\n hasScrollView?: boolean;\n hasHandle?: boolean;\n hasBackdrop?: boolean;\n onDismiss?: () => void;\n}\n\nfunction BottomSheetComp(\n { children: Content, hasScrollView = false, hasBackdrop = true, hasHandle = true, onDismiss }: BottomSheetProps,\n ref: Ref<BottomSheetModal>,\n): ReactElement {\n const Wrapper = useMemo(() => (hasScrollView ? BottomSheetScrollView : BottomSheetView), [hasScrollView]);\n const theme = useTheme();\n const initialSnapPoints = useMemo(() => ['CONTENT_HEIGHT'], []);\n const { animatedHandleHeight, animatedSnapPoints, animatedContentHeight, handleContentLayout } =\n useBottomSheetDynamicSnapPoints(initialSnapPoints);\n\n return (\n <BottomSheetModal\n ref={ref}\n enablePanDownToClose\n snapPoints={animatedSnapPoints}\n index={0}\n handleHeight={animatedHandleHeight}\n handleIndicatorStyle={{\n width: 40,\n height: 4,\n borderRadius: 4,\n backgroundColor: theme.kitt.bottomSheet.handle.backgroundColor,\n }}\n handleComponent={(props) => (hasHandle ? <BottomSheetHandle {...props} /> : null)}\n backdropComponent={(props) =>\n hasBackdrop ? <BottomSheetBackdrop {...props} opacity={0.25} appearsOnIndex={0} disappearsOnIndex={-1} /> : null\n }\n contentHeight={animatedContentHeight}\n onDismiss={onDismiss}\n >\n {({ data }) => (\n <SafeAreaView edges={['bottom']} onLayout={handleContentLayout}>\n <Wrapper>{typeof Content === 'function' ? <Content {...data} /> : Content}</Wrapper>\n </SafeAreaView>\n )}\n </BottomSheetModal>\n );\n}\n\nfunction BottomSheetContainerView(props: ViewProps): ReactElement {\n return <View padding=\"kitt.bottomSheet.container.padding\" {...props} />;\n}\n\nexport const BottomSheet = forwardRef(BottomSheetComp) as ForwardRefExoticComponent<\n Except<BottomSheetProps, 'ref'> & RefAttributes<BottomSheetModalMethods>\n> & { View: typeof BottomSheetContainerView };\n\nBottomSheet.View = BottomSheetContainerView;\n","import type { BottomSheetModalMethods } from '@gorhom/bottom-sheet/lib/typescript/types';\nimport type { RefObject } from 'react';\nimport { useRef } from 'react';\n\nexport function useBottomSheet(): RefObject<BottomSheetModalMethods> {\n const ref = useRef<BottomSheetModalMethods>(null);\n\n return ref;\n}\n","import type { BottomSheetModalMethods } from '@gorhom/bottom-sheet/lib/typescript/types';\nimport type { ElementType, ReactElement, RefObject } from 'react';\nimport { useMemo, useRef } from 'react';\nimport type { BottomSheetProps } from './BottomSheet';\nimport { BottomSheet } from './BottomSheet';\n\ninterface BottomSheetRef<T> extends BottomSheetModalMethods {\n present: (bottomSheetComponenProps: T) => void;\n}\n\ntype ReducedBottomSheetProps = Pick<BottomSheetProps, 'hasScrollView'>;\n\n// This is used to fix:\n// React.ComponentProps<O> -> if O is a function component without any props it will return unknown but we want to have undefined\ntype IsExact<T, U> = [T] extends [U] ? ([U] extends [T] ? true : false) : false;\n\ntype BottomSheetComponentProps<O extends ElementType> = IsExact<React.ComponentProps<O>, unknown> extends true\n ? undefined\n : React.ComponentProps<O>;\n\nexport function useStaticBottomSheet<T extends ElementType>(\n Content: T,\n): {\n bottomSheetRef: RefObject<BottomSheetRef<BottomSheetComponentProps<T>>>;\n BottomSheet: (props: ReducedBottomSheetProps) => ReactElement;\n} {\n const bottomSheetRef = useRef<BottomSheetRef<BottomSheetComponentProps<T>>>(null);\n\n const BottomSheetMemoized = useMemo(\n () =>\n function renderBottomSheet(props: ReducedBottomSheetProps) {\n return (\n <BottomSheet {...props} ref={bottomSheetRef}>\n {Content}\n </BottomSheet>\n );\n },\n [Content],\n );\n\n return {\n bottomSheetRef,\n BottomSheet: BottomSheetMemoized,\n };\n}\n","import type { ReactElement, ReactNode } from 'react';\n\nexport interface ModalBehaviourPortalProps {\n visible?: boolean;\n children: ReactNode;\n}\n\nexport function ModalBehaviourPortal({ children }: ModalBehaviourPortalProps): ReactElement {\n // eslint-disable-next-line react/jsx-no-useless-fragment\n return <>{children}</>;\n}\n","import type { ReactElement, ReactNode } from 'react';\nimport { createContext, useContext } from 'react';\n\ntype OnCloseCallback = () => void;\n\nexport const OnCloseContext = createContext<OnCloseCallback>(() => {});\n\ninterface OnCloseProviderProps {\n children: ReactNode;\n onClose: OnCloseCallback;\n}\n\nexport function OnCloseProvider({ children, onClose }: OnCloseProviderProps): ReactElement {\n return <OnCloseContext.Provider value={onClose}>{children}</OnCloseContext.Provider>;\n}\n\nexport function useOnCloseModalBehaviour(): OnCloseCallback {\n const onClose = useContext(OnCloseContext);\n return onClose;\n}\n","import type { ReactElement, ReactNode } from 'react';\nimport { cloneElement } from 'react';\nimport { View } from '../native-base/primitives';\nimport { ModalBehaviourPortal } from './ModalBehaviourPortal';\nimport { OnCloseProvider, useOnCloseModalBehaviour } from './OnCloseContext';\n\ninterface CloseButtonProps {\n children: ReactElement;\n onPress?: () => void;\n}\n\nfunction CloseButton({ children, onPress }: CloseButtonProps): ReactElement {\n const onCloseContextCallback = useOnCloseModalBehaviour();\n\n const handleClose = (): void => {\n if (onPress) onPress();\n onCloseContextCallback();\n };\n\n return cloneElement(children, { onPress: handleClose });\n}\n\nexport interface ModalBehaviourProps {\n children: ReactNode;\n visible?: boolean;\n onClose: () => void;\n}\n\nexport function ModalBehaviour({ children, visible, onClose }: ModalBehaviourProps): ReactElement {\n return (\n <OnCloseProvider onClose={onClose}>\n <ModalBehaviourPortal visible={visible}>\n {visible ? (\n <View\n _web={{\n position: 'fixed',\n top: 0,\n left: 0,\n width: '100%',\n height: '100%',\n }}\n >\n {children}\n </View>\n ) : null}\n </ModalBehaviourPortal>\n </OnCloseProvider>\n );\n}\n\nModalBehaviour.CloseButton = CloseButton;\n","import type { ReactElement } from 'react';\nimport type { PressableProps } from 'react-native';\nimport { Pressable, StyleSheet } from 'react-native';\nimport styled from 'styled-components/native';\n\ninterface OverlayProps extends Pick<PressableProps, 'onPress'> {}\n\n// Don't use styled.Pressable here - babel-plugin-styled-components-react-native-web only supports tagged templates\nconst OverlayPressable = styled(Pressable)(({ theme }) => ({\n ...StyleSheet.absoluteFillObject,\n backgroundColor: theme.kitt.colors.overlay.dark,\n}));\n\nexport function Overlay({ onPress }: OverlayProps): ReactElement {\n return <OverlayPressable accessibilityRole=\"none\" onPress={onPress} />;\n}\n","import type { ReactElement } from 'react';\nimport type { ViewProps } from '../../native-base/primitives';\nimport { View } from '../../native-base/primitives';\n\ninterface CardModalRotationContainerProps extends ViewProps {}\n\nexport function CardModalRotationContainer(props: CardModalRotationContainerProps): ReactElement {\n return (\n <View\n paddingX=\"kitt.cardModal.overlayPadding.horizontal\"\n paddingY=\"kitt.cardModal.overlayPadding.vertical\"\n maxWidth=\"kitt.cardModal.maxWidthWithPadding\"\n width=\"100%\"\n {...props}\n />\n );\n}\n","import type { ReactElement, ReactNode } from 'react';\nimport { useRef } from 'react';\nimport { StyleSheet } from 'react-native';\nimport Animated, { Easing, runOnJS, useAnimatedStyle, withTiming } from 'react-native-reanimated';\nimport { useTheme } from 'styled-components/native';\n\nexport interface NativeOpacityAnimationProps {\n visible?: boolean;\n children: ReactNode;\n onExited: () => void;\n}\n\nexport function NativeOpacityAnimation({ visible, children, onExited }: NativeOpacityAnimationProps): ReactElement {\n const theme = useTheme();\n const hasRunAnimationRef = useRef(false);\n\n function handleAnimationFinished(): void {\n if (visible) {\n hasRunAnimationRef.current = true;\n }\n\n if (!visible && hasRunAnimationRef.current) {\n onExited();\n }\n }\n\n const opacityStyle = useAnimatedStyle(() => {\n const { duration, easing } = theme.kitt.cardModal.animation.overlay;\n const [x1, y1, x2, y2] = easing;\n\n return {\n opacity: withTiming(visible ? 1 : 0, { duration, easing: Easing.bezier(x1, y1, x2, y2) }, (isFinished) => {\n if (!isFinished) return;\n runOnJS(handleAnimationFinished)();\n }),\n };\n });\n\n return <Animated.View style={[StyleSheet.absoluteFillObject, opacityStyle]}>{children}</Animated.View>;\n}\n","import type { ReactElement, ReactNode } from 'react';\nimport { useRef } from 'react';\nimport Animated, { Easing, runOnJS, useAnimatedStyle, useSharedValue, withTiming } from 'react-native-reanimated';\nimport { useTheme } from 'styled-components/native';\nimport type { CardModalAnimationProps } from './CardModalAnimation';\n\nexport interface NativeRotationAnimationProps {\n children: ReactNode;\n topInset?: number;\n visible?: CardModalAnimationProps['visible'];\n onEntered?: CardModalAnimationProps['onEntered'];\n onExited: () => void;\n}\n\nexport function NativeRotationAnimation({\n visible,\n children,\n onEntered,\n onExited,\n}: NativeRotationAnimationProps): ReactElement | null {\n const theme = useTheme();\n\n const hasRunAnimationRef = useRef(false);\n\n const rotation = useSharedValue(0.8);\n\n function handleAnimationFinished(): void {\n if (visible) {\n if (onEntered) onEntered();\n hasRunAnimationRef.current = true;\n }\n\n if (!visible && hasRunAnimationRef.current) onExited();\n }\n\n const animatedStyle = useAnimatedStyle(() => {\n const { duration, easing } = theme.kitt.cardModal.animation.content;\n\n const [x1, y1, x2, y2] = easing;\n\n rotation.value = withTiming(visible ? 0 : 5, { duration, easing: Easing.bezier(x1, y1, x2, y2) }, (isFinished) => {\n if (!isFinished) return;\n runOnJS(handleAnimationFinished)();\n });\n\n return {\n opacity: withTiming(visible ? 1 : 0, { duration, easing: Easing.bezier(x1, y1, x2, y2) }),\n transform: [\n { scale: withTiming(visible ? 1 : 0.8, { duration, easing: Easing.bezier(x1, y1, x2, y2) }) },\n {\n rotateZ: `${rotation.value}deg`,\n },\n ],\n };\n });\n\n return <Animated.View style={[animatedStyle]}>{children}</Animated.View>;\n}\n","import type { ReactElement, ReactNode } from 'react';\nimport { useEffect, useState } from 'react';\nimport { Modal } from 'react-native';\nimport { Overlay } from '../../Overlay/Overlay';\nimport type { ViewProps } from '../../native-base/primitives';\nimport { ScrollView, View } from '../../native-base/primitives';\nimport { CardModalRotationContainer } from './CardModalRotationContainer';\nimport { NativeOpacityAnimation } from './NativeOpacityAnimation';\nimport { NativeRotationAnimation } from './NativeRotationAnimation';\n\nexport interface CardModalAnimationProps extends ViewProps {\n children: ReactNode;\n appear?: boolean;\n visible?: boolean;\n unmountOnExit?: boolean;\n isAnimationEnabled?: boolean;\n onEnter?: () => void;\n onEntered?: () => void;\n onExit?: () => void;\n onExited?: () => void;\n onClose?: () => void;\n}\n\nexport function CardModalAnimation({\n visible,\n children,\n onEnter,\n onEntered,\n onExit,\n onExited,\n onClose,\n}: CardModalAnimationProps): ReactElement {\n const [isModalVisible, setIsModalVisible] = useState(visible);\n const [isContentVisible, setIsContentVisible] = useState(false);\n\n const handleAnimationExited = (): void => {\n setIsModalVisible(false);\n };\n\n useEffect(() => {\n const shouldHideContent = !visible && isContentVisible;\n\n if (!shouldHideContent) return;\n\n if (onExit) onExit();\n setIsContentVisible(false);\n }, [visible, isContentVisible, onExit]);\n\n return (\n <Modal\n transparent\n visible={isModalVisible}\n onShow={() => {\n if (onEnter) onEnter();\n setIsContentVisible(true);\n }}\n onDismiss={() => {\n if (onExited) onExited();\n }}\n >\n <ScrollView bounces={false} contentContainerStyle={{ flexGrow: 1 }}>\n <View position=\"relative\" flex={1} justifyContent=\"center\">\n <NativeOpacityAnimation visible={isContentVisible} onExited={handleAnimationExited}>\n <Overlay onPress={onClose} />\n </NativeOpacityAnimation>\n\n <CardModalRotationContainer>\n <NativeRotationAnimation visible={isContentVisible} onExited={handleAnimationExited} onEntered={onEntered}>\n {children}\n </NativeRotationAnimation>\n </CardModalRotationContainer>\n </View>\n </ScrollView>\n </Modal>\n );\n}\n","import type { ReactElement } from 'react';\nimport { useEffect, useState } from 'react';\nimport { Platform } from 'react-native';\nimport type { ModalBehaviourProps } from '../ModalBehaviour/ModalBehaviour';\nimport { ModalBehaviour } from '../ModalBehaviour/ModalBehaviour';\nimport { ScrollView, View } from '../native-base/primitives';\nimport type { ScrollViewProps } from '../native-base/primitives';\nimport type { CardModalAnimationProps } from './CardModalAnimation/CardModalAnimation';\nimport { CardModalAnimation } from './CardModalAnimation/CardModalAnimation';\n\ninterface ScrollContainerProps extends ScrollViewProps {}\n\nfunction ScrollContainer({ children, ...props }: ScrollContainerProps): ReactElement {\n if (Platform.OS !== 'web') {\n return <View>{children}</View>;\n }\n\n return <ScrollView {...props}>{children}</ScrollView>;\n}\n\nexport interface CardModalBehaviourProps extends CardModalAnimationProps {\n onClose: ModalBehaviourProps['onClose'];\n}\n\nexport function CardModalBehaviour({\n children,\n visible,\n onClose,\n onExited,\n ...props\n}: CardModalBehaviourProps): ReactElement {\n const [isModalBehaviourVisible, setIsModalBehaviourVisible] = useState(visible);\n\n useEffect(() => {\n if (visible === true) {\n setIsModalBehaviourVisible(true);\n }\n }, [visible]);\n\n const handleExitAnimationDone = (): void => {\n if (onExited) onExited();\n setIsModalBehaviourVisible(false);\n };\n\n return (\n <ModalBehaviour visible={isModalBehaviourVisible} onClose={onClose}>\n <ScrollContainer bounces={false} contentContainerStyle={{ flexGrow: 1 }}>\n <CardModalAnimation {...props} visible={visible} onExited={handleExitAnimationDone} onClose={onClose}>\n {children}\n </CardModalAnimation>\n </ScrollContainer>\n </ModalBehaviour>\n );\n}\n","import type { ReactElement } from 'react';\nimport type { ViewProps } from '../native-base/primitives';\nimport { View } from '../native-base/primitives';\n\nexport interface CardModalBodyProps extends ViewProps {}\n\nexport function CardModalBody({\n children,\n paddingX = { base: 'kitt.4', medium: 'kitt.6' },\n paddingY = 'kitt.4',\n ...props\n}: CardModalBodyProps): ReactElement {\n return (\n <View paddingX={paddingX} paddingY={paddingY} {...props}>\n {children}\n </View>\n );\n}\n","import type { ReactElement } from 'react';\nimport type { ViewProps } from '../native-base/primitives';\nimport { View } from '../native-base/primitives';\n\nexport interface CardModalFooterProps extends ViewProps {\n hasSeparator?: boolean;\n}\n\nexport function CardModalFooter({\n children,\n padding = { base: 'kitt.4', medium: 'kitt.2' },\n hasSeparator = true,\n ...props\n}: CardModalFooterProps): ReactElement {\n return (\n <View\n {...props}\n marginTop=\"kitt.2\"\n padding={padding}\n borderTopWidth={hasSeparator ? 'kitt.cardModal.footer.borderWidth' : 0}\n borderColor=\"kitt.separator\"\n alignItems={{ base: undefined, medium: 'flex-end' }}\n >\n {children}\n </View>\n );\n}\n","import type { ReactElement, ReactNode } from 'react';\nimport type { Except } from 'type-fest';\nimport type { ViewProps } from '../native-base/primitives';\nimport { View } from '../native-base/primitives';\nimport { Typography } from '../typography/Typography';\n\ninterface BaseHeaderProps extends Except<ViewProps, 'left' | 'right'> {\n hasSeparator?: boolean;\n left?: ReactNode;\n right?: ReactNode;\n}\n\ninterface TitledHeaderProps extends BaseHeaderProps {\n title?: ReactNode;\n children?: never;\n}\n\ninterface ComponentHeaderProps extends BaseHeaderProps {\n title?: never;\n children?: ReactNode;\n}\n\nexport type CardModalHeaderProps = TitledHeaderProps | ComponentHeaderProps;\n\nexport function CardModalHeader({\n children,\n title,\n paddingBottom = { base: 'kitt.4', medium: 'kitt.2' },\n hasSeparator = true,\n right,\n left,\n ...props\n}: CardModalHeaderProps): ReactElement {\n const defaultContainerPadding = { base: 'kitt.4', medium: 'kitt.6' };\n\n return (\n <View\n {...props}\n padding={paddingBottom}\n borderBottomWidth={hasSeparator ? 'kitt.cardModal.footer.borderWidth' : 0}\n borderColor=\"kitt.separator\"\n justifyContent=\"center\"\n width=\"100%\"\n height=\"kitt.cardModal.header.height\"\n paddingRight={right ? 'kitt.2' : defaultContainerPadding}\n paddingLeft={left ? 'kitt.2' : defaultContainerPadding}\n >\n <View alignItems=\"center\" flexDirection=\"row\" justifyContent={!children && !left ? 'flex-end' : 'space-between'}>\n {left ? <View width=\"kitt.iconButton.width\">{left}</View> : null}\n\n <View flexGrow=\"1\" paddingRight={right ? 'kitt.2' : 0} paddingLeft={left ? 'kitt.2' : 0}>\n {title ? (\n <Typography.Text textAlign={!left && right ? 'left' : 'center'} variant=\"bold\">\n {title}\n </Typography.Text>\n ) : null}\n {children}\n </View>\n\n {right ? <View width=\"kitt.iconButton.width\">{right}</View> : null}\n </View>\n </View>\n );\n}\n","import type { ReactElement } from 'react';\nimport type { ViewProps } from '../native-base/primitives';\nimport { View } from '../native-base/primitives';\nimport { CardModalBehaviour } from './CardModalBehaviour';\nimport { CardModalBody } from './CardModalBody';\nimport { CardModalFooter } from './CardModalFooter';\nimport { CardModalHeader } from './CardModalHeader';\n\nexport interface CardModalProps extends ViewProps {\n withoutShadow?: boolean;\n}\n\nexport function CardModal({\n children,\n backgroundColor = 'kitt.uiBackgroundLight',\n maxWidth = 'kitt.cardModal.maxWidth',\n withoutShadow,\n ...props\n}: CardModalProps): ReactElement {\n return (\n <View\n {...props}\n overflow=\"hidden\"\n backgroundColor={backgroundColor}\n shadow={withoutShadow ? undefined : 'kitt.cardModal.shadow'}\n borderRadius=\"kitt.cardModal.borderRadius\"\n width=\"100%\"\n maxWidth={maxWidth}\n >\n {children}\n </View>\n );\n}\n\nCardModal.Body = CardModalBody;\nCardModal.Header = CardModalHeader;\nCardModal.Footer = CardModalFooter;\nCardModal.ModalBehaviour = CardModalBehaviour;\n","import type { ViewStyle } from 'react-native';\nimport {\n interpolateColor,\n useAnimatedStyle,\n useDerivedValue,\n useSharedValue,\n withTiming,\n} from 'react-native-reanimated';\nimport { useTheme } from 'styled-components/native';\n\ninterface UseNativeAnimationOptions {\n selected?: boolean;\n disabled?: boolean;\n isPressedInternal?: boolean;\n}\n\ninterface NativeAnimation {\n onPressIn: () => void;\n onPressOut: () => void;\n backgroundStyles: ViewStyle;\n}\n\nexport const useNativeAnimation = ({\n selected,\n disabled,\n isPressedInternal,\n}: UseNativeAnimationOptions): NativeAnimation => {\n const theme = useTheme();\n\n const pressed = useSharedValue(Boolean(isPressedInternal));\n const progress = useDerivedValue(() => {\n return withTiming(pressed.value ? 1 : 0, { duration: theme.kitt.choices.item.transition.duration });\n });\n\n const backgroundStyles = useAnimatedStyle(() => {\n const {\n default: defaultBg,\n pressed: pressedBg,\n selected: selectedBg,\n disabled: disabledBg,\n } = theme.kitt.choices.item.backgroundColor;\n\n if (disabled) return { backgroundColor: disabledBg };\n\n if (selected) return { backgroundColor: selectedBg };\n\n return {\n backgroundColor: interpolateColor(progress.value, [0, 1], [defaultBg, pressedBg]),\n };\n });\n\n const onPressIn = (): void => {\n pressed.value = true;\n };\n\n const onPressOut = (): void => {\n pressed.value = false;\n };\n\n return {\n onPressIn,\n onPressOut,\n backgroundStyles,\n };\n};\n","import type { ReactElement, ReactNode } from 'react';\nimport type { GestureResponderEvent } from 'react-native';\nimport { Platform, StyleSheet, View } from 'react-native';\nimport Animated from 'react-native-reanimated';\nimport styled, { css } from 'styled-components/native';\nimport { KittBreakpoints } from '../KittBreakpoints';\nimport { Pressable } from '../native-base/primitives';\nimport type { TypographyColor } from '../typography/Typography';\nimport { Typography } from '../typography/Typography';\nimport type { BaseChoicesProps } from './Choices';\nimport { useNativeAnimation } from './hooks/useNativeAnimation';\n\ninterface GetCurrentTextColorParams {\n isDisabled?: boolean;\n isSelected?: boolean;\n isPressed?: boolean;\n isHovered?: boolean;\n}\n\nfunction getCurrentTextColor({\n isDisabled,\n isSelected,\n isPressed,\n isHovered,\n}: GetCurrentTextColorParams): TypographyColor {\n if (isDisabled) return 'black-light';\n\n if (isSelected && isHovered) return 'white';\n\n if (isSelected || isPressed) return 'white';\n\n return 'black';\n}\n\ntype ChoiceItemVariant = 'rounded';\ntype ChoiceItemSize = BaseChoicesProps<null>['size'];\n\nfunction getBorderRadius(defaultRadius: number, variant?: ChoiceItemVariant): number {\n // The clean way to have the rounded effect would have been to know the children height since radius >= height * 0.5\n // We don't control over the height of the rendered children we just go with a arbitrary really high value\n const arbitraryHighHeightValue = 800;\n if (variant === 'rounded') return arbitraryHighHeightValue;\n\n return defaultRadius;\n}\n\ninterface DisabledBorderProps {\n $variant?: ChoiceItemVariant;\n}\n\nconst DisabledBorder = styled(View)<DisabledBorderProps>`\n border-radius: ${({ theme, $variant }) => getBorderRadius(theme.kitt.choices.item.borderRadius, $variant)}px;\n ${({ theme }) => {\n const { width, color } = theme.kitt.choices.item.disabled.border;\n\n return css`\n border: ${width}px solid ${color};\n `;\n }};\n`;\n\ninterface ChoiceItemPressableProps {\n $variant?: ChoiceItemVariant;\n $size?: ChoiceItemSize;\n $isHovered?: boolean;\n $isPressed?: boolean;\n $isDisabled?: boolean;\n $isSelected?: boolean;\n}\n\nconst ChoiceItemView = styled(Platform.OS === 'web' ? View : Animated.View)<ChoiceItemPressableProps>`\n position: relative;\n border-radius: ${({ theme, $variant }) => getBorderRadius(theme.kitt.choices.item.borderRadius, $variant)}px;\n background-color: ${({ theme, $isHovered, $isPressed, $isDisabled, $isSelected }) => {\n const {\n hoverWhenSelected,\n hover,\n disabled,\n selected,\n pressed,\n default: defaultBackground,\n } = theme.kitt.choices.item.backgroundColor;\n\n if ($isDisabled) return disabled;\n\n if ($isSelected && $isHovered) return hoverWhenSelected;\n\n if ($isPressed) return pressed;\n\n if ($isHovered) return hover;\n\n if ($isSelected) return selected;\n\n return defaultBackground;\n }};\n\n ${({ theme, $size }) => {\n const { base, small } = theme.kitt.choices.item.padding;\n\n if ($size === 'small') {\n return css`\n padding: ${base / 2}px ${base}px;\n `;\n }\n\n return theme.responsive.ifWindowSizeMatches(\n {\n minWidth: KittBreakpoints.SMALL,\n },\n css`\n padding: ${small}px;\n `,\n css`\n padding: ${base}px;\n `,\n );\n }};\n\n ${({ theme }) => {\n if (Platform.OS !== 'web') return undefined;\n\n const { property, duration, timingFunction } = theme.kitt.choices.item.transition;\n\n return css`\n transition: ${property} ${duration}ms ${timingFunction};\n `;\n }}\n`;\n\nexport type ChoiceItemType = 'button' | 'radio' | 'checkbox' | undefined;\n\nexport interface BaseChoiceItemProps<V> {\n type?: ChoiceItemType;\n children: ReactNode;\n disabled?: boolean;\n variant?: ChoiceItemVariant;\n size?: ChoiceItemSize;\n value?: V;\n selected?: boolean;\n /**\n * @internal Used to display pressed UI for testing and storybook purpose\n */\n isPressedInternal?: boolean;\n /**\n * @internal Used to display hovered UI for testing and storybook purpose\n */\n isHoveredInternal?: boolean;\n onPress?: () => void;\n onChange?: (value?: V) => void;\n onFocus?: (e?: any | GestureResponderEvent) => void;\n onBlur?: (e?: any | GestureResponderEvent) => void;\n}\n\nexport interface ChoiceItemButtonProps<V> extends BaseChoiceItemProps<V> {\n type?: 'button';\n value?: never;\n selected?: never;\n onChange?: never;\n}\n\nexport interface ChoiceItemFormElementProps<V> extends BaseChoiceItemProps<V> {\n type: 'radio' | 'checkbox';\n onPress?: never;\n}\n\nexport type ChoiceItemProps<V> = ChoiceItemButtonProps<V> | ChoiceItemFormElementProps<V>;\n\nexport function ChoiceItem<V>({\n type = 'button',\n value,\n selected,\n disabled,\n variant,\n children,\n isPressedInternal,\n isHoveredInternal,\n onPress,\n onChange,\n onBlur,\n onFocus,\n size,\n}: ChoiceItemProps<V>): ReactElement {\n const { onPressIn, onPressOut, backgroundStyles } = useNativeAnimation({ selected, disabled, isPressedInternal });\n\n const handleChange = (): void => {\n if (!onChange) return;\n\n // Checkbox can be toggled\n if (type === 'checkbox') {\n onChange(selected ? undefined : value);\n return;\n }\n\n onChange(value);\n };\n\n const handlePress = (e: GestureResponderEvent): void => {\n if (onFocus) onFocus(e);\n\n if (onPress) onPress();\n handleChange();\n\n if (onBlur) onBlur(e);\n };\n\n return (\n <Pressable\n disabled={disabled}\n accessibilityRole={type}\n accessibilityState={{ checked: selected }}\n onBlur={onBlur}\n onFocus={onFocus}\n onPress={handlePress}\n onPressIn={onPressIn}\n onPressOut={onPressOut}\n >\n {({ isHovered, isPressed }) => (\n <ChoiceItemView\n style={Platform.OS !== 'web' ? [backgroundStyles] : undefined}\n $isHovered={isHovered || isHoveredInternal}\n $isDisabled={disabled}\n $isSelected={selected}\n $isPressed={isPressed || isPressedInternal}\n $variant={variant}\n $size={size}\n >\n <Typography.SetDefaultColor\n value={getCurrentTextColor({\n isDisabled: disabled,\n isSelected: selected || isPressedInternal,\n isPressed,\n isHovered: isHovered || isHoveredInternal,\n })}\n >\n {children}\n </Typography.SetDefaultColor>\n {disabled ? <DisabledBorder $variant={variant} style={StyleSheet.absoluteFillObject} /> : null}\n </ChoiceItemView>\n )}\n </Pressable>\n );\n}\n","import { View } from 'react-native';\nimport styled, { css } from 'styled-components/native';\nimport type { ChoicesDirection } from './Choices';\n\ninterface ChoiceItemContainerProps {\n $isLast?: boolean;\n $direction: ChoicesDirection;\n}\n\nexport const ChoiceItemContainer = styled(View)<ChoiceItemContainerProps>`\n ${({ theme, $isLast, $direction }) => {\n const { row, column } = theme.kitt.choices.spacing;\n\n if ($direction === 'row') {\n return css`\n margin-right: ${$isLast ? 0 : row}px;\n `;\n }\n\n return css`\n margin-bottom: ${$isLast ? 0 : column}px;\n `;\n }}\n`;\n","import type { ReactElement, ReactNode } from 'react';\nimport { Children, cloneElement, useState } from 'react';\nimport type { ViewProps } from 'react-native';\nimport { ScrollView, View } from 'react-native';\nimport type { Except, SetOptional } from 'type-fest';\nimport type { ChoiceItemButtonProps, ChoiceItemFormElementProps, ChoiceItemType } from './ChoiceItem';\nimport { ChoiceItem } from './ChoiceItem';\nimport { ChoiceItemContainer } from './ChoiceItemContainer';\n\nexport type ChoicesDirection = 'row' | 'column';\n\ninterface ChoicesContainerProps extends ViewProps {\n children: ReactNode;\n direction: ChoicesDirection;\n}\n\nfunction ChoicesContainer({ direction, ...props }: ChoicesContainerProps): ReactElement {\n if (direction === 'row') {\n return <ScrollView horizontal {...props} />;\n }\n\n return <View {...props} />;\n}\n\ntype ChoicesPropsToPick = 'type' | 'variant' | 'disabled' | 'value' | 'onPress' | 'onChange' | 'onBlur' | 'onFocus';\ntype ChoicesSize = 'small';\n\n// eslint-disable-next-line @typescript-eslint/no-unused-vars\nexport interface BaseChoicesProps<V> {\n id?: string;\n testID?: string;\n children: ReactNode;\n direction?: ChoicesDirection;\n size?: ChoicesSize;\n}\n\nexport interface ChoicesButtonProps<V, ChoiceType extends ChoiceItemButtonProps<V>['type']>\n extends BaseChoicesProps<V>,\n Pick<ChoiceItemButtonProps<V>, ChoicesPropsToPick> {\n type?: ChoiceType;\n}\n\nexport interface ChoicesFormElementProps<V, ChoiceType extends ChoiceItemFormElementProps<V>['type']>\n extends BaseChoicesProps<V>,\n Pick<ChoiceItemFormElementProps<V>, ChoicesPropsToPick> {\n type: ChoiceType;\n}\n\nexport type ChoicesItemPropsFromChoiceType<\n V,\n ChoiceType extends ChoiceItemType,\n> = ChoiceType extends ChoiceItemFormElementProps<V>['type'] ? ChoiceItemFormElementProps<V> : ChoiceItemButtonProps<V>;\n\nexport type ChoicesProps<\n V,\n ChoiceType extends ChoiceItemType,\n> = ChoiceType extends ChoiceItemFormElementProps<V>['type']\n ? ChoicesFormElementProps<V, ChoiceType>\n : ChoicesButtonProps<V, 'button'>;\n\ntype ExcludeChoiceItemProvidedByChoices = 'type' | 'onPress' | 'onChange' | 'onFocus' | 'onBlur';\ntype OptionalChoiceItemProvidedByChoices = 'variant' | 'disabled' | 'size';\n\nfunction Choices<V, ChoiceType extends ChoiceItemType>({\n id,\n testID,\n type,\n direction = 'column',\n disabled,\n children,\n value,\n variant,\n onPress,\n onChange,\n onFocus,\n onBlur,\n size,\n}: ChoicesProps<V, ChoiceType>): ReactElement {\n const [currentValue, setCurrentValue] = useState(value);\n\n const isForm = type && ['radio', 'checkbox'].includes(type);\n\n const childrenArray = Children.toArray(children) as ReactElement<\n ChoicesItemPropsFromChoiceType<V, ChoiceType>,\n typeof ChoiceItem\n >[];\n\n const handleChange: ChoicesItemPropsFromChoiceType<V, ChoiceType>['onChange'] = (newValue) => {\n setCurrentValue(newValue);\n if (onChange) onChange(newValue);\n };\n\n const sharedProps: Pick<\n ChoicesItemPropsFromChoiceType<V, ChoiceType>,\n ExcludeChoiceItemProvidedByChoices | OptionalChoiceItemProvidedByChoices\n > = {\n type,\n disabled,\n variant,\n onPress: !isForm ? onPress : undefined,\n onChange: isForm ? handleChange : undefined,\n onFocus,\n onBlur,\n size,\n };\n\n return (\n <ChoicesContainer direction={direction} testID={testID} nativeID={id}>\n {childrenArray.map((child, index) => {\n const element = cloneElement<ChoicesItemPropsFromChoiceType<V, ChoiceType>>(child, {\n selected: isForm ? child.props.value === currentValue : undefined,\n ...sharedProps,\n } as any);\n\n return (\n <ChoiceItemContainer key={child.key} $direction={direction} $isLast={index === childrenArray.length - 1}>\n {element}\n </ChoiceItemContainer>\n );\n })}\n </ChoicesContainer>\n );\n}\n\nChoices.Item = ChoiceItem;\n\nexport interface CreateChoices<V, ChoiceType extends ChoiceItemType> {\n (props: ChoicesProps<V, ChoiceType>): ReactElement;\n Item: (\n props: SetOptional<\n Except<ChoicesItemPropsFromChoiceType<V, ChoiceType>, OptionalChoiceItemProvidedByChoices>,\n ExcludeChoiceItemProvidedByChoices\n >,\n ) => ReactElement;\n}\n\nexport function createChoicesComponent<V, ChoiceType extends ChoiceItemType>(): CreateChoices<V, ChoiceType> {\n return Choices as CreateChoices<V, ChoiceType>;\n}\n\nconst ButtonChoices = createChoicesComponent<never, 'button'>();\n\nChoices.ButtonChoices = ButtonChoices;\n\nexport const ChoicesElements = {\n Item: ChoiceItem,\n ButtonChoices,\n};\n","import type { ReactElement, ReactNode } from 'react';\nimport { useRef } from 'react';\nimport { StyleSheet } from 'react-native';\nimport Animated, { Easing, runOnJS, useAnimatedStyle, withTiming } from 'react-native-reanimated';\nimport { useTheme } from 'styled-components/native';\n\nexport interface NativeOpacityAnimationProps {\n visible?: boolean;\n children: ReactNode;\n onExited: () => void;\n}\n\nexport function NativeOpacityAnimation({ visible, children, onExited }: NativeOpacityAnimationProps): ReactElement {\n const theme = useTheme();\n const hasRunAnimationRef = useRef(false);\n\n function handleAnimationFinished(): void {\n if (visible) {\n hasRunAnimationRef.current = true;\n }\n\n if (!visible && hasRunAnimationRef.current) {\n onExited();\n }\n }\n\n const opacityStyle = useAnimatedStyle(() => {\n const { duration, easing } = theme.kitt.dialogModal.animation.overlay;\n const [x1, y1, x2, y2] = easing;\n\n return {\n opacity: withTiming(visible ? 1 : 0, { duration, easing: Easing.bezier(x1, y1, x2, y2) }, (isFinished) => {\n if (!isFinished) return;\n runOnJS(handleAnimationFinished)();\n }),\n };\n });\n\n return <Animated.View style={[StyleSheet.absoluteFillObject, opacityStyle]}>{children}</Animated.View>;\n}\n","import type { ReactElement, ReactNode } from 'react';\nimport { useRef } from 'react';\nimport Animated, { Easing, runOnJS, useAnimatedStyle, useSharedValue, withTiming } from 'react-native-reanimated';\nimport { useTheme } from 'styled-components/native';\nimport type { DialogModalAnimationProps } from './DialogModalAnimation';\n\nexport interface NativeRotationAnimationProps {\n children: ReactNode;\n topInset?: number;\n visible?: DialogModalAnimationProps['visible'];\n onEntered?: DialogModalAnimationProps['onEntered'];\n onExited: () => void;\n}\n\nexport function NativeRotationAnimation({\n visible,\n children,\n onEntered,\n onExited,\n}: NativeRotationAnimationProps): ReactElement | null {\n const theme = useTheme();\n\n const hasRunAnimationRef = useRef(false);\n\n const rotation = useSharedValue(0.8);\n\n function handleAnimationFinished(): void {\n if (visible) {\n if (onEntered) onEntered();\n hasRunAnimationRef.current = true;\n }\n\n if (!visible && hasRunAnimationRef.current) onExited();\n }\n\n const animatedStyle = useAnimatedStyle(() => {\n const { duration, easing } = theme.kitt.dialogModal.animation.content;\n\n const [x1, y1, x2, y2] = easing;\n\n rotation.value = withTiming(visible ? 0 : 5, { duration, easing: Easing.bezier(x1, y1, x2, y2) }, (isFinished) => {\n if (!isFinished) return;\n runOnJS(handleAnimationFinished)();\n });\n\n return {\n opacity: withTiming(visible ? 1 : 0, { duration, easing: Easing.bezier(x1, y1, x2, y2) }),\n transform: [\n { scale: withTiming(visible ? 1 : 0.8, { duration, easing: Easing.bezier(x1, y1, x2, y2) }) },\n {\n rotateZ: `${rotation.value}deg`,\n },\n ],\n };\n });\n\n return <Animated.View style={[animatedStyle]}>{children}</Animated.View>;\n}\n","import type { ReactElement, ReactNode } from 'react';\nimport { useEffect, useState } from 'react';\nimport { Modal } from 'react-native';\nimport { Overlay } from '../../Overlay/Overlay';\nimport type { ViewProps } from '../../native-base/primitives';\nimport { View } from '../../native-base/primitives';\nimport { NativeOpacityAnimation } from './NativeOpacityAnimation';\nimport { NativeRotationAnimation } from './NativeRotationAnimation';\n\nexport interface DialogModalAnimationProps extends ViewProps {\n children: ReactNode;\n appear?: boolean;\n visible?: boolean;\n unmountOnExit?: boolean;\n isAnimationEnabled?: boolean;\n onEnter?: () => void;\n onEntered?: () => void;\n onExit?: () => void;\n onExited?: () => void;\n onClose?: () => void;\n}\n\nexport function DialogModalAnimation({\n visible,\n children,\n onEnter,\n onEntered,\n onExit,\n onExited,\n onClose,\n}: DialogModalAnimationProps): ReactElement {\n const [isModalVisible, setIsModalVisible] = useState(visible);\n const [isContentVisible, setIsContentVisible] = useState(false);\n\n const handleAnimationExited = (): void => {\n setIsModalVisible(false);\n };\n\n useEffect(() => {\n const shouldHideContent = !visible && isContentVisible;\n\n if (!shouldHideContent) return;\n\n if (onExit) onExit();\n setIsContentVisible(false);\n }, [visible, isContentVisible, onExit]);\n\n return (\n <Modal\n transparent\n visible={isModalVisible}\n onShow={() => {\n if (onEnter) onEnter();\n setIsContentVisible(true);\n }}\n onDismiss={() => {\n if (onExited) onExited();\n }}\n >\n <View position=\"relative\" flex={1} justifyContent=\"center\" alignItems=\"center\">\n <NativeOpacityAnimation visible={isContentVisible} onExited={handleAnimationExited}>\n <Overlay onPress={onClose} />\n </NativeOpacityAnimation>\n\n <NativeRotationAnimation visible={isContentVisible} onExited={handleAnimationExited} onEntered={onEntered}>\n <View\n paddingX=\"kitt.dialogModal.overlayPadding.horizontal\"\n paddingY=\"kitt.dialogModal.overlayPadding.vertical\"\n >\n {children}\n </View>\n </NativeRotationAnimation>\n </View>\n </Modal>\n );\n}\n","import type { ReactElement } from 'react';\nimport { useEffect, useState } from 'react';\nimport type { ModalBehaviourProps } from '../ModalBehaviour/ModalBehaviour';\nimport { ModalBehaviour } from '../ModalBehaviour/ModalBehaviour';\nimport { ScrollView } from '../native-base/primitives';\nimport type { DialogModalAnimationProps } from './DialogModalAnimation/DialogModalAnimation';\nimport { DialogModalAnimation } from './DialogModalAnimation/DialogModalAnimation';\n\nexport interface DialogModalBehaviourProps extends DialogModalAnimationProps {\n onClose: ModalBehaviourProps['onClose'];\n}\n\nexport function DialogModalBehaviour({\n children,\n visible,\n onClose,\n onExited,\n ...props\n}: DialogModalBehaviourProps): ReactElement {\n const [isModalBehaviourVisible, setIsModalBehaviourVisible] = useState(visible);\n\n useEffect(() => {\n if (visible === true) {\n setIsModalBehaviourVisible(true);\n }\n }, [visible]);\n\n const handleExitAnimationDone = (): void => {\n if (onExited) onExited();\n setIsModalBehaviourVisible(false);\n };\n\n return (\n <ModalBehaviour visible={isModalBehaviourVisible} onClose={onClose}>\n <ScrollView bounces={false} contentContainerStyle={{ flexGrow: 1 }}>\n <DialogModalAnimation {...props} visible={visible} onExited={handleExitAnimationDone} onClose={onClose}>\n {children}\n </DialogModalAnimation>\n </ScrollView>\n </ModalBehaviour>\n );\n}\n","import type { ReactElement, ReactFragment, ReactNode } from 'react';\nimport type { ActionsButtonProps } from '..';\nimport { Actions } from '../Actions/Actions';\nimport { View } from '../native-base/primitives';\nimport { DialogModalBehaviour } from './DialogModalBehaviour';\n\nexport interface DialogModalProps {\n illustration?: ReactNode;\n actions?: ReactFragment;\n title?: ReactNode;\n children: ReactNode;\n}\n\nexport function DialogModal({ illustration, title, children, actions }: DialogModalProps): ReactElement {\n return (\n <View\n alignItems=\"center\"\n maxWidth=\"kitt.dialogModal.maxWidth\"\n backgroundColor=\"kitt.uiBackgroundLight\"\n borderRadius=\"kitt.dialogModal.borderRadius\"\n shadow=\"kitt.dialogModal.shadow\"\n >\n {illustration ? <View>{illustration}</View> : null}\n\n <View\n width=\"100%\"\n alignItems=\"center\"\n padding={{ base: 'kitt.4', medium: 'kitt.6' }}\n paddingTop={illustration ? 'kitt.8' : 'kitt.6'}\n >\n {title ? <View marginBottom=\"kitt.2\">{title}</View> : null}\n\n <View marginBottom=\"kitt.8\">{children}</View>\n\n {actions ? (\n <Actions flex={undefined} width=\"100%\" layout=\"column\">\n {actions}\n </Actions>\n ) : null}\n </View>\n </View>\n );\n}\n\nDialogModal.ModalBehaviour = DialogModalBehaviour;\n\ninterface DialogModalButtonProps extends ActionsButtonProps {}\n\nfunction DialogModalButton({ stretch = true, ...props }: DialogModalButtonProps): ReactElement {\n return <Actions.Button stretch={stretch} {...props} />;\n}\n\nDialogModal.Button = DialogModalButton;\n","import type { IImageProps } from 'native-base';\nimport { Image } from 'native-base';\nimport type { ReactElement } from 'react';\nimport { useMemo } from 'react';\nimport type { ImageProps } from 'react-native';\nimport { Platform } from 'react-native';\nimport { parse } from 'twemoji-parser';\nimport type { KittResponsiveProp } from '../KittBreakpoints';\n\nexport interface EmojiProps extends Pick<ImageProps, 'style'> {\n emoji: string;\n size: number | KittResponsiveProp<number>;\n alignSelf?: IImageProps['alignSelf'];\n _web?: IImageProps['_web'];\n}\n\nexport function Emoji({ emoji, size, alignSelf, _web, style }: EmojiProps): ReactElement | null {\n const [emojiData] = useMemo(\n () =>\n parse(emoji, {\n // on native plaforms, you can't display svg as Image\n assetType: Platform.OS === 'web' ? 'svg' : 'png',\n }),\n [emoji],\n );\n\n if (!emojiData) return null;\n\n return (\n <Image\n size={size}\n alt={emojiData.text}\n accessibilityLabel={emojiData.text}\n source={{ uri: emojiData.url }}\n style={style}\n alignSelf={alignSelf}\n _web={_web}\n />\n );\n}\n","import type { ComponentProps, ReactElement, VoidFunctionComponent } from 'react';\nimport type { GestureResponderEvent, PressableProps, TextProps } from 'react-native';\nimport { Linking } from 'react-native';\n\ntype ExternalAppLinkScheme = 'sms' | 'tel' | 'mailto';\n\nexport interface ExternalAppLinkAsComponentMinimumRequiredProps {\n href?: TextProps['href'];\n hrefAttrs?: TextProps['hrefAttrs'];\n onPress?: PressableProps['onPress'];\n}\n\nexport interface ExternalAppLinkProps<C extends VoidFunctionComponent<any>> {\n as: C;\n appScheme: ExternalAppLinkScheme;\n appValue: string;\n onPress?: PressableProps['onPress'];\n onOpenAppError?: (err: string) => void;\n}\n\nexport interface ExternalAppLinkPhoneProps<C extends VoidFunctionComponent<any>>\n extends Partial<ExternalAppLinkProps<C>> {\n phoneNumber: string;\n}\n\nexport interface ExternalAppLinkMailProps<C extends VoidFunctionComponent<any>>\n extends Partial<ExternalAppLinkProps<C>> {\n emailAddress: string;\n}\n\n/** @internal for ExternalAppLink.web.tsx only */\n// eslint-disable-next-line @typescript-eslint/ban-types\nexport type ExternalAppLinkSendableComponentProps<C extends VoidFunctionComponent<any>> = Omit<\n ComponentProps<C>,\n keyof ExternalAppLinkProps<C> & keyof ExternalAppLinkAsComponentMinimumRequiredProps\n>;\n\nexport function ExternalAppLink<C extends VoidFunctionComponent<any>>({\n as: Component,\n appScheme,\n appValue,\n onPress,\n onOpenAppError,\n ...rest\n}: ExternalAppLinkProps<C> & ExternalAppLinkSendableComponentProps<C>): ReactElement {\n const href = `${appScheme}:${appValue}`;\n\n const handleOnPress = async (e: GestureResponderEvent): Promise<void> => {\n try {\n const canOpen = await Linking.canOpenURL(href);\n\n if (canOpen) {\n if (onPress) {\n onPress(e);\n if (e?.defaultPrevented) return;\n }\n\n Linking.openURL(href).catch((error) => {\n console.error(`An error occurred while opening ${href}`, error);\n\n onOpenAppError?.(`An error occurred while opening ${href}`);\n });\n } else {\n onOpenAppError?.(`Cannot open url: ${href}`);\n }\n } catch {\n onOpenAppError?.('An error occured with Linkinf.canOpenURL');\n }\n };\n\n return <Component href={href} {...(rest as any)} onPress={handleOnPress} />;\n}\n\nExternalAppLink.Sms = function ExternalAppLinkSms<C extends VoidFunctionComponent<any>>({\n phoneNumber,\n children,\n ...rest\n}: ExternalAppLinkPhoneProps<C> & ExternalAppLinkSendableComponentProps<C>): ReactElement {\n return (\n <ExternalAppLink {...(rest as any)} appScheme=\"sms\" appValue={phoneNumber}>\n {children}\n </ExternalAppLink>\n );\n};\n\nExternalAppLink.Tel = function ExternalAppLinkTel<C extends VoidFunctionComponent<any>>({\n phoneNumber,\n children,\n ...rest\n}: ExternalAppLinkPhoneProps<C> & ExternalAppLinkSendableComponentProps<C>): ReactElement {\n return (\n <ExternalAppLink {...(rest as any)} appScheme=\"tel\" appValue={phoneNumber}>\n {children}\n </ExternalAppLink>\n );\n};\n\nExternalAppLink.Mail = function ExternalAppLinkMail<C extends VoidFunctionComponent<any>>({\n emailAddress,\n children,\n ...rest\n}: ExternalAppLinkMailProps<C> & ExternalAppLinkSendableComponentProps<C>): ReactElement {\n return (\n <ExternalAppLink {...(rest as any)} appScheme=\"mailto\" appValue={emailAddress}>\n {children}\n </ExternalAppLink>\n );\n};\n","export interface ExternalLinkOpenLinkBehavior {\n /**\n * @default 'openInModal'\n *\n * @description open link behavior in native\n *\n * \"openInModal\": open via [expo-web-browser](https://docs.expo.dev/versions/latest/sdk/webbrowser/)\n *\n * \"openBrowserApp\": open via [Linking](https://docs.expo.dev/guides/linking/#opening-links-from-your-app)\n */\n native?: 'openInModal' | 'openBrowserApp';\n\n /**\n * @default 'targetBlank'\n *\n * @description open link behavior in native\n *\n * \"targetSelf\": no dom attributes added, behave like `target=\"_self\"`\n *\n * \"targetBlank\": dome attributes: `target=\"_blank\" rel=\"noopener noreferrer\"`\n */\n web?: 'targetSelf' | 'targetBlank';\n}\n\nexport const defaultOpenLinkBehavior: ExternalLinkOpenLinkBehavior = {\n native: 'openInModal',\n web: 'targetBlank',\n};\n","import * as WebBrowser from 'expo-web-browser';\nimport type { ComponentProps, ReactElement, VoidFunctionComponent } from 'react';\nimport type { PressableProps, TextProps } from 'react-native';\nimport { Linking } from 'react-native';\nimport type { ExternalLinkOpenLinkBehavior } from './ExternalLinkOpenLinkBehavior';\nimport { defaultOpenLinkBehavior } from './ExternalLinkOpenLinkBehavior';\n\nexport interface ExternalLinkAsComponentMinimumRequiredProps {\n href?: TextProps['href'];\n hrefAttrs?: TextProps['hrefAttrs'];\n onPress?: PressableProps['onPress'];\n}\n\nexport interface ExternalLinkProps<C extends VoidFunctionComponent<any>> {\n as: C;\n openLinkBehavior?: ExternalLinkOpenLinkBehavior;\n href?: string;\n onPress?: PressableProps['onPress'];\n}\n\n/** @internal for ExternalLink.web.tsx only */\n// eslint-disable-next-line @typescript-eslint/ban-types\nexport type ExternalLinkSendableComponentProps<C extends VoidFunctionComponent<any>> = Omit<\n ComponentProps<C>,\n keyof ExternalLinkProps<C> & keyof ExternalLinkAsComponentMinimumRequiredProps\n>;\n\nexport function ExternalLink<C extends VoidFunctionComponent<any>>({\n as: Component,\n href,\n openLinkBehavior = defaultOpenLinkBehavior,\n onPress,\n ...rest\n}: ExternalLinkProps<C> & ExternalLinkSendableComponentProps<C>): ReactElement {\n const handleOnPress: PressableProps['onPress'] = (e) => {\n if (onPress) {\n onPress(e);\n if (e?.defaultPrevented) return;\n }\n\n if (!href) return;\n\n switch (openLinkBehavior.native) {\n case 'openInModal':\n case undefined:\n WebBrowser.openBrowserAsync(href).catch((error) => {\n console.error(`An error occurred while opening ${href}`, error);\n });\n break;\n case 'openBrowserApp':\n Linking.openURL(href).catch((error) => {\n console.error(`An error occurred while opening ${href}`, error);\n });\n break;\n default:\n if (__DEV__) {\n throw new Error(`Invalid ExternalLink native behavior: ${openLinkBehavior.native as string}`);\n }\n }\n };\n\n return <Component {...(rest as any)} onPress={handleOnPress} />;\n}\n","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\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: nextDay ? nextDay.toString() : '',\n };\n }\n\n case 'month-change': {\n const { nextMonth } = action;\n\n return {\n ...state,\n currentMonth: nextMonth,\n displayedMonth: nextMonth ? nextMonth.toString() : '',\n };\n }\n\n case 'year-change': {\n const { nextYear } = action;\n\n return {\n ...state,\n currentYear: nextYear,\n displayedYear: nextYear ? nextYear.toString() : '',\n };\n }\n\n case 'day-blur': {\n const nextCurrentDay = getDayInInterval(state.currentDay);\n\n return {\n ...state,\n displayedDay: nextCurrentDay ? dayFormatter(nextCurrentDay) : state.displayedDay,\n };\n }\n\n case 'month-blur': {\n const { minDate, maxDate } = state;\n\n const nextCurrentMonth = getMonthInInterval(state.currentMonth, minDate, maxDate);\n\n return {\n ...state,\n currentMonth: nextCurrentMonth,\n displayedMonth: nextCurrentMonth !== undefined ? monthFormatter(nextCurrentMonth) : state.displayedMonth,\n };\n }\n\n case 'year-blur': {\n const { minDate, maxDate } = state;\n\n const nextCurrentYear = getYearInInterval(state.currentYear, minDate, maxDate);\n\n return {\n ...state,\n currentYear: nextCurrentYear,\n displayedYear: nextCurrentYear !== undefined ? yearFormatter(nextCurrentYear) : state.displayedYear,\n };\n }\n\n default:\n return state;\n }\n};\n","export function isNumber(input?: unknown): boolean {\n // Number.isNaN and isNaN are not consistent\n // eslint-disable-next-line no-restricted-globals\n return !isNaN(input as any);\n}\n","interface OnDatePartChangeParams {\n day?: number;\n month?: number;\n year?: number;\n validYearMinLength?: number;\n minDate?: Date;\n maxDate?: Date;\n onChange: (v?: Date) => void;\n onBlur?: () => void;\n onFocus?: () => void;\n}\n\nexport function onDatePartChange({\n day,\n month,\n year,\n validYearMinLength = 4,\n minDate,\n maxDate,\n onChange,\n onBlur,\n onFocus,\n}: OnDatePartChangeParams): void {\n const arrayParts = [day, month, year];\n\n const isEverythingUndefined = arrayParts.every((v) => v === undefined);\n const isEverythingDefined = arrayParts.every(Boolean);\n\n // every parts are undefined\n if (isEverythingUndefined) {\n if (onFocus) onFocus();\n onChange(undefined);\n if (onBlur) onBlur();\n\n return;\n }\n\n // Do nothing if some input parts are empty\n if (!isEverythingDefined) {\n return;\n }\n\n const nextValue = new Date();\n\n const isValidYear = year && year.toString().length >= validYearMinLength;\n\n if (!isValidYear) {\n return;\n }\n\n if (day) nextValue.setDate(day);\n if (month) nextValue.setMonth(month - 1);\n if (year) nextValue.setFullYear(year);\n\n nextValue.setMinutes(0);\n nextValue.setHours(0);\n nextValue.setSeconds(0);\n nextValue.setMilliseconds(0);\n\n if (minDate) {\n minDate.setMinutes(0);\n minDate.setHours(0);\n minDate.setSeconds(0);\n minDate.setMilliseconds(0);\n const isMinDateAfterNextValue = minDate.getTime() > nextValue.getTime();\n\n if (isMinDateAfterNextValue) {\n if (onFocus) onFocus();\n onChange(undefined);\n if (onBlur) onBlur();\n\n return;\n }\n }\n\n if (maxDate) {\n maxDate.setMinutes(0);\n maxDate.setHours(0);\n maxDate.setSeconds(0);\n maxDate.setMilliseconds(0);\n\n const isMaxDateBeforeNextValue = nextValue.getTime() > maxDate.getTime();\n\n if (isMaxDateBeforeNextValue) {\n if (onFocus) onFocus();\n onChange(undefined);\n if (onBlur) onBlur();\n\n return;\n }\n }\n\n if (onFocus) onFocus();\n onChange(nextValue);\n if (onBlur) onBlur();\n}\n","export function stringToNumber(text: string): number | undefined {\n if (text.length === 0) return undefined;\n return parseInt(text, 10);\n}\n","import type { ReactNode } from 'react';\nimport styled from 'styled-components/native';\n\nexport interface InputTextContainerProps {\n children: NonNullable<ReactNode>;\n $isDisabled?: boolean;\n}\n\nexport const InputTextContainer = styled.View<InputTextContainerProps>`\n position: relative;\n`;\n","import { Input } from 'native-base';\nimport type { ResponsiveValue } from 'native-base/lib/typescript/components/types';\nimport type { ReactElement, ReactNode } from 'react';\nimport { forwardRef } from 'react';\nimport type { TextInput as RNTextInput, TextInputProps as RNTextInputProps } from 'react-native';\nimport { Platform } from 'react-native';\nimport { useTheme } from 'styled-components/native';\nimport type { Except } from 'type-fest';\nimport { View } from '../../native-base/primitives';\nimport { createNativeBaseFontSize } from '../../typography/Typography';\nimport type { InputFormState, InputUIState } from '../utils';\nimport { InputTextContainer } from './InputTextContainer';\n\nexport interface InputTextProps extends Except<RNTextInputProps, 'nativeID'> {\n id?: string;\n name?: string;\n // See InterfaceInputProps from native-base\n variant?: ResponsiveValue<'outline' | 'unstyled'>;\n disabled?: boolean;\n minHeight?: number | 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 { PressableProps } from 'react-native';\nimport { HStack } from '../../../native-base/layout';\nimport { Pressable, View } from '../../../native-base/primitives';\nimport { createResponsiveStyleFromProp } from '../../../utils/createResponsiveStyleFromProp/createResponsiveStyleFromProp';\nimport type { DatePickerProps } from '../DatePicker';\nimport { dayFormatter, monthFormatter, yearFormatter } from '../utils/dateFormatter';\nimport { InputPart } from './InputPart';\nimport { PartContainer } from './PartContainer';\n\ninterface PressableDateInputsProps extends Omit<DatePickerProps, 'onChange'> {\n onPress: () => void;\n}\n\nexport const PressableDateInputs = forwardRef<PressableProps, PressableDateInputsProps>(\n (\n {\n disabled,\n stretch,\n id,\n testID,\n value,\n placeholder,\n isFocusedInternal,\n isHoveredInternal,\n isPressedInternal,\n onPress,\n }: PressableDateInputsProps,\n ref,\n ): ReactElement => {\n const sharedInputPartProps = {\n isFocusedInternal,\n isHoveredInternal,\n isPressedInternal,\n disabled,\n };\n\n return (\n <Pressable\n ref={ref}\n display=\"flex\"\n flexDirection=\"row\"\n position=\"relative\"\n alignSelf={createResponsiveStyleFromProp(stretch, undefined, 'baseline')}\n nativeID={id}\n disabled={disabled}\n testID={testID}\n onPress={onPress}\n >\n <View position=\"relative\" width={createResponsiveStyleFromProp(stretch, '100%')} pointerEvents=\"none\">\n <HStack space=\"kitt.2\" width={createResponsiveStyleFromProp(stretch, '100%')}>\n <PartContainer isStretch={stretch} width=\"kitt.forms.datePicker.day.minWidth\">\n <InputPart\n {...sharedInputPartProps}\n placeholder={placeholder?.day}\n value={value ? dayFormatter(value.getDate()) : undefined}\n />\n </PartContainer>\n\n <PartContainer isStretch={stretch} width=\"kitt.forms.datePicker.month.minWidth\">\n <InputPart\n {...sharedInputPartProps}\n placeholder={placeholder?.month}\n value={value ? monthFormatter(value.getMonth() + 1) : undefined}\n />\n </PartContainer>\n\n <PartContainer isStretch={stretch} width=\"kitt.forms.datePicker.year.minWidth\">\n <InputPart\n {...sharedInputPartProps}\n placeholder={placeholder?.year}\n value={value ? yearFormatter(value.getFullYear()) : undefined}\n />\n </PartContainer>\n </HStack>\n <View width=\"100%\" height=\"100%\" position=\"absolute\" top=\"0\" left=\"0\" />\n </View>\n </Pressable>\n );\n },\n);\n","import { DateTimePickerAndroid } from '@react-native-community/datetimepicker';\nimport { forwardRef, useEffect, useState } from 'react';\nimport type { ReactElement } from 'react';\nimport type { PressableProps } from 'react-native';\nimport type { Except } from 'type-fest';\nimport type { DatePickerProps } from '../../DatePicker';\nimport { PressableDateInputs } from '../PressableDateInputs';\n\ninterface DatePickerAndroidProps extends Except<DatePickerProps, 'pickerUITitle' | 'pickerUIValidateButtonLabel'> {}\n\nexport const DatePickerAndroid = forwardRef<PressableProps, DatePickerAndroidProps>(\n (\n {\n onBlur,\n onFocus,\n pickerDefaultDate,\n pickerUITestID,\n isDefaultVisible,\n value,\n onChange,\n ...props\n }: DatePickerAndroidProps,\n ref,\n ): ReactElement => {\n const [isFocused, setIsFocused] = useState(false);\n const [currentValue, setCurrentValue] = useState<Date | undefined>(value);\n\n const handleClose = (): void => {\n if (onBlur) onBlur();\n };\n\n const handleModalOpen = (): void => {\n setIsFocused(true);\n if (onFocus) onFocus();\n\n DateTimePickerAndroid.open({\n testID: pickerUITestID,\n value: currentValue || pickerDefaultDate || new Date(Date.now()),\n onChange: (e) => {\n setIsFocused(false);\n const { timestamp } = e.nativeEvent;\n if (timestamp) {\n const date = new Date(timestamp);\n\n setCurrentValue(date);\n onChange(date);\n handleClose();\n }\n },\n onTouchCancel: handleClose,\n });\n };\n\n useEffect(() => {\n if (isDefaultVisible) handleModalOpen();\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, []);\n\n return (\n <PressableDateInputs\n ref={ref}\n value={currentValue}\n isFocusedInternal={isFocused}\n onPress={handleModalOpen}\n {...props}\n />\n );\n },\n);\n","import type { ReactElement, ReactNode } from 'react';\nimport { ScrollView } from 'react-native';\nimport styled from 'styled-components/native';\n\nconst BodyView = styled.View`\n padding: ${({ theme }) => theme.kitt.spacing * 6}px ${({ theme }) => theme.kitt.spacing * 4}px;\n`;\n\nexport interface BodyProps {\n children: NonNullable<ReactNode>;\n}\n\nexport function ModalBody({ children }: BodyProps): ReactElement {\n return (\n <ScrollView>\n <BodyView>{children}</BodyView>\n </ScrollView>\n );\n}\n","import type { ReactElement, ReactNode } from 'react';\nimport styled from 'styled-components/native';\n\nexport interface FooterProps {\n children: NonNullable<ReactNode>;\n}\n\nconst FooterView = styled.View`\n flex: 0 0 auto;\n padding: ${({ theme }) => theme.kitt.spacing * 4}px;\n border-top-width: 1px;\n border-top-color: ${({ theme }) => theme.kitt.colors.separator};\n`;\n\nexport function ModalFooter({ children }: FooterProps): ReactElement {\n return <FooterView>{children}</FooterView>;\n}\n","import type { 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 Animated from 'react-native-reanimated';\nimport { useSx } from '../native-base/utils';\nimport { Background } from './Background';\nimport type { IconButtonColor } from './IconButton';\nimport type { UseNativeAnimation } from './hooks/useNativeAnimation';\n\nexport interface AnimatedBackgroundProps {\n color: IconButtonColor;\n isHovered?: boolean;\n isPressed?: boolean;\n isFocused?: boolean;\n isDisabled?: boolean;\n opacityStyles?: UseNativeAnimation['opacityStyles'];\n}\n\nexport function AnimatedBackground({ color, isDisabled, opacityStyles }: AnimatedBackgroundProps): ReactElement {\n const sx = useSx();\n\n const currentOpacityStyles = isDisabled ? { opacity: 1 } : opacityStyles;\n\n const styles = sx({\n position: 'absolute',\n top: 0,\n left: 0,\n width: '100%',\n height: '100%',\n });\n\n return (\n <Animated.View style={[styles, currentOpacityStyles]}>\n <Background color={color} isDisabled={isDisabled} />\n </Animated.View>\n );\n}\n","import type { ReactElement, ReactNode } from 'react';\nimport Animated from 'react-native-reanimated';\nimport { useSx } from '../native-base/utils';\nimport type { UseNativeAnimation } from './hooks/useNativeAnimation';\n\nexport interface AnimatedScaleProps {\n children: ReactNode;\n isHovered?: boolean;\n isPressed?: boolean;\n isFocused?: boolean;\n isDisabled?: boolean;\n scaleStyles?: UseNativeAnimation['scaleStyles'];\n}\n\nexport function AnimatedScale({ isDisabled, scaleStyles, children }: AnimatedScaleProps): ReactElement {\n const sx = useSx();\n\n const currentOpacityStyles = isDisabled ? { transform: [{ scale: 1 }] } : scaleStyles;\n\n const styles = sx({\n position: 'relative',\n alignItems: 'center',\n justifyContent: 'center',\n width: '100%',\n height: '100%',\n });\n\n return <Animated.View style={[styles, currentOpacityStyles]}>{children}</Animated.View>;\n}\n","import { useAnimatedStyle, useSharedValue, withSpring } from 'react-native-reanimated';\nimport { useTheme } from 'styled-components/native';\n\nexport interface UseNativeAnimationParams {\n isDisabled?: boolean;\n isPressed?: boolean;\n}\n\nexport interface UseNativeAnimation {\n opacityStyles?: { opacity: number };\n scaleStyles?: {\n transform: {\n scale: number;\n }[];\n };\n onPressIn: () => void;\n onPressOut: () => void;\n}\n\nexport function useNativeAnimation({ isPressed }: UseNativeAnimationParams): UseNativeAnimation {\n const theme = useTheme();\n const pressed = useSharedValue(!!isPressed);\n\n const opacityStyles = useAnimatedStyle(() => {\n return {\n opacity: withSpring(pressed.value ? 1 : 0),\n };\n });\n\n const scaleStyles = useAnimatedStyle(() => {\n return {\n transform: [\n {\n scale: withSpring(\n pressed.value ? theme.kitt.iconButton.scale.base.active : theme.kitt.iconButton.scale.base.default,\n ),\n },\n ],\n };\n });\n\n const handlePressIn = (): void => {\n pressed.value = true;\n };\n\n const handlePressOut = (): void => {\n pressed.value = false;\n };\n\n return {\n opacityStyles,\n scaleStyles,\n onPressIn: handlePressIn,\n onPressOut: handlePressOut,\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 { createContext } from 'react';\n\nexport const OnCloseContext = createContext<() => void>(() => {});\n","import { XIcon } from '@ornikar/kitt-icons';\nimport type { ReactElement, ReactNode } from 'react';\nimport { useContext } from 'react';\nimport styled from 'styled-components/native';\nimport { IconButton } from '../IconButton/IconButton';\nimport { OnCloseContext } from './OnCloseContext';\n\nexport interface HeaderProps {\n children: NonNullable<ReactNode>;\n left?: ReactNode;\n right?: ReactNode;\n}\n\nconst HeaderView = styled.View`\n position: relative;\n padding: ${({ theme }) => theme.kitt.spacing * 2}px;\n display: flex;\n flex: 0 0 auto;\n flex-direction: row;\n justify-content: space-between;\n align-items: center;\n border-bottom-width: 1px;\n border-bottom-color: ${({ theme }) => theme.kitt.colors.separator};\n min-height: 57px;\n`;\n\nconst LeftIconView = styled.View`\n align-self: flex-start;\n margin-right: ${({ theme }) => theme.kitt.spacing * 2}px;\n`;\n\nconst RightIconView = styled.View`\n align-self: flex-start;\n margin-left: ${({ theme }) => theme.kitt.spacing * 2}px;\n`;\n\ninterface TitleViewProps {\n isIconLeft?: boolean;\n}\n\nconst TitleView = styled.View<TitleViewProps>`\n padding-left: ${({ theme, isIconLeft }) => (isIconLeft ? 0 : theme.kitt.spacing * 2)}px;\n flex-shrink: 1;\n`;\n\nexport function ModalHeader({ left, right, children }: HeaderProps): ReactElement {\n const onClose = useContext(OnCloseContext);\n\n const isIconLeft = !!left;\n\n return (\n <HeaderView>\n {isIconLeft && <LeftIconView>{left}</LeftIconView>}\n\n <TitleView isIconLeft={isIconLeft}>{children}</TitleView>\n\n {right !== undefined ? (\n right\n ) : (\n <RightIconView>\n <IconButton icon={<XIcon />} onPress={onClose} />\n </RightIconView>\n )}\n </HeaderView>\n );\n}\n","import type { ReactElement, ReactNode } from 'react';\nimport { Modal as NativeModal } from 'react-native';\nimport styled from 'styled-components/native';\nimport { Overlay } from '../Overlay/Overlay';\nimport { ModalBody } from './Body';\nimport { ModalFooter } from './Footer';\nimport { ModalHeader } from './Header';\nimport { OnCloseContext } from './OnCloseContext';\n\nexport interface ModalProps {\n visible: boolean;\n children: ReactNode;\n onClose: () => void;\n onEntered?: () => void;\n onExited?: () => void;\n}\n\nconst ModalView = styled.View`\n top: 0;\n left: 0;\n width: 100%;\n height: 100%;\n\n display: flex;\n align-items: center;\n justify-content: center;\n padding: ${({ theme }) => theme.kitt.spacing * 20}px ${({ theme }) => theme.kitt.spacing * 4}px;\n`;\n\nconst ContentView = styled.View`\n position: relative;\n display: flex;\n flex-direction: column;\n max-height: 100%;\n max-width: 540px;\n height: auto;\n width: 100%;\n border-radius: ${({ theme }) => theme.kitt.card.borderRadius}px;\n background-color: ${({ theme }) => theme.kitt.colors.uiBackgroundLight};\n`;\n\n/**\n * @deprecated This component will be deleted in a later Kitt Universal version. Use CardModal instead\n */\nexport function Modal({ visible, children, onClose, onEntered, onExited }: ModalProps): ReactElement {\n return (\n <OnCloseContext.Provider value={onClose}>\n <NativeModal\n transparent\n animationType=\"fade\"\n visible={visible}\n onShow={onEntered}\n onDismiss={onExited}\n onRequestClose={onClose}\n >\n <ModalView>\n <Overlay onPress={onClose} />\n\n <ContentView>{children}</ContentView>\n </ModalView>\n </NativeModal>\n </OnCloseContext.Provider>\n );\n}\n\nModal.Header = ModalHeader;\nModal.Body = ModalBody;\nModal.Footer = ModalFooter;\n","import DateTimePicker from '@react-native-community/datetimepicker';\nimport type { DateTimePickerEvent } from '@react-native-community/datetimepicker';\nimport type { ComponentProps, ReactElement } from 'react';\nimport { Platform } from 'react-native';\nimport { useTheme } from 'styled-components/native';\n\ntype DateTimePickerProps = ComponentProps<typeof DateTimePicker>;\n\nfunction getDatePickerDisplayMode(): DateTimePickerProps['display'] {\n if (Platform.OS === 'android') return 'calendar';\n\n if (Platform.OS === 'ios') return 'spinner';\n\n return 'default';\n}\n\nexport interface PlatformDateTimePickerProps {\n value?: Date;\n defaultDate?: Date;\n maximumDate?: DateTimePickerProps['maximumDate'];\n minimuDate?: DateTimePickerProps['minimumDate'];\n testID?: DateTimePickerProps['testID'];\n onChange: (newDate?: Date) => void;\n}\n\nexport function PlatformDateTimePicker({\n value,\n defaultDate = new Date(),\n maximumDate,\n minimuDate,\n testID,\n onChange,\n}: PlatformDateTimePickerProps): ReactElement {\n const theme = useTheme();\n const displayMode = getDatePickerDisplayMode();\n\n const iosProps = Platform.OS === 'ios' ? { textColor: theme.kitt.colors.primary } : {};\n\n return (\n <DateTimePicker\n is24Hour\n testID={testID}\n value={value || defaultDate}\n mode=\"date\"\n maximumDate={maximumDate}\n minimumDate={minimuDate}\n display={displayMode}\n {...iosProps}\n onChange={(_event: DateTimePickerEvent, date?: Date | undefined) => onChange(date)}\n />\n );\n}\n","import type { ReactElement, ReactNode } from 'react';\nimport { useState } from 'react';\nimport { FormattedMessage } from 'react-intl';\nimport { Text } from 'react-native';\nimport { Button } from '../../../../Button/Button';\nimport { Modal } from '../../../../Modal/Modal';\nimport { Typography } from '../../../../typography/Typography';\nimport type { PlatformDateTimePickerProps } from './PlatformDateTimePicker';\nimport { PlatformDateTimePicker } from './PlatformDateTimePicker';\n\ninterface ModalTitleProps {\n children: NonNullable<ReactNode>;\n}\n\nfunction ModalTitle({ children }: ModalTitleProps): ReactElement {\n return (\n <Modal.Header>\n <Typography.Text base=\"body\" variant=\"bold\">\n {children}\n </Typography.Text>\n </Modal.Header>\n );\n}\n\ninterface ModalPlatformDateTimePickerProps extends PlatformDateTimePickerProps {\n title?: ReactNode;\n isVisible?: boolean;\n validateButtonLabel?: string;\n onClose: () => void;\n}\n\nexport function ModalPlatformDateTimePicker({\n title,\n isVisible,\n value,\n validateButtonLabel,\n onClose,\n onChange,\n ...props\n}: ModalPlatformDateTimePickerProps): ReactElement {\n const [currentValue, setCurrentValue] = useState(value);\n\n // Prevent unsynced value between the modal and its parent state\n const handleClose = (): void => {\n setCurrentValue(value);\n onClose();\n };\n\n const handleSubmit = (): void => {\n onChange(currentValue);\n };\n\n const handleChange = (newDate?: Date): void => {\n setCurrentValue((prev) => {\n return newDate || prev;\n });\n };\n\n return (\n <Modal visible={Boolean(isVisible)} onClose={handleClose}>\n {isVisible ? (\n <>\n {title ? <ModalTitle>{title}</ModalTitle> : null}\n\n <Modal.Body>\n <PlatformDateTimePicker {...props} value={currentValue} onChange={handleChange} />\n </Modal.Body>\n\n <Modal.Footer>\n <Button stretch type=\"primary\" onPress={handleSubmit}>\n {validateButtonLabel ? (\n <Text>{validateButtonLabel}</Text>\n ) : (\n <FormattedMessage id=\"kitt-universal.ModalDateTimePicker.confirm\" defaultMessage=\"Valider\" />\n )}\n </Button>\n </Modal.Footer>\n </>\n ) : null}\n </Modal>\n );\n}\n","import type { ReactElement } from 'react';\nimport { forwardRef, useState } from 'react';\nimport type { PressableProps } from 'react-native';\nimport type { DatePickerProps } from '../../DatePicker';\nimport { PressableDateInputs } from '../PressableDateInputs';\nimport { ModalPlatformDateTimePicker } from './ModalPlatformDateTimePicker';\n\nexport const DefaultNativeUIDatePicker = forwardRef<PressableProps, DatePickerProps>(\n (\n {\n value,\n pickerUITestID,\n pickerUITitle,\n pickerUIValidateButtonLabel,\n isDefaultVisible,\n pickerDefaultDate,\n isFocusedInternal,\n isHoveredInternal,\n isPressedInternal,\n onChange,\n onFocus,\n onBlur,\n ...props\n }: DatePickerProps,\n ref,\n ): ReactElement => {\n const [isPickerUIVisible, setIsPickerUIVisible] = useState(isDefaultVisible);\n const [isFocused, setIsFocused] = useState(false);\n const [currentValue, setCurrentValue] = useState<Date | undefined>(value);\n\n const handleModalOpen = (): void => {\n if (onFocus) onFocus();\n\n setIsPickerUIVisible(true);\n\n setIsFocused(true);\n };\n\n const handleModalClose = (): void => {\n if (onBlur) onBlur();\n\n setIsPickerUIVisible(false);\n\n setIsFocused(false);\n };\n\n const handleChange = (newDate?: Date): void => {\n setCurrentValue(newDate);\n\n onChange(newDate);\n\n handleModalClose();\n };\n\n return (\n <>\n <PressableDateInputs\n ref={ref}\n value={currentValue}\n isFocusedInternal={isFocused || isFocusedInternal}\n isHoveredInternal={isHoveredInternal}\n isPressedInternal={isPressedInternal}\n onPress={handleModalOpen}\n {...props}\n />\n\n <ModalPlatformDateTimePicker\n testID={pickerUITestID}\n value={currentValue}\n isVisible={isPickerUIVisible}\n title={pickerUITitle}\n validateButtonLabel={pickerUIValidateButtonLabel}\n defaultDate={pickerDefaultDate}\n onClose={handleModalClose}\n onChange={handleChange}\n />\n </>\n );\n },\n);\n","import type { ReactElement } from 'react';\nimport { forwardRef } from 'react';\nimport type { PressableProps } from 'react-native';\nimport { Platform } from 'react-native';\nimport type { DatePickerProps } from '../../DatePicker';\nimport { DatePickerAndroid } from './DatePickerAndroid';\nimport { DefaultNativeUIDatePicker } from './DefaultNativeUIDatePicker';\n\ninterface NativeUIDatePickerProps extends DatePickerProps {}\n\nexport const NativeUIDatePicker = forwardRef<PressableProps, NativeUIDatePickerProps>(\n (\n { value, pickerUITestID, isDefaultVisible, pickerDefaultDate, onChange, onBlur, ...props }: NativeUIDatePickerProps,\n ref,\n ): ReactElement => {\n if (Platform.OS === 'android') {\n return (\n <DatePickerAndroid\n ref={ref}\n pickerDefaultDate={pickerDefaultDate}\n pickerUITestID={pickerUITestID}\n isDefaultVisible={isDefaultVisible}\n value={value}\n onChange={onChange}\n onBlur={onBlur}\n {...props}\n />\n );\n }\n\n return (\n <DefaultNativeUIDatePicker\n ref={ref}\n value={value}\n isDefaultVisible={isDefaultVisible}\n pickerUITestID={pickerUITestID}\n onChange={onChange}\n onBlur={onBlur}\n {...props}\n />\n );\n },\n);\n","import type { ReactElement } from 'react';\nimport type React from 'react';\nimport { forwardRef } from 'react';\nimport type { PressableProps, TextInput as RNTextInput } from 'react-native';\nimport type { ResponsiveValue } from '../../utils/createResponsiveStyleFromProp/createResponsiveStyleFromProp';\nimport type { InputTextProps } from '../InputText/InputText';\nimport { KeyboardDatePicker } from './components/KeyboardDatePicker';\nimport { NativeUIDatePicker } from './components/NativeUIDatePicker/NativeUIDatePicker';\n\ntype DatePickerFillMode = 'keyboard' | 'native';\n\ninterface DatePickerPlaceholder {\n day: string;\n month: string;\n year: string;\n}\n\nexport interface DatePickerProps {\n id?: string;\n testID?: string;\n disabled?: boolean;\n /**\n * @description value of the input\n */\n value?: Date;\n placeholder?: DatePickerPlaceholder;\n /** @description minimum date for the value to be valid */\n minDate?: Date;\n /** @description maximum date for the value to be valid */\n maxDate?: Date;\n /** @description Native only props - testID of the native platform picker */\n pickerUITestID?: string;\n /** @description Display a keyboard or the native picker. Web only has \"keyboard\" mode available */\n fillMode?: DatePickerFillMode;\n /** @description Native only props - Default date to be displayed on the native UI before any interactions */\n pickerDefaultDate?: Date;\n /** @description iOS only props - Text of the title of the Kitt modal displaying the platform picker on iOS */\n pickerUITitle?: string;\n /** @description iOS only props - Label of the validate button shown in the Kitt modal displaying the platform picker on iOS */\n pickerUIValidateButtonLabel?: string;\n /** @description Native only props - Controls the default visibility of the native picker */\n isDefaultVisible?: boolean;\n stretch?: ResponsiveValue<boolean | undefined>;\n returnKeyType?: InputTextProps['returnKeyType'];\n /** @internal for story purpose */\n isHoveredInternal?: boolean;\n /** @internal for story purpose */\n isPressedInternal?: boolean;\n /** @internal for story purpose */\n isFocusedInternal?: boolean;\n onChange: (date?: Date) => void;\n onBlur?: (e?: any) => void;\n onFocus?: (e?: any) => void;\n onSubmitEditing?: InputTextProps['onSubmitEditing'];\n}\n\nexport const DatePicker = forwardRef<PressableProps | RNTextInput, DatePickerProps>(\n ({ fillMode = 'native', returnKeyType, value, onSubmitEditing, ...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 if (fillMode === 'keyboard') {\n return (\n <KeyboardDatePicker\n ref={ref as React.ForwardedRef<RNTextInput>}\n {...props}\n value={currentValue}\n returnKeyType={returnKeyType}\n onSubmitEditing={onSubmitEditing}\n />\n );\n }\n\n return <NativeUIDatePicker ref={ref as React.ForwardedRef<PressableProps>} {...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","import type { ReactElement, ReactNode } from 'react';\nimport type { ViewStyle } from 'react-native';\nimport Animated from 'react-native-reanimated';\nimport styled from 'styled-components/native';\n\ninterface StyledAnimatedViewProps {\n $isFocused?: boolean;\n $isPressed?: boolean;\n $isSelected?: boolean;\n $isDisabled?: boolean;\n $isFirst?: boolean;\n $isLast?: boolean;\n}\n\nconst StyledAnimatedView = styled(Animated.View)<StyledAnimatedViewProps>`\n border-width: ${({ theme }) => theme.kitt.forms.radioButtonGroup.item.borderWidth}px;\n border-top-left-radius: ${({ theme, $isFirst }) =>\n $isFirst ? theme.kitt.forms.radioButtonGroup.item.borderRadius : 0}px;\n border-bottom-left-radius: ${({ theme, $isFirst }) =>\n $isFirst ? theme.kitt.forms.radioButtonGroup.item.borderRadius : 0}px;\n border-top-right-radius: ${({ theme, $isLast }) =>\n $isLast ? theme.kitt.forms.radioButtonGroup.item.borderRadius : 0}px;\n border-bottom-right-radius: ${({ theme, $isLast }) =>\n $isLast ? theme.kitt.forms.radioButtonGroup.item.borderRadius : 0}px;\n border-left-width: ${({ theme, $isFirst }) => ($isFirst ? theme.kitt.forms.radioButtonGroup.item.borderWidth : 0)}px;\n`;\n\nexport interface AnimatedContainerProps {\n children: ReactNode;\n isFocused?: boolean;\n isPressed?: boolean;\n isSelected?: boolean;\n isDisabled?: boolean;\n isFirst?: boolean;\n isLast?: boolean;\n animatedStyles: Partial<ViewStyle>;\n}\n\nexport function AnimatedContainer({\n children,\n isFocused,\n isPressed,\n isSelected,\n isDisabled,\n isFirst,\n isLast,\n animatedStyles,\n}: AnimatedContainerProps): ReactElement {\n return (\n <StyledAnimatedView\n style={[animatedStyles]}\n $isFocused={isFocused}\n $isPressed={isPressed}\n $isSelected={isSelected}\n $isDisabled={isDisabled}\n $isFirst={isFirst}\n $isLast={isLast}\n >\n {children}\n </StyledAnimatedView>\n );\n}\n","import type { ReactElement } from 'react';\nimport { useTheme } from 'styled-components/native';\nimport { View } from '../../native-base/primitives';\n\ninterface FocusBorderProps {\n isPressed?: boolean;\n isHovered?: boolean;\n isSelected?: boolean;\n isFocused?: boolean;\n isFirst?: boolean;\n isLast?: boolean;\n}\n\nexport function HoverBorder({\n isFirst,\n isLast,\n isSelected,\n isHovered,\n isFocused,\n isPressed,\n}: FocusBorderProps): ReactElement {\n const theme = useTheme();\n const hasPointerInteraction = isPressed || isHovered || isFocused;\n const shouldDisplayBorder = isSelected ? true : hasPointerInteraction;\n\n return (\n <View\n _web={{\n style: {\n width: `calc(100% + ${theme.kitt.forms.radioButtonGroup.item.borderWidth * 2}px)`,\n height: `calc(100% + ${theme.kitt.forms.radioButtonGroup.item.borderWidth * 2}px)`,\n transitionProperty: theme.kitt.forms.radioButtonGroup.item.transition.property,\n transitionDuration: theme.kitt.forms.radioButtonGroup.item.transition.duration,\n transitionTimingFunction: theme.kitt.forms.radioButtonGroup.item.transition.timingFunction,\n },\n }}\n opacity={shouldDisplayBorder ? 1 : 0}\n position=\"absolute\"\n top={-theme.kitt.forms.radioButtonGroup.item.borderWidth}\n left={-theme.kitt.forms.radioButtonGroup.item.borderWidth}\n margin={0}\n borderColor={`kitt.forms.radioButtonGroup.item.borderColor.${\n isHovered || isSelected || isFocused ? 'hover' : 'default'\n }`}\n borderWidth=\"kitt.forms.radioButtonGroup.item.borderWidth\"\n borderTopLeftRadius={isFirst ? 'kitt.forms.radioButtonGroup.item.borderRadius' : 0}\n borderBottomLeftRadius={isFirst ? 'kitt.forms.radioButtonGroup.item.borderRadius' : 0}\n borderTopRightRadius={isLast ? 'kitt.forms.radioButtonGroup.item.borderRadius' : 0}\n borderBottomRightRadius={isLast ? 'kitt.forms.radioButtonGroup.item.borderRadius' : 0}\n />\n );\n}\n","import type { ViewStyle } from 'react-native';\nimport { interpolateColor, useAnimatedStyle, useSharedValue, withSpring } from 'react-native-reanimated';\nimport { useTheme } from 'styled-components/native';\n\nexport interface UseNativeAnimationOptions {\n isDisabled?: boolean;\n isSelected?: boolean;\n isPressedInternal?: boolean;\n}\n\nexport interface NativeAnimation {\n onPressIn?: () => void;\n onPressOut?: () => void;\n animatedStyles: ViewStyle;\n}\n\nexport const useNativeAnimation = ({\n isDisabled,\n isSelected,\n isPressedInternal,\n}: UseNativeAnimationOptions): NativeAnimation => {\n const theme = useTheme();\n const pressed = useSharedValue<0 | 1>(isPressedInternal ? 1 : 0);\n const color = useSharedValue(0);\n\n const { default: backgroundColor, pressed: pressedBackgroundColor } =\n theme.kitt.forms.radioButtonGroup.item.backgroundColor;\n\n const { default: borderColor, pressed: pressedBorderColor } = theme.kitt.forms.radioButtonGroup.item.borderColor;\n\n const animatedStyles = useAnimatedStyle(() => {\n if (isDisabled) {\n return {\n backgroundColor: theme.kitt.forms.radioButtonGroup.item.backgroundColor.disabled,\n borderColor: theme.kitt.forms.radioButtonGroup.item.borderColor.disabled,\n };\n }\n\n if (isSelected) {\n return {\n backgroundColor: pressedBackgroundColor,\n borderColor: pressedBorderColor,\n };\n }\n\n return {\n backgroundColor: interpolateColor(color.value, [0, 1], [backgroundColor, pressedBackgroundColor]),\n borderColor: interpolateColor(color.value, [0, 1], [borderColor, pressedBorderColor]),\n };\n });\n\n const handlePressIn = (): void => {\n color.value = withSpring(1);\n pressed.value = 1;\n };\n\n const handlePressOut = (): void => {\n color.value = withSpring(0);\n pressed.value = 0;\n };\n\n return {\n onPressIn: handlePressIn,\n onPressOut: handlePressOut,\n animatedStyles,\n };\n};\n","import type { TypographyColor } from '../../../typography/Typography';\n\ninterface GetCurrentTextColorParams {\n isDisabled?: boolean;\n isSelected?: boolean;\n isPressed?: boolean;\n isHovered?: boolean;\n isFocused?: boolean;\n}\n\nexport function getCurrentTextColor({\n isDisabled,\n isSelected,\n isPressed,\n isHovered,\n isFocused,\n}: GetCurrentTextColorParams): TypographyColor {\n if (isDisabled) return 'black-light';\n\n if (isSelected) return 'white';\n\n if (isPressed) return 'white';\n\n if (isFocused) return 'white';\n\n if (isHovered && !isSelected) return 'black';\n\n return 'black';\n}\n","import type { ReactElement, ReactNode } from 'react';\nimport type { GestureResponderEvent } from 'react-native';\nimport { Platform } from 'react-native';\nimport { Pressable, View } from '../../native-base/primitives';\nimport { Typography } from '../../typography/Typography';\nimport { AnimatedContainer } from './AnimatedContainer/AnimatedContainer';\nimport { HoverBorder } from './HoverBorder';\nimport { useNativeAnimation } from './hooks/useNativeAnimation';\nimport { getCurrentTextColor } from './utils/getCurrentTextColor';\n\nexport interface RadioButtonProps<V> {\n children: ReactNode;\n isFirst?: boolean;\n isLast?: boolean;\n disabled?: boolean;\n value: V;\n selected?: boolean;\n stretch?: boolean;\n /**\n * @internal Used to display pressed UI for testing and storybook purpose\n */\n isPressedInternal?: boolean;\n /**\n * @internal Used to display hovered UI for testing and storybook purpose\n */\n isHoveredInternal?: boolean;\n /**\n * @internal Used to display focused UI for testing and storybook purpose\n */\n isFocusedInternal?: boolean;\n onChange?: (value?: V) => void;\n onFocus?: (e?: any | GestureResponderEvent) => void;\n onBlur?: (e?: any | GestureResponderEvent) => void;\n}\n\nexport function RadioButton<V>({\n children,\n value,\n selected,\n isFirst,\n isLast,\n disabled,\n stretch,\n isHoveredInternal,\n isPressedInternal,\n isFocusedInternal,\n onChange,\n onFocus,\n onBlur,\n}: RadioButtonProps<V>): ReactElement {\n const { onPressIn, onPressOut, animatedStyles } = useNativeAnimation({\n isDisabled: disabled,\n isSelected: selected,\n isPressedInternal,\n });\n\n const handlePress = (e: GestureResponderEvent): void => {\n if (onFocus) onFocus(e);\n\n if (onChange) onChange(value);\n\n if (onBlur) onBlur(e);\n };\n\n return (\n <Pressable\n accessibilityRole=\"radiogroup\"\n accessibilityState={{ checked: selected }}\n flex={stretch ? 1 : undefined}\n disabled={disabled}\n onPress={handlePress}\n onPressIn={onPressIn}\n onPressOut={onPressOut}\n onFocus={onFocus}\n onBlur={onBlur}\n >\n {({ isHovered, isPressed, isFocused }) => (\n <AnimatedContainer\n animatedStyles={animatedStyles}\n isFocused={isFocused || isFocusedInternal}\n isPressed={isPressed || isPressedInternal}\n isSelected={selected}\n isDisabled={disabled}\n isFirst={isFirst}\n isLast={isLast}\n >\n <View\n paddingX=\"kitt.forms.radioButtonGroup.item.padding.horizontal\"\n paddingY=\"kitt.forms.radioButtonGroup.item.padding.vertical\"\n alignItems=\"center\"\n >\n <Typography.SetDefaultColor\n value={getCurrentTextColor({\n isSelected: selected || isPressedInternal,\n isPressed,\n isHovered: isHovered || isHoveredInternal,\n isDisabled: disabled,\n isFocused: isFocused || isFocusedInternal,\n })}\n >\n {children}\n </Typography.SetDefaultColor>\n {Platform.OS === 'web' ? (\n <HoverBorder\n isFirst={isFirst}\n isLast={isLast}\n isSelected={selected}\n isHovered={isHovered || isHoveredInternal}\n isPressed={isPressed || isPressedInternal}\n isFocused={isFocused || isFocusedInternal}\n />\n ) : null}\n </View>\n </AnimatedContainer>\n )}\n </Pressable>\n );\n}\n","import type { ReactElement, ReactNode } from 'react';\nimport { Children, cloneElement, useState } from 'react';\nimport type { ViewProps } from '../../native-base/primitives';\nimport { View } from '../../native-base/primitives';\nimport type { RadioButtonProps } from './RadioButton';\nimport { RadioButton } from './RadioButton';\n\ntype InternalInheritedProps =\n | 'isFirst'\n | 'isLast'\n | 'selected'\n | 'stretch'\n | 'disabled'\n | 'onChange'\n | 'onFocus'\n | 'onBlur';\n\ninterface RadioButtonGroupItemProps<V> extends Omit<RadioButtonProps<V>, InternalInheritedProps> {}\n\nfunction RadioButtonGroupItem<V>({ ...props }: RadioButtonGroupItemProps<V>): ReactElement {\n return <RadioButton {...props} />;\n}\n\nexport interface RadioButtonGroupProps<V> extends Exclude<ViewProps, 'onBlur' | 'onFocus'> {\n children: ReactNode;\n disabled?: boolean;\n hovered?: boolean;\n selected?: boolean;\n stretch?: boolean;\n value?: V;\n onChange?: (newValue: V) => void;\n onFocus?: (e?: any) => void;\n onBlur?: (e?: any) => void;\n}\n\nexport function RadioButtonGroup<V>({\n children,\n stretch,\n value,\n disabled,\n onFocus,\n onBlur,\n onChange,\n ...props\n}: RadioButtonGroupProps<V>): ReactElement {\n const [currentValue, setCurrentValue] = useState(value);\n\n const handleChange = (newValue: V): void => {\n if (disabled) return;\n\n setCurrentValue(newValue);\n if (onChange) onChange(newValue);\n };\n\n const childrenArray = Children.toArray(children) as ReactElement<RadioButtonProps<V>, typeof RadioButton>[];\n\n return (\n <View flexDirection=\"row\" flexWrap=\"wrap\" {...props}>\n {childrenArray.map((child, index) => {\n const clone = cloneElement<RadioButtonProps<V>>(child, {\n stretch,\n disabled,\n selected: child.props.value === currentValue,\n isFirst: index === 0,\n isLast: index === childrenArray.length - 1,\n onChange: handleChange,\n onFocus,\n onBlur,\n } as any);\n\n return clone;\n })}\n </View>\n );\n}\n\nRadioButtonGroup.RadioButton = RadioButtonGroupItem;\n","import type { ReactElement } from 'react';\nimport { 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, 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 { 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 type { ReactElement, ReactNode } from 'react';\nimport { StyleSheet } from 'react-native';\nimport Animated, { Easing, useAnimatedStyle, withTiming } from 'react-native-reanimated';\nimport { useTheme } from 'styled-components/native';\n\nexport interface NativeOpacityAnimationProps {\n visible?: boolean;\n children: ReactNode;\n}\n\nexport function NativeOpacityAnimation({ visible, children }: NativeOpacityAnimationProps): ReactElement {\n const theme = useTheme();\n\n const opacityStyle = useAnimatedStyle(() => {\n const { duration, easing } = theme.kitt.navigationModal.animation.overlay;\n const [x1, y1, x2, y2] = easing;\n\n return {\n opacity: withTiming(visible ? 1 : 0, { duration, easing: Easing.bezier(x1, y1, x2, y2) }),\n };\n });\n\n return <Animated.View style={[StyleSheet.absoluteFillObject, opacityStyle]}>{children}</Animated.View>;\n}\n","import type { ReactElement, ReactNode } from 'react';\nimport { useRef } from 'react';\nimport { useWindowDimensions } from 'react-native';\nimport Animated, { Easing, runOnJS, useAnimatedStyle, withTiming } from 'react-native-reanimated';\nimport { useTheme } from 'styled-components/native';\nimport type { NavigationModalAnimationProps } from '../NavigationModalAnimation';\n\nexport interface NativeSlideInAnimationProps {\n children: ReactNode;\n visible?: NavigationModalAnimationProps['visible'];\n onEntered?: NavigationModalAnimationProps['onEntered'];\n onExited: () => void;\n}\n\nexport function NativeSlideInAnimation({\n visible,\n children,\n onEntered,\n onExited,\n}: NativeSlideInAnimationProps): ReactElement | null {\n const theme = useTheme();\n const { height: wHeight } = useWindowDimensions();\n const hasRunAnimationRef = useRef(false);\n\n function handleAnimationFinished(): void {\n if (visible) {\n if (onEntered) onEntered();\n hasRunAnimationRef.current = true;\n }\n\n // Since animation callback is called on component mount, we must make sure that the animation has been runed once to call it an exit\n if (!visible && hasRunAnimationRef.current) onExited();\n }\n\n const translateStyle = useAnimatedStyle(() => {\n const { duration, easing } = theme.kitt.navigationModal.animation.content;\n const [x1, y1, x2, y2] = easing;\n\n return {\n transform: [\n {\n translateY: withTiming(\n visible ? 0 : wHeight,\n { duration, easing: Easing.bezier(x1, y1, x2, y2) },\n (isFinished) => {\n if (!isFinished) return;\n runOnJS(handleAnimationFinished)();\n },\n ),\n },\n ],\n };\n });\n\n return (\n <Animated.View style={[{ transform: [{ translateY: wHeight }] }, translateStyle, { width: '100%', flex: 1 }]}>\n {children}\n </Animated.View>\n );\n}\n","import type { ReactElement, ReactNode } from 'react';\nimport { useEffect, useState } from 'react';\nimport { Modal } from 'react-native';\nimport { Overlay } from '../Overlay/Overlay';\nimport type { ViewProps } from '../native-base/primitives';\nimport { View } from '../native-base/primitives';\nimport { NativeOpacityAnimation } from './components/NativeOpacityAnimation';\nimport { NativeSlideInAnimation } from './components/NativeSlideInAnimation';\n\nexport interface NavigationModalAnimationProps extends ViewProps {\n children: ReactNode;\n appear?: boolean;\n visible?: boolean;\n unmountOnExit?: boolean;\n isAnimationEnabled?: boolean;\n onEnter?: () => void;\n onEntered?: () => void;\n onExit?: () => void;\n onExited?: () => void;\n onClose?: () => void;\n}\n\nexport function NavigationModalAnimation({\n visible,\n children,\n onEnter,\n onEntered,\n onExit,\n onExited,\n}: NavigationModalAnimationProps): ReactElement {\n const [isModalVisible, setIsModalVisible] = useState(visible);\n const [isContentVisible, setIsContentVisible] = useState(false);\n\n const handleAnimationExited = (): void => {\n setIsModalVisible(false);\n };\n\n // When parent visibility is set to false, in order to have our exit animation we must in this order :\n // 1 - run the exit animation\n // 2 - once it is done, unmount the Modal\n useEffect(() => {\n const shouldHideContent = !visible && isContentVisible;\n\n if (!shouldHideContent) return;\n\n if (onExit) onExit();\n setIsContentVisible(false);\n }, [visible, isContentVisible, onExit]);\n\n return (\n <Modal\n transparent\n visible={isModalVisible}\n onShow={() => {\n if (onEnter) onEnter();\n setIsContentVisible(true);\n }}\n onDismiss={() => {\n if (onExited) onExited();\n }}\n >\n <View position=\"relative\" flex={1} justifyContent=\"center\" alignItems=\"center\">\n <NativeOpacityAnimation visible={isContentVisible}>\n <Overlay onPress={handleAnimationExited} />\n </NativeOpacityAnimation>\n <NativeSlideInAnimation visible={isContentVisible} onExited={handleAnimationExited} onEntered={onEntered}>\n <View flex={1}>{children}</View>\n </NativeSlideInAnimation>\n </View>\n </Modal>\n );\n}\n","import type { ReactElement } from 'react';\nimport { useEffect, useState } from 'react';\nimport type { ModalBehaviourProps } from '../ModalBehaviour/ModalBehaviour';\nimport { ModalBehaviour } from '../ModalBehaviour/ModalBehaviour';\nimport type { NavigationModalAnimationProps } from './NavigationModalAnimation';\nimport { NavigationModalAnimation } from './NavigationModalAnimation';\n\ninterface NavigationModalBehaviourProps extends NavigationModalAnimationProps {\n onClose: ModalBehaviourProps['onClose'];\n}\n\nexport function NavigationModalBehaviour({\n children,\n visible,\n onClose,\n onExited,\n ...props\n}: NavigationModalBehaviourProps): ReactElement {\n const [isModalBehaviourVisible, setIsModalBehaviourVisible] = useState(visible);\n\n useEffect(() => {\n if (visible === true) {\n setIsModalBehaviourVisible(true);\n }\n }, [visible]);\n\n const handleExitAnimationDone = (): void => {\n if (onExited) onExited();\n setIsModalBehaviourVisible(false);\n };\n\n return (\n <ModalBehaviour visible={isModalBehaviourVisible} onClose={onClose}>\n <NavigationModalAnimation {...props} visible={visible} onExited={handleExitAnimationDone}>\n {children}\n </NavigationModalAnimation>\n </ModalBehaviour>\n );\n}\n","import type { ViewStyle } from 'react-native';\nimport { Platform, View } from 'react-native';\nimport styled, { css } from 'styled-components/native';\n\nexport interface NavigationModalContainerProps {\n $backgroundColor?: ViewStyle['backgroundColor'];\n}\n\nexport const NavigationModalContainer = styled(View)<NavigationModalContainerProps>`\n position: relative;\n background-color: ${({ theme, $backgroundColor }) =>\n ($backgroundColor as string) || theme.kitt.colors.uiBackgroundLight};\n flex: 1;\n\n ${() => {\n if (Platform.OS !== 'web') return undefined;\n return css`\n min-height: 100vh;\n `;\n }}\n`;\n","import type { ReactElement, ReactNode } from 'react';\nimport type { ViewStyle } from 'react-native';\nimport { ScrollView, View } from 'react-native';\nimport styled from 'styled-components/native';\nimport { Body } from './Body';\nimport { ContentPadding } from './ContentPadding';\nimport { Footer } from './Footer';\nimport { Header } from './Header';\nimport { NavigationModalBehaviour } from './NavigationModalBehaviour';\nimport { NavigationModalContainer } from './NavigationModalContainer';\n\nconst ContainerWithoutHeader = styled(View)`\n justify-content: space-between;\n flex: 1;\n`;\n\nexport interface NavigationModalProps {\n header?: ReactNode;\n footer?: ReactNode;\n body: ReactNode;\n backgroundColor?: ViewStyle['backgroundColor'];\n}\n\nexport function NavigationModal({ body, header, footer, backgroundColor }: NavigationModalProps): ReactElement {\n return (\n <NavigationModalContainer $backgroundColor={backgroundColor}>\n {header ? <View>{header}</View> : null}\n\n <ContainerWithoutHeader>\n <ScrollView bounces={false} contentContainerStyle={{ flexGrow: 1, position: 'relative' }}>\n {body}\n </ScrollView>\n {footer || null}\n </ContainerWithoutHeader>\n </NavigationModalContainer>\n );\n}\n\nNavigationModal.Header = Header;\nNavigationModal.Footer = Footer;\nNavigationModal.Body = Body;\nNavigationModal.Padding = ContentPadding;\nNavigationModal.ModalBehaviour = NavigationModalBehaviour;\n","import type { ReactElement } from 'react';\nimport { BaseMessage } from '../BaseMessage/BaseMessage';\nimport type { BaseMessageProps } from '../BaseMessage/BaseMessage';\n\nexport interface NotificationProps extends BaseMessageProps {\n /**\n * @deprecated use onDismiss instead\n */\n onDelete?: BaseMessageProps['onDismiss'];\n}\n\nexport function Notification({\n type,\n children,\n centeredText,\n insets,\n onDelete,\n onDismiss,\n}: NotificationProps): ReactElement {\n if (__DEV__) {\n if (onDelete) {\n throw new Error('onDelete is deprecated us onDismiss instead');\n }\n }\n\n return (\n <BaseMessage hasNoRadius type={type} centeredText={centeredText} insets={insets} onDismiss={onDismiss}>\n {children}\n </BaseMessage>\n );\n}\n","import type { ReactElement } from 'react';\nimport Animated, { useAnimatedProps } from 'react-native-reanimated';\nimport type { CircleProps } from 'react-native-svg';\nimport { Circle } from 'react-native-svg';\nimport { useTheme } from 'styled-components/native';\n\nconst AnimatedCircle = Animated.createAnimatedComponent(Circle);\n\ninterface PageLoaderCircleProps {\n color: CircleProps['stroke'];\n progress: Animated.SharedValue<number>;\n}\n\nexport function AnimatedLoaderCircle({ color, progress }: PageLoaderCircleProps): ReactElement {\n const theme = useTheme();\n\n const { strokeWidth, size } = theme.kitt.pageLoader;\n\n const centerCoord = size * 0.5;\n const radius = centerCoord - strokeWidth;\n const circlePerimeter = 2 * Math.PI * (size * 0.5 - strokeWidth);\n\n const strokeAnimation = useAnimatedProps(() => {\n return {\n strokeDashoffset: circlePerimeter - circlePerimeter * progress.value,\n };\n });\n\n return (\n <AnimatedCircle\n transform-origin=\"center center\"\n strokeWidth={strokeWidth}\n stroke={color}\n strokeLinecap=\"round\"\n cx={centerCoord}\n cy={centerCoord}\n r={radius}\n fill=\"none\"\n strokeDasharray={circlePerimeter}\n animatedProps={strokeAnimation}\n />\n );\n}\n","import type { ReactElement } from 'react';\nimport { useEffect } from 'react';\nimport { Easing, useSharedValue, withDelay, withTiming } from 'react-native-reanimated';\nimport Svg from 'react-native-svg';\nimport { useTheme } from 'styled-components/native';\nimport { AnimatedLoaderCircle } from './AnimatedLoaderCircle';\n\nexport function AnimatedBackgroundCircle(): ReactElement {\n const theme = useTheme();\n const progress = useSharedValue(0);\n\n const { animation, colors, size } = theme.kitt.pageLoader;\n\n useEffect(() => {\n const { delay, circleBackgroundFillDuration, fillEasingFunction } = animation;\n const [x1, y1, x2, y2] = fillEasingFunction;\n\n progress.value = withDelay(\n delay,\n withTiming(1, { duration: circleBackgroundFillDuration, easing: Easing.bezier(x1, y1, x2, y2) }),\n );\n }, [progress, animation]);\n\n return (\n <Svg width={size} height={size} viewBox={`0 0 ${size} ${size}`}>\n <AnimatedLoaderCircle color={colors.base} progress={progress} />\n </Svg>\n );\n}\n","import type { ReactElement, ReactNode } from 'react';\nimport { useEffect } from 'react';\nimport { StyleSheet } from 'react-native';\nimport Animated, {\n Easing,\n useAnimatedStyle,\n useSharedValue,\n withDelay,\n withRepeat,\n withTiming,\n} from 'react-native-reanimated';\nimport { useTheme } from 'styled-components/native';\n\nconst isInfinitAnimation = -1;\n\ninterface AnimatedFillCircleContainerProps {\n children: NonNullable<ReactNode>;\n duration: number;\n}\n\nexport function AnimatedFillCircleContainer({ children, duration }: AnimatedFillCircleContainerProps): ReactElement {\n const theme = useTheme();\n const progress = useSharedValue(0);\n\n const { animation } = theme.kitt.pageLoader;\n\n useEffect(() => {\n const { delay } = animation;\n\n progress.value = withDelay(\n delay,\n withRepeat(withTiming(1, { duration, easing: Easing.linear }), isInfinitAnimation),\n );\n }, [progress, animation, duration]);\n\n const rotationStyles = useAnimatedStyle(() => {\n return {\n transform: [\n {\n rotate: `${360 * progress.value}deg`,\n },\n ],\n };\n });\n\n return <Animated.View style={[StyleSheet.absoluteFill, rotationStyles]}>{children}</Animated.View>;\n}\n","import type { ReactElement } from 'react';\nimport { useEffect } from 'react';\nimport { Easing, useSharedValue, withDelay, withRepeat, withTiming } from 'react-native-reanimated';\nimport Svg from 'react-native-svg';\nimport { useTheme } from 'styled-components/native';\nimport { AnimatedFillCircleContainer } from './AnimatedFillCircleContainer';\nimport { AnimatedLoaderCircle } from './AnimatedLoaderCircle';\n\nconst isInfinitAnimation = -1;\nconst shouldReverse = true;\n\nexport function AnimatedFilledCircle(): ReactElement {\n const theme = useTheme();\n const progress = useSharedValue(0);\n\n const { size, animation, colors } = theme.kitt.pageLoader;\n\n useEffect(() => {\n const { delay, filledCircleFillDuration, fillEasingFunction } = animation;\n const [x1, y1, x2, y2] = fillEasingFunction;\n\n progress.value = withDelay(\n delay,\n withRepeat(\n withTiming(0.8, { duration: filledCircleFillDuration, easing: Easing.bezier(x1, y1, x2, y2) }),\n isInfinitAnimation,\n shouldReverse,\n ),\n );\n }, [progress, animation]);\n\n return (\n <AnimatedFillCircleContainer duration={animation.groupFilledCircleRotationDuration}>\n <AnimatedFillCircleContainer duration={animation.filledCircleRotationDuration}>\n <Svg width={size} height={size} viewBox={`0 0 ${size} ${size}`}>\n <AnimatedLoaderCircle color={colors.fill} progress={progress} />\n </Svg>\n </AnimatedFillCircleContainer>\n </AnimatedFillCircleContainer>\n );\n}\n","import type { ReactElement, ReactNode } from 'react';\nimport styled from 'styled-components/native';\nimport { AnimatedBackgroundCircle } from './AnimatedBackgroundCircle';\nimport { AnimatedFilledCircle } from './AnimatedFillCircle';\n\ninterface PageLoaderContainerProps {\n children: NonNullable<ReactNode>;\n}\n\nconst PageLoaderContainer = styled.View<PageLoaderContainerProps>`\n /* Needed to make the animation starting from the top of the circles */\n transform: scale(-1) rotate(90deg);\n position: relative;\n width: ${({ theme }) => theme.kitt.pageLoader.size}px;\n height: ${({ theme }) => theme.kitt.pageLoader.size}px;\n`;\n\nexport type PageLoaderProps = Record<string, never>;\n\nexport function PageLoader(props: PageLoaderProps): ReactElement {\n return (\n <PageLoaderContainer>\n <AnimatedBackgroundCircle />\n <AnimatedFilledCircle />\n </PageLoaderContainer>\n );\n}\n","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 { PickerItemProps as NativePickerItemProps } from '@react-native-picker/picker';\nimport type { ReactElement } from 'react';\nimport styled from 'styled-components/native';\nimport { Typography } from '../typography/Typography';\n\nexport interface PickerItemProps<T> extends Pick<NativePickerItemProps<T>, 'label'> {\n isSelected?: boolean;\n value: T;\n onPress?: (value: T) => void;\n}\n\nconst ContainerPressable = styled.Pressable<{ $isSelected?: boolean }>`\n padding: ${({ theme }) => theme.kitt.picker.android.padding};\n background-color: ${({ theme, $isSelected }) =>\n $isSelected\n ? theme.kitt.picker.android.selected.backgroundColor\n : theme.kitt.picker.android.default.backgroundColor};\n`;\n\n// This item is for Android only, iOS uses its own implementation and web is not supported yet\nexport function PickerItem<T>({ label, value, isSelected, onPress }: PickerItemProps<T>): ReactElement {\n return (\n <ContainerPressable\n accessibilityRole=\"button\"\n accessibilityState={{\n selected: isSelected,\n }}\n $isSelected={isSelected}\n onPress={onPress ? () => onPress(value) : undefined}\n >\n <Typography.Text base=\"body\" color={isSelected ? 'white' : undefined}>\n {label}\n </Typography.Text>\n </ContainerPressable>\n );\n}\n","import type { PickerItemProps as NativePickerItemProps } from '@react-native-picker/picker';\nimport { Picker as NativePicker } from '@react-native-picker/picker';\nimport type { ReactElement, ReactNode } from 'react';\nimport React, { cloneElement, useState } from 'react';\nimport { FormattedMessage } from 'react-intl';\nimport { Platform, ScrollView } from 'react-native';\nimport { Button } from '../Button/Button';\nimport { Modal } from '../Modal/Modal';\nimport { theme } from '../themes/default';\nimport { Typography } from '../typography/Typography';\nimport type { PickerItemProps } from './PickerItem';\nimport { PickerItem } from './PickerItem';\n\nexport interface PickerProps<T> {\n children: ReactNode;\n isVisible: boolean;\n title: ReactNode;\n initialValue: T;\n validateButtonLabel?: ReactNode;\n testID?: string;\n onValueSelected: (value: T) => void;\n onClose: () => void;\n}\n\nexport function Picker<T>({\n children,\n isVisible,\n title,\n initialValue,\n validateButtonLabel,\n testID,\n onValueSelected,\n onClose,\n}: PickerProps<T>): ReactElement {\n const [value, setValue] = useState<T>(initialValue);\n\n const handleValueSelected = (): void => {\n onValueSelected(value);\n\n onClose();\n };\n\n return (\n <Modal visible={isVisible} onClose={onClose}>\n <Modal.Header>\n <Typography.Text base=\"body\" variant=\"bold\">\n {title}\n </Typography.Text>\n </Modal.Header>\n\n {Platform.OS === 'ios' ? (\n <NativePicker<T>\n testID={testID}\n selectedValue={value}\n itemStyle={theme.picker.ios.default}\n onValueChange={(itemValue) => setValue(itemValue)}\n >\n {React.Children.map(children, (child) => {\n const item = child as ReactElement<NativePickerItemProps<T>>;\n\n // iOS Picker doesn't support a custom Item component, we need to override its props manually for the selected one\n return cloneElement(item, {\n color: item.props.value === value ? theme.picker.ios.selected.color : undefined,\n });\n })}\n </NativePicker>\n ) : (\n <ScrollView testID={testID}>\n {React.Children.map(children, (child) => {\n const item = child as ReactElement<PickerItemProps<T>>;\n\n return cloneElement(item, {\n onPress: (newValue: T) => setValue(newValue),\n isSelected: item.props.value === value,\n });\n })}\n </ScrollView>\n )}\n\n <Modal.Footer>\n <Button stretch type=\"primary\" onPress={handleValueSelected}>\n {validateButtonLabel || <FormattedMessage defaultMessage=\"Valider\" id=\"kitt-universal.Picker.validate\" />}\n </Button>\n </Modal.Footer>\n </Modal>\n );\n}\n\nPicker.Item = PickerItem;\n","import { LinearGradient } from 'expo-linear-gradient';\nimport type { ReactElement } from 'react';\nimport { useEffect } from 'react';\nimport { StyleSheet } from 'react-native';\nimport Animated, {\n Easing,\n interpolate,\n useAnimatedStyle,\n useSharedValue,\n withRepeat,\n withTiming,\n} from 'react-native-reanimated';\nimport styled, { useTheme } from 'styled-components/native';\n\ninterface SkeletonProps {\n isLoading?: boolean;\n width: number;\n}\n\nconst Container = styled.View`\n background-color: ${({ theme }) => theme.kitt.skeleton.backgroundColor};\n border-color: ${({ theme }) => theme.kitt.skeleton.flareColor};\n height: 100%;\n width: 100%;\n`;\nconst AnimatedLinearGradient = Animated.createAnimatedComponent(LinearGradient);\n\nexport function SkeletonContent({ isLoading, width }: SkeletonProps): ReactElement {\n const theme = useTheme();\n const sharedX = useSharedValue(0);\n\n useEffect(() => {\n if (isLoading) {\n sharedX.value = withRepeat(\n withTiming(1, { duration: theme.kitt.skeleton.animationDuration, easing: Easing.inOut(Easing.ease) }),\n -1,\n );\n }\n }, [sharedX, width, isLoading, theme]);\n\n const linearGradientStyle = useAnimatedStyle(() => {\n return {\n transform: [{ translateX: interpolate(sharedX.value, [0, 1], [-width, width]) }],\n };\n });\n\n return (\n <Container>\n <AnimatedLinearGradient\n colors={[\n theme.kitt.skeleton.backgroundColor,\n theme.kitt.skeleton.flareColor,\n theme.kitt.skeleton.backgroundColor,\n ]}\n locations={[0.1, 0.5, 0.9]}\n start={{ x: 0, y: 0 }}\n end={{ x: 1, y: 0 }}\n style={[StyleSheet.absoluteFill, linearGradientStyle]}\n />\n </Container>\n );\n}\n","import type { ReactElement } from 'react';\nimport { useState } from 'react';\nimport type { StyleProp, ViewStyle } from 'react-native';\nimport type { ViewProps } from '../native-base/primitives';\nimport { View } from '../native-base/primitives';\nimport { SkeletonContent } from './SkeletonContent';\n\nexport interface SkeletonProps extends Omit<ViewProps, 'onLayout'> {\n isLoading?: boolean;\n style?: StyleProp<ViewStyle>;\n}\n\nexport function Skeleton({ isLoading = false, style, ...props }: SkeletonProps): ReactElement {\n const [width, setWidth] = useState(0);\n\n return (\n <View {...props} overflow=\"hidden\" style={style} onLayout={({ nativeEvent }) => setWidth(nativeEvent.layout.width)}>\n <SkeletonContent isLoading={isLoading} width={width} />\n </View>\n );\n}\n\nexport interface BarSkeletonProps extends Omit<SkeletonProps, 'width' | 'height' | 'borderRadius'> {\n size?: number;\n}\n\nfunction Bar({ size, ...props }: BarSkeletonProps): ReactElement {\n const currentBorderRadius = size ? size * 0.5 : 'kitt.skeleton.shape.bar.borderRadius';\n\n return (\n <Skeleton\n {...props}\n width=\"100%\"\n height={size || 'kitt.skeleton.shape.bar.size'}\n borderRadius={currentBorderRadius}\n />\n );\n}\n\nexport interface CircleSkeletonProps extends Omit<SkeletonProps, 'width' | 'height' | 'borderRadius'> {\n size?: number;\n}\n\nfunction Circle({ size, ...props }: CircleSkeletonProps): ReactElement {\n const currentSize = size || 'kitt.skeleton.shape.circle.size';\n const currentBorderRadius = size ? size * 0.5 : 'kitt.skeleton.shape.circle.borderRadius';\n\n return <Skeleton {...props} width={currentSize} height={currentSize} borderRadius={currentBorderRadius} />;\n}\n\nexport interface SquareSkeletonProps extends Omit<SkeletonProps, 'width' | 'height' | 'borderRadius'> {\n size?: number;\n}\n\nfunction Square({ size, ...props }: SquareSkeletonProps): ReactElement {\n const currentSize = size || 'kitt.skeleton.shape.square.size';\n const currentBorderRadius = size ? size * 0.5 : 'kitt.skeleton.shape.square.borderRadius';\n\n return <Skeleton {...props} width={currentSize} height={currentSize} borderRadius={currentBorderRadius} />;\n}\n\nSkeleton.Bar = Bar;\nSkeleton.Circle = Circle;\nSkeleton.Square = Square;\n","export interface MapCenter {\n long: number;\n lat: number;\n zoom: number;\n}\n\nexport interface GetStaticMapImageUrlParams {\n mapId: string;\n apiToken: string;\n mapWidth: number;\n mapHeight: number;\n center: MapCenter;\n is2x?: boolean;\n}\n\nexport function getStaticMapImageUrl({\n mapId,\n apiToken,\n mapWidth,\n mapHeight,\n center,\n is2x,\n}: GetStaticMapImageUrlParams): string {\n const width = Math.round(mapWidth);\n const height = Math.round(mapHeight);\n\n const centerPart = `${center.long},${center.lat},${center.zoom}/`;\n\n const sizePart = `${width}x${height}`;\n\n const urlParts = [\n `https://api.mapbox.com/styles/v1/ornikar/${mapId}/static/`,\n centerPart,\n sizePart,\n is2x ? '@2x' : '',\n ];\n\n const mapImageUrl = new URL(urlParts.join(''));\n mapImageUrl.searchParams.append('access_token', apiToken);\n\n return mapImageUrl.toString();\n}\n","import { useEffect, useRef, useState } from 'react';\nimport { useKittMapConfig } from '../../KittMapConfigProvider/hooks/useKittMapConfig';\nimport type { GetStaticMapImageUrlParams } from '../utils/getStaticMapImageUrl';\nimport { getStaticMapImageUrl } from '../utils/getStaticMapImageUrl';\n\ninterface UseGetStaticMapImageUrlParams extends Omit<GetStaticMapImageUrlParams, 'mapId' | 'apiToken'> {\n forceMapId?: string;\n forceApiToken?: string;\n}\n\nexport function useGetStaticMapImageUrl({\n forceMapId,\n forceApiToken,\n mapWidth,\n mapHeight,\n center,\n is2x,\n}: UseGetStaticMapImageUrlParams): string {\n const { mapId, apiToken } = useKittMapConfig();\n const [currentUrl, setCurrentUrl] = useState<string>('');\n\n const currentMapIdRef = useRef(forceMapId || mapId);\n const currentApiTokenRef = useRef(forceApiToken || apiToken);\n\n useEffect(() => {\n const newUrl = getStaticMapImageUrl({\n center,\n is2x,\n mapHeight,\n mapWidth,\n mapId: currentMapIdRef.current,\n apiToken: currentApiTokenRef.current,\n });\n\n setCurrentUrl(newUrl);\n }, [mapHeight, mapWidth, center, is2x]);\n\n return currentUrl;\n}\n","import { RotateCCWIcon } from '@ornikar/kitt-icons';\nimport type { ReactElement } from 'react';\nimport { IconButton } from '../IconButton/IconButton';\nimport { View } from '../native-base/primitives';\n\ninterface StaticMapErrorProps {\n onReload?: () => void;\n}\n\nexport function StaticMapError({ onReload }: StaticMapErrorProps): ReactElement {\n return (\n <View alignItems=\"center\" justifyContent=\"center\" height=\"100%\" backgroundColor=\"kitt.separator\">\n <IconButton icon={<RotateCCWIcon />} onPress={onReload} />\n </View>\n );\n}\n","import type { ReactElement } from 'react';\nimport { Image } from '../native-base/primitives';\n\ninterface StaticMapImageProps {\n url: string;\n alt?: string;\n width: number;\n height: number;\n onLoadEnd?: () => void;\n onError?: () => void;\n}\n\nexport function StaticMapImage({ url, alt, width, height, onLoadEnd, onError }: StaticMapImageProps): ReactElement {\n return (\n <Image source={{ uri: url }} width={width} height={height} alt={alt} onError={onError} onLoadEnd={onLoadEnd} />\n );\n}\n","import type { ReactElement } from 'react';\nimport { Skeleton } from '../Skeleton/Skeleton';\nimport { View } from '../native-base/primitives';\n\nexport function StaticMapLoader(): ReactElement {\n return (\n <View alignItems=\"center\" justifyContent=\"center\" height=\"100%\">\n <Skeleton isLoading width=\"100%\" height=\"100%\" />\n </View>\n );\n}\n","import type { ReactElement } from 'react';\nimport { MapMarkerLarge, MapMarkerPosition, MapMarkerSimple } from '../MapMarker/MapMarker';\nimport { View } from '../native-base/primitives';\n\ntype MarkerVariant = 'large' | 'position' | 'simple';\n\ninterface MarkerProps {\n variant?: MarkerVariant;\n}\n\nfunction getMarkerPosition(variant: MarkerVariant): [{ translateX: number }, { translateY: number }] {\n if (variant === 'position') return [{ translateX: -2 }, { translateY: 8 }];\n\n if (variant === 'large') return [{ translateX: 8 }, { translateY: -20 }];\n\n return [{ translateX: 6 }, { translateY: -15 }];\n}\n\nexport function StaticMapMarker({ variant = 'simple' }: MarkerProps): ReactElement {\n return (\n <View position=\"absolute\" top=\"0\" left=\"0\" width=\"100%\" height=\"100%\">\n <View\n justifyContent=\"center\"\n alignItems=\"center\"\n height=\"100%\"\n style={{\n transform: getMarkerPosition(variant),\n }}\n >\n {variant === 'position' ? <MapMarkerPosition /> : null}\n {variant === 'large' ? <MapMarkerLarge /> : null}\n {variant === 'simple' ? <MapMarkerSimple /> : null}\n </View>\n </View>\n );\n}\n","export function getRangedWidthValue(nextWidth: number, maxValue: number): number {\n const rangedMapWidth = Math.max(1, Math.min(nextWidth, maxValue));\n\n return rangedMapWidth;\n}\n","import { PixelRatio } from 'react-native';\n\nexport function getShouldDisplay2x(): boolean {\n const currentDevicePixelRatio = PixelRatio.get();\n\n return currentDevicePixelRatio > 1;\n}\n","import type { ReactElement, ReactNode } from 'react';\nimport { useState } from 'react';\nimport type { LayoutChangeEvent } from 'react-native';\nimport type { ViewProps } from '../native-base/primitives';\nimport { View } from '../native-base/primitives';\nimport { StaticMapError } from './StaticMapError';\nimport { StaticMapImage } from './StaticMapImage';\nimport { StaticMapLoader } from './StaticMapLoader';\nimport { StaticMapMarker } from './StaticMapMarker';\nimport { useGetStaticMapImageUrl } from './hooks/useGetStaticMapImageUrl';\nimport { getRangedWidthValue } from './utils/getRangedWidthValue';\nimport { getShouldDisplay2x } from './utils/getShouldDisplay2x';\nimport type { MapCenter } from './utils/getStaticMapImageUrl';\n\nconst mapBoxMaxPictureWidth = 1280;\n\n// Mapbox requestable width for image is between 1 - 1280px\nfunction getPictureWidth(nextWidth: number): number {\n return getRangedWidthValue(nextWidth, mapBoxMaxPictureWidth);\n}\n\nexport interface StaticMapProps extends Omit<ViewProps, 'onLayout'> {\n width?: number;\n height: number;\n alt?: string;\n center: MapCenter;\n marker?: ReactNode;\n /**\n * Mapbox map id.\n * Only use this props if you want to use something different that the config in <KittMapConfigProvider />\n */\n mapId?: string;\n /**\n * Mapbox api access token.\n * Only use this props if you want to use something different that the config in <KittMapConfigProvider />\n */\n apiToken?: string;\n\n onLoaded?: () => void;\n onError?: () => void;\n}\n\nexport function StaticMap({\n width = 0,\n height,\n alt,\n apiToken,\n mapId,\n marker,\n center,\n onLoaded,\n onError,\n ...props\n}: StaticMapProps): ReactElement {\n const [currentWidth, setCurrentWidth] = useState(getPictureWidth(width));\n const [isLoading, setIsLoading] = useState(true);\n const [hasError, setHasError] = useState(false);\n const [currentMapKey, setCurrentMapKey] = useState(0);\n\n const shouldDisplay2xImage = getShouldDisplay2x();\n\n const mapUrl = useGetStaticMapImageUrl({\n forceApiToken: apiToken,\n forceMapId: mapId,\n mapWidth: currentWidth,\n mapHeight: height,\n center,\n is2x: shouldDisplay2xImage,\n });\n\n const handleParentLayout = (event: LayoutChangeEvent): void => {\n const { nativeEvent } = event;\n const rangedMapWidth = getPictureWidth(nativeEvent.layout.width);\n\n setCurrentWidth(rangedMapWidth);\n };\n\n const handleImageLoadEnd = (): void => {\n setIsLoading(false);\n\n if (onLoaded) onLoaded();\n };\n\n const handleError = (): void => {\n setHasError(true);\n\n if (onError) onError();\n };\n\n const handleReload = (): void => {\n setHasError(false);\n setIsLoading(true);\n setCurrentMapKey((prev) => prev + 1);\n };\n\n const shouldDisplayMarker = marker && !isLoading && !hasError;\n\n // Prevents requesting unusable image\n const shouldDisplayPicture = currentWidth > 1 && mapUrl;\n\n return (\n <View\n position=\"relative\"\n maxWidth={mapBoxMaxPictureWidth}\n height={height}\n onLayout={handleParentLayout}\n {...props}\n data-chromatic={process.env.KITT_MAP_CHROMATIC_IGNORE === 'true' ? 'ignore' : undefined}\n >\n {shouldDisplayPicture ? (\n <StaticMapImage\n key={`map-key-${currentMapKey}`}\n url={mapUrl}\n width={currentWidth}\n height={height}\n alt={alt}\n onLoadEnd={handleImageLoadEnd}\n onError={handleError}\n />\n ) : null}\n\n {shouldDisplayMarker ? (\n <View position=\"absolute\" top=\"0\" left=\"0\" width=\"100%\" height=\"100%\">\n {marker}\n </View>\n ) : null}\n\n {isLoading ? (\n <View position=\"absolute\" top=\"0\" left=\"0\" width=\"100%\" height=\"100%\">\n <StaticMapLoader />\n </View>\n ) : null}\n\n {hasError ? (\n <View position=\"absolute\" top=\"0\" left=\"0\" width=\"100%\" height=\"100%\">\n <StaticMapError onReload={handleReload} />\n </View>\n ) : null}\n </View>\n );\n}\n\nStaticMap.Image = StaticMapImage;\nStaticMap.Loader = StaticMapLoader;\nStaticMap.Error = StaticMapError;\nStaticMap.Marker = StaticMapMarker;\n","import type { ViewStyle } from 'react-native';\nimport styled from 'styled-components/native';\n\ninterface FlexProps {\n direction: ViewStyle['flexDirection'];\n padding?: number;\n}\n\nexport const Flex = styled.View.withConfig<FlexProps>({\n shouldForwardProp: (prop, defaultValidatorFn) => !['direction', 'padding'].includes(prop) && defaultValidatorFn(prop),\n})`\n display: flex;\n flex-direction: ${({ direction }) => direction};\n flex-wrap: wrap;\n padding: ${({ theme, padding = 0 }) => padding * theme.kitt.spacing}px;\n`;\n","export const storyPadding = '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, ReactNode } from 'react';\nimport { StorySection } from './StorySection';\n\nexport interface StoryContainerProps {\n children: NonNullable<ReactNode>;\n state?: 'none' | 'active' | 'hover' | 'focus';\n platform?: 'all' | 'native' | 'web';\n title?: ReactNode;\n}\n\nexport function StoryContainer({\n children,\n title,\n state = 'none',\n platform = 'all',\n}: StoryContainerProps): ReactElement | null {\n if (platform === 'web') return null;\n\n return (\n <StorySection.BlockSection testID={state} title={title}>\n {children}\n </StorySection.BlockSection>\n );\n}\n","import type { StoryContext } from '@storybook/addons';\nimport type { ReactElement, ReactNode } from 'react';\nimport { Story as StoryContainer } from './Story';\n\nexport function StoryDecorator(storyFn: () => ReactNode, context: StoryContext): ReactElement {\n return <StoryContainer title={context.name}>{storyFn()}</StoryContainer>;\n}\n","import type { ReactElement, ReactNode } from 'react';\nimport { Children } from 'react';\nimport { Platform } 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","import { Platform } from 'react-native';\nimport { css } from 'styled-components/native';\nimport { getTypographyTypeConfigKey } from '../typography/Typography';\nimport type { InputUIState } from './utils';\n\nexport interface TextInputMixinProps {\n $state: InputUIState;\n}\n\n/** @deprecated this mixin is not SSR compatible */\nexport const styledTextInputMixin = css<TextInputMixinProps>`\n background-color: ${({ theme, $state }) =>\n $state === 'disabled'\n ? theme.kitt.forms.input.states.disabled.backgroundColor\n : theme.kitt.forms.input.states.default.backgroundColor};\n\n border-width: ${({ theme }) => theme.kitt.forms.input.borderWidth}px;\n border-radius: ${({ theme }) => theme.kitt.forms.input.borderRadius}px;\n border-color: ${({ theme, $state }) => theme.kitt.forms.input.states[$state].borderColor};\n\n font-size: ${({ theme }) => {\n const typeConfigKey = getTypographyTypeConfigKey(theme);\n return `${theme.kitt.typography.types.bodies.configs.body[typeConfigKey].fontSize}px`;\n }};\n\n color: ${({ theme, $state }) =>\n theme.kitt.forms.input.states[$state].color || theme.kitt.forms.input.states.default.color};\n font-family: ${({ theme }) =>\n Platform.OS === 'web'\n ? theme.kitt.typography.types.bodies.fontFamily.web.regular\n : theme.kitt.typography.types.bodies.fontFamily.native.regular};\n`;\n","import type { DateTimePickerEvent } from '@react-native-community/datetimepicker';\nimport DateTimePicker from '@react-native-community/datetimepicker';\nimport type { ReactElement, ReactNode } from 'react';\nimport { useState } from 'react';\nimport { FormattedMessage } from 'react-intl';\nimport { Platform, Text } from 'react-native';\nimport { Button } from '../Button/Button';\nimport { Modal } from '../Modal/Modal';\nimport { Typography } from '../typography/Typography';\n\ninterface TitleProps {\n children: NonNullable<ReactNode>;\n}\n\nfunction Title({ children }: TitleProps): ReactElement {\n return (\n <Modal.Header>\n <Typography.Text base=\"body\" variant=\"bold\">\n {children}\n </Typography.Text>\n </Modal.Header>\n );\n}\n\ninterface ModalDateTimePickerProps {\n title?: ReactNode;\n visible?: boolean;\n value: Date;\n validateButtonLabel?: string;\n onClose: () => void;\n onChange: (newDate: Date) => void;\n}\n\nexport function ModalDateTimePicker({\n title,\n visible,\n value,\n validateButtonLabel,\n onChange,\n onClose,\n}: ModalDateTimePickerProps): ReactElement {\n const [currentValue, setCurrentValue] = useState(value);\n\n // Prevent unsynced value between the modal and its parent state\n const handleClose = (): void => {\n setCurrentValue(value);\n onClose();\n };\n\n const handleSubmit = (): void => {\n onChange(currentValue);\n };\n\n return (\n <Modal visible={Boolean(visible)} onClose={handleClose}>\n {visible ? (\n <>\n {title ? <Title>{title}</Title> : null}\n\n <Modal.Body>\n <DateTimePicker\n is24Hour\n testID=\"timePicker.ModalDateTimePicker.dateTimeNativePicker\"\n value={currentValue}\n mode=\"time\"\n display={Platform.OS === 'ios' ? 'spinner' : 'default'}\n onChange={(_event: DateTimePickerEvent, date?: Date) =>\n setCurrentValue((prev) => {\n return date || prev;\n })\n }\n />\n </Modal.Body>\n <Modal.Footer>\n <Button stretch type=\"primary\" onPress={handleSubmit}>\n {validateButtonLabel ? (\n <Text>{validateButtonLabel}</Text>\n ) : (\n <FormattedMessage id=\"kitt-universal.ModalDateTimePicker.confirm\" defaultMessage=\"Valider\" />\n )}\n </Button>\n </Modal.Footer>\n </>\n ) : null}\n </Modal>\n );\n}\n","import type { InputUIState } from '@ornikar/kitt-universal';\nimport { useMemo, useState } from 'react';\n\nexport const timePickerPlaceholder = '--:--';\n\nexport const formatNumberToTimeString = (time: number): string => `${String(time).padStart(2, '0')}`;\n\nexport const formatDateToTimeString = (date: Date): string =>\n `${formatNumberToTimeString(date.getHours())}:${formatNumberToTimeString(date.getMinutes())}`;\n\nexport const useTimePicker = (\n value: Date | null,\n onChange: (time?: Date | null) => void,\n onBlur: () => void,\n disabled: boolean,\n defaultValue?: Date | null,\n isDefaultVisible?: boolean,\n): {\n displayedValue: string;\n dateTimePickerValue: Date;\n timePickerState: InputUIState;\n isTimePickerModalVisible: boolean;\n handleInputPress: () => void;\n handleModalClose: () => void;\n handleTimeChange: (date?: Date) => void;\n} => {\n const [isTimePickerModalVisible, setIsTimePickerModalVisible] = useState<boolean>(Boolean(isDefaultVisible));\n\n const todayAtNoon = useMemo(() => {\n const now = new Date(2000, 0, 1, 12);\n return new Date(now.getFullYear(), now.getMonth(), now.getDay(), 12);\n }, []);\n\n const defaultDate = defaultValue || todayAtNoon;\n const handleInputPress = (): void => {\n if (disabled) {\n return;\n }\n setIsTimePickerModalVisible(true);\n };\n\n const handleTimeChange = (date?: Date | null): void => {\n setIsTimePickerModalVisible(false);\n\n onChange(date || defaultDate);\n onBlur();\n };\n\n const dateTimePickerValue = value || defaultDate;\n const displayedValue = value === null ? timePickerPlaceholder : formatDateToTimeString(dateTimePickerValue);\n const timePickerState = isTimePickerModalVisible ? 'focus' : 'default';\n\n return {\n dateTimePickerValue,\n displayedValue,\n timePickerState,\n isTimePickerModalVisible,\n handleInputPress,\n handleTimeChange,\n handleModalClose: () => setIsTimePickerModalVisible(false),\n };\n};\n","import type { TextInputMixinProps } from '@ornikar/kitt-universal';\nimport type { DateTimePickerEvent } from '@react-native-community/datetimepicker';\nimport DateTimePicker from '@react-native-community/datetimepicker';\nimport type { ReactElement, ReactNode } from 'react';\nimport { Platform } from 'react-native';\nimport styled from 'styled-components/native';\nimport { styledTextInputMixin } from '../forms/styledTextInputMixin';\nimport { Typography } from '../typography/Typography';\nimport { ModalDateTimePicker } from './ModalDateTimePicker';\nimport { timePickerPlaceholder, useTimePicker } from './useTimePicker';\n\ninterface ContainerProps extends TextInputMixinProps {}\n\nconst Container = styled.Pressable<ContainerProps>`\n ${styledTextInputMixin}\n width: 100px;\n height: 40px;\n justify-content: center;\n align-items: center;\n`;\n\nexport type TimePickerValue = Date | null | undefined;\n\nexport interface TimePickerProps {\n title?: ReactNode;\n state?: TextInputMixinProps['$state'];\n disabled?: boolean;\n forceDefaultValue?: TimePickerValue;\n value?: Date | '' | null;\n validateButtonLabel?: string;\n isDefaultVisible?: boolean;\n onChange: (time: TimePickerValue) => void;\n onBlur: () => void;\n}\n\nexport function TimePicker({\n title,\n state = 'default',\n disabled = false,\n forceDefaultValue,\n value,\n validateButtonLabel,\n isDefaultVisible,\n onChange,\n onBlur,\n}: TimePickerProps): ReactElement {\n const {\n dateTimePickerValue,\n displayedValue,\n timePickerState,\n handleInputPress,\n handleModalClose,\n handleTimeChange,\n isTimePickerModalVisible,\n } = useTimePicker(value || null, onChange, onBlur, disabled, forceDefaultValue, isDefaultVisible);\n\n return (\n <Container\n $state={timePickerState === 'default' ? state : timePickerState}\n accessibilityRole=\"button\"\n onPress={handleInputPress}\n >\n <Typography.Text base=\"body\" color={displayedValue === timePickerPlaceholder ? 'black-light' : 'black'}>\n {displayedValue}\n </Typography.Text>\n\n {Platform.OS === 'android' && isTimePickerModalVisible ? (\n <DateTimePicker\n is24Hour\n testID=\"timePicker.TimePicker.dateTimeNativePicker\"\n value={dateTimePickerValue}\n mode=\"time\"\n display=\"default\"\n onChange={(_event: DateTimePickerEvent, date?: Date) => handleTimeChange(date)}\n />\n ) : null}\n\n {Platform.OS !== 'android' ? (\n <ModalDateTimePicker\n title={title}\n visible={isTimePickerModalVisible}\n value={dateTimePickerValue}\n validateButtonLabel={validateButtonLabel}\n onChange={handleTimeChange}\n onClose={handleModalClose}\n />\n ) : null}\n </Container>\n );\n}\n","import { TooltipArrowIcon } from '@ornikar/kitt-icons';\nimport type { ReactElement } from 'react';\nimport { forwardRef } from 'react';\nimport { useTheme } from 'styled-components/native';\nimport type { ViewProps } from '../native-base/primitives';\nimport { View } from '../native-base/primitives';\nimport type { TooltipPosition } from './Tooltip';\n\nexport interface ArrowProps {\n position: TooltipPosition;\n top?: number;\n left?: number;\n display?: ViewProps['display'];\n}\n\nexport const Arrow = forwardRef<typeof View, ArrowProps>(\n ({ position, top, left, display }: ArrowProps, ref): ReactElement => {\n const theme = useTheme();\n\n const transformStyle = [\n {\n rotate: position === 'bottom' ? '180deg' : '0deg',\n },\n ];\n\n return (\n <View\n ref={ref}\n display={display || { base: 'none', small: 'flex' }}\n width=\"kitt.tooltip.arrow.width\"\n height=\"kitt.tooltip.arrow.height\"\n left={left}\n top={top}\n style={{\n transform: transformStyle,\n }}\n >\n <TooltipArrowIcon color={theme.kitt.tooltip.backgroundColor} opacity={theme.kitt.tooltip.opacity} />\n </View>\n );\n },\n);\n","import type { ReactElement, ReactNode } from 'react';\nimport { View } from '../native-base/primitives';\nimport { Typography } from '../typography/Typography';\n\ninterface TooltipContentProps {\n children: ReactNode;\n}\n\nexport function TooltipContent({ children }: TooltipContentProps): ReactElement {\n return (\n <View\n backgroundColor=\"kitt.tooltip.backgroundColor\"\n borderRadius=\"kitt.tooltip.borderRadius\"\n opacity=\"kitt.tooltip.opacity\"\n paddingY=\"kitt.tooltip.verticalPadding\"\n paddingX=\"kitt.tooltip.horizontalPadding\"\n >\n <Typography.Text base=\"body-small\" color=\"white-light\">\n {children}\n </Typography.Text>\n </View>\n );\n}\n","import { useEffect, useState } from 'react';\nimport { useWindowDimensions } from 'react-native';\n\ninterface CustomShiftParams {\n tooltipX: number;\n refPageX: number;\n refWidth: number;\n floatingWidth: number;\n wWidth: number;\n}\n// HG 08/11/2022\n// At the moment `shift` from `@floating-ui/react-native` does not work properly\nexport function customShift({ tooltipX, refPageX, refWidth, floatingWidth, wWidth }: CustomShiftParams): {\n left?: number;\n right?: number;\n} {\n const refCenterOnScreen = refPageX + refWidth * 0.5;\n const halfFloatingWith = floatingWidth * 0.5;\n\n // Left collisions\n if (refCenterOnScreen - halfFloatingWith < 0) {\n return {\n left: 0,\n right: undefined,\n };\n }\n\n // Right collisions\n if (refCenterOnScreen + halfFloatingWith > wWidth) {\n return {\n left: undefined,\n right: 0,\n };\n }\n\n // No collisions\n return {\n left: tooltipX,\n right: undefined,\n };\n}\n\ninterface UseCustomShiftParams {\n tooltipX: number;\n pressableRect?: {\n pageX: number;\n width: number;\n };\n floatingWidth?: number;\n}\n\nexport function useCustomShift({ tooltipX, pressableRect, floatingWidth }: UseCustomShiftParams): {\n left?: number;\n right?: number;\n} {\n const windowDimensions = useWindowDimensions();\n const [customShiftData, setCustomShiftData] = useState<{ left?: number; right?: number }>({\n left: undefined,\n right: undefined,\n });\n\n useEffect(() => {\n if (tooltipX === undefined || !pressableRect || floatingWidth === undefined) return;\n\n const res = customShift({\n tooltipX,\n refPageX: pressableRect.pageX,\n refWidth: pressableRect.width,\n wWidth: windowDimensions.width,\n floatingWidth,\n });\n\n setCustomShiftData(res);\n }, [floatingWidth, tooltipX, windowDimensions, pressableRect]);\n\n return customShiftData;\n}\n","import type { MiddlewareData, Placement } from '@floating-ui/react-native';\nimport { autoPlacement, offset, useFloating } from '@floating-ui/react-native';\nimport type { ReactElement, ReactNode, RefObject } from 'react';\nimport { useCallback, useEffect, useRef, useState } from 'react';\nimport Animated, { useAnimatedStyle, useSharedValue, withSpring } from 'react-native-reanimated';\nimport { useTheme } from 'styled-components/native';\nimport { Pressable, View } from '../native-base/primitives';\nimport { Arrow } from './Arrow';\nimport { TooltipContent } from './TooltipContent';\nimport { useCustomShift } from './hooks/useCustomShift';\n\nexport type TooltipPosition = 'bottom' | 'top';\nexport type WebFloatingPosition = 'fixed' | 'absolute';\n\nexport interface UpdateCallbackParams {\n x: number;\n y: number;\n placement: Placement;\n strategy: string;\n refs: {\n reference: RefObject<any>;\n floating: RefObject<any>;\n offsetParent?: RefObject<any>;\n };\n middlewareData: MiddlewareData;\n update: () => void;\n}\n\ntype OnUpdateCallback = (params: UpdateCallbackParams) => void;\n\nexport interface TooltipProps {\n children: NonNullable<ReactNode>;\n content: NonNullable<ReactNode>;\n floatingPadding?: number;\n position?: TooltipPosition;\n zIndex?: number;\n fullWidth?: boolean;\n /**\n * @description\n * This value init the internal visibile state of the tooltip. This is mainly used for testing purpose.\n */\n defaultVisible?: boolean;\n /**\n * @default absolute\n * @description\n * Specific position strategy to apply to the tooltip.\n * Might be usefull when dealing with edge case (see https://floating-ui.com/docs/misc#z-index-stacking).\n */\n floatingStrategy?: {\n web: WebFloatingPosition;\n };\n onToggle?: (isVisible: boolean) => void;\n onUpdate?: OnUpdateCallback;\n}\n\n// eslint-disable-next-line unicorn/expiring-todo-comments\n// TODO : update position on scroll in future iteration\nexport function Tooltip({\n children,\n defaultVisible,\n position = 'top',\n content,\n floatingPadding,\n zIndex = 1000,\n fullWidth,\n onUpdate,\n onToggle,\n}: TooltipProps): ReactElement {\n const theme = useTheme();\n const currentFloatingPadding = floatingPadding || theme.kitt.tooltip.floatingPadding;\n\n const [floatingWidth, setFloatingWidth] = useState<number | undefined>(undefined);\n const pressableRectRef = useRef<{ width: number; pageX: number } | undefined>(undefined);\n\n const pressed = useSharedValue(defaultVisible);\n\n const animatedStyles = useAnimatedStyle(() => {\n return {\n opacity: withSpring(pressed.value ? theme.kitt.tooltip.opacity : 0),\n transform: [\n {\n scale: withSpring(pressed.value ? 1 : 0.8),\n },\n ],\n };\n });\n\n const { x, y, reference, floating, update, refs, middlewareData, strategy, placement } = useFloating({\n placement: position,\n middleware: [\n // Order matters\n offset(currentFloatingPadding),\n // shift() => shift is replaced by customShift\n autoPlacement({\n allowedPlacements: ['top', 'bottom'],\n padding: currentFloatingPadding,\n }),\n // arrow is not reliable enough for implementation\n // arrow({ element: arrowRef }),\n ],\n });\n\n const tooltipY = Math.round(y ?? 0);\n const tooltipX = Math.round(x ?? 0);\n\n useEffect(() => {\n if (!onUpdate) return;\n onUpdate({\n x: tooltipX,\n y: tooltipY,\n placement,\n strategy,\n update,\n refs,\n middlewareData,\n });\n }, [tooltipX, tooltipY, placement, strategy, update, refs, middlewareData, onUpdate]);\n\n const getPressableRect = useCallback(\n (element) => {\n if (element) {\n element.measure((_x: number, _y: number, width: number, _h: number, pageX: number) => {\n pressableRectRef.current = { width, pageX };\n });\n }\n },\n [pressableRectRef],\n );\n\n const customShiftData = useCustomShift({ tooltipX, pressableRect: pressableRectRef.current, floatingWidth });\n\n const handlePress = (): void => {\n if (onToggle) onToggle(!!pressed.value);\n pressed.value = !pressed.value;\n };\n\n return (\n <View position=\"relative\">\n <View ref={reference}>\n <Pressable ref={getPressableRect} accessibilityRole=\"button\" onPress={handlePress}>\n {children}\n </Pressable>\n </View>\n\n <View\n ref={floating}\n accessibilityElementsHidden={!pressed.value}\n importantForAccessibility={pressed.value === true ? 'auto' : 'no-hide-descendants'}\n position=\"absolute\"\n maxWidth={fullWidth ? undefined : { base: '100%', small: 'kitt.tooltip.maxWidth' }}\n top={tooltipY}\n left={customShiftData.left}\n right={customShiftData.right}\n onLayout={({ nativeEvent }) => setFloatingWidth(nativeEvent.layout.width)}\n >\n <Animated.View style={[animatedStyles]}>\n <TooltipContent>{content}</TooltipContent>\n </Animated.View>\n </View>\n </View>\n );\n}\n\nTooltip.Arrow = Arrow;\nTooltip.Content = TooltipContent;\n","import type { ReactElement } from 'react';\nimport { useMemo } from 'react';\nimport type { DefaultTheme } from 'styled-components/native';\nimport { useTheme } from 'styled-components/native';\nimport type { Entries } from 'type-fest';\nimport type { TypographyTypeConfig } from 'themes/late-ocean/typography';\nimport type { EmojiProps } from '../Emoji/Emoji';\nimport { Emoji } from '../Emoji/Emoji';\nimport { KittBreakpointNameEnum } from '../KittBreakpoints';\nimport type { TypographyBreakpointType, TypographyType } from './Typography';\nimport { getTypographyTypeConfigKeyFromTypeName, isTypographyHeader } from './Typography';\n\nfunction getTypographyTypeConfig(type: TypographyType, theme: DefaultTheme): TypographyTypeConfig {\n if (isTypographyHeader(type, undefined)) {\n return theme.kitt.typography.types.headers.configs[type];\n }\n\n return theme.kitt.typography.types.bodies.configs[type];\n}\n\ninterface Sizes {\n size: EmojiProps['size'];\n marginLeft: NonNullable<EmojiProps['_web']>['marginLeft'];\n marginRight: NonNullable<EmojiProps['_web']>['marginRight'];\n}\n\nfunction calcSizesFromType(type: TypographyBreakpointType, theme: DefaultTheme): Sizes {\n const typeWithMediumForced = {\n ...type,\n medium: type.medium || type.small || type.base,\n };\n\n const size: Sizes['size'] = {\n base: getTypographyTypeConfig(type.base ?? 'body', theme).baseAndSmall.fontSize,\n };\n\n [\n KittBreakpointNameEnum.SMALL,\n KittBreakpointNameEnum.MEDIUM,\n KittBreakpointNameEnum.LARGE,\n KittBreakpointNameEnum.WIDE,\n ].forEach((typeName) => {\n const value = typeWithMediumForced[typeName];\n if (value) {\n size[typeName] = getTypographyTypeConfig(value, theme)[getTypographyTypeConfigKeyFromTypeName(typeName)].fontSize;\n }\n });\n\n const marginLeft: Sizes['marginLeft'] = {};\n const marginRight: Sizes['marginRight'] = {};\n\n (Object.entries(size) as Entries<typeof size>).forEach(([key, value]) => {\n if (value) {\n marginLeft[key] = value / 10;\n marginLeft[key] = value / 20;\n }\n });\n\n return { size, marginLeft, marginRight };\n}\n\nexport interface TypographyEmojiProps extends TypographyBreakpointType {\n type?: TypographyBreakpointType;\n emoji: string;\n}\n\nexport function TypographyEmoji({\n emoji,\n base: legacyBase,\n small: legacySmall,\n medium: legacyMedium,\n large: legacyLarge,\n wide: legacyWide,\n type = { base: legacyBase, small: legacySmall, medium: legacyMedium, large: legacyLarge, wide: legacyWide },\n}: TypographyEmojiProps): ReactElement {\n const theme = useTheme();\n const { base, small, medium, large, wide } = type;\n const { size, marginLeft, marginRight } = useMemo(\n () => calcSizesFromType({ base, small, medium, large, wide }, theme),\n [base, small, medium, large, wide, theme],\n );\n\n return (\n <Emoji\n size={size}\n emoji={emoji}\n alignSelf=\"center\"\n _web={{\n // @ts-expect-error -- transform expects number, but string works on web\n style: {\n transform: 'translateY(20%)',\n },\n /* Style Twemoji: https://github.com/twitter/twemoji#inline-styles */\n marginLeft,\n marginRight,\n }}\n />\n );\n}\n","import type { 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","import type { ComponentType, ForwardRefExoticComponent, PropsWithoutRef, RefAttributes } from 'react';\nimport { forwardRef } from 'react';\nimport { useTheme } from 'styled-components/native';\nimport type { DefaultTheme } from 'styled-components/native';\nimport type { Except } from 'type-fest';\n\n// type $Without<T, K extends keyof any> = T extends any ? Pick<T, Exclude<keyof T, K>> : never;\n// type $DeepPartial<T> = { [P in keyof T]?: $DeepPartial<T[P]> };\n\n// export function withTheme<Props extends { theme: DefaultTheme }, C>(\n// WrappedComponent: ComponentType<Props> & C,\n// ): ComponentType<SetOptional<Props, 'theme'>> & hoistNonReactStatics.NonReactStatics<typeof WrappedComponent> {\n// return function ThemedComponent(props) {\n// const theme = useTheme();\n\n// return (<WrappedComponent theme={theme} {...(props as any)} />) as any;\n// };\n// }\n\nexport function withTheme<Props extends { theme: DefaultTheme }, T>(\n WrappedComponent: ComponentType<Props>,\n): ForwardRefExoticComponent<PropsWithoutRef<Except<Props, 'theme'>> & RefAttributes<T>> {\n // eslint-disable-next-line prefer-arrow-callback\n return forwardRef<T, Except<Props, 'theme'>>(function ThemedComponent(props, ref) {\n const theme = useTheme();\n\n return <WrappedComponent ref={ref} theme={theme} {...(props as any)} />;\n });\n}\n"],"names":["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","AnimatedContainer","animatedStyles","sx","useSx","styles","borderRadius","backgroundColor","Animated","KittBreakpoints","BASE","SMALL","MEDIUM","LARGE","WIDE","KittBreakpointsMax","KittBreakpointNameEnum","IsHeaderTypographyContext","createContext","TypographyColorContext","useTypographyColor","useContext","TypographyDefaultColorContext","useTypographyDefaultColor","getTypographyTypeConfigKey","isMediumOrAbove","responsive","matchWindowSize","minWidth","getTypographyTypeConfigKeyFromTypeName","isTypeHeader","type","startsWith","isTypographyHeader","isHeaderTypographyInContext","Error","createNativeBaseFontSize","typeWithMediumForced","medium","small","base","fontSizeForNativeBase","typeName","value","getNBThemeColorFromColorProps","colorName","Typography","legacyBase","legacySmall","legacyMedium","large","legacyLarge","wide","legacyWide","color","otherProps","defaultColor","hasTypographyAncestor","baseOrDefaultToBody","isHeader","nonNullableVariant","entries","key","currentColor","text","NBText","content","TypographyText","props","TypographyParagraph","Platform","OS","createHeading","level","defaultBase","TypographyHeading","displayName","SetDefaultColor","Provider","Text","Paragraph","Header1","Header2","Header3","Header4","Header5","Header6","h1","h2","h3","h4","h5","Icon","icon","size","align","clonedIcon","cloneElement","TypographyIconSpecifiedColor","typography","colors","TypographyIconInheritColor","TypographyIcon","getTextColorByType","isButtonInteractedWith","ButtonIcon","iconPosition","ButtonContentChildren","buttonIconSharedProps","sharedNativeStyle","flexShrink","_jsxs","ButtonContent","isDisabled","flexGrow","flexBasis","getCurrentPaddingConfig","ButtonPadding","currentPaddingKey","DisabledBorder","FocusBorder","button","buttonTheme","width","borderWidth","focus","height","transitionProperty","transitionDuration","transition","duration","transitionTimingFunction","timingFunction","hasVariant","getVariantValuesIfExist","default","useNativeAnimation","pressed","useSharedValue","pressedBackgroundColor","scale","useAnimatedStyle","interpolateColor","withSpring","active","onPressIn","onPressOut","getButtonSize","xLarge","allowedGhostTypes","Button","stretch","sizeProp","__DEV__","includes","deprecatedProp","SpinningIcon","String","animationRef","useRef","Value","rotation","current","interpolate","inputRange","outputRange","useEffect","animation","loop","timing","toValue","easing","Easing","linear","useNativeDriver","start","stop","rotate","LoaderIcon","ArcIcon","maxWidth","minHeight","maxHeight","hasWidthMatched","hasHeightMatched","useMatchWindowSize","options","useWindowDimensions","getCurrentStretchValue","isStretch","isMedium","ActionsItem","as","isCurrentStretch","isLoading","setIsLoading","useState","mountedRef","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","hover","black","blackDisabled","blackLight","blackAnthracite","uiBackground","uiBackgroundLight","overlay","dark","light","defaultAvatarSize","defaultAvatarIconSize","largeAvatarSize","largeAvatarIconSize","avatar","iconSize","getCurrentRadius","sizeVariant","round","getCurrentSize","getIconSize","getInitials","firstname","lastname","toUpperCase","AvatarContent","src","alt","isLight","uri","UserIcon","Avatar","currentSize","currentBorderRadius","BottomSheetComp","Content","hasScrollView","hasBackdrop","hasHandle","onDismiss","Wrapper","useMemo","BottomSheetScrollView","BottomSheetView","initialSnapPoints","animatedHandleHeight","animatedSnapPoints","animatedContentHeight","handleContentLayout","useBottomSheetDynamicSnapPoints","BottomSheetModal","bottomSheet","handle","BottomSheetHandle","BottomSheetBackdrop","data","SafeAreaView","BottomSheetContainerView","BottomSheet","useBottomSheet","useStaticBottomSheet","bottomSheetRef","BottomSheetMemoized","ModalBehaviourPortal","_Fragment","OnCloseContext","OnCloseProvider","onClose","useOnCloseModalBehaviour","CloseButton","onCloseContextCallback","ModalBehaviour","visible","position","top","left","OverlayPressable","styled","StyleSheet","absoluteFillObject","Overlay","CardModalRotationContainer","NativeOpacityAnimation","onExited","hasRunAnimationRef","handleAnimationFinished","opacityStyle","cardModal","x1","y1","x2","y2","opacity","withTiming","bezier","isFinished","runOnJS","NativeRotationAnimation","onEntered","animatedStyle","rotateZ","CardModalAnimation","onEnter","onExit","isModalVisible","setIsModalVisible","isContentVisible","setIsContentVisible","handleAnimationExited","Modal","ScrollContainer","CardModalBehaviour","isModalBehaviourVisible","setIsModalBehaviourVisible","CardModalBody","paddingX","paddingY","CardModalFooter","padding","hasSeparator","CardModalHeader","title","paddingBottom","right","defaultContainerPadding","CardModal","withoutShadow","Body","Header","Footer","selected","Boolean","progress","useDerivedValue","choices","item","backgroundStyles","defaultBg","pressedBg","selectedBg","disabledBg","getCurrentTextColor","isSelected","getBorderRadius","defaultRadius","$variant","border","css","ChoiceItemView","$isHovered","$isPressed","$isDisabled","$isSelected","hoverWhenSelected","defaultBackground","$size","ifWindowSizeMatches","property","ChoiceItem","onChange","onBlur","onFocus","handleChange","checked","ChoiceItemContainer","$isLast","$direction","row","column","spacing","ChoicesContainer","direction","Choices","id","currentValue","setCurrentValue","isForm","childrenArray","Children","toArray","sharedProps","newValue","map","child","index","element","createChoicesComponent","ButtonChoices","ChoicesElements","dialogModal","DialogModalAnimation","DialogModalBehaviour","DialogModal","illustration","actions","DialogModalButton","Emoji","emoji","alignSelf","_web","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","WebBrowser","openBrowserAsync","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","keyboardDatePickerReducer","action","nextDay","currentDay","displayedDay","toString","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","InputTextContainer","InputText","formState","internalForceState","autoCorrect","textContentType","autoComplete","keyboardType","multiline","onSubmitEditing","shouldHandleSingleLineOnIOS","Input","rightContainer","getCurrentInternalForcedState","InputPart","placeholder","PartContainer","KeyboardDatePicker","monthRef","yearRef","defaultValue","defaultDay","getDate","defaultMonth","defaultYear","dispatch","useReducer","sharedInputPartProps","handleDatePartChange","handleAutoFocusNextField","currentFieldValue","nextFieldRef","nativeEvent","PressableDateInputs","DatePickerAndroid","pickerDefaultDate","pickerUITestID","isDefaultVisible","setIsFocused","handleClose","handleModalOpen","DateTimePickerAndroid","open","now","timestamp","date","onTouchCancel","BodyView","ModalBody","FooterView","ModalFooter","Background","AnimatedBackground","opacityStyles","currentOpacityStyles","AnimatedScale","scaleStyles","alignItems","justifyContent","iconButton","IconButton","accessibilityLabel","backfaceVisibility","translate3d","isCurrentHovered","isCurrentPressed","HeaderView","LeftIconView","RightIconView","TitleView","isIconLeft","ModalHeader","XIcon","ModalView","ContentView","card","NativeModal","getDatePickerDisplayMode","PlatformDateTimePicker","defaultDate","maximumDate","minimuDate","displayMode","iosProps","textColor","DateTimePicker","_event","ModalTitle","ModalPlatformDateTimePicker","isVisible","validateButtonLabel","newDate","prev","FormattedMessage","DefaultNativeUIDatePicker","pickerUITitle","pickerUIValidateButtonLabel","isPickerUIVisible","setIsPickerUIVisible","handleModalClose","NativeUIDatePicker","DatePicker","fillMode","InputEmail","getColorFromState","InputFeedback","InputField","label","labelFeedback","feedback","inputField","containerPaddingTop","containerPaddingBottom","labelContainerPaddingBottom","labelFeedbackMarginLeft","feedbackPaddingTop","getIconColor","InputIcon","InputPressable","InputPassword","isPasswordDefaultVisible","setIsVisible","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","StyledAnimatedView","radioButtonGroup","$isFirst","isFirst","isLast","HoverBorder","shouldDisplayBorder","borderColor","pressedBorderColor","RadioButton","RadioButtonGroupItem","RadioButtonGroup","clone","TextArea","Highlight","highlight","KittMapConfigProviderContext","KittMapConfigProvider","mapId","apiToken","providerValue","useKittMapConfig","context","ListItemContent","SideContainerView","side","listItem","innerMargin","ListItemSideContainer","SideContentView","ListItemSideContent","ContainerView","withPadding","borders","ListItem","Fragment","wrapperProps","containerProps","SideContent","SideContainer","MapMarkerSimple","DefaultMarkerSvg","MapMarkerLarge","LargeMarkerSvg","MapMarkerPosition","PositionMarkerSvg","IconContent","AlertCircleIcon","CheckIcon","AlertTriangleIcon","InfoIcon","getColorByType","getIconButtonColor","messageType","BaseMessage","hasNoRadius","centeredText","insets","Message","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","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","container","horizontalPadding","verticalPadding","floatingPadding","fontSizes","baseAndSmall","header1","types","headers","configs","fontSize","header2","header3","header4","header5","bodies","body","mediumAndWide","lineHeights","lineHeight","fontWeights","regular","fontWeight","bold","fonts","fontFamily","shadows","cards","low","shadowColor","shadowOffset","offsetX","offsetY","shadowOpacity","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","NativeSlideInAnimation","wHeight","translateStyle","flex","NavigationModalAnimation","NavigationModalBehaviour","NavigationModalContainer","$backgroundColor","ContainerWithoutHeader","NavigationModal","Padding","Notification","onDelete","AnimatedCircle","createAnimatedComponent","Circle","AnimatedLoaderCircle","strokeWidth","pageLoader","centerCoord","circlePerimeter","PI","strokeAnimation","useAnimatedProps","strokeDashoffset","AnimatedBackgroundCircle","delay","circleBackgroundFillDuration","fillEasingFunction","withDelay","Svg","isInfinitAnimation","AnimatedFillCircleContainer","withRepeat","rotationStyles","absoluteFill","shouldReverse","AnimatedFilledCircle","filledCircleFillDuration","groupFilledCircleRotationDuration","filledCircleRotationDuration","fill","PageLoaderContainer","PageLoader","hex2rgba","hex","alpha","r","slice","g","b","contentPadding","hoverBackgroundColor","focusBorderColor","ghost","hoverColor","activeColor","webAnimationContentDuration","webAnimationContentEasing","webAnimationOverlayDuration","webAnimationOverlayEasing","overlayHorizontalPadding","calcLineHeight","lineHeightMultiplier","createTypographyTypeConfig","baseAndSmallFontSize","mediumAndWideFontSize","kittColors","link","disabledColor","inputStatesStyle","pending","valid","labelColor","picker","ios","android","animationDuration","tag","in","out","values","smallBreakpoint","mediumBreakpoint","largeBreakpoint","wideBreakpoint","ContainerPressable","PickerItem","Picker","initialValue","onValueSelected","setValue","NativePicker","itemValue","React","Container","AnimatedLinearGradient","LinearGradient","SkeletonContent","sharedX","inOut","ease","linearGradientStyle","translateX","x","y","Skeleton","setWidth","Bar","Square","getStaticMapImageUrl","mapWidth","mapHeight","center","is2x","centerPart","long","lat","zoom","urlParts","mapImageUrl","URL","join","searchParams","append","useGetStaticMapImageUrl","forceMapId","forceApiToken","currentUrl","setCurrentUrl","currentMapIdRef","currentApiTokenRef","newUrl","StaticMapError","onReload","RotateCCWIcon","StaticMapImage","onLoadEnd","onError","StaticMapLoader","getMarkerPosition","StaticMapMarker","getRangedWidthValue","nextWidth","rangedMapWidth","getShouldDisplay2x","currentDevicePixelRatio","PixelRatio","get","mapBoxMaxPictureWidth","getPictureWidth","StaticMap","marker","onLoaded","currentWidth","setCurrentWidth","hasError","setHasError","currentMapKey","setCurrentMapKey","shouldDisplay2xImage","mapUrl","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","name","StoryGridRow","breakpoint","StoryGridCol","titleColor","isNative","StoryGrid","Col","getLabelColor","Tag","styledTextInputMixin","$state","typeConfigKey","Title","ModalDateTimePicker","timePickerPlaceholder","formatNumberToTimeString","time","formatDateToTimeString","getHours","getMinutes","useTimePicker","isTimePickerModalVisible","setIsTimePickerModalVisible","todayAtNoon","getDay","dateTimePickerValue","displayedValue","timePickerState","handleInputPress","handleTimeChange","TimePicker","forceDefaultValue","Arrow","display","transformStyle","TooltipArrowIcon","TooltipContent","customShift","tooltipX","refPageX","refWidth","floatingWidth","wWidth","refCenterOnScreen","halfFloatingWith","useCustomShift","pressableRect","windowDimensions","customShiftData","setCustomShiftData","res","pageX","Tooltip","defaultVisible","zIndex","fullWidth","onUpdate","onToggle","currentFloatingPadding","setFloatingWidth","pressableRectRef","reference","floating","update","refs","middlewareData","strategy","placement","useFloating","middleware","offset","autoPlacement","allowedPlacements","tooltipY","getPressableRect","useCallback","measure","_x","_y","_h","getTypographyTypeConfig","calcSizesFromType","marginLeft","marginRight","TypographyEmoji","StyleWebWrapper","_exp","$hasNoUnderline","_exp2","TypographyLinkWebWrapper","styledLinaria","class","propsAsIs","vars","TypographyLink","noUnderline","TypographyLinkProps","cursor","createWindowSizeHelper","dimensions","mapWindowWidth","widthList","previousMinWidth","found","find","useKittTheme","useWindowSize","KittThemeProvider","ThemeProvider","KittThemeDecorator","makeDecorator","parameterName","wrapper","parameters","MatchWindowSize","matchWindowSizeOptions","match","useCurrentBreakpointName","useBreakpointValue","withTheme","WrappedComponent"],"mappings":"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"}