@ornikar/kitt-universal 21.0.2 → 22.0.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 (69) hide show
  1. package/CHANGELOG.md +21 -0
  2. package/dist/definitions/ActionCard/ActionCardContentWrapper.d.ts.map +1 -1
  3. package/dist/definitions/Button/AnimatedContainer.web.d.ts.map +1 -1
  4. package/dist/definitions/Button/FocusBorder.d.ts.map +1 -1
  5. package/dist/definitions/IconButton/IconButton.d.ts +2 -2
  6. package/dist/definitions/IconButton/IconButton.d.ts.map +1 -1
  7. package/dist/definitions/Picker/Picker.web.d.ts.map +1 -1
  8. package/dist/definitions/Tooltip/Arrow.d.ts.map +1 -1
  9. package/dist/definitions/forms/DatePicker/DatePicker.d.ts +1 -1
  10. package/dist/definitions/forms/DatePicker/DatePicker.d.ts.map +1 -1
  11. package/dist/definitions/forms/DatePicker/components/InputPart.d.ts +1 -1
  12. package/dist/definitions/forms/DatePicker/components/InputPart.d.ts.map +1 -1
  13. package/dist/definitions/forms/DatePicker/components/PressableDateInputs.d.ts.map +1 -1
  14. package/dist/definitions/forms/InputText/InputText.d.ts +1 -1
  15. package/dist/definitions/forms/InputText/InputText.d.ts.map +1 -1
  16. package/dist/definitions/forms/RadioButtonGroup/HoverBorder.d.ts.map +1 -1
  17. package/dist/definitions/native-base/KittNativeBaseProvider.d.ts +2 -2
  18. package/dist/definitions/themes/default.d.ts +0 -2
  19. package/dist/definitions/themes/default.d.ts.map +1 -1
  20. package/dist/definitions/themes/late-ocean/typography.d.ts +0 -2
  21. package/dist/definitions/themes/late-ocean/typography.d.ts.map +1 -1
  22. package/dist/definitions/typography/Typography.d.ts +376 -46
  23. package/dist/definitions/typography/Typography.d.ts.map +1 -1
  24. package/dist/definitions/typography/TypographyEmoji.d.ts.map +1 -1
  25. package/dist/definitions/typography/TypographyLink.d.ts +3 -3
  26. package/dist/definitions/typography/TypographyLink.d.ts.map +1 -1
  27. package/dist/definitions/utils/getEnterKeyHintForNumericInput/getEnterKeyHintForNumericInput.d.ts +3 -0
  28. package/dist/definitions/utils/getEnterKeyHintForNumericInput/getEnterKeyHintForNumericInput.d.ts.map +1 -0
  29. package/dist/{index.es.ios.js → index-metro.es.android.js} +3576 -4152
  30. package/dist/index-metro.es.android.js.map +1 -0
  31. package/dist/{index.es.android.js → index-metro.es.ios.js} +3576 -4152
  32. package/dist/index-metro.es.ios.js.map +1 -0
  33. package/dist/index-node-18.18.cjs.js +217 -602
  34. package/dist/index-node-18.18.cjs.js.map +1 -1
  35. package/dist/index-node-18.18.cjs.web.js +45 -66
  36. package/dist/index-node-18.18.cjs.web.js.map +1 -1
  37. package/dist/index-node-18.18.es.mjs +217 -602
  38. package/dist/index-node-18.18.es.mjs.map +1 -1
  39. package/dist/index-node-18.18.es.web.mjs +45 -66
  40. package/dist/index-node-18.18.es.web.mjs.map +1 -1
  41. package/dist/index.es.js +227 -612
  42. package/dist/index.es.js.map +1 -1
  43. package/dist/index.es.web.js +49 -70
  44. package/dist/index.es.web.js.map +1 -1
  45. package/dist/{linaria-themes.es.ios.js → linaria-themes-metro.es.android.js} +172 -187
  46. package/dist/linaria-themes-metro.es.android.js.map +1 -0
  47. package/dist/{linaria-themes.es.android.js → linaria-themes-metro.es.ios.js} +172 -187
  48. package/dist/linaria-themes-metro.es.ios.js.map +1 -0
  49. package/dist/linaria-themes-node-18.18.cjs.js +0 -6
  50. package/dist/linaria-themes-node-18.18.cjs.js.map +1 -1
  51. package/dist/linaria-themes-node-18.18.cjs.web.js +0 -6
  52. package/dist/linaria-themes-node-18.18.cjs.web.js.map +1 -1
  53. package/dist/linaria-themes-node-18.18.es.mjs +0 -6
  54. package/dist/linaria-themes-node-18.18.es.mjs.map +1 -1
  55. package/dist/linaria-themes-node-18.18.es.web.mjs +0 -6
  56. package/dist/linaria-themes-node-18.18.es.web.mjs.map +1 -1
  57. package/dist/linaria-themes.es.js +0 -6
  58. package/dist/linaria-themes.es.js.map +1 -1
  59. package/dist/linaria-themes.es.web.js +0 -6
  60. package/dist/linaria-themes.es.web.js.map +1 -1
  61. package/dist/tsbuildinfo +1 -1
  62. package/package.json +17 -16
  63. package/typings/react-native-web.d.ts +48 -5
  64. package/dist/definitions/utils/getReturnKeyTypeForNumericInput/getReturnKeyTypeForNumericInput.d.ts +0 -3
  65. package/dist/definitions/utils/getReturnKeyTypeForNumericInput/getReturnKeyTypeForNumericInput.d.ts.map +0 -1
  66. package/dist/index.es.android.js.map +0 -1
  67. package/dist/index.es.ios.js.map +0 -1
  68. package/dist/linaria-themes.es.android.js.map +0 -1
  69. package/dist/linaria-themes.es.ios.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"index-node-18.18.cjs.web.js","sources":["../src/native-base/primitives.ts","../src/utils/hexToRgba.ts","../src/themes/palettes/lateOceanColorPalette.ts","../src/themes/late-ocean/colors.ts","../src/themes/late-ocean/actionCard.ts","../src/themes/late-ocean/avatar.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/autocomplete.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/timePicker.ts","../src/themes/late-ocean/forms.ts","../src/themes/late-ocean/fullscreenModal.ts","../src/themes/late-ocean/highlight.ts","../src/themes/late-ocean/icon.ts","../src/themes/late-ocean/iconButton.ts","../src/themes/late-ocean/listItem.ts","../src/themes/late-ocean/pageLoader.ts","../src/themes/late-ocean/picker.ts","../src/themes/late-ocean/shadows.ts","../src/themes/late-ocean/skeleton.ts","../src/themes/late-ocean/tag.ts","../src/themes/late-ocean/tooltip.ts","../src/themes/late-ocean/verticalSteps.ts","../src/themes/default.ts","../src/KittThemeContext.tsx","../src/ActionCard/utils/getStateKey.ts","../src/ActionCard/utils/getThemeName.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/native-base/utils.ts","../src/Button/utils/getCurrentBackgroundColorForNativeBaseTheme.ts","../src/Button/utils/getCurrentScale.ts","../src/Button/AnimatedContainer.web.tsx","../src/KittBreakpoints.ts","../src/typography/typographyColors.ts","../src/typography/utils/getNBThemeColorFromColorProps.ts","../src/typography/utils/getTypographyColorValue.ts","../src/typography/utils/getTypographyFamily.ts","../src/typography/Typography.tsx","../src/Icon/Icon.tsx","../src/typography/TypographyIcon.tsx","../src/Button/utils/getButtonTextColorByType.ts","../src/Button/ButtonContent.tsx","../src/Button/ButtonPadding.tsx","../src/Button/DisabledBorder.tsx","../src/Button/FocusBorder.tsx","../src/Button/hooks/useNativeAnimation.web.ts","../src/Button/utils/getButtonSize.ts","../src/Button/Button.tsx","../src/Icon/SpinningIcon.web.tsx","../src/LoaderIcon/LoaderIcon.tsx","../src/Actions/ActionsItem.tsx","../src/Actions/ActionsButton.tsx","../src/Actions/Actions.tsx","../src/Avatar/utils/getCurrentRadius.ts","../src/Avatar/utils/getCurrentSize.ts","../src/Avatar/utils/getIconSize.ts","../src/Avatar/utils/getInitials.ts","../src/Avatar/Avatar.tsx","../src/BottomSheet/BottomSheet.web.tsx","../src/BottomSheet/useBottomSheet.ts","../src/BottomSheet/useStaticBottomSheet.tsx","../src/ModalBehaviour/ModalBehaviourPortal.web.tsx","../src/ModalBehaviour/OnCloseContext.tsx","../src/ModalBehaviour/ModalBehaviour.tsx","../src/Overlay/Overlay.tsx","../src/CardModal/CardModalAnimation/CardModalRotationContainer.tsx","../src/CardModal/CardModalAnimation/CardModalAnimation.web.tsx","../src/CardModal/CardModalBehaviour.tsx","../src/CardModal/CardModalBody.tsx","../src/CardModal/CardModalFooter.tsx","../src/CardModal/CardModalHeader.tsx","../src/CardModal/CardModal.tsx","../src/Choices/utils/getBackgroundColor.ts","../src/Choices/utils/getBorderRadius.ts","../src/Choices/AnimatedChoiceItemView.web.tsx","../src/Choices/hooks/useNativeAnimation.web.tsx","../src/Choices/utils/getCurrentTextColor.ts","../src/Choices/ChoiceItem.tsx","../src/Choices/ChoiceItemContainer.tsx","../src/Choices/Choices.tsx","../src/DialogModal/DialogModalAnimation/DialogModalAnimation.web.tsx","../src/DialogModal/DialogModalBehaviour.tsx","../src/DialogModal/DialogModal.tsx","../src/Emoji/Emoji.tsx","../src/ExternalAppLink/ExternalAppLink.tsx","../src/ExternalLink/ExternalLinkOpenLinkBehavior.ts","../src/ExternalLink/ExternalLink.web.tsx","../src/ExternalLink/hooks/useOpenExternalLink.web.tsx","../src/forms/InputIcon/InputIcon.tsx","../src/forms/InputPressable/InputPressable.tsx","../src/forms/InputText/InputTextContainer.web.tsx","../src/forms/InputText/InputText.tsx","../src/forms/Autocomplete/AutocompleteItem.tsx","../src/forms/Autocomplete/AutocompleteItemsListContainer.tsx","../src/forms/Autocomplete/AutocompleteOption.tsx","../src/forms/Autocomplete/Autocomplete.tsx","../src/forms/Checkbox/checkbox-mark.inline.svg","../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/DatePicker/components/InputPart.tsx","../src/forms/DatePicker/components/PartContainer.tsx","../src/forms/DatePicker/components/KeyboardDatePicker.tsx","../src/forms/DatePicker/DatePicker.web.tsx","../src/GoogleMapsApiKeyProvider/GoogleMapsApiKeyProvider.tsx","../src/GoogleMapsApiKeyProvider/hooks/useGoogleMapApiKey.ts","../src/GoogleMapsAutocompleteProvider/hooks/useGoogleMapsApi.web.ts","../src/GoogleMapsAutocompleteProvider/reducer/googleMapsAutocompleteReducer.ts","../src/GoogleMapsAutocompleteProvider/utils/formatAddressFromGoogle.ts","../src/GoogleMapsAutocompleteProvider/GoogleMapsAutocompleteProvider.tsx","../src/GoogleMapsAutocompleteProvider/hooks/useGoogleMapsAutocomplete.ts","../src/forms/InputAddress/InputAddressOption.tsx","../src/forms/InputAddress/utils/defaultItemToString.ts","../src/forms/InputAddress/utils/formatInitialValueToAutocompletePrediction.ts","../src/forms/InputAddress/InputAddress.tsx","../src/forms/InputEmail/InputEmail.tsx","../src/forms/InputFeedback/InputFeedback.tsx","../src/forms/InputField/InputField.tsx","../src/forms/InputNumber/InputNumber.tsx","../src/forms/InputPassword/InputPassword.tsx","../src/forms/InputPhone/InputPhone.tsx","../src/forms/InputTag/InputTag.tsx","../src/forms/Label/Label.tsx","../src/forms/Radio/InnerCircle.tsx","../src/forms/Radio/utils/getBackgroundColor.ts","../src/forms/Radio/utils/getBorderColor.ts","../src/forms/Radio/OuterCircle.tsx","../src/forms/Radio/Radio.tsx","../src/forms/RadioButtonGroup/utils/getCurrentBackgroundColor.ts","../src/forms/RadioButtonGroup/utils/getCurrentBorderColor.ts","../src/forms/RadioButtonGroup/AnimatedContainer/AnimatedContainer.web.tsx","../src/forms/RadioButtonGroup/HoverBorder.tsx","../src/forms/RadioButtonGroup/hooks/useNativeAnimation.web.ts","../src/forms/RadioButtonGroup/utils/getCurrentTextColor.ts","../src/forms/RadioButtonGroup/RadioButton.tsx","../src/forms/RadioButtonGroup/RadioButtonGroup.tsx","../src/forms/TextArea/TextArea.tsx","../src/FullscreenModal/Body.tsx","../src/FullscreenModal/Footer.tsx","../src/FullscreenModal/FullscreenModalAnimation.web.tsx","../src/FullscreenModal/FullscreenModalBehaviour.tsx","../src/FullscreenModal/FullscreenModalContainer.tsx","../src/FullscreenModal/Header.tsx","../src/FullscreenModal/FullscreenModal.tsx","../src/Highlight/Highlight.tsx","../src/IconButton/Background.tsx","../src/IconButton/AnimatedBackground.web.tsx","../src/IconButton/AnimatedScale.web.tsx","../src/IconButton/hooks/useNativeAnimation.web.ts","../src/IconButton/utils/getIconButtonTextColorByColor.ts","../src/IconButton/IconButton.tsx","../src/KittMapConfigProvider/KittMapConfigProvider.tsx","../src/KittMapConfigProvider/hooks/useKittMapConfig.ts","../src/ListItem/ListItemContent.tsx","../src/ListItem/ListItemSideContent.tsx","../src/ListItem/ListItem.tsx","../src/MapMarker/assets/marker-large.inline.svg","../src/MapMarker/assets/marker.inline.svg","../src/MapMarker/assets/position-marker.inline.svg","../src/MapMarker/MapMarker.tsx","../src/BaseMessage/IconContent.tsx","../src/BaseMessage/helper.ts","../src/BaseMessage/BaseMessage.tsx","../src/Message/Message.tsx","../src/native-base/KittNativeBaseProvider.tsx","../src/native-base/NativeOnlyFlatList.web.tsx","../src/NavigationModal/NavigationModalBehaviour.tsx","../src/NavigationModal/NavigationModal.tsx","../src/Notification/Notification.tsx","../src/PageLoader/PageLoader.web.tsx","../src/Picker/PickerItem.web.tsx","../src/Picker/PickerOption.tsx","../src/Picker/reducer/webUseSelectReducer.ts","../src/Picker/Picker.web.tsx","../src/SegmentedProgressBar/assets/stripes.inline.svg","../src/SegmentedProgressBar/SegmentedProgressBar.tsx","../src/Skeleton/SkeletonContent.web.tsx","../src/Skeleton/Skeleton.tsx","../src/StaticMap/utils/getStaticMapImageUrl.ts","../src/StaticMap/hooks/useGetStaticMapImageUrl.ts","../src/StaticMap/StaticMapError.tsx","../src/StaticMap/StaticMapImage.tsx","../src/StaticMap/StaticMapLoader.tsx","../src/StaticMap/StaticMapMarker.tsx","../src/StaticMap/utils/getRangedWidthValue.ts","../src/StaticMap/utils/getShouldDisplay2x.web.ts","../src/StaticMap/StaticMap.tsx","../src/story-components/Flex.tsx","../src/story-components/theme.ts","../src/story-components/StoryBlock.tsx","../src/story-components/StoryTitle.tsx","../src/story-components/Story.tsx","../src/story-components/StorySection.tsx","../src/story-components/StoryContainer.web.tsx","../src/story-components/StoryDecorator.tsx","../src/story-components/StoryGrid.tsx","../src/Tag/Tag.tsx","../src/TimePicker/TimePicker.web.tsx","../src/Tooltip/arrow.inline.svg","../src/Tooltip/Arrow.tsx","../src/Tooltip/TooltipContent.tsx","../src/Tooltip/hooks/useShouldRenderArrow.ts","../src/Tooltip/utils/getHasArrowEnoughSpace.ts","../src/Tooltip/Tooltip.web.tsx","../src/typography/TypographyEmoji.tsx","../src/typography/TypographyLinkWebWrapper.web.tsx","../src/typography/TypographyLink.tsx","../src/useKittTheme.tsx","../src/utils/storybook/KittThemeDecorator.tsx","../src/utils/StyleWebWrapper.tsx","../src/utils/windowSize/useMatchWindowSize.ts","../src/utils/windowSize/MatchWindowSize.tsx","../src/utils/windowSize/useCurrentBreakpointName.ts","../src/VerticalSteps/StepIcon.tsx","../src/VerticalSteps/Step.tsx","../src/VerticalSteps/utils/getStepState.ts","../src/VerticalSteps/VerticalSteps.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","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","export const lateOceanColorPalette = {\n lateOcean: '#4C34E0',\n lateOceanLight1: '#705DE6',\n lateOceanLight2: '#9485EC',\n lateOceanLight3: '#D6BAF9',\n lateOceanDark1: '#291D94',\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 { 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 'primary-border-soft': ActionCardVariant;\n 'primary-border-hard': 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.white,\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: 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 'primary-border-soft': {\n default: {\n backgroundColor: colors.uiBackgroundLight,\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 hovered: {\n backgroundColor: lateOceanColorPalette.black50,\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.white,\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: 0,\n },\n focused: {\n backgroundColor: lateOceanColorPalette.black50,\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: lateOceanColorPalette.black50,\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 'primary-border-hard': {\n default: {\n backgroundColor: colors.uiBackgroundLight,\n borderColor: lateOceanColorPalette.lateOcean,\n borderWidth: 1,\n shadow: {\n color: lateOceanColorPalette.lateOcean,\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.lateOcean,\n borderWidth: 1,\n shadow: {\n color: lateOceanColorPalette.lateOcean,\n offsetX: 0,\n offsetY: 4,\n opacity: 1,\n radius: 0,\n },\n translateY: 0,\n },\n disabled: {\n backgroundColor: lateOceanColorPalette.white,\n borderColor: lateOceanColorPalette.lateOcean,\n borderWidth: 1,\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.lateOcean,\n borderWidth: 1,\n shadow: {\n color: lateOceanColorPalette.lateOcean,\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.lateOcean,\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.white,\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: 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.white,\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: 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","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","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 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 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 /** @deprecated use kitt.x spacings values instead */\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 /** @deprecated use kitt.x spacings values instead */\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 { lateOceanColorPalette } from '../palettes/lateOceanColorPalette';\nimport { colors } from './colors';\n\nexport interface AutocompleteTheme {\n option: {\n verticalPadding: number;\n minHeight: number;\n default: { backgroundColor: string };\n hovered: { backgroundColor: string };\n focused: { backgroundColor: string };\n selected: { backgroundColor: string };\n highlighted: { backgroundColor: string };\n pressed: { backgroundColor: string };\n };\n optionsContainer: {\n borderRadius: number;\n backgroundColor: string;\n shadow: {\n color: string;\n offsetX: number;\n offsetY: number;\n opacity: number;\n radius: number;\n };\n };\n}\n\nexport const autocomplete: AutocompleteTheme = {\n option: {\n verticalPadding: 2,\n minHeight: 40,\n default: {\n backgroundColor: colors.white,\n },\n hovered: { backgroundColor: lateOceanColorPalette.black50 },\n focused: { backgroundColor: lateOceanColorPalette.black50 },\n selected: { backgroundColor: lateOceanColorPalette.black50 },\n highlighted: { backgroundColor: lateOceanColorPalette.black50 },\n pressed: { backgroundColor: lateOceanColorPalette.black100 },\n },\n optionsContainer: {\n borderRadius: 10,\n backgroundColor: colors.white,\n shadow: { color: colors.black, offsetX: 0, offsetY: 10, opacity: 0.15, radius: 20 },\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\n/** @deprecated legacy typography type config is deprecated. */\nexport const createLegacyTypographyTypeConfig = (\n lineHeightMultiplierBaseAndSmall: number,\n baseAndSmallFontSize: number,\n mediumAndWideFontSize: number = baseAndSmallFontSize,\n lineHeightMultiplierMediumAndWide = lineHeightMultiplierBaseAndSmall,\n): TypographyTypeConfig => ({\n baseAndSmall: {\n fontSize: baseAndSmallFontSize,\n lineHeight: calcLineHeight(baseAndSmallFontSize, lineHeightMultiplierBaseAndSmall),\n },\n mediumAndWide: {\n fontSize: mediumAndWideFontSize,\n lineHeight: calcLineHeight(mediumAndWideFontSize, lineHeightMultiplierMediumAndWide),\n },\n});\n\nexport const createTypographyConfig = (fontSize: number, lineHeightMultiplier: number): TypographyTypeConfig => {\n const config: TypographyTypeBreakpointRangeConfig = {\n fontSize,\n lineHeight: calcLineHeight(fontSize, lineHeightMultiplier),\n };\n return { baseAndSmall: config, mediumAndWide: config };\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 get header(): never {\n throw new Error('typography.types.header is deprecated, use typography.type.headings instead');\n },\n headings: {\n fontFamily: {\n native: {\n regular: 'Moderat-Black',\n bold: 'Moderat-Black',\n },\n web: {\n regular: 'Moderat',\n bold: 'Moderat',\n },\n },\n fontWeight: {\n regular: 400,\n bold: 700,\n },\n fontStyle: 'normal',\n configs: {\n /* legacy */\n header1: createLegacyTypographyTypeConfig(1.1, 40, 56),\n header2: createLegacyTypographyTypeConfig(1.2, 32, 48, 1.1),\n header3: createLegacyTypographyTypeConfig(1.2, 24, 40, 1.1),\n header4: createLegacyTypographyTypeConfig(1.3, 18, 24, 1.2),\n header5: createLegacyTypographyTypeConfig(1.3, 18, 18),\n\n /* latest */\n 'heading-xxl': createTypographyConfig(56, 1.1),\n 'heading-xl': createTypographyConfig(48, 1.1),\n 'heading-l': createTypographyConfig(40, 1.1),\n 'heading-m': createTypographyConfig(32, 1.2),\n 'heading-s': createTypographyConfig(24, 1.2),\n 'heading-xs': createTypographyConfig(18, 1.3),\n 'heading-xxs': createTypographyConfig(16, 1.3),\n },\n },\n get 'headers-impact'(): never {\n throw new Error('typography.types.headers-impact is deprecated, use typography.type.headings-impact instead');\n },\n 'headings-impact': {\n fontFamily: {\n native: {\n regular: 'Transducer-Black',\n bold: 'Transducer-Black',\n },\n web: {\n regular: 'TransducerBlack',\n bold: 'TransducerBlack',\n },\n },\n fontWeight: 900,\n fontStyle: 'normal',\n configs: {\n /* legacy */\n 'header-impact-xxl': createLegacyTypographyTypeConfig(1.2, 56, 56),\n 'header-impact-xl': createLegacyTypographyTypeConfig(1.2, 48, 48),\n 'header-impact-l': createLegacyTypographyTypeConfig(1.2, 40, 40),\n 'header-impact-m': createLegacyTypographyTypeConfig(1.2, 32, 32),\n 'header-impact-s': createLegacyTypographyTypeConfig(1.2, 24, 24),\n 'header-impact-xs': createLegacyTypographyTypeConfig(1.2, 18, 18),\n 'header-impact-xxs': createLegacyTypographyTypeConfig(1.2, 16, 16),\n 'header-impact-xxxs': createLegacyTypographyTypeConfig(1.2, 14, 14),\n\n /* latest */\n 'heading-impact-xxl': createTypographyConfig(56, 1.2),\n 'heading-impact-xl': createTypographyConfig(48, 1.2),\n 'heading-impact-l': createTypographyConfig(40, 1.2),\n 'heading-impact-m': createTypographyConfig(32, 1.2),\n 'heading-impact-s': createTypographyConfig(24, 1.2),\n 'heading-impact-xs': createTypographyConfig(18, 1.2),\n 'heading-impact-xxs': createTypographyConfig(16, 1.2),\n 'heading-impact-xxxs': createTypographyConfig(14, 1.2),\n },\n },\n bodies: {\n fontFamily: {\n web: {\n regular: 'Moderat',\n bold: 'Moderat',\n },\n native: {\n regular: 'Moderat-Regular',\n bold: 'Moderat-Black',\n },\n },\n fontWeight: {\n regular: 400,\n bold: 700,\n },\n fontStyle: {\n regular: 'normal',\n bold: 'normal',\n },\n configs: {\n /* legacy */\n 'body-large': createLegacyTypographyTypeConfig(1.4, 18, 24),\n 'body-medium': createLegacyTypographyTypeConfig(1.4, 18, 18),\n body: createLegacyTypographyTypeConfig(1.4, 16, 16),\n 'body-small': createLegacyTypographyTypeConfig(1.4, 14, 14),\n 'body-xsmall': createLegacyTypographyTypeConfig(1.4, 12, 12),\n\n /* latest */\n 'body-xl': createTypographyConfig(24, 1.4),\n 'body-l': createTypographyConfig(18, 1.4),\n 'body-m': createTypographyConfig(16, 1.4),\n 'body-s': createTypographyConfig(14, 1.4),\n 'body-xs': createTypographyConfig(12, 1.4),\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 webAnimationDuration = '200ms';\nexport const webAnimationTimingFunction = 'ease-in-out';\nexport const webAnimationProperty = 'border-color';\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: webAnimationProperty,\n duration: webAnimationDuration,\n timingFunction: webAnimationTimingFunction,\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","export interface TimePickerTheme {\n minWidth: number;\n}\n\nexport const timePicker: TimePickerTheme = {\n minWidth: 100,\n};\n","import { autocomplete } from './autocomplete';\nimport { 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';\nimport { timePicker } from './timePicker';\n\nexport const forms = {\n autocomplete,\n datePicker,\n input,\n radio,\n inputField,\n textArea,\n checkbox,\n inputTag,\n radioButtonGroup,\n timePicker,\n};\n","export interface FullscreenModalTheme {\n header: {\n height: number;\n };\n footer: {\n verticalPadding: number;\n };\n sharedHorizontalPadding: number;\n body: {\n verticalPadding: 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 = 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 fullscreenModal: FullscreenModalTheme = {\n header: {\n height: 56,\n },\n sharedHorizontalPadding: 16,\n footer: {\n verticalPadding: 12,\n },\n body: {\n verticalPadding: 24,\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';\nimport { spacing } from './spacing';\n\nexport interface HighlightThemeType {\n backgroundColor: string;\n}\n\nexport interface HighlightTheme {\n borderRadius: number;\n padding: number;\n regular: HighlightThemeType;\n primary: HighlightThemeType;\n secondary: HighlightThemeType;\n dark: HighlightThemeType;\n}\n\nexport const highlight: HighlightTheme = {\n borderRadius: spacing * 5,\n /** @deprecated use primary instead */\n regular: {\n backgroundColor: colors.accentLight,\n },\n primary: {\n backgroundColor: colors.accentLight,\n },\n secondary: {\n backgroundColor: lateOceanColorPalette.moonPurple,\n },\n dark: {\n backgroundColor: lateOceanColorPalette.black100,\n },\n padding: spacing * 5,\n};\n","export interface TypographyIconBreakpointRangeConfig {\n iconSize: number;\n}\n\nexport interface TypographyIconConfig {\n baseAndSmall: TypographyIconBreakpointRangeConfig;\n mediumAndWide: TypographyIconBreakpointRangeConfig;\n}\n\nconst getIconSizeFromFontSize = (fontSize: number): number => {\n if (fontSize <= 14) return 16;\n if (fontSize <= 16) return 20;\n return 24;\n};\n\nexport const createTypographyIconSizeConfig = (\n baseAndSmallFontSize: number,\n mediumAndWideFontSize: number,\n): TypographyIconConfig => {\n const baseAndSmallIconSize = getIconSizeFromFontSize(baseAndSmallFontSize);\n const mediumAndWideIconSize = getIconSizeFromFontSize(mediumAndWideFontSize);\n return {\n baseAndSmall: {\n iconSize: baseAndSmallIconSize,\n },\n mediumAndWide: {\n iconSize: mediumAndWideIconSize,\n },\n };\n};\n\nexport const icon = {\n defaultSize: 20,\n // Note: this is based on typography updated sizes, not current https://github.com/ornikar/kitt/pull/2130\n typographySize: {\n // also known as xxlarge\n header1: createTypographyIconSizeConfig(40, 56),\n // also known as xlarge\n header2: createTypographyIconSizeConfig(32, 48),\n // also known as medium\n header3: createTypographyIconSizeConfig(24, 40),\n // also known as xsmall\n header4: createTypographyIconSizeConfig(18, 24),\n // also known as xxsmall\n header5: createTypographyIconSizeConfig(18, 18),\n\n 'header-impact-xxl': createTypographyIconSizeConfig(56, 56),\n 'header-impact-xl': createTypographyIconSizeConfig(48, 48),\n 'header-impact-l': createTypographyIconSizeConfig(40, 40),\n 'header-impact-m': createTypographyIconSizeConfig(32, 32),\n 'header-impact-s': createTypographyIconSizeConfig(24, 24),\n 'header-impact-xs': createTypographyIconSizeConfig(18, 18),\n 'header-impact-xxs': createTypographyIconSizeConfig(16, 16),\n 'header-impact-xxxs': createTypographyIconSizeConfig(14, 14),\n\n 'body-large': createTypographyIconSizeConfig(18, 24),\n 'body-medium': createTypographyIconSizeConfig(18, 18),\n body: createTypographyIconSizeConfig(16, 16),\n 'body-small': createTypographyIconSizeConfig(14, 14),\n 'body-xsmall': createTypographyIconSizeConfig(12, 12),\n },\n} as const;\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 ghost: 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 ghost: {\n pressedBackgroundColor: button.default.ghost.pressedBackgroundColor,\n },\n primary: {\n pressedBackgroundColor: lateOceanColorPalette.moonPurpleLight1,\n },\n};\n","import { colors } from './colors';\n\nexport interface ListItemTheme {\n /** @deprecated -- use verticalPadding and horizontalPadding instead */\n padding: string;\n verticalPadding: number;\n horizontalPadding: number;\n borderColor: string;\n borderWidth: number;\n innerMargin: number;\n}\n\nexport const listItem: ListItemTheme = {\n padding: '12px 16px',\n verticalPadding: 12,\n horizontalPadding: 16,\n borderColor: colors.separator,\n borderWidth: 1,\n innerMargin: 8,\n};\n","import { colors } from './colors';\n\nexport interface PageLoaderTheme {\n size: number;\n strokeWidth: number;\n colors: {\n base: string;\n fill: string;\n };\n animation: {\n delay: number;\n circleBackgroundFillDuration: number;\n filledCircleFillDuration: number;\n groupFilledCircleRotationDuration: number;\n filledCircleRotationDuration: number;\n fillEasingFunction: [number, number, number, number];\n };\n}\n\nexport const pageLoaderSize = 60;\nexport const pageLoaderStrokeWidth = 3;\n\nexport const webAnimationDelay = 500;\nexport const webAnimationCircleBackgroundFillDuration = 1000;\nexport const webAnimationFilledCircleFillDuration = 1800;\nexport const webAnimationFilledCircleRotationDuration = 2160;\nexport const fillEasingFunction: [number, number, number, number] = [0.39, 0.575, 0.565, 1];\n\nexport const pageLoader: PageLoaderTheme = {\n size: pageLoaderSize,\n strokeWidth: pageLoaderStrokeWidth,\n colors: {\n base: colors.separator,\n fill: colors.primary,\n },\n animation: {\n delay: webAnimationDelay,\n circleBackgroundFillDuration: webAnimationCircleBackgroundFillDuration,\n filledCircleFillDuration: webAnimationFilledCircleFillDuration,\n groupFilledCircleRotationDuration: 1800,\n filledCircleRotationDuration: webAnimationFilledCircleRotationDuration,\n fillEasingFunction,\n },\n};\n","import type { TextStyle } from 'react-native';\nimport { lateOceanColorPalette } from '../palettes/lateOceanColorPalette';\nimport { colors } from './colors';\nimport { typography } from './typography';\n\nexport interface PickerTheme {\n ios: {\n default: TextStyle;\n landscape: TextStyle;\n selected: {\n color: string;\n };\n };\n android: {\n option: {\n verticalPadding: number;\n horizontalPadding: number;\n default: {\n backgroundColor: string;\n };\n selected: {\n backgroundColor: string;\n color: string;\n };\n };\n };\n web: {\n optionsContainer: {\n borderRadius: number;\n backgroundColor: string;\n shadow: {\n color: string;\n offsetX: number;\n offsetY: number;\n opacity: number;\n radius: number;\n };\n };\n option: {\n verticalPadding: number;\n horizontalPadding: number;\n default: {\n backgroundColor: string;\n };\n highlighted: {\n backgroundColor: string;\n };\n selected: {\n backgroundColor: string;\n };\n hovered: {\n backgroundColor: string;\n };\n pressed: {\n backgroundColor: string;\n };\n focused: {\n backgroundColor: string;\n };\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 // Default height is hard coded in module because of iOS constraint (https://github.com/react-native-picker/picker/blob/abd5f9076baa3ef2277ea7e711fa5823683c110e/js/PickerIOS.ios.js#L156)\n height: 216,\n },\n landscape: {\n height: 108,\n },\n selected: {\n color: typography.colors.primary,\n },\n },\n web: {\n optionsContainer: {\n borderRadius: 10,\n backgroundColor: colors.white,\n shadow: { color: colors.black, offsetX: 0, offsetY: 10, opacity: 0.15, radius: 20 },\n },\n option: {\n verticalPadding: 3,\n horizontalPadding: 16,\n default: {\n backgroundColor: colors.transparent,\n },\n hovered: { backgroundColor: lateOceanColorPalette.black50 },\n focused: { backgroundColor: lateOceanColorPalette.black50 },\n selected: { backgroundColor: lateOceanColorPalette.black50 },\n highlighted: { backgroundColor: lateOceanColorPalette.black50 },\n pressed: { backgroundColor: lateOceanColorPalette.black100 },\n },\n },\n android: {\n option: {\n verticalPadding: 12,\n horizontalPadding: 24,\n default: {\n backgroundColor: colors.transparent,\n },\n selected: {\n backgroundColor: colors.primary,\n color: typography.colors.white,\n },\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 skeletonBackgroundColor = lateOceanColorPalette.black100;\nexport const skeletonFlareColor = lateOceanColorPalette.black200;\n\nexport const skeleton: SkeletonTheme = {\n backgroundColor: skeletonBackgroundColor,\n flareColor: skeletonFlareColor,\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 /** @deprecated -- Use verticalPadding and horizontalPadding instead */\n padding: string;\n verticalPadding: number;\n horizontalPadding: number;\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 verticalPadding: 2,\n horizontalPadding: 12,\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: colors.danger,\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 { lateOceanColorPalette } from '../palettes/lateOceanColorPalette';\nimport { colors } from './colors';\n\ninterface StepStateTheme {\n icon: {\n backgroundColor: string;\n textColor: string;\n };\n}\n\nexport interface VerticalStepsTheme {\n active: StepStateTheme;\n done: StepStateTheme;\n default: StepStateTheme;\n}\n\nexport const verticalSteps: VerticalStepsTheme = {\n active: {\n icon: {\n backgroundColor: colors.primary,\n textColor: colors.white,\n },\n },\n done: {\n icon: {\n backgroundColor: lateOceanColorPalette.moonPurple,\n textColor: colors.primary,\n },\n },\n default: {\n icon: {\n backgroundColor: colors.disabled,\n textColor: colors.blackDisabled,\n },\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 { fullscreenModal } from './late-ocean/fullscreenModal';\nimport { highlight } from './late-ocean/highlight';\nimport { icon } from './late-ocean/icon';\nimport { iconButton } from './late-ocean/iconButton';\nimport { listItem } from './late-ocean/listItem';\nimport { pageLoader } from './late-ocean/pageLoader';\nimport { picker } from './late-ocean/picker';\nimport { shadows } from './late-ocean/shadows';\nimport { skeleton } from './late-ocean/skeleton';\nimport { spacing } from './late-ocean/spacing';\nimport { tag } from './late-ocean/tag';\nimport { tooltip } from './late-ocean/tooltip';\nimport { typography } from './late-ocean/typography';\nimport { verticalSteps } from './late-ocean/verticalSteps';\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 getSpacing: (multiplier: number): number => spacing * multiplier,\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 icon,\n iconButton,\n listItem,\n pageLoader,\n picker,\n shadows,\n skeleton,\n tag,\n tooltip,\n typography,\n fullscreenModal,\n actionCard,\n verticalSteps,\n};\n\nexport type Theme = typeof theme;\n","import { createContext, useContext } from 'react';\nimport type { Theme as KittTheme } from './themes/default';\nimport { theme as kittTheme } from './themes/default';\n\nexport interface KittThemeContextValue {\n kitt: KittTheme;\n}\n\nexport const KittThemeContext = createContext<KittThemeContextValue>({\n kitt: kittTheme,\n});\n\nexport const useTheme = (): KittThemeContextValue => useContext(KittThemeContext);\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 { ActionCardTheme } from '../../themes/late-ocean/actionCard';\nimport type { ActionCardBorderVariantType, ActionCardVariantType } from '../types';\n\nexport const getThemeName = (\n variant: ActionCardVariantType,\n borderVariant: ActionCardBorderVariantType,\n): keyof ActionCardTheme => {\n if (borderVariant === 'soft') {\n return 'primary-border-soft';\n }\n if (borderVariant === 'hard') {\n return 'primary-border-hard';\n }\n\n return variant;\n};\n","import type { ReactNode } from 'react';\nimport { useTheme } from '../KittThemeContext';\nimport { View } from '../native-base/primitives';\nimport type { ActionCardBorderVariantType, ActionCardVariantType } from './types';\nimport { getStateKey } from './utils/getStateKey';\nimport { getThemeName } from './utils/getThemeName';\n\ninterface ActionCardContentWrapperProps {\n isHovered?: boolean;\n isPressed?: boolean;\n isFocused?: boolean;\n variant: ActionCardVariantType;\n borderVariant?: ActionCardBorderVariantType;\n children: ReactNode;\n}\n\nexport function ActionCardContentWrapper({\n isHovered,\n isPressed,\n isFocused,\n variant,\n borderVariant = 'none',\n children,\n}: ActionCardContentWrapperProps): ReactNode {\n const theme = useTheme();\n const state = getStateKey(isHovered, isPressed, isFocused);\n\n if (__DEV__ && borderVariant !== 'none' && variant !== 'primary') {\n throw new Error(`borderVariant=${borderVariant} is only allowed with variant=primary`);\n }\n\n const { translateY } = theme.kitt.actionCard[variant][state];\n\n const sharedTransform = translateY\n ? {\n transform: [{ translateY }],\n }\n : {};\n\n const themeName = getThemeName(variant, borderVariant);\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.${themeName}.${state}.backgroundColor`}\n borderRadius=\"kitt.actionCard.borderRadius\"\n borderColor={`kitt.actionCard.${themeName}.${state}.borderColor`}\n borderWidth={`kitt.actionCard.${themeName}.${state}.borderWidth`}\n shadow={`kitt.actionCard.${themeName}.${state}.shadow`}\n flexGrow={1}\n >\n {children}\n </View>\n );\n}\n","import type { 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): ReactNode {\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 flexGrow={1}\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 { ActionCardBorderVariantType, ActionCardVariantType } from './types';\n\nexport interface ActionCardProps extends ViewProps {\n variant?: ActionCardVariantType;\n borderVariant?: ActionCardBorderVariantType;\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 borderVariant = 'none',\n disabled,\n isHovered,\n isPressed,\n isFocused,\n ...props\n}: ActionCardProps): ReactNode {\n return (\n <View {...props}>\n {disabled ? (\n <ActionCardDisabled variant={variant}>{children}</ActionCardDisabled>\n ) : (\n <ActionCardContentWrapper\n variant={variant}\n borderVariant={borderVariant}\n isHovered={isHovered}\n isFocused={isFocused}\n isPressed={isPressed}\n >\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 borderVariant = 'none',\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 borderVariant={borderVariant}\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","// eslint-disable-next-line no-restricted-imports\nimport { useBreakpointValue as useBreakpointValueNativeBaseBadlyTyped } from 'native-base';\nimport type { ITheme } from 'native-base';\nimport type { SetRequired } from 'type-fest';\n\nexport type { StyledProps } from 'native-base';\nexport { useClipboard, useSx, useToken } from 'native-base';\n\ntype UseBreakpointValueParam<T> = {\n [key in keyof ITheme['breakpoints']]?: T;\n};\n\nexport type BreakpointValueHookValues<T> = SetRequired<UseBreakpointValueParam<T>, 'base'>;\n\nexport const useBreakpointValue = useBreakpointValueNativeBaseBadlyTyped as <T>(\n values: BreakpointValueHookValues<T>,\n) => T;\n","import type { ButtonType, ButtonVariant } from '../Button';\n\ninterface GetCurrentBackgroundColorParams {\n type: ButtonType;\n variant: ButtonVariant;\n isDisabled?: boolean;\n isHovered?: boolean;\n isPressed?: boolean;\n}\n\nexport function getCurrentBackgroundColorForNativeBaseTheme({\n type,\n variant,\n isDisabled,\n isHovered,\n isPressed,\n}: GetCurrentBackgroundColorParams): string {\n if (isDisabled) return 'kitt.button.disabled.default.backgroundColor';\n\n const baseKey = `kitt.button.${type}.${variant}`;\n\n if (isHovered || isPressed) {\n return `${baseKey}.hoverBackgroundColor`;\n }\n\n return `${baseKey}.backgroundColor`;\n}\n","interface GetCurrentScaleParams {\n hoverScaleValue: number;\n pressedScaleValue: number;\n isDisabled?: boolean;\n isHovered?: boolean;\n isPressed?: boolean;\n}\n\nexport function getCurrentScale({\n hoverScaleValue,\n pressedScaleValue,\n isDisabled,\n isHovered,\n isPressed,\n}: GetCurrentScaleParams): number {\n if (isDisabled) return 1;\n\n if (isPressed) {\n return pressedScaleValue;\n }\n\n if (isHovered) {\n return hoverScaleValue;\n }\n\n return 1;\n}\n","import type { ReactNode } from 'react';\nimport { useTheme } from '../KittThemeContext';\nimport { View } from '../native-base/primitives';\nimport { useBreakpointValue } from '../native-base/utils';\nimport { createResponsiveStyleFromProp } from '../utils/createResponsiveStyleFromProp/createResponsiveStyleFromProp';\nimport type { AnimatedContainerProps } from './AnimatedContainer';\nimport { getCurrentBackgroundColorForNativeBaseTheme } from './utils/getCurrentBackgroundColorForNativeBaseTheme';\nimport { getCurrentScale } from './utils/getCurrentScale';\n\nexport function AnimatedContainer({\n children,\n type,\n variant,\n isHovered,\n isPressed,\n isStretch,\n disabled,\n}: AnimatedContainerProps): ReactNode {\n const theme = useTheme();\n\n const {\n transition: { duration, timingFunction },\n scale,\n } = theme.kitt.button;\n\n const responsiveHoverScaleValue = useBreakpointValue({\n base: scale.base.hover,\n medium: scale.medium.hover,\n });\n\n const currentScale = getCurrentScale({\n hoverScaleValue: responsiveHoverScaleValue,\n pressedScaleValue: scale.base.active,\n isHovered,\n isPressed,\n isDisabled: !!disabled,\n });\n\n const currentBackgroundColor = getCurrentBackgroundColorForNativeBaseTheme({\n type,\n variant,\n isDisabled: !!disabled,\n isHovered,\n isPressed,\n });\n\n return (\n <View\n _web={{\n style: {\n transitionProperty: 'all',\n transitionDuration: duration,\n transitionTimingFunction: timingFunction,\n /* Simplifies the animation to just the front of the object – avoid blurry scale */\n backfaceVisibility: 'hidden',\n transform: [\n {\n scale: currentScale,\n },\n ],\n },\n }}\n width={createResponsiveStyleFromProp(isStretch, '100%', 'auto')}\n alignSelf=\"baseline\"\n borderRadius=\"kitt.button.borderRadius\"\n backgroundColor={currentBackgroundColor}\n >\n {children}\n </View>\n );\n}\n","export const KittBreakpoints = {\n /**\n * min-width: 0\n */\n BASE: 0,\n /**\n * min-width: 480px\n */\n SMALL: 480,\n /**\n * min-width: 768px\n */\n MEDIUM: 768,\n /**\n * min-width: 1024px\n */\n LARGE: 1024,\n /**\n * min-width: 1280px\n */\n WIDE: 1280,\n};\n\nexport const KittBreakpointsMax = {\n /**\n * max-width: 479px\n */\n BASE: KittBreakpoints.SMALL - 1,\n /**\n * max-width: 767px\n */\n SMALL: KittBreakpoints.MEDIUM - 1,\n /**\n * max-width: 1023px\n */\n MEDIUM: KittBreakpoints.LARGE - 1,\n /**\n * max-width: 1279px\n */\n LARGE: KittBreakpoints.WIDE - 1,\n};\n\nexport type KittBreakpoint = (typeof KittBreakpoints)[keyof typeof KittBreakpoints];\nexport type KittBreakpointMax = (typeof KittBreakpointsMax)[keyof typeof KittBreakpointsMax];\n\nexport enum KittBreakpointNameEnum {\n BASE = 'base',\n SMALL = 'small',\n MEDIUM = 'medium',\n LARGE = 'large',\n WIDE = 'wide',\n}\n\nexport type KittResponsiveProp<Value> = Record<KittBreakpointNameEnum.BASE, Value> &\n Partial<Record<Exclude<KittBreakpointNameEnum, KittBreakpointNameEnum.BASE>, Value>>;\n\nexport type KittResponsivePropOrValue<Value> = KittResponsiveProp<Value> | Value;\n","export const typographyColors = [\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] as const;\n","import type { TypographyColor } from '../Typography';\n\nexport function getNBThemeColorFromColorProps(colorName: TypographyColor): string {\n return `kitt.typography.${colorName}`;\n}\n","import type { ITextProps } from 'native-base';\nimport type { ExtendedTypographyColor, TypographyColor } from '../Typography';\nimport { typographyColors } from '../typographyColors';\nimport { getNBThemeColorFromColorProps } from './getNBThemeColorFromColorProps';\n\nexport function isColorTypographyColor(colorName: unknown): colorName is TypographyColor {\n if (!colorName || typeof colorName !== 'string') return false;\n\n return (typographyColors as readonly string[]).includes(colorName);\n}\n\nexport function getTypographyColorValue(colorName: ExtendedTypographyColor | undefined): ITextProps['color'] {\n if (!colorName) return undefined;\n\n if (typeof colorName === 'string') {\n if (isColorTypographyColor(colorName)) {\n return getNBThemeColorFromColorProps(colorName);\n }\n } else if (typeof colorName === 'object') {\n return Object.fromEntries(\n Object.entries(colorName).map(([breakpointName, value]) => [\n breakpointName,\n getTypographyColorValue(value as ExtendedTypographyColor | undefined),\n ]),\n );\n }\n\n return colorName;\n}\n","import type { TypographyHeadingImpactType, TypographyHeadingType, TypographyType } from '../Typography';\n\nconst isTypeHeadings = (type: TypographyType): type is TypographyHeadingType =>\n type.startsWith('header') || type.startsWith('heading');\n\nconst isTypeHeadingsImpact = (type: TypographyType): type is TypographyHeadingImpactType =>\n type.startsWith('heading-impact') || type.startsWith('header-impact');\n\nexport type TypographyFamily = 'bodies' | 'headings' | 'headings-impact';\n\nexport const getTypographyFamily = (type: TypographyType): TypographyFamily => {\n if (isTypeHeadingsImpact(type)) return 'headings-impact';\n if (isTypeHeadings(type)) return 'headings';\n return 'bodies';\n};\n\nexport const getTypographyFamilyWithAncestorValue = <Type extends TypographyType>(\n type: Type | undefined,\n typographyFamilyInContext: TypographyFamily | null,\n): TypographyFamily => {\n if (type) return getTypographyFamily(type);\n if (typographyFamilyInContext != null) return typographyFamilyInContext;\n throw new Error('You must set a \"base\" prop or wrap this Typography in one that does.');\n};\n","import type { ITextProps } from 'native-base';\nimport { Text as NBText, useSx } from 'native-base';\nimport type { PlatformProps } from 'native-base/lib/typescript/components/types';\nimport type { FC, 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 } from '../KittBreakpoints';\nimport type { NativeBaseAcceptedFlexboxProps } from '../native-base/acceptable-native-base-props';\nimport type { TypographyTypeConfig } from '../themes/late-ocean/typography';\nimport type { typographyColors } from './typographyColors';\nimport { getTypographyColorValue } from './utils/getTypographyColorValue';\nimport type { TypographyFamily } from './utils/getTypographyFamily';\nimport { getTypographyFamily, getTypographyFamilyWithAncestorValue } from './utils/getTypographyFamily';\n\nexport type TypographyColor = (typeof typographyColors)[number];\n\n// eslint-disable-next-line @typescript-eslint/no-redundant-type-constituents\nexport type ExtendedTypographyColor = TypographyColor | NonNullable<ITextProps['color']> | string;\n\ntype LegacyHeadingType = `header${'1' | '2' | '3' | '4' | '5'}`;\ntype NonLegacyHeadingType = `heading-${'xxs' | 'xs' | 's' | 'm' | 'l' | 'xl' | 'xxl'}`;\nexport type TypographyHeadingType = LegacyHeadingType | NonLegacyHeadingType;\n/** @deprecated use TypographyHeadingImpactType instead */\nexport type TypographyHeaderType = TypographyHeadingType;\n\ntype LegacyTypographyHeadingImpactType = `header-impact-${'xxxs' | 'xxs' | 'xs' | 's' | 'm' | 'l' | 'xl' | 'xxl'}`;\ntype NonLegacyTypographyHeadingImpactType = `heading-impact-${'xxxs' | 'xxs' | 'xs' | 's' | 'm' | 'l' | 'xl' | 'xxl'}`;\nexport type TypographyHeadingImpactType = LegacyTypographyHeadingImpactType | NonLegacyTypographyHeadingImpactType;\n/** @deprecated use TypographyHeadingImpactType instead */\nexport type TypographyHeaderImpactType = TypographyHeadingImpactType;\n\ntype LegacyTypographyBodyType = 'body' | `body-${'large' | 'medium' | 'small' | 'xsmall'}`;\ntype NonLegacyTypographyBodyType = `body-${'xs' | 's' | 'm' | 'l' | 'xl'}`;\nexport type TypographyBodyType = LegacyTypographyBodyType | NonLegacyTypographyBodyType;\n\nexport type TypographyType = TypographyHeadingType | TypographyHeadingImpactType | TypographyBodyType;\ntype TypographyVariant = 'regular' | 'bold';\n\nconst TypographyFamilyContext = createContext<TypographyFamily | null>(null);\nconst TypographyTypeContext = createContext<TypographyBreakpointType | null>(null);\nconst TypographyColorContext = createContext<ExtendedTypographyColor>('black');\n\nexport function useTypographyColor(): ExtendedTypographyColor {\n return useContext(TypographyColorContext);\n}\n\nexport function useTypographyAncestorType(): TypographyBreakpointType | null {\n return useContext(TypographyTypeContext);\n}\n\nconst TypographyDefaultColorContext = createContext<ExtendedTypographyColor | undefined>(undefined);\n\nfunction useTypographyDefaultColor(): ExtendedTypographyColor | undefined {\n return useContext(TypographyDefaultColorContext);\n}\n\nexport function getTypographyTypeConfigKeyFromTypeName(\n breakpointName: KittBreakpointNameEnum,\n): keyof TypographyTypeConfig {\n return breakpointName === KittBreakpointNameEnum.BASE || breakpointName === KittBreakpointNameEnum.SMALL\n ? 'baseAndSmall'\n : 'mediumAndWide';\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 | 'strikeThrough'\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?: ExtendedTypographyColor;\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\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): ReactNode {\n const sx = useSx();\n\n const typographyFamilyInContext = useContext(TypographyFamilyContext);\n\n const defaultColor = useTypographyDefaultColor();\n\n const hasTypographyAncestor = typographyFamilyInContext !== null;\n const baseOrDefaultToBody = hasTypographyAncestor ? type.base : type.base ?? 'body';\n const typographyFamily = getTypographyFamilyWithAncestorValue(baseOrDefaultToBody, typographyFamilyInContext);\n\n // force bold for headings, default to regular for bodies\n const nonNullableVariant: TypographyVariant =\n variant ?? (typographyFamily === 'headings' || typographyFamily === 'headings-impact' ? 'bold' : 'regular');\n\n const fontSizeForNativeBase = createNativeBaseFontSize({ ...type, base: baseOrDefaultToBody });\n\n const currentColor = !color && !hasTypographyAncestor ? defaultColor : color;\n const currentColorValue = getTypographyColorValue(currentColor);\n\n const colorStyles = sx({\n color: currentColorValue,\n textDecorationColor: currentColorValue,\n });\n\n if (process.env.NODE_ENV !== 'production') {\n Object.entries(type).forEach(([key, value]) => {\n if (value && getTypographyFamily(value) !== typographyFamily) {\n throw new Error(`Invalid value for \"${key}\": \"${value}\" is ${typographyFamily}. Don't mix families.`);\n }\n });\n }\n\n const text = (\n <NBText\n accessibilityRole={(accessibilityRole as TextProps['accessibilityRole']) || undefined}\n fontSize={fontSizeForNativeBase}\n lineHeight={hasTypographyAncestor ? undefined : fontSizeForNativeBase}\n fontWeight={`${typographyFamily}.${nonNullableVariant}`}\n fontFamily={`${typographyFamily}.${nonNullableVariant}`}\n {...colorStyles}\n {...otherProps}\n />\n );\n\n const content = baseOrDefaultToBody ? (\n <TypographyFamilyContext.Provider value={typographyFamily}>\n <TypographyTypeContext.Provider value={type}>{text}</TypographyTypeContext.Provider>\n </TypographyFamilyContext.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): ReactNode {\n return <Typography accessibilityRole={null} {...props} />;\n}\n\nfunction TypographyParagraph(props: TypographyTextProps): ReactNode {\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): ReactNode {\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, ReactNode } 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: ViewProps['color'];\n align?: ViewStyle['alignSelf'];\n testID?: ViewProps['testID'];\n}\n\nexport function Icon({ icon, size = 'kitt.icon.defaultSize', align = 'auto', color }: IconProps): ReactNode {\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 { useSx } from 'native-base';\nimport type { ReactNode } from 'react';\nimport type { Except } from 'type-fest';\nimport type { IconProps } from '../Icon/Icon';\nimport { Icon } from '../Icon/Icon';\nimport { KittBreakpointNameEnum } from '../KittBreakpoints';\nimport type { ViewProps } from '../native-base/primitives';\nimport type { TypographyIconConfig } from '../themes/late-ocean/icon';\nimport type { SetNonNullable } from '../utils/typeUtils';\nimport type { TypographyBreakpointType, TypographyProps } from './Typography';\nimport { useTypographyAncestorType, useTypographyColor } from './Typography';\nimport { getTypographyColorValue } from './utils/getTypographyColorValue';\n\nfunction getIconSizeConfigKeyFromTypeName(breakpointName: KittBreakpointNameEnum): keyof TypographyIconConfig {\n return breakpointName === KittBreakpointNameEnum.BASE || breakpointName === KittBreakpointNameEnum.SMALL\n ? 'baseAndSmall'\n : 'mediumAndWide';\n}\n\nfunction createNativeBaseIconSize(type: TypographyBreakpointType): ViewProps['size'] {\n const typeWithMediumForced = {\n ...type,\n medium: type.medium || type.small || type.base,\n };\n\n const iconSizeForNativeBase: ViewProps['size'] = {};\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 iconSizeForNativeBase[typeName] = `kitt.icon.typographySize.${value}.${getIconSizeConfigKeyFromTypeName(\n typeName,\n )}.iconSize`;\n }\n });\n\n return iconSizeForNativeBase;\n}\n\nexport interface TypographyIconProps extends Except<IconProps, 'color'> {\n color?: TypographyProps['color'] | 'inherit';\n}\n\nfunction TypographyIconSpecifiedColor({\n color,\n size,\n ...props\n}: SetNonNullable<TypographyIconProps, 'color'>): ReactNode {\n const ancestorType = useTypographyAncestorType();\n const iconSize = size || (ancestorType ? createNativeBaseIconSize(ancestorType) : undefined);\n const colorValue = getTypographyColorValue(color);\n const sx = useSx();\n\n const { color: colorStyleValue } = sx({ color: colorValue });\n\n return <Icon {...props} size={iconSize} color={colorStyleValue} />;\n}\n\nfunction TypographyIconInheritColor(props: TypographyIconProps): ReactNode {\n const color = useTypographyColor();\n\n return <TypographyIconSpecifiedColor color={color} {...props} />;\n}\n\nexport function TypographyIcon({ color, ...props }: TypographyIconProps): ReactNode {\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 getButtonTextColorByType = (\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 '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 { ReactNode } from 'react';\nimport type { Except } from 'type-fest';\nimport { View } from '../native-base/primitives';\nimport { Typography } from '../typography/Typography';\nimport type { TypographyColor } from '../typography/Typography';\nimport type { TypographyIconProps } from '../typography/TypographyIcon';\nimport { TypographyIcon } from '../typography/TypographyIcon';\nimport type { ButtonProps, ButtonType, ButtonVariant } from './Button';\nimport { getButtonTextColorByType } from './utils/getButtonTextColorByType';\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): ReactNode {\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): ReactNode {\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): ReactNode {\n const color = isDisabled ? 'black-light' : getButtonTextColorByType(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 { 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): ReactNode {\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 { ReactNode } from 'react';\nimport { View } from '../native-base/primitives';\n\nexport function DisabledBorder(): ReactNode {\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 { ReactNode } from 'react';\nimport { useTheme } from '../KittThemeContext';\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): ReactNode {\n const {\n kitt: { button: buttonTheme },\n } = useTheme();\n\n const hasPointerInteraction = isPressed || isHovered;\n\n return (\n <View\n _web={{\n style: {\n width: `calc(100% + ${buttonTheme.borderWidth.focus * 2}px)`,\n height: `calc(100% + ${buttonTheme.borderWidth.focus * 2}px)`,\n transitionProperty: 'opacity',\n transitionDuration: buttonTheme.transition.duration,\n transitionTimingFunction: buttonTheme.transition.timingFunction,\n },\n }}\n opacity={isFocused && !hasPointerInteraction ? 1 : 0}\n position=\"absolute\"\n left={-buttonTheme.borderWidth.focus}\n top={-buttonTheme.borderWidth.focus}\n borderWidth=\"kitt.button.borderWidth.focus\"\n borderColor={`kitt.button.${type}.${variant}.focusBorderColor`}\n borderRadius=\"kitt.button.borderRadius\"\n />\n );\n}\n","import type { NativeAnimation, UseNativeAnimationOptions } from './useNativeAnimation';\n\nexport function useNativeAnimation(options: UseNativeAnimationOptions): NativeAnimation {\n return {\n onPressIn: undefined,\n onPressOut: undefined,\n animatedStyles: {},\n };\n}\n","import type { ButtonProps } from '../Button';\n\nexport const getButtonSize = ({ large, xLarge, size }: Partial<ButtonProps>): ButtonProps['size'] => {\n if (large) return 'large';\n if (xLarge) return 'xLarge';\n return size;\n};\n","import type { ReactElement, ReactNode } from 'react';\nimport { forwardRef } from 'react';\nimport type { Pressable as NativePressable } from 'react-native';\nimport type { PressableProps } 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 | '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 extends Pick<PressableProps, 'onPress' | 'onHoverIn' | 'onHoverOut' | 'onFocus' | 'onBlur'> {\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 NativePressable, 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 onHoverIn,\n onHoverOut,\n onFocus,\n onBlur,\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 onHoverIn={onHoverIn}\n onHoverOut={onHoverOut}\n onFocus={onFocus}\n onBlur={onBlur}\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 { css } from '@linaria/core';\nimport type { ReactNode } from 'react';\nimport { cloneElement } from 'react';\nimport type { SpinningIconProps } from './SpinningIcon';\n\nconst spinningIcon = css`\n display: inline-flex;\n\n & > svg {\n animation: spin 1.1s infinite linear;\n }\n\n @keyframes spin {\n 0% {\n transform: rotate(-1deg);\n }\n\n 100% {\n transform: rotate(359deg);\n }\n }\n`;\n\nexport function SpinningIcon({ icon, color }: SpinningIconProps): ReactNode {\n const clonedIcon = cloneElement(icon, { color });\n return <div className={spinningIcon}>{clonedIcon}</div>;\n}\n","import { ArcIcon } from '@ornikar/kitt-icons';\nimport type { ReactNode } 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): ReactNode {\n return <SpinningIcon color={color} icon={<ArcIcon />} />;\n}\n","import type { ComponentPropsWithRef, ElementType, ForwardedRef, FunctionComponent, ReactNode } from 'react';\nimport { forwardRef, useEffect, useRef, useState } from 'react';\nimport type { Pressable as NativePressable, NativeSyntheticEvent } from 'react-native';\nimport type { Except, Promisable } from 'type-fest';\nimport type { ButtonProps } from '../Button/Button';\nimport { LoaderIcon } from '../LoaderIcon/LoaderIcon';\nimport { View } from '../native-base/primitives';\n\ntype ActionsItemMinimumRequiredProps = Pick<ButtonProps, 'onPress' | 'stretch' | 'disabled' | 'icon'>;\n\ntype ExtendOnPressProp<OnPress> = OnPress extends (...params: infer Params) => infer Result\n ? (...params: Params) => Promisable<Result | false>\n : never;\n\nexport type ExtendActionItemComponentProps<Props> = Props extends { onPress?: infer OnPress }\n ? Except<Props, 'onPress'> & {\n onPress?: OnPress extends null\n ? null | ExtendOnPressProp<NonNullable<OnPress>>\n : ExtendOnPressProp<NonNullable<OnPress>>;\n }\n : { onPress?: (event: NativeSyntheticEvent<any>, ...rest: any[]) => any };\n\nexport type ActionsItemProps<C extends FunctionComponent<ActionsItemMinimumRequiredProps>> = {\n as: C;\n // eslint-disable-next-line @typescript-eslint/ban-types -- we need this because we don't know exactly what the component is\n} & ExtendActionItemComponentProps<Omit<ComponentPropsWithRef<C>, 'as'>> &\n Except<ActionsItemMinimumRequiredProps, 'onPress'>;\n\nexport const ActionsItem = forwardRef<typeof NativePressable, ActionsItemProps<any>>(\n ({ as, onPress, disabled, icon, stretch = { base: true, medium: false }, ...props }, ref): ReactNode => {\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 as any)(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 ref={ref}\n {...props}\n stretch={stretch}\n disabled={isLoading ? true : disabled}\n icon={isLoading ? <LoaderIcon /> : icon}\n onPress={handlePress}\n />\n </View>\n );\n },\n) as <C extends FunctionComponent<ActionsItemMinimumRequiredProps>>(\n props: ActionsItemProps<C> & { ref?: ForwardedRef<typeof NativePressable> },\n) => ReactNode;\n","import type { ReactNode } 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): ReactNode {\n return <ActionsItem as={Button} {...props} />;\n}\n","import type { ReactNode } from 'react';\nimport type { Except } from 'type-fest';\nimport { Stack } from '../native-base/layout';\nimport type { StackProps } from '../native-base/layout';\nimport type { ResponsiveValue } from '../utils/createResponsiveStyleFromProp/createResponsiveStyleFromProp';\nimport { createResponsiveStyleFromProp } from '../utils/createResponsiveStyleFromProp/createResponsiveStyleFromProp';\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\nfunction getCurrentAlignSelf(layout: ActionsLayout | undefined): StackProps['alignSelf'] {\n if (!layout) return { base: 'stretch', medium: undefined };\n\n if (layout === 'column') return 'stretch';\n\n return undefined;\n}\n\nexport interface ActionsProps extends Except<StackProps, 'space' | 'reversed'> {\n layout?: ActionsLayout;\n reversed?: ResponsiveValue<boolean | undefined>;\n}\n\nexport function Actions({ children, layout, reversed, ...props }: ActionsProps): ReactNode {\n const currentAlignItems = getCurrentLayout(layout);\n const currentDirection = getCurrentDirection(layout);\n const currentAlignSelf = getCurrentAlignSelf(layout);\n\n return (\n <Stack\n alignItems={currentAlignItems}\n alignSelf={currentAlignSelf}\n direction={currentDirection}\n flexGrow={1}\n reversed={!!createResponsiveStyleFromProp(reversed, true, false)}\n {...props}\n space=\"kitt.3\"\n >\n {children}\n </Stack>\n );\n}\n\nActions.Button = ActionsButton;\nActions.Item = ActionsItem;\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 { ReactNode } 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({ size, src, firstname, lastname, alt, isLight, sizeVariant }: AvatarContentProps): ReactNode {\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): ReactNode {\n const currentSize = getCurrentSize({ size, sizeVariant });\n const currentBorderRadius = getCurrentRadius({ size, sizeVariant, round });\n\n return (\n <View\n overflow=\"hidden\"\n alignItems=\"center\"\n justifyContent=\"center\"\n width={currentSize}\n height={currentSize}\n borderRadius={currentBorderRadius}\n backgroundColor={`kitt.avatar.${light ? 'light' : 'default'}.backgroundColor`}\n >\n <AvatarContent size={currentSize} isLight={light} sizeVariant={sizeVariant} {...props} />\n </View>\n );\n}\n","import type { BottomSheetModalMethods } from '@gorhom/bottom-sheet/lib/typescript/types';\nimport type { ForwardRefExoticComponent, RefAttributes } from 'react';\nimport { forwardRef } from 'react';\nimport type { BottomSheetProps } from './BottomSheet';\n\nfunction BottomSheetComponent(): null {\n // noop\n return null;\n}\n\nexport const BottomSheet = forwardRef(BottomSheetComponent) as ForwardRefExoticComponent<\n Pick<BottomSheetProps, 'children' | 'hasScrollView' | 'hasHandle' | 'hasBackdrop'> &\n RefAttributes<BottomSheetModalMethods>\n> & { View: () => void };\n\nBottomSheet.View = function View(): null {\n return null;\n};\n","import type { BottomSheetModalMethods } from '@gorhom/bottom-sheet/lib/typescript/types';\nimport type { RefObject } from 'react';\nimport { useRef } from 'react';\n\nexport function useBottomSheet(): RefObject<BottomSheetModalMethods> {\n const ref = useRef<BottomSheetModalMethods>(null);\n\n return ref;\n}\n","import type { BottomSheetModalMethods } from '@gorhom/bottom-sheet/lib/typescript/types';\nimport type { ComponentType, 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 ComponentType<P>, P>(\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<P> {...props} ref={bottomSheetRef}>\n {Content}\n </BottomSheet>\n );\n },\n [Content],\n );\n\n return {\n bottomSheetRef,\n BottomSheet: BottomSheetMemoized,\n };\n}\n","import { css } from '@linaria/core';\nimport type { ReactNode } from 'react';\nimport { useEffect } from 'react';\nimport { Portal } from 'react-portal';\nimport type { ModalBehaviourPortalProps } from './ModalBehaviourPortal';\n\nconst overflowHidden = css`\n overflow: hidden;\n`;\n\nfunction useBlockBodyScroll(isScrollBlocked: boolean): void {\n useEffect(() => {\n if (isScrollBlocked) {\n document.body.classList.add(overflowHidden);\n } else {\n document.body.classList.remove(overflowHidden);\n }\n\n return () => {\n document.body.classList.remove(overflowHidden);\n };\n }, [isScrollBlocked]);\n}\n\nexport function ModalBehaviourPortal({ visible, children }: ModalBehaviourPortalProps): ReactNode {\n useBlockBodyScroll(Boolean(visible));\n\n // eslint-disable-next-line react/jsx-no-useless-fragment -- Portal propTypes define a required children, preventing a null children value\n return <Portal>{children || <></>}</Portal>;\n}\n","import type { 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): ReactNode {\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): ReactNode {\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): ReactNode {\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 { ReactNode } from 'react';\nimport type { PressableProps } from 'react-native';\nimport { Pressable } from '../native-base/primitives';\n\ninterface OverlayProps extends Pick<PressableProps, 'onPress'> {}\n\nexport function Overlay({ onPress }: OverlayProps): ReactNode {\n return (\n <Pressable\n accessibilityRole=\"none\"\n position=\"absolute\"\n top=\"0\"\n left=\"0\"\n right=\"0\"\n bottom=\"0\"\n backgroundColor=\"kitt.overlay.dark\"\n onPress={onPress}\n />\n );\n}\n","import type { ReactNode } 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): ReactNode {\n return (\n <View\n paddingX=\"kitt.cardModal.overlayPadding.horizontal\"\n paddingY=\"kitt.cardModal.overlayPadding.vertical\"\n maxWidth=\"kitt.cardModal.maxWidthWithPadding\"\n width=\"100%\"\n {...props}\n />\n );\n}\n","import { css } from '@linaria/core';\nimport type { ReactNode } from 'react';\nimport { CSSTransition } from 'react-transition-group';\nimport { useTheme } from '../../KittThemeContext';\nimport { Overlay } from '../../Overlay/Overlay';\nimport { View } from '../../native-base/primitives';\nimport {\n webAnimationContentDuration,\n webAnimationContentEasing,\n webAnimationOverlayDuration,\n webAnimationOverlayEasing,\n} from '../../themes/late-ocean/cardModal';\nimport type { CardModalAnimationProps } from './CardModalAnimation';\nimport { CardModalRotationContainer } from './CardModalRotationContainer';\n\nconst [x1, y1, x2, y2] = webAnimationContentEasing;\n\nconst cubicBezierSlideIn = `cubic-bezier(${x1}, ${y1}, ${x2}, ${y2})`;\n\nconst contentAnimationEnter = css`\n opacity: 0;\n transform: rotateZ(5deg) scale(0.8);\n`;\n\nconst contentAnimatioEnterActive = css`\n opacity: 1;\n transform: rotateZ(0) scale(1);\n transition: all ${webAnimationContentDuration}ms ${cubicBezierSlideIn};\n`;\n\nconst contentAnimatioExit = css`\n opacity: 1;\n transform: rotateZ(0) scale(1);\n`;\n\nconst contentAnimatioExitActive = css`\n opacity: 0;\n transform: rotateZ(5deg) scale(0.8);\n transition: all ${webAnimationContentDuration}ms ${cubicBezierSlideIn};\n`;\n\nconst contentAnimationClassNames = {\n appear: contentAnimationEnter,\n appearActive: contentAnimatioEnterActive,\n enter: contentAnimationEnter,\n enterActive: contentAnimatioEnterActive,\n exit: contentAnimatioExit,\n exitActive: contentAnimatioExitActive,\n};\n\nconst [xA, yA, xB, yB] = webAnimationOverlayEasing;\n\nconst cubicBezierOverlayEasing = `cubic-bezier(${xA}, ${yA}, ${xB}, ${yB})`;\n\nconst opacityEnter = css`\n opacity: 0;\n`;\n\nconst opacityEnterActive = css`\n opacity: 1;\n transition: opacity ${webAnimationOverlayDuration}ms ${cubicBezierOverlayEasing};\n`;\n\nconst opacityExit = css`\n opacity: 1;\n`;\n\nconst opacityExitActive = css`\n opacity: 0;\n transition: opacity ${webAnimationOverlayDuration}ms ${cubicBezierOverlayEasing};\n`;\n\nconst opacityClassNames = {\n appear: opacityEnter,\n appearActive: opacityEnterActive,\n enter: opacityEnter,\n enterActive: opacityEnterActive,\n exit: opacityExit,\n exitActive: opacityExitActive,\n};\n\nexport function CardModalAnimation({\n children,\n appear = true,\n visible,\n unmountOnExit = true,\n isAnimationEnabled = true,\n onEnter,\n onEntered,\n onExit,\n onExited,\n onClose,\n ...props\n}: CardModalAnimationProps): ReactNode {\n const theme = useTheme();\n const { animation } = theme.kitt.cardModal;\n\n const sharedProps = {\n in: visible,\n appear,\n unmountOnExit,\n };\n\n return (\n <View {...props} height=\"100%\" justifyContent=\"center\">\n <CSSTransition\n {...sharedProps}\n timeout={isAnimationEnabled ? animation.overlay.duration : 0}\n classNames={opacityClassNames}\n >\n <Overlay onPress={onClose} />\n </CSSTransition>\n\n <CSSTransition\n {...sharedProps}\n timeout={isAnimationEnabled ? animation.content.duration : 0}\n classNames={contentAnimationClassNames}\n onEnter={onEnter}\n onEntered={onEntered}\n onExit={onExit}\n onExited={onExited}\n >\n <CardModalRotationContainer alignItems=\"center\" margin=\"auto\">\n {children}\n </CardModalRotationContainer>\n </CSSTransition>\n </View>\n );\n}\n","import type { ReactNode } 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\nexport function CardModalScrollContainer({ children, ...props }: ScrollContainerProps): ReactNode {\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): ReactNode {\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 <CardModalScrollContainer bounces={false} contentContainerStyle={{ flexGrow: 1 }}>\n <CardModalAnimation {...props} visible={visible} onExited={handleExitAnimationDone} onClose={onClose}>\n {children}\n </CardModalAnimation>\n </CardModalScrollContainer>\n </ModalBehaviour>\n );\n}\n","import type { ReactNode } from 'react';\nimport type { ViewProps } from '../native-base/primitives';\nimport { View } from '../native-base/primitives';\n\nexport interface CardModalBodyProps extends ViewProps {\n children: NonNullable<ReactNode>;\n}\n\nexport function CardModalBody({\n children,\n paddingX = { base: 'kitt.4', medium: 'kitt.6' },\n paddingY = 'kitt.4',\n ...props\n}: CardModalBodyProps): ReactNode {\n return (\n <View paddingX={paddingX} paddingY={paddingY} {...props}>\n {children}\n </View>\n );\n}\n","import type { ReactNode } 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): ReactNode {\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 { 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): ReactNode {\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 { ReactNode } from 'react';\nimport type { Except } from 'type-fest';\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\ninterface BaseCardModalProps extends Except<ViewProps, 'children'> {\n withoutShadow?: boolean;\n}\n\ninterface CardModalWithChildren extends BaseCardModalProps {\n children: ReactNode;\n header?: never;\n footer?: never;\n body?: never;\n}\n\ninterface CardModalWithoutChildren extends BaseCardModalProps {\n children?: never;\n header?: ReactNode;\n footer?: ReactNode;\n body: ReactNode;\n}\n\nexport type CardModalProps = CardModalWithChildren | CardModalWithoutChildren;\n\nexport function CardModal({\n backgroundColor = 'kitt.uiBackgroundLight',\n maxWidth = 'kitt.cardModal.maxWidth',\n withoutShadow,\n children,\n header,\n body,\n footer,\n ...props\n}: CardModalProps): ReactNode {\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 maxHeight=\"100%\"\n maxWidth={maxWidth}\n >\n {children || (\n <>\n {header || null}\n {body || null}\n {footer || null}\n </>\n )}\n </View>\n );\n}\n\nCardModal.Body = CardModalBody;\nCardModal.Header = CardModalHeader;\nCardModal.Footer = CardModalFooter;\nCardModal.ModalBehaviour = CardModalBehaviour;\n","interface GetBackgroundColorParams {\n isDisabled?: boolean;\n isSelected?: boolean;\n isHovered?: boolean;\n isPressed?: boolean;\n}\n\nexport function getBackgroundColor({ isDisabled, isSelected, isHovered, isPressed }: GetBackgroundColorParams): string {\n if (isDisabled) return 'kitt.choices.item.disabled.backgroundColor';\n\n if (isSelected && isHovered) return 'kitt.choices.item.hoverWhenSelected.backgroundColor';\n\n if (isPressed) return 'kitt.choices.item.pressed.backgroundColor';\n\n if (isHovered) return 'kitt.choices.item.hover.backgroundColor';\n\n if (isSelected) return 'kitt.choices.item.selected.backgroundColor';\n\n return 'kitt.choices.item.default.backgroundColor';\n}\n","import type { ChoiceItemVariant } from '../ChoiceItem';\n\nexport function getBorderRadius(variant?: ChoiceItemVariant): number | string {\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 return variant === 'rounded' ? Number.MAX_SAFE_INTEGER : 'kitt.choices.item.borderRadius';\n}\n","import type { ReactNode } from 'react';\nimport { useTheme } from '../KittThemeContext';\nimport { View } from '../native-base/primitives';\nimport type { AnimatedChoiceItemViewProps } from './AnimatedChoiceItemView';\nimport { getBackgroundColor } from './utils/getBackgroundColor';\nimport { getBorderRadius } from './utils/getBorderRadius';\n\nexport function AnimatedChoiceItemView({\n children,\n variant,\n size,\n isHovered,\n isPressed,\n isDisabled,\n isSelected,\n}: AnimatedChoiceItemViewProps): ReactNode {\n const theme = useTheme();\n\n return (\n <View\n position=\"relative\"\n borderRadius={getBorderRadius(variant)}\n backgroundColor={getBackgroundColor({ isDisabled, isSelected, isHovered, isPressed })}\n paddingX={size === 'small' ? 'kitt.4' : { base: 'kitt.4', small: 'kitt.6' }}\n paddingY={size === 'small' ? 'kitt.2' : { base: 'kitt.4', small: 'kitt.6' }}\n _web={{\n style: {\n transitionProperty: theme.kitt.choices.item.transition.property,\n transitionDuration: `${theme.kitt.choices.item.transition.duration}ms`,\n transitionTimingFunction: theme.kitt.choices.item.transition.timingFunction,\n },\n }}\n >\n {children}\n </View>\n );\n}\n","import type { ViewStyle } from 'react-native';\n\nexport const useNativeAnimation = (): {\n onPressIn: () => void;\n onPressOut: () => void;\n backgroundStyles?: ViewStyle;\n} => {\n return {\n onPressIn: () => {},\n onPressOut: () => {},\n backgroundStyles: undefined,\n };\n};\n","import type { TypographyColor } from '../../typography/Typography';\n\ninterface GetCurrentTextColorParams {\n isDisabled?: boolean;\n isSelected?: boolean;\n isPressed?: boolean;\n isHovered?: boolean;\n}\n\nexport function 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","import type { ReactNode } from 'react';\nimport type { GestureResponderEvent } from 'react-native';\nimport { Pressable, View } from '../native-base/primitives';\nimport { Typography } from '../typography/Typography';\nimport { AnimatedChoiceItemView } from './AnimatedChoiceItemView';\nimport type { BaseChoicesProps } from './Choices';\nimport { useNativeAnimation } from './hooks/useNativeAnimation';\nimport { getBorderRadius } from './utils/getBorderRadius';\nimport { getCurrentTextColor } from './utils/getCurrentTextColor';\n\nexport type ChoiceItemVariant = 'rounded';\nexport type ChoiceItemSize = BaseChoicesProps<null>['size'];\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>): ReactNode {\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 <AnimatedChoiceItemView\n animatedStyles={backgroundStyles}\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 ? (\n <View\n borderRadius={getBorderRadius(variant)}\n borderWidth=\"kitt.choices.item.disabled.borderWidth\"\n borderColor=\"kitt.choices.item.disabled.borderColor\"\n position=\"absolute\"\n top=\"0\"\n right=\"0\"\n left=\"0\"\n bottom=\"0\"\n />\n ) : null}\n </AnimatedChoiceItemView>\n )}\n </Pressable>\n );\n}\n","import type { ReactNode } from 'react';\nimport { View } from '../native-base/primitives';\nimport type { ChoicesDirection } from './Choices';\n\ninterface ChoiceItemContainerProps {\n children: ReactNode;\n isLast?: boolean;\n direction: ChoicesDirection;\n}\n\nexport function ChoiceItemContainer({ children, direction, isLast }: ChoiceItemContainerProps): ReactNode {\n const currentItemMarginValue = isLast ? undefined : 'kitt.3';\n return (\n <View\n marginRight={direction === 'row' ? currentItemMarginValue : undefined}\n marginBottom={direction === 'column' ? currentItemMarginValue : undefined}\n >\n {children}\n </View>\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): ReactNode {\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>): ReactNode {\n const [currentValue, setCurrentValue] = useState(value);\n\n const isForm = type && ['radio', 'checkbox'].includes(type);\n\n const childrenArray = Children.toArray(children) as ReactElement<\n ChoicesItemPropsFromChoiceType<V, ChoiceType>,\n typeof ChoiceItem\n >[];\n\n const handleChange: ChoicesItemPropsFromChoiceType<V, ChoiceType>['onChange'] = (newValue) => {\n setCurrentValue(newValue);\n if (onChange) onChange(newValue);\n };\n\n const sharedProps: Pick<\n ChoicesItemPropsFromChoiceType<V, ChoiceType>,\n ExcludeChoiceItemProvidedByChoices | OptionalChoiceItemProvidedByChoices\n > = {\n type,\n disabled,\n variant,\n onPress: !isForm ? onPress : undefined,\n onChange: isForm ? handleChange : undefined,\n onFocus,\n onBlur,\n size,\n };\n\n return (\n <ChoicesContainer direction={direction} testID={testID} nativeID={id}>\n {childrenArray.map((child, index) => {\n const element = cloneElement<ChoicesItemPropsFromChoiceType<V, ChoiceType>>(child, {\n selected: isForm ? child.props.value === currentValue : undefined,\n ...sharedProps,\n } as any);\n\n return (\n <ChoiceItemContainer key={child.key} direction={direction} isLast={index === childrenArray.length - 1}>\n {element}\n </ChoiceItemContainer>\n );\n })}\n </ChoicesContainer>\n );\n}\n\nChoices.Item = ChoiceItem;\n\nexport interface CreateChoices<V, ChoiceType extends ChoiceItemType> {\n (props: ChoicesProps<V, ChoiceType>): ReactElement;\n Item: (\n props: SetOptional<\n Except<ChoicesItemPropsFromChoiceType<V, ChoiceType>, OptionalChoiceItemProvidedByChoices>,\n ExcludeChoiceItemProvidedByChoices\n >,\n ) => ReactElement;\n}\n\nexport function createChoicesComponent<V, ChoiceType extends ChoiceItemType>(): CreateChoices<V, ChoiceType> {\n return Choices as CreateChoices<V, ChoiceType>;\n}\n\nconst ButtonChoices = createChoicesComponent<never, 'button'>();\n\nChoices.ButtonChoices = ButtonChoices;\n\nexport const ChoicesElements = {\n Item: ChoiceItem,\n ButtonChoices,\n};\n","import { css } from '@linaria/core';\nimport type { ReactNode } from 'react';\nimport { CSSTransition } from 'react-transition-group';\nimport { useTheme } from '../../KittThemeContext';\nimport { Overlay } from '../../Overlay/Overlay';\nimport { View } from '../../native-base/primitives';\nimport {\n webAnimationContentDuration,\n webAnimationContentEasing,\n webAnimationOverlayDuration,\n webAnimationOverlayEasing,\n} from '../../themes/late-ocean/dialogModal';\nimport type { DialogModalAnimationProps } from './DialogModalAnimation';\n\nconst [x1, y1, x2, y2] = webAnimationContentEasing;\n\nconst cubicBezierSlideIn = `cubic-bezier(${x1}, ${y1}, ${x2}, ${y2})`;\n\nconst contentAnimationEnter = css`\n opacity: 0;\n transform: rotateZ(5deg) scale(0.8);\n`;\n\nconst contentAnimatioEnterActive = css`\n opacity: 1;\n transform: rotateZ(0) scale(1);\n transition: all ${webAnimationContentDuration}ms ${cubicBezierSlideIn};\n`;\n\nconst contentAnimatioExit = css`\n opacity: 1;\n transform: rotateZ(0) scale(1);\n`;\n\nconst contentAnimatioExitActive = css`\n opacity: 0;\n transform: rotateZ(5deg) scale(0.8);\n transition: all ${webAnimationContentDuration}ms ${cubicBezierSlideIn};\n`;\n\nconst contentAnimationClassNames = {\n appear: contentAnimationEnter,\n appearActive: contentAnimatioEnterActive,\n enter: contentAnimationEnter,\n enterActive: contentAnimatioEnterActive,\n exit: contentAnimatioExit,\n exitActive: contentAnimatioExitActive,\n};\n\nconst [xA, yA, xB, yB] = webAnimationOverlayEasing;\n\nconst cubicBezierOverlayEasing = `cubic-bezier(${xA}, ${yA}, ${xB}, ${yB})`;\n\nconst opacityEnter = css`\n opacity: 0;\n`;\n\nconst opacityEnterActive = css`\n opacity: 1;\n transition: opacity ${webAnimationOverlayDuration}ms ${cubicBezierOverlayEasing};\n`;\n\nconst opacityExit = css`\n opacity: 1;\n`;\n\nconst opacityExitActive = css`\n opacity: 0;\n transition: opacity ${webAnimationOverlayDuration}ms ${cubicBezierOverlayEasing};\n`;\n\nconst opacityClassNames = {\n appear: opacityEnter,\n appearActive: opacityEnterActive,\n enter: opacityEnter,\n enterActive: opacityEnterActive,\n exit: opacityExit,\n exitActive: opacityExitActive,\n};\n\nexport function DialogModalAnimation({\n children,\n appear = true,\n visible,\n unmountOnExit = true,\n isAnimationEnabled = true,\n onEnter,\n onEntered,\n onExit,\n onExited,\n onClose,\n ...props\n}: DialogModalAnimationProps): ReactNode {\n const theme = useTheme();\n const { animation } = theme.kitt.dialogModal;\n\n const sharedProps = {\n in: visible,\n appear,\n unmountOnExit,\n };\n\n return (\n <View {...props} height=\"100%\" justifyContent=\"center\">\n <CSSTransition\n {...sharedProps}\n timeout={isAnimationEnabled ? animation.overlay.duration : 0}\n classNames={opacityClassNames}\n >\n <Overlay onPress={onClose} />\n </CSSTransition>\n\n <CSSTransition\n {...sharedProps}\n timeout={isAnimationEnabled ? animation.content.duration : 0}\n classNames={contentAnimationClassNames}\n onEnter={onEnter}\n onEntered={onEntered}\n onExit={onExit}\n onExited={onExited}\n >\n <View\n alignItems=\"center\"\n paddingX=\"kitt.dialogModal.overlayPadding.horizontal\"\n paddingY=\"kitt.dialogModal.overlayPadding.vertical\"\n margin=\"auto\"\n >\n {children}\n </View>\n </CSSTransition>\n </View>\n );\n}\n","import type { ReactNode } 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): ReactNode {\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 { 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?: ReactNode;\n title?: ReactNode;\n children: ReactNode;\n}\n\nexport function DialogModal({ illustration, title, children, actions }: DialogModalProps): ReactNode {\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 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): ReactNode {\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 { ReactNode } 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' | 'testID'> {\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, testID }: EmojiProps): ReactNode {\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 testID={testID}\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, ReactNode, 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>): ReactNode {\n const href = `${appScheme}:${appValue}`;\n\n const handleOnPress = async (e: GestureResponderEvent): Promise<void> => {\n try {\n const canOpen = await Linking.canOpenURL(href);\n\n if (canOpen) {\n if (onPress) {\n onPress(e);\n if (e?.defaultPrevented) return;\n }\n\n Linking.openURL(href).catch((error) => {\n console.error(`An error occurred while opening ${href}`, error);\n\n onOpenAppError?.(`An error occurred while opening ${href}`);\n });\n } else {\n onOpenAppError?.(`Cannot open url: ${href}`);\n }\n } catch {\n onOpenAppError?.('An error occured with Linkinf.canOpenURL');\n }\n };\n\n return <Component href={href} {...(rest as any)} onPress={handleOnPress} />;\n}\n\nExternalAppLink.Sms = function ExternalAppLinkSms<C extends VoidFunctionComponent<any>>({\n phoneNumber,\n children,\n ...rest\n}: ExternalAppLinkPhoneProps<C> & ExternalAppLinkSendableComponentProps<C>): ReactElement {\n return (\n <ExternalAppLink {...(rest as any)} appScheme=\"sms\" appValue={phoneNumber}>\n {children}\n </ExternalAppLink>\n );\n};\n\nExternalAppLink.Tel = function ExternalAppLinkTel<C extends VoidFunctionComponent<any>>({\n phoneNumber,\n children,\n ...rest\n}: ExternalAppLinkPhoneProps<C> & ExternalAppLinkSendableComponentProps<C>): ReactElement {\n return (\n <ExternalAppLink {...(rest as any)} appScheme=\"tel\" appValue={phoneNumber}>\n {children}\n </ExternalAppLink>\n );\n};\n\nExternalAppLink.Mail = function ExternalAppLinkMail<C extends VoidFunctionComponent<any>>({\n emailAddress,\n children,\n ...rest\n}: ExternalAppLinkMailProps<C> & ExternalAppLinkSendableComponentProps<C>): ReactElement {\n return (\n <ExternalAppLink {...(rest as any)} appScheme=\"mailto\" appValue={emailAddress}>\n {children}\n </ExternalAppLink>\n );\n};\n","export interface ExternalLinkOpenLinkBehavior {\n /**\n * @default 'openInModal'\n *\n * @description open link behavior in native\n *\n * \"openInModal\": open via [expo-web-browser](https://docs.expo.dev/versions/latest/sdk/webbrowser/)\n *\n * \"openBrowserApp\": open via [Linking](https://docs.expo.dev/guides/linking/#opening-links-from-your-app)\n */\n native?: 'openInModal' | 'openBrowserApp';\n\n /**\n * @default 'targetBlank'\n *\n * @description open link behavior in native\n *\n * \"targetSelf\": no dom attributes added, behave like `target=\"_self\"`\n *\n * \"targetBlank\": dome attributes: `target=\"_blank\" rel=\"noopener noreferrer\"`\n */\n web?: 'targetSelf' | 'targetBlank';\n}\n\nexport const defaultOpenLinkBehavior: ExternalLinkOpenLinkBehavior = {\n native: 'openInModal',\n web: 'targetBlank',\n};\n","import type { ReactNode, VoidFunctionComponent } from 'react';\nimport type { ExternalLinkProps, ExternalLinkSendableComponentProps } from './ExternalLink';\nimport { defaultOpenLinkBehavior } from './ExternalLinkOpenLinkBehavior';\n\nexport function ExternalLink<C extends VoidFunctionComponent<any>>({\n as: Component,\n href,\n openLinkBehavior = defaultOpenLinkBehavior,\n onPress,\n ...rest\n}: ExternalLinkProps<C> & ExternalLinkSendableComponentProps<C>): ReactNode {\n return (\n <Component\n {...(rest as any)}\n href={href}\n hrefAttrs={openLinkBehavior?.web === 'targetSelf' ? undefined : { target: '_blank', rel: 'noopener noreferrer' }}\n onPress={onPress}\n />\n );\n}\n","import { defaultOpenLinkBehavior } from '../ExternalLinkOpenLinkBehavior';\nimport type { OpenExternalLinkParams } from '../OpenExternalLinkParams';\n\nexport function useOpenExternalLink() {\n return async ({ href, behavior = defaultOpenLinkBehavior }: OpenExternalLinkParams): Promise<void> => {\n switch (behavior.web) {\n case 'targetSelf':\n window.open(href, '_self');\n\n break;\n case 'targetBlank':\n case undefined:\n default:\n window.open(href, '_blank', 'noopener noreferrer');\n }\n };\n}\n","import type { ReactElement, ReactNode } from 'react';\nimport { useTheme } from '../../KittThemeContext';\nimport type { TypographyIconProps } from '../../typography/TypographyIcon';\nimport { TypographyIcon } from '../../typography/TypographyIcon';\nimport type { InputFormState } from '../utils';\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): ReactNode {\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 { ReactNode } 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): ReactNode {\n return <Pressable {...props} />;\n}\n","import { css } from '@linaria/core';\nimport type { ReactNode } from 'react';\nimport { webAnimationDuration, webAnimationProperty, webAnimationTimingFunction } from '../../themes/late-ocean/input';\nimport type { InputTextContainerProps } from './InputTextContainer';\n\nconst inputTextContainer = css`\n display: flex;\n position: relative;\n\n & > *::-ms-clear,\n & > *::-ms-reveal {\n display: none;\n }\n\n & > * {\n transition: ${webAnimationProperty} ${webAnimationDuration} ${webAnimationTimingFunction};\n }\n`;\n\nexport function InputTextContainer(props: InputTextContainerProps): ReactNode {\n return <div className={inputTextContainer} {...props} />;\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 type { Except } from 'type-fest';\nimport { useTheme } from '../../KittThemeContext';\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>\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 { ReactNode } from 'react';\nimport { View } from '../../native-base/primitives';\n\ninterface UIState {\n isSelected?: boolean;\n isHovered?: boolean;\n isFocused?: boolean;\n isPressed?: boolean;\n isHighlighted?: boolean;\n}\n\nfunction getBackgroundColor({ isSelected, isHighlighted, isPressed, isHovered, isFocused }: UIState): string {\n const baseKey = 'kitt.forms.autocomplete.option';\n\n if (isHighlighted) {\n return `${baseKey}.highlighted.backgroundColor`;\n }\n\n if (isPressed) {\n return `${baseKey}.pressed.backgroundColor`;\n }\n\n if (isHovered) {\n return `${baseKey}.hovered.backgroundColor`;\n }\n\n if (isFocused) {\n return `${baseKey}.focused.backgroundColor`;\n }\n\n if (isSelected) {\n return `${baseKey}.selected.backgroundColor`;\n }\n\n return `${baseKey}.default.backgroundColor`;\n}\n\ninterface AutocompleteItemProps<T extends object> {\n item: T;\n children: ReactNode;\n isSelected?: boolean;\n isHighlighted?: boolean;\n isHovered?: boolean;\n isFocused?: boolean;\n isPressed?: boolean;\n}\n\nexport function AutocompleteItem<T extends object>({\n children,\n isSelected,\n isHighlighted,\n isHovered,\n isFocused,\n isPressed,\n}: AutocompleteItemProps<T>): ReactNode {\n return (\n <View\n justifyContent=\"center\"\n width=\"100%\"\n minHeight=\"kitt.forms.autocomplete.option.minHeight\"\n borderRadius=\"kitt.1\"\n padding=\"kitt.1\"\n backgroundColor={getBackgroundColor({ isSelected, isHighlighted, isPressed, isHovered, isFocused })}\n >\n {children}\n </View>\n );\n}\n","import type { ReactNode } from 'react';\nimport type { ViewProps } from '../../native-base/primitives';\nimport { View } from '../../native-base/primitives';\n\ninterface AutocompleteItemsListContainerProps {\n testID: ViewProps['testID'];\n zIndex?: ViewProps['zIndex'];\n children: ReactNode;\n}\n\nexport function AutocompleteItemsListContainer({\n testID,\n children,\n zIndex = 1000,\n}: AutocompleteItemsListContainerProps): ReactNode {\n return (\n <View\n testID={testID}\n zIndex={zIndex}\n top=\"kitt.2\"\n left={0}\n position=\"absolute\"\n flexGrow={1}\n width=\"100%\"\n paddingY=\"kitt.2\"\n borderRadius=\"kitt.forms.autocomplete.optionsContainer.borderRadius\"\n backgroundColor=\"kitt.forms.autocomplete.optionsContainer.backgroundColor\"\n shadow=\"kitt.forms.autocomplete.optionsContainer.shadow\"\n _android={{ style: { elevation: 2 } }}\n >\n {children}\n </View>\n );\n}\n","import type { ReactNode } from 'react';\nimport type { ViewProps } from '../../native-base/primitives';\nimport { View } from '../../native-base/primitives';\n\nexport interface AutocompleteOptionProps extends ViewProps {\n item: unknown;\n children: ReactNode;\n}\n\nexport function AutocompleteOption({ children, ...props }: AutocompleteOptionProps): ReactNode {\n return (\n <View\n paddingX={{ base: 'kitt.2', small: 'kitt.4' }}\n paddingY=\"kitt.forms.autocomplete.option.verticalPadding\"\n {...props}\n >\n {children}\n </View>\n );\n}\n","import { CaretDownFillIcon, CaretUpFillIcon } from '@ornikar/kitt-icons/phosphor';\nimport type { DownshiftProps } from 'downshift';\nimport Downshift from 'downshift';\nimport type { ComponentType, ReactElement, ReactNode } from 'react';\nimport { Children } from 'react';\nimport type { GestureResponderEvent } from 'react-native';\nimport { Platform } from 'react-native';\nimport type { ViewProps } from '../../native-base/primitives';\nimport { Pressable, View } from '../../native-base/primitives';\nimport { InputIcon } from '../InputIcon/InputIcon';\nimport { InputPressable } from '../InputPressable/InputPressable';\nimport type { InputTextProps } from '../InputText/InputText';\nimport { InputText } from '../InputText/InputText';\nimport { AutocompleteItem } from './AutocompleteItem';\nimport { AutocompleteItemsListContainer } from './AutocompleteItemsListContainer';\nimport { AutocompleteOption } from './AutocompleteOption';\n\n// When testing with jest on native, e is undefined, we need to patch it to make it work\nfunction patchNativeEvent(event?: GestureResponderEvent): GestureResponderEvent {\n return event || ({ preventDownshiftDefault: false, preventDefault: () => {} } as unknown as GestureResponderEvent);\n}\n\ninterface BaseItemProps<T> {\n item: T;\n}\n\ntype ComponentWithItemProp<T> = ComponentType<BaseItemProps<T>>;\n\nexport interface AutocompleteProps<T extends object> extends Omit<InputTextProps, 'onChange'> {\n children: ReactElement<ComponentWithItemProp<T>>[];\n isInitialOpen?: DownshiftProps<T>['defaultIsOpen'];\n initialValue?: T;\n containerProps?: Exclude<ViewProps, 'ref'>;\n filterItemBasedOnCurrentInputValue?: (item: T, inputValue: string) => boolean;\n checkSelectedItem: (selectedItem: T | undefined, item: T) => boolean;\n itemToString: (item?: T) => string;\n right?: InputTextProps['right'];\n errorElement?: ReactNode;\n emptyResultsElement?: ReactNode;\n inputTestID?: ViewProps['testID'];\n listContainerTestID?: ViewProps['testID'];\n zIndex?: ViewProps['zIndex'];\n onChange?: DownshiftProps<T>['onChange'];\n onInputChange?: DownshiftProps<T>['onInputValueChange'];\n onSelectItem?: DownshiftProps<T>['onSelect'];\n onOuterPress?: DownshiftProps<T>['onOuterClick'];\n}\n\nfunction isReactElement(element: unknown): element is ReactElement {\n return typeof element === 'object' && element !== null && 'type' in element && 'props' in element;\n}\n\nexport function Autocomplete<T extends object>({\n children,\n name,\n disabled,\n placeholder,\n isInitialOpen,\n initialValue,\n containerProps,\n filterItemBasedOnCurrentInputValue,\n checkSelectedItem,\n itemToString,\n right,\n onChange,\n onFocus,\n onBlur,\n onInputChange,\n onSelectItem,\n /**\n * @description web only callback\n */\n onOuterPress,\n errorElement,\n emptyResultsElement,\n inputTestID = 'kitt.Autocomplete.inputText',\n listContainerTestID = 'kitt.Autocomplete.listContainer',\n zIndex = 1000,\n ...props\n}: AutocompleteProps<T>): ReactNode {\n const childrenArray = Children.toArray(children);\n\n const items: { child: ReactElement; item: T }[] = childrenArray\n .filter(isReactElement)\n .map((child) => ({ child, item: child.props.item }));\n\n const handleItemToString = (item: T | null): string => {\n // Prevents returning null values\n if (!itemToString) return '';\n return itemToString(item || undefined);\n };\n\n return (\n <Downshift\n defaultIsOpen={isInitialOpen}\n initialSelectedItem={initialValue}\n initialInputValue={initialValue ? itemToString(initialValue) : undefined}\n itemToString={handleItemToString}\n stateReducer={(state, changes) => {\n switch (changes.type) {\n case Downshift.stateChangeTypes.changeInput:\n return {\n ...changes,\n selectedItem: null,\n };\n default:\n return changes;\n }\n }}\n onChange={(selectedItem, stateAndHelpers) => {\n if (onChange) {\n onChange(selectedItem, stateAndHelpers);\n }\n }}\n onSelect={onSelectItem}\n onOuterClick={onOuterPress}\n onInputValueChange={onInputChange}\n >\n {({\n getRootProps,\n getInputProps,\n getMenuProps,\n getItemProps,\n getToggleButtonProps,\n isOpen,\n inputValue,\n highlightedIndex,\n selectedItem,\n openMenu,\n }) => {\n const shouldSuppressRefError = Platform.OS !== 'web';\n\n const rootProps = getRootProps(undefined, { suppressRefError: shouldSuppressRefError });\n const menuProps = getMenuProps(undefined, { suppressRefError: shouldSuppressRefError });\n const { onClick: onClickToggle, onPress: onPressToggle, ...toggleProps } = getToggleButtonProps({ disabled });\n\n const {\n onKeyDown,\n onFocus: onSearchInputFocus,\n onBlur: onSearchInputBlur,\n onChange: onSearchInputChange,\n ...inputProps\n } = getInputProps({ placeholder, disabled });\n\n const hasCurrentSearch = inputValue && inputValue.length > 0;\n\n const currentItems =\n hasCurrentSearch && filterItemBasedOnCurrentInputValue\n ? items.filter(({ item }) => {\n if (!filterItemBasedOnCurrentInputValue) return true;\n return filterItemBasedOnCurrentInputValue(item, inputValue || '');\n })\n : items;\n\n // We need to check if the menu is open and if there is at least one item or an error element to prevent displaying an empty container\n const isCurrentlyOpen = isOpen ? currentItems.length > 0 || !!errorElement || !!emptyResultsElement : false;\n\n const handleTogglePress = (e?: GestureResponderEvent): void => {\n if (Platform.OS === 'web') {\n onClickToggle(e);\n return;\n }\n onPressToggle(patchNativeEvent(e));\n };\n\n const canDisplayCollapseButton = currentItems.length > 0 || !!errorElement || !!emptyResultsElement;\n\n return (\n <View {...rootProps} {...containerProps} zIndex={zIndex} position=\"relative\">\n <InputText\n {...inputProps}\n {...props}\n name={name}\n testID={inputTestID}\n right={\n right ||\n (canDisplayCollapseButton ? (\n <InputPressable\n {...toggleProps}\n testID=\"kitt.Autocomplete.listToggle\"\n hitSlop={40}\n onPress={handleTogglePress}\n >\n <InputIcon icon={isCurrentlyOpen ? <CaretUpFillIcon /> : <CaretDownFillIcon />} />\n </InputPressable>\n ) : null)\n }\n onFocus={(e) => {\n openMenu();\n /** @ts-expect-error onFocus wants web events */\n if (Platform.OS !== 'android' && onSearchInputFocus) onSearchInputFocus(e);\n\n if (onFocus) onFocus(e);\n }}\n onBlur={(e) => {\n /** @ts-expect-error onBlur wants web events */\n if (Platform.OS !== 'android' && onSearchInputBlur) onSearchInputBlur(e);\n\n if (onBlur) onBlur(e);\n }}\n /** @ts-expect-error onSearchInputChange wants web events */\n onChange={onSearchInputChange}\n /** @ts-expect-error onKeyDown wants web events */\n onKeyPress={onKeyDown}\n />\n <View {...menuProps} position=\"relative\">\n {isCurrentlyOpen ? (\n <AutocompleteItemsListContainer testID={listContainerTestID}>\n {currentItems.map(({ child, item }, index) => {\n const {\n onClick,\n onPress,\n role,\n 'aria-selected': ariaSelected,\n ...itemProps\n } = getItemProps({ item, index });\n\n return (\n <Pressable\n key={itemProps.id}\n {...itemProps}\n accessibilityRole={Platform.OS === 'android' ? undefined : role}\n accessibilityState={{ selected: ariaSelected }}\n disabled={disabled}\n onPress={(e) => {\n if (Platform.OS === 'web') {\n if (onClick) onClick(e);\n return;\n }\n\n if (onPress) onPress(patchNativeEvent(e));\n }}\n >\n {({ isHovered, isFocused, isPressed }) => (\n <AutocompleteItem<T>\n item={item}\n isHighlighted={highlightedIndex === index}\n isHovered={isHovered}\n isFocused={isFocused}\n isPressed={isPressed}\n isSelected={checkSelectedItem(selectedItem || undefined, item)}\n >\n {child}\n </AutocompleteItem>\n )}\n </Pressable>\n );\n })}\n\n {errorElement}\n {emptyResultsElement}\n </AutocompleteItemsListContainer>\n ) : null}\n </View>\n </View>\n );\n }}\n </Downshift>\n );\n}\n\nAutocomplete.Option = AutocompleteOption;\n/**\n * @description: This is exported for testing purposes only\n */\nAutocomplete.UnsafeInternalItem = AutocompleteItem;\n","<svg fill=\"none\" viewBox=\"0 0 14 14\"><path d=\"M1.895 7.205a.7.7 0 0 0-.99.99l3.5 3.5a.7.7 0 0 0 .99 0l7.7-7.7a.7.7 0 1 0-.99-.99L4.9 10.21 1.895 7.205z\" fill=\"currentColor\"/></svg>","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 type { ReactElement, ReactNode } from 'react';\nimport { forwardRef } from 'react';\nimport type { GestureResponderEvent, PressableProps } from 'react-native';\nimport { Icon } from '../../Icon/Icon';\nimport { useTheme } from '../../KittThemeContext';\nimport { HStack } from '../../native-base/layout';\nimport { Pressable, View } from '../../native-base/primitives';\nimport CheckboxMarkIcon from './checkbox-mark.inline.svg';\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: !!checked, disabled }}\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 ? 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={<CheckboxMarkIcon />}\n />\n </View>\n </View>\n\n {children ? <View flexShrink={1}>{children}</View> : null}\n </HStack>\n )}\n </Pressable>\n );\n },\n);\n","import type { TextInputProps } from 'react-native';\nimport { Platform } from 'react-native';\n\nexport function getReturnKeyTypeForNumericInput(\n returnKeyType: TextInputProps['returnKeyType'],\n): TextInputProps['returnKeyType'] {\n // returnKey is only displayed on number input on iOS if value is done\n if (Platform.OS === 'ios') return 'done';\n\n return returnKeyType;\n}\n","function prefixWithZero(value: number, maxLength = 2): string {\n return `${value}`.padStart(maxLength, '0');\n}\n\nexport function dayFormatter(day: number): string {\n return prefixWithZero(day);\n}\n\nexport function monthFormatter(month: number): string {\n return prefixWithZero(month);\n}\n\nexport function yearFormatter(year: number): string {\n return prefixWithZero(year, 4);\n}\n","export function getDayInInterval(value: number | undefined): number | undefined {\n const minValue = 1;\n const maxValue = 31;\n\n return value !== undefined ? Math.max(minValue, Math.min(maxValue, value)) : value;\n}\n\nexport function getMonthInInterval(\n value: number | undefined,\n minDate: Date | undefined,\n maxDate: Date | undefined,\n): number | undefined {\n const maxMonthInYear = 12;\n\n const minValue = minDate ? minDate.getMonth() + 1 : 1;\n const maxValue = maxDate ? maxDate.getMonth() + 1 : maxMonthInYear;\n\n return value !== undefined ? Math.max(minValue, Math.min(maxValue, value)) : value;\n}\n\nexport function getYearInInterval(\n value: number | undefined,\n minDate: Date | undefined,\n maxDate: Date | undefined,\n): number | undefined {\n const maxPossibleYear = 9999;\n\n const minValue = minDate ? minDate.getFullYear() : 1;\n const maxValue = maxDate ? maxDate.getFullYear() : maxPossibleYear;\n\n return value !== undefined ? Math.max(minValue, Math.min(maxValue, value)) : value;\n}\n","import type { Reducer } from 'react';\nimport type { DatePickerProps } from '../DatePicker';\nimport { dayFormatter, monthFormatter, yearFormatter } from '../utils/dateFormatter';\nimport { getDayInInterval, getMonthInInterval, getYearInInterval } from '../utils/datePartInInterval';\n\nfunction getValueToDisplayedString(value: number | undefined): string {\n // We exclude the undefined value since 0 is a valid number\n if (value === undefined) return '';\n\n return value.toString();\n}\n\nexport interface State {\n currentValue: DatePickerProps['value'];\n currentDay?: number;\n currentMonth?: number;\n currentYear?: number;\n displayedDay?: string;\n displayedMonth?: string;\n displayedYear?: string;\n minDate: DatePickerProps['minDate'];\n maxDate: DatePickerProps['maxDate'];\n}\n\ninterface DayChangeAction {\n type: 'day-change';\n nextDay?: number;\n}\n\ninterface MonthChangeAction {\n type: 'month-change';\n nextMonth?: number;\n}\n\ninterface YearChangeAction {\n type: 'year-change';\n nextYear?: number;\n}\n\ninterface DayBlurAction {\n type: 'day-blur';\n}\n\ninterface MonthBlurAction {\n type: 'month-blur';\n}\n\ninterface YearBlurAction {\n type: 'year-blur';\n}\n\ntype Actions =\n | DayChangeAction\n | MonthChangeAction\n | YearChangeAction\n | DayBlurAction\n | MonthBlurAction\n | YearBlurAction;\n\nexport const keyboardDatePickerReducer: Reducer<State, Actions> = (state, action) => {\n switch (action.type) {\n case 'day-change': {\n const { nextDay } = action;\n\n return {\n ...state,\n currentDay: nextDay,\n displayedDay: getValueToDisplayedString(nextDay),\n };\n }\n\n case 'month-change': {\n const { nextMonth } = action;\n\n return {\n ...state,\n currentMonth: nextMonth,\n displayedMonth: getValueToDisplayedString(nextMonth),\n };\n }\n\n case 'year-change': {\n const { nextYear } = action;\n\n return {\n ...state,\n currentYear: nextYear,\n displayedYear: getValueToDisplayedString(nextYear),\n };\n }\n\n case 'day-blur': {\n const nextCurrentDay = getDayInInterval(state.currentDay);\n\n return {\n ...state,\n displayedDay: nextCurrentDay ? dayFormatter(nextCurrentDay) : state.displayedDay,\n };\n }\n\n case 'month-blur': {\n const { minDate, maxDate } = state;\n\n const nextCurrentMonth = getMonthInInterval(state.currentMonth, minDate, maxDate);\n\n return {\n ...state,\n currentMonth: nextCurrentMonth,\n displayedMonth: nextCurrentMonth !== undefined ? monthFormatter(nextCurrentMonth) : state.displayedMonth,\n };\n }\n\n case 'year-blur': {\n const { minDate, maxDate } = state;\n\n const nextCurrentYear = getYearInInterval(state.currentYear, minDate, maxDate);\n\n return {\n ...state,\n currentYear: nextCurrentYear,\n displayedYear: nextCurrentYear !== undefined ? yearFormatter(nextCurrentYear) : state.displayedYear,\n };\n }\n\n default:\n return state;\n }\n};\n","export function isNumber(input?: unknown): boolean {\n // Number.isNaN and isNaN are not consistent\n // eslint-disable-next-line no-restricted-globals\n return !isNaN(input as any);\n}\n","interface OnDatePartChangeParams {\n day?: number;\n month?: number;\n year?: number;\n validYearMinLength?: number;\n minDate?: Date;\n maxDate?: Date;\n onChange: (v?: Date) => void;\n onBlur?: () => void;\n onFocus?: () => void;\n}\n\nexport function onDatePartChange({\n day,\n month,\n year,\n validYearMinLength = 4,\n minDate,\n maxDate,\n onChange,\n onBlur,\n onFocus,\n}: OnDatePartChangeParams): void {\n const arrayParts = [day, month, year];\n\n const isEverythingUndefined = arrayParts.every((v) => v === undefined);\n const isEverythingDefined = arrayParts.every(Boolean);\n\n // every parts are undefined\n if (isEverythingUndefined) {\n if (onFocus) onFocus();\n onChange(undefined);\n if (onBlur) onBlur();\n\n return;\n }\n\n // Do nothing if some input parts are empty\n if (!isEverythingDefined) {\n return;\n }\n\n const nextValue = new Date();\n\n const isValidYear = year && year.toString().length >= validYearMinLength;\n\n if (!isValidYear) {\n return;\n }\n\n if (day) nextValue.setDate(day);\n if (month) nextValue.setMonth(month - 1);\n if (year) nextValue.setFullYear(year);\n\n nextValue.setMinutes(0);\n nextValue.setHours(0);\n nextValue.setSeconds(0);\n nextValue.setMilliseconds(0);\n\n if (minDate) {\n minDate.setMinutes(0);\n minDate.setHours(0);\n minDate.setSeconds(0);\n minDate.setMilliseconds(0);\n const isMinDateAfterNextValue = minDate.getTime() > nextValue.getTime();\n\n if (isMinDateAfterNextValue) {\n if (onFocus) onFocus();\n onChange(undefined);\n if (onBlur) onBlur();\n\n return;\n }\n }\n\n if (maxDate) {\n maxDate.setMinutes(0);\n maxDate.setHours(0);\n maxDate.setSeconds(0);\n maxDate.setMilliseconds(0);\n\n const isMaxDateBeforeNextValue = nextValue.getTime() > maxDate.getTime();\n\n if (isMaxDateBeforeNextValue) {\n if (onFocus) onFocus();\n onChange(undefined);\n if (onBlur) onBlur();\n\n return;\n }\n }\n\n if (onFocus) onFocus();\n onChange(nextValue);\n if (onBlur) onBlur();\n}\n","export function stringToNumber(text: string): number | undefined {\n if (text.length === 0) return undefined;\n return parseInt(text, 10);\n}\n","import 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 id?: string;\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 id,\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 id={id}\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 { 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): ReactNode {\n return (\n <View\n flexGrow={createResponsiveStyleFromProp(isStretch, 1)}\n flexShrink={createResponsiveStyleFromProp(isStretch, 1)}\n flexBasis={createResponsiveStyleFromProp(isStretch, 0)}\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 id,\n value,\n testID,\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 id={id ? `${id}-day` : undefined}\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 id={id ? `${id}-month` : undefined}\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 id={id ? `${id}-year` : undefined}\n {...sharedInputPartProps}\n placeholder={placeholder?.year}\n value={state.displayedYear}\n returnKeyType={returnKeyType ? getReturnKeyTypeForNumericInput(returnKeyType) : undefined}\n onChange={(e) => {\n const nextYear = stringToNumber(e.nativeEvent.text);\n\n dispatch({ type: 'year-change', nextYear });\n\n if (nextYear && isNumber(nextYear)) {\n handleDatePartChange(state.currentDay, state.currentMonth, nextYear);\n }\n }}\n onBlur={() => dispatch({ type: 'year-blur' })}\n onSubmitEditing={onSubmitEditing}\n />\n </PartContainer>\n </HStack>\n </View>\n );\n },\n);\n","import type { ReactElement } from 'react';\nimport { forwardRef } from 'react';\nimport type { TextInput as RNTextInput } from 'react-native';\nimport type { DatePickerProps } from './DatePicker';\nimport { KeyboardDatePicker } from './components/KeyboardDatePicker';\n\nexport const DatePicker = forwardRef<RNTextInput, DatePickerProps>(\n ({ value, ...props }: DatePickerProps, ref): ReactElement => {\n // in apps, final-form can give a string value that will break the component\n const currentValue = value || undefined;\n\n return <KeyboardDatePicker ref={ref} {...props} value={currentValue} />;\n },\n);\n","import type { ReactNode } from 'react';\nimport { createContext } from 'react';\n\nexport const GoogleMapsApiKeyContext = createContext<string | undefined>(undefined);\n\nexport interface GoogleMapsApiKeyProviderProps {\n children: ReactNode;\n apiKey: string;\n}\n\nexport function GoogleMapsApiKeyProvider({ children, apiKey }: GoogleMapsApiKeyProviderProps): ReactNode {\n return <GoogleMapsApiKeyContext.Provider value={apiKey}>{children}</GoogleMapsApiKeyContext.Provider>;\n}\n","import { useContext } from 'react';\nimport { GoogleMapsApiKeyContext } from '../GoogleMapsApiKeyProvider';\n\nexport function useGoogleMapApiKey(): string {\n const context = useContext(GoogleMapsApiKeyContext);\n\n if (!context) {\n throw new Error('<GoogleMapsApiKeyContext> missing in the react tree');\n }\n\n return context;\n}\n","import { Loader } from '@googlemaps/js-api-loader';\nimport { useEffect, useRef } from 'react';\nimport { useGoogleMapApiKey } from '../../GoogleMapsApiKeyProvider/hooks/useGoogleMapApiKey';\nimport type { GetDetailsResponse, GetPlacePredictions, UseGooglePlacesServices } from './useGoogleMapsApi';\n\nexport function useGoogleMapsApi(): UseGooglePlacesServices {\n const apiKey = useGoogleMapApiKey();\n\n const autoCompleteServiceInstanceRef = useRef<google.maps.places.AutocompleteService | null>(null);\n const placesServiceInstanceRef = useRef<google.maps.places.PlacesService | null>(null);\n\n useEffect(() => {\n if (autoCompleteServiceInstanceRef.current && placesServiceInstanceRef.current) return;\n\n const loader = new Loader({\n apiKey,\n libraries: ['places'],\n });\n\n async function loadMapsApi(): Promise<void> {\n try {\n const placeApi = await loader.importLibrary('places');\n autoCompleteServiceInstanceRef.current = new placeApi.AutocompleteService();\n placesServiceInstanceRef.current = new placeApi.PlacesService(document.createElement('div'));\n } catch (error) {\n console.error(error);\n }\n }\n\n loadMapsApi();\n }, [apiKey]);\n\n return {\n autoComplete: {\n getPlacePredictions: (input: string): Promise<GetPlacePredictions> => {\n const promise = new Promise<GetPlacePredictions>((resolve) => {\n autoCompleteServiceInstanceRef.current?.getPlacePredictions({ input }, (predictions, status) => {\n if (status !== google.maps.places.PlacesServiceStatus.OK) {\n resolve({ status, results: [] });\n return;\n }\n\n resolve({\n results: predictions,\n status,\n });\n });\n });\n\n return promise;\n },\n },\n placesService: {\n getDetails: (placeId: string): Promise<GetDetailsResponse> => {\n const promise = new Promise<GetDetailsResponse>((resolve) => {\n placesServiceInstanceRef.current?.getDetails({ placeId }, (place, status) => {\n if (status !== google.maps.places.PlacesServiceStatus.OK) {\n resolve({ status, result: undefined });\n return;\n }\n\n resolve({\n result: place,\n status,\n });\n });\n });\n\n return promise;\n },\n },\n };\n}\n","import type { Reducer } from 'react';\n\nexport interface State {\n currentSelectedValue?: google.maps.places.PlaceResult;\n items: google.maps.places.AutocompletePrediction[];\n isLoadingSearch?: boolean;\n hasSearchError?: boolean;\n hasSelectResultError?: boolean;\n isLoadingResultDetails?: boolean;\n shouldDisplayEmptyStateWhenNoResults?: boolean;\n}\n\ninterface SearchChangeAction {\n type: 'search-change';\n}\n\ninterface SearchSuccessAction {\n type: 'search-success';\n payload: {\n results: google.maps.places.AutocompletePrediction[];\n };\n}\n\ninterface SearchErrorAction {\n type: 'search-error';\n}\n\ninterface SelectResultAction {\n type: 'select-result';\n}\n\ninterface SelectResultSuccessAction {\n type: 'select-result-success';\n payload: {\n result: google.maps.places.PlaceResult;\n };\n}\n\ninterface SelectResultErrorAction {\n type: 'select-result-error';\n}\n\ntype Actions =\n | SearchChangeAction\n | SelectResultAction\n | SearchSuccessAction\n | SearchErrorAction\n | SelectResultSuccessAction\n | SelectResultErrorAction;\n\nexport const googleMapsAutocompleteReducer: Reducer<State, Actions> = (state, action) => {\n switch (action.type) {\n case 'search-change': {\n return {\n ...state,\n hasSearchError: false,\n isLoadingSearch: true,\n };\n }\n\n case 'search-success': {\n return {\n ...state,\n hasSearchError: false,\n isLoadingSearch: false,\n items: action.payload.results,\n };\n }\n\n case 'search-error': {\n return {\n ...state,\n hasSearchError: true,\n isLoadingSearch: false,\n items: [],\n };\n }\n\n case 'select-result': {\n return {\n ...state,\n hasSelectResultError: false,\n isLoadingResultDetails: true,\n };\n }\n\n case 'select-result-success': {\n return {\n ...state,\n hasSelectResultError: false,\n isLoadingResultDetails: false,\n currentSelectedValue: action.payload.result,\n };\n }\n\n case 'select-result-error': {\n return {\n ...state,\n hasSelectResultError: true,\n isLoadingResultDetails: false,\n currentSelectedValue: undefined,\n };\n }\n\n default:\n return state;\n }\n};\n","import type { GeocoderAddressComponent } from '../types';\n\nexport function findComponentByType(\n typeName: string,\n components: GeocoderAddressComponent[],\n): GeocoderAddressComponent | undefined {\n return components.find((component) => component.types.includes(typeName));\n}\n\nconst matchStreetNumberWithOriginalAddress = (streetNumber = '', address = ''): string => {\n const regex = / *(\\d*[-/_]{0,1}\\d*) *(bis|ter|quater|quinquies|sexies|septies|octies|novies|decies|[a-z])? /i;\n const [, number = '', extension = ''] = regex.exec(address) || [];\n\n if (number) return `${number}${extension}`;\n\n return streetNumber;\n};\n\ntype GooglePlaceResult = google.maps.places.PlaceResult;\n\nexport interface AutoCompleteAddress {\n source: 'google';\n lat?: number;\n lng?: number;\n streetNumber?: string;\n streetName?: string;\n zipcode?: string;\n locality?: string;\n subLocality?: string;\n country?: string;\n administrativeAreaLevel1?: string;\n administrativeAreaLevel2?: string;\n}\n\nexport const formatAddressFromGoogle = (\n placeResult: GooglePlaceResult,\n originalAddress?: string,\n): AutoCompleteAddress => {\n const { address_components: addressComponents = [] } = placeResult;\n\n return {\n source: 'google',\n lat: placeResult.geometry?.location.lat(),\n lng: placeResult.geometry?.location.lng(),\n locality: findComponentByType('locality', addressComponents)?.long_name,\n subLocality: findComponentByType('sublocality', addressComponents)?.long_name,\n zipcode: findComponentByType('postal_code', addressComponents)?.long_name,\n streetName: findComponentByType('route', addressComponents)?.long_name,\n streetNumber: matchStreetNumberWithOriginalAddress(\n findComponentByType('street_number', addressComponents)?.long_name,\n originalAddress,\n ),\n country: findComponentByType('country', addressComponents)?.long_name,\n administrativeAreaLevel1: findComponentByType('administrative_area_level_1', addressComponents)?.long_name,\n administrativeAreaLevel2: findComponentByType('administrative_area_level_1', addressComponents)?.long_name,\n };\n};\n","import type { ReactElement, ReactNode } from 'react';\nimport { createContext, useCallback, useMemo, useReducer, useRef } from 'react';\nimport { useDebouncedCallback } from 'use-debounce';\nimport { useGoogleMapsApi } from './hooks/useGoogleMapsApi';\nimport { googleMapsAutocompleteReducer } from './reducer/googleMapsAutocompleteReducer';\nimport type { State } from './reducer/googleMapsAutocompleteReducer';\nimport type { AutoCompletePrediction } from './types';\nimport type { AutoCompleteAddress } from './utils/formatAddressFromGoogle';\nimport { formatAddressFromGoogle } from './utils/formatAddressFromGoogle';\n\nexport interface GoogleMapsAutocompleteContextApi {\n state: State;\n onInputChange: (value: string) => Promise<void> | undefined;\n onSelectItem: (item: AutoCompletePrediction | null, onChange: (nextValue?: AutoCompleteAddress) => void) => void;\n}\n\nexport const GoogleMapsAutocompleteContext = createContext<GoogleMapsAutocompleteContextApi>({\n state: {\n items: [],\n currentSelectedValue: undefined,\n isLoadingSearch: false,\n hasSearchError: false,\n hasSelectResultError: false,\n isLoadingResultDetails: false,\n shouldDisplayEmptyStateWhenNoResults: false,\n },\n onInputChange: (value) => {\n return Promise.resolve();\n },\n onSelectItem: (item) => {},\n});\n\nexport interface GoogleMapsAutocompleteProviderProps {\n children: ReactElement;\n minCharsToSearch?: number;\n debounceTimeout?: number;\n}\n\nexport function GoogleMapsAutocompleteProvider({\n children,\n minCharsToSearch = 3,\n debounceTimeout = 950,\n}: GoogleMapsAutocompleteProviderProps): ReactNode {\n const mapsApi = useGoogleMapsApi();\n\n const searchResultsCache = useRef<Record<string, AutoCompletePrediction[]>>({});\n const resultDetailsCache = useRef<Record<string, google.maps.places.PlaceResult>>({});\n\n const [state, dispatch] = useReducer(googleMapsAutocompleteReducer, {\n items: [],\n shouldDisplayEmptyStateWhenNoResults: false,\n });\n\n const handleInputChange = useDebouncedCallback(\n useCallback(\n async (value: string): Promise<void> => {\n if (value.length < minCharsToSearch) return;\n\n dispatch({ type: 'search-change' });\n\n // If the user types the same value as the previous search, we don't need to call the API again\n const predictionsPromise = searchResultsCache.current[value]\n ? Promise.resolve({ results: searchResultsCache.current[value], status: 'OK' })\n : mapsApi.autoComplete.getPlacePredictions(value);\n\n try {\n const { results, status } = await predictionsPromise;\n\n if (status !== 'OK') {\n dispatch({ type: 'search-error' });\n return;\n }\n\n // We cache the results to avoid calling the API again if the user types the same value\n searchResultsCache.current[value] = results;\n\n dispatch({ type: 'search-success', payload: { results } });\n } catch (error) {\n dispatch({ type: 'search-error' });\n }\n },\n [mapsApi.autoComplete, minCharsToSearch],\n ),\n debounceTimeout,\n );\n\n const handleSelectItem = useCallback(\n async (\n item: AutoCompletePrediction | null,\n onChange: (nextValue?: AutoCompleteAddress) => void,\n ): Promise<AutoCompleteAddress | undefined> => {\n // This case should never happen but it's here to avoid a TS error\n if (!item?.place_id) {\n if (onChange) onChange(undefined);\n return;\n }\n\n dispatch({ type: 'select-result' });\n\n try {\n // If we already have the details in cache, we don't need to fetch them again\n const placePromise = resultDetailsCache.current[item.place_id]\n ? Promise.resolve(resultDetailsCache.current[item.place_id])\n : mapsApi.placesService.getDetails(item.place_id).then(({ result }) => result);\n\n const place = await placePromise;\n\n if (!place) {\n dispatch({ type: 'select-result-error' });\n\n if (onChange) onChange(undefined);\n return;\n }\n\n dispatch({\n type: 'select-result-success',\n payload: {\n result: place,\n },\n });\n\n const formattedAddress = formatAddressFromGoogle(place, item.description);\n\n // We cache the result details to avoid fetching them again if the user selects the same item\n resultDetailsCache.current[item.place_id] = place;\n\n if (onChange) onChange(formattedAddress);\n } catch (error) {\n dispatch({ type: 'select-result-error' });\n\n if (onChange) onChange(undefined);\n }\n },\n [mapsApi.placesService],\n );\n\n const api = useMemo(\n () => ({ state, onSelectItem: handleSelectItem, onInputChange: handleInputChange }),\n [handleInputChange, handleSelectItem, state],\n );\n\n return <GoogleMapsAutocompleteContext.Provider value={api}>{children}</GoogleMapsAutocompleteContext.Provider>;\n}\n","import { useContext } from 'react';\nimport type { GoogleMapsAutocompleteContextApi } from '../GoogleMapsAutocompleteProvider';\nimport { GoogleMapsAutocompleteContext } from '../GoogleMapsAutocompleteProvider';\n\nexport function useGoogleMapsAutocomplete(): GoogleMapsAutocompleteContextApi {\n const context = useContext(GoogleMapsAutocompleteContext);\n\n if (!context) {\n throw new Error('<GoogleMapsAutocompleteProvider> missing in the react tree');\n }\n\n return context;\n}\n","import { MapPinIcon } from '@ornikar/kitt-icons';\nimport type { ReactNode } from 'react';\nimport type { AutoCompletePrediction } from '../../GoogleMapsAutocompleteProvider/types';\nimport { HStack } from '../../native-base/layout';\nimport { View } from '../../native-base/primitives';\nimport { Typography } from '../../typography/Typography';\nimport { TypographyIcon } from '../../typography/TypographyIcon';\nimport { Autocomplete } from '../Autocomplete/Autocomplete';\n\nexport interface InputAddressOptionProps {\n item: AutoCompletePrediction;\n}\n\nexport function InputAddressOption({ item }: InputAddressOptionProps): ReactNode {\n const sharedTransform = {\n style: {\n transform: [{ translateY: 4 }],\n },\n };\n\n return (\n <Autocomplete.Option item={item}>\n <HStack space=\"kitt.2\">\n <View _web={sharedTransform} _ios={sharedTransform} _android={sharedTransform}>\n <TypographyIcon icon={<MapPinIcon />} color=\"black\" />\n </View>\n <View flexShrink={1}>\n <Typography.Text>\n <Typography.Text variant=\"bold\">{item.structured_formatting.main_text}</Typography.Text>\n {item.structured_formatting.secondary_text ? (\n <Typography.Text color=\"black-light\" variant=\"bold\">\n {' '}\n {item.structured_formatting.secondary_text}\n </Typography.Text>\n ) : null}\n </Typography.Text>\n </View>\n </HStack>\n </Autocomplete.Option>\n );\n}\n","export function defaultItemToString(item?: google.maps.places.AutocompletePrediction): string {\n if (!item) return '';\n return item.structured_formatting.main_text;\n}\n","import type { AutoCompleteAddress } from '../../../GoogleMapsAutocompleteProvider/utils/formatAddressFromGoogle';\n\n// This function takes AutocompleteAddress and return a valid google AutocompletePrediction\nexport function formatInitialValueToAutocompletePrediction(\n address: AutoCompleteAddress,\n placeId: string,\n): google.maps.places.AutocompletePrediction {\n return {\n place_id: placeId,\n description: '',\n reference: '',\n types: [],\n terms: [],\n matched_substrings: [],\n structured_formatting: {\n main_text: [address.streetName, address.streetNumber].filter(Boolean).join(' '),\n main_text_matched_substrings: [],\n secondary_text: [address.zipcode, address.locality, address.subLocality].filter(Boolean).join(' '),\n },\n };\n}\n","import type { ReactNode } from 'react';\nimport { useGoogleMapsAutocomplete } from '../../GoogleMapsAutocompleteProvider/hooks/useGoogleMapsAutocomplete';\nimport type { AutoCompletePrediction } from '../../GoogleMapsAutocompleteProvider/types';\nimport type { AutoCompleteAddress } from '../../GoogleMapsAutocompleteProvider/utils/formatAddressFromGoogle';\nimport { Icon } from '../../Icon/Icon';\nimport { LoaderIcon } from '../../LoaderIcon/LoaderIcon';\nimport { Autocomplete } from '../Autocomplete/Autocomplete';\nimport type { AutocompleteProps } from '../Autocomplete/Autocomplete';\nimport { InputAddressOption } from './InputAddressOption';\nimport { defaultItemToString } from './utils/defaultItemToString';\nimport { formatInitialValueToAutocompletePrediction } from './utils/formatInitialValueToAutocompletePrediction';\n\nexport interface InputAddressProps<T extends object>\n extends Omit<AutocompleteProps<T>, 'onChange' | 'checkSelectedItem' | 'itemToString' | 'children' | 'initialValue'> {\n initialValue?: AutoCompleteAddress;\n itemToString?: (item?: AutoCompletePrediction) => string;\n onChange: (address: AutoCompleteAddress | undefined) => void;\n}\n\nexport function InputAddress({\n initialValue,\n itemToString = defaultItemToString,\n errorElement,\n emptyResultsElement,\n onChange,\n ...props\n}: InputAddressProps<AutoCompleteAddress>): ReactNode {\n const { state, onInputChange, onSelectItem } = useGoogleMapsAutocomplete();\n\n // place_id is a google field that is not available within an AutoCompleteAddress, so we need to add a fake one when handling initial values\n const formattedInitialValue = initialValue\n ? formatInitialValueToAutocompletePrediction(initialValue, 'initial-value-placeId')\n : undefined;\n\n return (\n <Autocomplete<AutoCompletePrediction>\n {...(props as AutocompleteProps<AutoCompletePrediction>)}\n itemToString={itemToString}\n initialValue={formattedInitialValue}\n checkSelectedItem={(selectedItem, item) => selectedItem?.place_id === item.place_id}\n right={\n state.isLoadingSearch || state.isLoadingResultDetails ? (\n <Icon icon={<LoaderIcon />} color=\"kitt.black\" />\n ) : undefined\n }\n errorElement={state.hasSearchError || state.hasSelectResultError ? errorElement : null}\n emptyResultsElement={state.items.length === 0 ? emptyResultsElement : null}\n onInputChange={(v) => {\n onInputChange(v);\n }}\n onChange={(v) => {\n onSelectItem(v, onChange);\n }}\n >\n {state.items.map((item) => (\n <InputAddressOption key={item.place_id} item={item} />\n ))}\n </Autocomplete>\n );\n}\n\nInputAddress.Option = InputAddressOption;\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 { ReactNode } from 'react';\nimport { Typography } from '../../typography/Typography';\nimport type { TypographyColor, TypographyProps } 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): ReactNode {\n return (\n <Typography.Text base=\"body-small\" color={getColorFromState(state)} testID={testID}>\n {children}\n </Typography.Text>\n );\n}\n","import type { ReactNode } from 'react';\nimport { useTheme } from '../../KittThemeContext';\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): ReactNode {\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 { forwardRef } from 'react';\nimport type { NativeSyntheticEvent, TextInput as RNTextInput, TextInputChangeEventData } from 'react-native';\nimport type { InputTextProps } from '../InputText/InputText';\nimport { InputText } from '../InputText/InputText';\n\nexport interface InputNumberProps extends InputTextProps {}\n\nexport const InputNumber = forwardRef<RNTextInput, InputNumberProps>(\n ({ onChange, keyboardType = 'numeric', ...props }, ref) => {\n const handleChange = (event: NativeSyntheticEvent<TextInputChangeEventData>): void => {\n if (!onChange) return;\n\n const value = parseFloat(event.nativeEvent.text);\n\n // Number.isNaN and isNaN are not consistent\n // eslint-disable-next-line no-restricted-globals, no-param-reassign\n event.nativeEvent.text = isNaN(value) ? '' : value.toString();\n\n onChange(event);\n };\n return <InputText ref={ref} {...props} keyboardType={keyboardType} onChange={handleChange} />;\n },\n);\n","import { EyeFillIcon, EyeSlashFillIcon } from '@ornikar/kitt-icons/phosphor';\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\n testID=\"kitt.InputPassword.passwordToggle\"\n hitSlop={20}\n accessibilityRole=\"button\"\n onPress={() => setIsVisible((prev) => !prev)}\n >\n <InputIcon icon={isVisible ? <EyeSlashFillIcon /> : <EyeFillIcon />} />\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 { useTheme } from '../../KittThemeContext';\nimport { View } from '../../native-base/primitives';\nimport { Typography } from '../../typography/Typography';\nimport type { TypographyColor } from '../../typography/Typography';\nimport { TypographyIcon } from '../../typography/TypographyIcon';\n\ntype InputTagType = 'success' | 'danger';\n\nconst getTypographyColor = (type: InputTagType | undefined): TypographyColor => (type ? 'white' : 'black');\n\nexport interface InputTagProps {\n type?: InputTagType;\n children: ReactNode;\n icon?: ReactElement;\n}\n\nexport function InputTag({ children, type, icon }: InputTagProps): ReactNode {\n const typographyColor = getTypographyColor(type);\n const theme = useTheme();\n\n return (\n <View\n alignItems=\"center\"\n justifyContent=\"center\"\n flexDirection=\"row\"\n alignSelf=\"flex-start\"\n overflow=\"hidden\"\n paddingX=\"kitt.2\"\n backgroundColor={`kitt.forms.inputTag.${type || 'default'}.backgroundColor`}\n borderRadius=\"kitt.forms.inputTag.borderRadius\"\n >\n {icon ? (\n <View marginRight=\"kitt.1\">\n <TypographyIcon icon={icon} size={theme.kitt.forms.inputTag.iconSize} color={typographyColor} />\n </View>\n ) : null}\n <Typography.Text base=\"body-small\" color={typographyColor}>\n {children}\n </Typography.Text>\n </View>\n );\n}\n","import type { ReactNode } from 'react';\nimport { Platform } from 'react-native';\nimport { Typography } from '../../typography/Typography';\n\nexport interface LabelProps {\n id?: string;\n htmlFor: string;\n children: NonNullable<ReactNode>;\n}\n\nexport function Label({ id, htmlFor, children }: LabelProps): ReactNode {\n const isWeb = Platform.OS === 'web';\n return (\n <Typography.Text base=\"body\" nativeID={isWeb ? undefined : id}>\n {isWeb ? (\n <label id={id} htmlFor={htmlFor}>\n {children}\n </label>\n ) : (\n children\n )}\n </Typography.Text>\n );\n}\n","import type { ReactNode } from 'react';\nimport { useTheme } from '../../KittThemeContext';\nimport { View } from '../../native-base/primitives';\n\ninterface InnerCircleProps {\n isChecked?: boolean;\n}\n\nexport function InnerCircle({ isChecked }: InnerCircleProps): ReactNode {\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, ReactNode } from 'react';\nimport { useTheme } from '../../KittThemeContext';\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): ReactNode {\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 { GestureResponderEvent, 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, event: GestureResponderEvent) => 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'] = (event: GestureResponderEvent) => {\n if (onFocus) onFocus();\n if (onChange) onChange(value, event);\n if (onBlur) onBlur();\n };\n\n return (\n <Pressable\n ref={ref}\n testID={testID}\n nativeID={id}\n disabled={disabled}\n accessibilityRole=\"radio\"\n aria-checked={checked}\n focusable={checked && !disabled}\n flexDirection=\"row\"\n alignItems=\"center\"\n onPress={handlePress}\n onFocus={onFocus}\n onBlur={onBlur}\n >\n {({ isHovered, isPressed, isFocused }) => (\n <HStack space={children ? 'kitt.2' : undefined} alignItems=\"center\">\n <OuterCircle\n isChecked={checked}\n isDisabled={disabled}\n isHovered={isHovered}\n isFocused={isFocused}\n isPressed={isPressed}\n >\n <InnerCircle isChecked={checked} />\n </OuterCircle>\n\n {children ? (\n <Typography.SetDefaultColor value={disabled ? 'black-light' : 'black'}>\n <Typography.Text base=\"body\">{children}</Typography.Text>\n </Typography.SetDefaultColor>\n ) : null}\n </HStack>\n )}\n </Pressable>\n );\n },\n);\n","interface GetCurrentBackgroundColorParams {\n isFocused?: boolean;\n isPressed?: boolean;\n isSelected?: boolean;\n isDisabled?: boolean;\n}\n\nexport function getCurrentBackgroundColor({\n isFocused,\n isPressed,\n isSelected,\n isDisabled,\n}: GetCurrentBackgroundColorParams): string {\n if (isDisabled) return 'disabled';\n\n if (isPressed) return 'pressed';\n\n if (isFocused) return 'active';\n\n if (isSelected) return 'active';\n\n return 'default';\n}\n","interface GetCurrentBorderColorParams {\n isFocused?: boolean;\n isSelected?: boolean;\n isPressed?: boolean;\n isDisabled?: boolean;\n}\n\nexport function getCurrentBorderColor({\n isFocused,\n isSelected,\n isPressed,\n isDisabled,\n}: GetCurrentBorderColorParams): string {\n if (isDisabled) return 'disabled';\n\n if (isFocused) return 'hover';\n\n if (isPressed) return 'pressed';\n\n if (isSelected) return 'active';\n\n return 'default';\n}\n","import type { ReactNode } from 'react';\nimport { useTheme } from '../../../KittThemeContext';\nimport { View } from '../../../native-base/primitives';\nimport { getCurrentBackgroundColor } from '../utils/getCurrentBackgroundColor';\nimport { getCurrentBorderColor } from '../utils/getCurrentBorderColor';\nimport type { AnimatedContainerProps } from './AnimatedContainer';\n\nexport function AnimatedContainer({\n children,\n isFocused,\n isPressed,\n isSelected,\n isDisabled,\n isFirst,\n isLast,\n}: AnimatedContainerProps): ReactNode {\n const theme = useTheme();\n\n return (\n <View\n _web={{\n style: {\n transitionProperty: theme.kitt.forms.radioButtonGroup.item.transition.property,\n transitionDuration: theme.kitt.forms.radioButtonGroup.item.transition.duration,\n transitionTimingFunction: theme.kitt.forms.radioButtonGroup.item.transition.timingFunction,\n },\n }}\n borderColor={`kitt.forms.radioButtonGroup.item.borderColor.${getCurrentBorderColor({\n isFocused,\n isPressed,\n isSelected,\n isDisabled,\n })}`}\n borderWidth=\"kitt.forms.radioButtonGroup.item.borderWidth\"\n backgroundColor={`kitt.forms.radioButtonGroup.item.backgroundColor.${getCurrentBackgroundColor({\n isFocused,\n isPressed,\n isSelected,\n isDisabled,\n })}`}\n borderTopLeftRadius={isFirst ? 'kitt.forms.radioButtonGroup.item.borderRadius' : 0}\n borderBottomLeftRadius={isFirst ? 'kitt.forms.radioButtonGroup.item.borderRadius' : 0}\n borderTopRightRadius={isLast ? 'kitt.forms.radioButtonGroup.item.borderRadius' : 0}\n borderBottomRightRadius={isLast ? 'kitt.forms.radioButtonGroup.item.borderRadius' : 0}\n borderLeftWidth={isFirst ? 'kitt.forms.radioButtonGroup.item.borderWidth' : 0}\n >\n {children}\n </View>\n );\n}\n","import type { ReactNode } from 'react';\nimport { useTheme } from '../../KittThemeContext';\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): ReactNode {\n const theme = useTheme();\n const hasPointerInteraction = isPressed || isHovered || isFocused;\n const shouldDisplayBorder = isSelected ? true : hasPointerInteraction;\n\n return (\n <View\n _web={{\n style: {\n width: `calc(100% + ${theme.kitt.forms.radioButtonGroup.item.borderWidth * 2}px)`,\n height: `calc(100% + ${theme.kitt.forms.radioButtonGroup.item.borderWidth * 2}px)`,\n transitionProperty: theme.kitt.forms.radioButtonGroup.item.transition.property,\n transitionDuration: theme.kitt.forms.radioButtonGroup.item.transition.duration,\n transitionTimingFunction: theme.kitt.forms.radioButtonGroup.item.transition.timingFunction,\n },\n }}\n opacity={shouldDisplayBorder ? 1 : 0}\n position=\"absolute\"\n top={-theme.kitt.forms.radioButtonGroup.item.borderWidth}\n left={-theme.kitt.forms.radioButtonGroup.item.borderWidth}\n margin={0}\n borderColor={`kitt.forms.radioButtonGroup.item.borderColor.${\n isHovered || isSelected || isFocused ? 'hover' : 'default'\n }`}\n borderWidth=\"kitt.forms.radioButtonGroup.item.borderWidth\"\n borderTopLeftRadius={isFirst ? 'kitt.forms.radioButtonGroup.item.borderRadius' : 0}\n borderBottomLeftRadius={isFirst ? 'kitt.forms.radioButtonGroup.item.borderRadius' : 0}\n borderTopRightRadius={isLast ? 'kitt.forms.radioButtonGroup.item.borderRadius' : 0}\n borderBottomRightRadius={isLast ? 'kitt.forms.radioButtonGroup.item.borderRadius' : 0}\n />\n );\n}\n","import type { NativeAnimation, UseNativeAnimationOptions } from './useNativeAnimation';\n\nexport function useNativeAnimation(options: UseNativeAnimationOptions): NativeAnimation {\n return {\n onPressIn: undefined,\n onPressOut: undefined,\n animatedStyles: {},\n };\n}\n","import type { TypographyColor } from '../../../typography/Typography';\n\ninterface GetCurrentTextColorParams {\n isDisabled?: boolean;\n isSelected?: boolean;\n isPressed?: boolean;\n isHovered?: boolean;\n isFocused?: boolean;\n}\n\nexport function getCurrentTextColor({\n isDisabled,\n isSelected,\n isPressed,\n isHovered,\n isFocused,\n}: GetCurrentTextColorParams): TypographyColor {\n if (isDisabled) return 'black-light';\n\n if (isSelected) return 'white';\n\n if (isPressed) return 'white';\n\n if (isFocused) return 'white';\n\n if (isHovered && !isSelected) return 'black';\n\n return 'black';\n}\n","import type { 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 type { ResponsiveValue } from '../../utils/createResponsiveStyleFromProp/createResponsiveStyleFromProp';\nimport { createResponsiveStyleFromProp } from '../../utils/createResponsiveStyleFromProp/createResponsiveStyleFromProp';\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?: ResponsiveValue<boolean | undefined>;\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>): ReactNode {\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 flexGrow={createResponsiveStyleFromProp(stretch, 1, undefined)}\n flexShrink={createResponsiveStyleFromProp(stretch, 1, undefined)}\n flexBasis={createResponsiveStyleFromProp(stretch, 0)}\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 { ResponsiveValue } from '../../utils/createResponsiveStyleFromProp/createResponsiveStyleFromProp';\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>): ReactNode {\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?: ResponsiveValue<boolean | undefined>;\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>): ReactNode {\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 { ReactNode } from 'react';\nimport type { ViewProps } from 'react-native';\nimport { useSafeAreaInsets } from 'react-native-safe-area-context';\nimport { useTheme } from '../KittThemeContext';\nimport { View } from '../native-base/primitives';\n\nexport interface FullscreenModalBodyProps extends ViewProps {\n children: NonNullable<ReactNode>;\n shouldHandleBottomNotch?: boolean;\n shouldHandleTopNotch?: boolean;\n}\n\nexport function FullscreenModalBody({\n children,\n shouldHandleBottomNotch,\n style,\n shouldHandleTopNotch,\n ...props\n}: FullscreenModalBodyProps): ReactNode {\n const { bottom, top } = useSafeAreaInsets();\n const {\n kitt: {\n fullscreenModal: {\n body: { verticalPadding },\n },\n },\n } = useTheme();\n const paddingBottom = shouldHandleBottomNotch ? Math.max(bottom, verticalPadding) : verticalPadding;\n const paddingTop = shouldHandleTopNotch ? Math.max(top, verticalPadding) : verticalPadding;\n\n return (\n <View\n {...props}\n paddingX=\"kitt.fullscreenModal.horizontalPadding\"\n paddingTop={paddingTop}\n paddingBottom={paddingBottom}\n style={style}\n >\n {children}\n </View>\n );\n}\n","import type { ReactNode } from 'react';\nimport { useSafeAreaInsets } from 'react-native-safe-area-context';\nimport type { ViewProps } from '../native-base/primitives';\nimport { View } from '../native-base/primitives';\n\nexport interface FullscreenModalFooterProps extends ViewProps {\n hasSeparator?: boolean;\n shouldHandleBottomNotch?: boolean;\n}\n\nexport function FullscreenModalFooter({\n shouldHandleBottomNotch = true,\n hasSeparator = true,\n children,\n ...props\n}: FullscreenModalFooterProps): ReactNode {\n const { bottom } = useSafeAreaInsets();\n\n return (\n <View\n borderTopColor=\"kitt.separator\"\n borderTopWidth={hasSeparator ? 1 : undefined}\n paddingTop=\"kitt.fullscreenModal.footer.verticalPadding\"\n paddingBottom={shouldHandleBottomNotch ? bottom : undefined}\n paddingX=\"kitt.fullscreenModal.horizontalPadding\"\n {...props}\n >\n <View paddingBottom=\"kitt.fullscreenModal.footer.verticalPadding\">{children}</View>\n </View>\n );\n}\n","import { css } from '@linaria/core';\nimport type { ReactNode } from 'react';\nimport { CSSTransition } from 'react-transition-group';\nimport { useTheme } from '../KittThemeContext';\nimport { Overlay } from '../Overlay/Overlay';\nimport { View } from '../native-base/primitives';\nimport {\n webAnimationContentDuration,\n webAnimationContentEasing,\n webAnimationOverlayDuration,\n webAnimationOverlayEasing,\n} from '../themes/late-ocean/fullscreenModal';\nimport type { FullscreenModalAnimationProps } from './FullscreenModalAnimation';\n\nconst [x1, y1, x2, y2] = webAnimationContentEasing;\n\nconst cubicBezierSlideIn = `cubic-bezier(${x1}, ${y1}, ${x2}, ${y2})`;\n\nconst slideInFromBottomEnter = css`\n transform: translateY(100%);\n`;\n\nconst slideInFromBottomEnterActive = css`\n transform: translateY(0);\n transition: transform ${webAnimationContentDuration}ms ${cubicBezierSlideIn};\n`;\n\nconst slideInFromBottomExit = css`\n transform: translateY(0);\n`;\n\nconst slideInFromBottomExitActive = css`\n transform: translateY(100%);\n transition: transform ${webAnimationContentDuration}ms ${cubicBezierSlideIn};\n`;\n\nconst slideInClassNames = {\n appear: slideInFromBottomEnter,\n appearActive: slideInFromBottomEnterActive,\n enter: slideInFromBottomEnter,\n enterActive: slideInFromBottomEnterActive,\n exit: slideInFromBottomExit,\n exitActive: slideInFromBottomExitActive,\n};\n\nconst [xA, yA, xB, yB] = webAnimationOverlayEasing;\n\nconst cubicBezierOpacity = `cubic-bezier(${xA}, ${yA}, ${xB}, ${yB})`;\n\nconst opacityEnter = css`\n opacity: 0;\n`;\n\nconst opacityEnterActive = css`\n opacity: 1;\n transition: opacity ${webAnimationOverlayDuration}ms ${cubicBezierOpacity};\n`;\n\nconst opacityExit = css`\n opacity: 1;\n`;\n\nconst opacityExitActive = css`\n opacity: 0;\n transition: opacity ${webAnimationOverlayDuration}ms ${cubicBezierOpacity};\n`;\n\nconst opacityClassNames = {\n appear: opacityEnter,\n appearActive: opacityEnterActive,\n enter: opacityEnter,\n enterActive: opacityEnterActive,\n exit: opacityExit,\n exitActive: opacityExitActive,\n};\n\nexport function FullscreenModalAnimation({\n children,\n appear = true,\n visible,\n unmountOnExit = true,\n isAnimationEnabled = true,\n onEnter,\n onEntered,\n onExit,\n onExited,\n onClose,\n ...props\n}: FullscreenModalAnimationProps): ReactNode {\n const theme = useTheme();\n const { animation } = theme.kitt.fullscreenModal;\n\n const sharedProps = {\n in: visible,\n appear,\n unmountOnExit,\n };\n\n return (\n <View {...props}>\n <CSSTransition\n {...sharedProps}\n timeout={isAnimationEnabled ? animation.overlay.duration : 0}\n classNames={opacityClassNames}\n >\n <Overlay onPress={onClose} />\n </CSSTransition>\n\n <CSSTransition\n {...sharedProps}\n timeout={isAnimationEnabled ? animation.content.duration : 0}\n classNames={slideInClassNames}\n onEnter={onEnter}\n onEntered={onEntered}\n onExit={onExit}\n onExited={onExited}\n >\n {children}\n </CSSTransition>\n </View>\n );\n}\n","import type { ReactNode } from 'react';\nimport { useEffect, useState } from 'react';\nimport type { ModalBehaviourProps } from '../ModalBehaviour/ModalBehaviour';\nimport { ModalBehaviour } from '../ModalBehaviour/ModalBehaviour';\nimport type { FullscreenModalAnimationProps } from './FullscreenModalAnimation';\nimport { FullscreenModalAnimation } from './FullscreenModalAnimation';\n\nexport interface FullscreenModalBehaviourProps extends FullscreenModalAnimationProps {\n onClose: ModalBehaviourProps['onClose'];\n}\n\nexport function FullscreenModalBehaviour({\n children,\n visible,\n onClose,\n onExited,\n ...props\n}: FullscreenModalBehaviourProps): ReactNode {\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 <FullscreenModalAnimation {...props} visible={visible} onExited={handleExitAnimationDone}>\n {children}\n </FullscreenModalAnimation>\n </ModalBehaviour>\n );\n}\n","import type { ReactNode } from 'react';\nimport type { ViewProps } from '../native-base/primitives';\nimport { View } from '../native-base/primitives';\n\nexport interface FullscreenModalContainerProps {\n backgroundColor?: ViewProps['backgroundColor'];\n children?: ReactNode;\n}\n\nexport function FullscreenModalContainer({ children, backgroundColor }: FullscreenModalContainerProps): ReactNode {\n return (\n <View\n position=\"relative\"\n flexGrow={1}\n flexShrink={1}\n flexBasis=\"100%\"\n /*\n Here we are setting the same min and max height because on web the content was overflowing and not scrolling\n minHeight is needed to make the modal fullscreen\n maxHeight limits the height to the viewport when the content is too long, this allows us to scroll inside\n We use svh instead of vh because vh is the total height of the viewport, including the address bar in mobile web browsers\n */\n _web={{ minHeight: '100svh', maxHeight: '100svh' }}\n backgroundColor={backgroundColor ?? 'kitt.uiBackgroundLight'}\n >\n {children}\n </View>\n );\n}\n","import type { ReactNode } from 'react';\nimport { useSafeAreaInsets } from 'react-native-safe-area-context';\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 left?: ReactNode;\n right?: ReactNode;\n hasSeparator?: boolean;\n isTransparent?: boolean;\n shouldHandleTopNotch?: boolean;\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 FullscreenModalHeaderProps = TitledHeaderProps | ComponentHeaderProps;\n\nexport function FullscreenModalHeader({\n hasSeparator = true,\n isTransparent,\n title,\n children,\n right,\n left,\n shouldHandleTopNotch = true,\n ...props\n}: FullscreenModalHeaderProps): ReactNode {\n const { top } = useSafeAreaInsets();\n const hasRight = Boolean(right);\n const hasLeft = Boolean(left);\n const hasContent = Boolean(title || children);\n\n return (\n <View\n backgroundColor={isTransparent ? 'kitt.transparent' : 'kitt.uiBackgroundLight'}\n minHeight=\"kitt.fullscreenModal.header.height\"\n width=\"100%\"\n justifyContent=\"center\"\n paddingTop={shouldHandleTopNotch ? top : undefined}\n paddingRight={hasRight ? 'kitt.2' : 'kitt.fullscreenModal.horizontalPadding'}\n paddingLeft={hasLeft ? 'kitt.2' : 'kitt.fullscreenModal.horizontalPadding'}\n borderBottomColor=\"kitt.separator\"\n borderBottomWidth={hasSeparator ? 1 : undefined}\n {...props}\n >\n <View\n flexDirection=\"row\"\n alignItems=\"center\"\n justifyContent={!hasContent && !hasLeft ? 'flex-end' : 'space-between'}\n >\n {left ? <View width=\"kitt.iconButton.width\">{left}</View> : null}\n\n {title ? (\n <View\n flexGrow={1}\n flexShrink={1}\n paddingLeft={hasLeft ? 'kitt.2' : undefined}\n paddingRight={hasRight ? 'kitt.2' : 0}\n >\n <Typography.Text variant=\"bold\" textAlign={!hasLeft && hasRight ? 'left' : 'center'}>\n {title}\n </Typography.Text>\n </View>\n ) : null}\n\n {children ? (\n <View\n flexGrow={1}\n flexShrink={1}\n alignItems=\"center\"\n paddingLeft={hasLeft ? 'kitt.2' : undefined}\n paddingRight={hasRight ? 'kitt.2' : undefined}\n >\n {children}\n </View>\n ) : null}\n\n {right || left ? <View width=\"kitt.iconButton.width\">{right}</View> : null}\n </View>\n </View>\n );\n}\n","import type { ReactNode } from 'react';\nimport { ScrollView } from 'react-native';\nimport type { ViewProps } from '..';\nimport { View } from '../native-base/primitives';\nimport { FullscreenModalBody } from './Body';\nimport { FullscreenModalFooter } from './Footer';\nimport { FullscreenModalBehaviour } from './FullscreenModalBehaviour';\nimport { FullscreenModalContainer } from './FullscreenModalContainer';\nimport { FullscreenModalHeader } from './Header';\n\nexport interface FullscreenModalProps {\n header?: ReactNode;\n footer?: ReactNode;\n body: ReactNode;\n backgroundColor?: ViewProps['backgroundColor'];\n}\n\nexport function FullscreenModal({ body, header, footer, backgroundColor }: FullscreenModalProps): ReactNode {\n return (\n <FullscreenModalContainer backgroundColor={backgroundColor}>\n {header ? <View>{header}</View> : null}\n <View flexGrow={1} flexShrink={1} justifyContent=\"space-between\">\n <ScrollView bounces={false} contentContainerStyle={{ flexGrow: 1, position: 'relative' }}>\n {body}\n </ScrollView>\n {footer || null}\n </View>\n </FullscreenModalContainer>\n );\n}\n\nFullscreenModal.Header = FullscreenModalHeader;\nFullscreenModal.Footer = FullscreenModalFooter;\nFullscreenModal.Body = FullscreenModalBody;\nFullscreenModal.ModalBehaviour = FullscreenModalBehaviour;\n","import type { ReactNode } from 'react';\nimport { View } from '../native-base/primitives';\n\n/** @deprecated use primary instead */\ntype DeprecatedHighlightVariant = 'regular';\n\ntype HighlightVariant = 'primary' | 'secondary' | 'dark' | DeprecatedHighlightVariant;\n\nexport interface HighlightProps {\n variant?: HighlightVariant;\n children: NonNullable<ReactNode>;\n}\n\nexport function Highlight({ variant = 'regular', children }: HighlightProps): ReactNode {\n return (\n <View\n borderRadius=\"kitt.highlight.borderRadius\"\n padding=\"kitt.highlight.padding\"\n backgroundColor={`kitt.highlight.${variant}.backgroundColor`}\n >\n {children}\n </View>\n );\n}\n","import type { ReactNode } 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 'ghost':\n return 'kitt.iconButton.ghost.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): ReactNode {\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 { ReactNode } from 'react';\nimport { useTheme } from '../KittThemeContext';\nimport type { AnimatedBackgroundProps } from './AnimatedBackground';\nimport { Background } from './Background';\n\nexport function AnimatedBackground({\n color,\n isHovered,\n isPressed,\n isFocused,\n isDisabled,\n}: AnimatedBackgroundProps): ReactNode {\n const theme = useTheme();\n const { duration, timingFunction } = theme.kitt.iconButton.transition;\n\n const shouldDisplayBackground = isHovered || isPressed || isFocused || isDisabled;\n\n return (\n <Background\n position=\"absolute\"\n top=\"0\"\n left=\"0\"\n opacity={shouldDisplayBackground ? 1 : 0}\n color={color}\n isDisabled={isDisabled}\n _web={{\n style: {\n transitionProperty: 'all',\n transitionDuration: duration,\n transitionTimingFunction: timingFunction,\n },\n }}\n />\n );\n}\n","import type { ReactNode } from 'react';\nimport { useTheme } from '../KittThemeContext';\nimport { View } from '../native-base/primitives';\nimport { useBreakpointValue } from '../native-base/utils';\nimport type { AnimatedScaleProps } from './AnimatedScale';\n\nfunction getCurrentScale(isHovered: boolean, scaleHover: number, isPressed: boolean, scalePressed: number): number {\n if (isPressed) {\n return scalePressed;\n }\n\n if (isHovered) {\n return scaleHover;\n }\n\n return 1;\n}\n\nexport function AnimatedScale({ children, isHovered, isPressed, isDisabled }: AnimatedScaleProps): ReactNode {\n const theme = useTheme();\n const { scale } = theme.kitt.iconButton;\n\n const currentHoverScale = useBreakpointValue({\n base: scale.base.hover,\n medium: scale.medium.hover,\n }) as number;\n\n const currentPressedScale = useBreakpointValue({\n base: scale.base.active,\n medium: scale.medium.active,\n }) as number;\n\n const currentScale = getCurrentScale(Boolean(isHovered), currentHoverScale, Boolean(isPressed), currentPressedScale);\n\n const { duration, timingFunction } = theme.kitt.iconButton.transition;\n\n return (\n <View\n position=\"relative\"\n alignItems=\"center\"\n justifyContent=\"center\"\n width=\"100%\"\n height=\"100%\"\n overflow=\"hidden\"\n _web={{\n style: {\n transitionProperty: 'transform',\n transitionDuration: duration,\n transitionTimingFunction: timingFunction,\n /* Simplifies the animation to just the front of the object – avoid blurry scale */\n backfaceVisibility: 'hidden',\n transform: [{ scale: isDisabled ? 1 : currentScale }],\n },\n }}\n >\n {children}\n </View>\n );\n}\n","import type { UseNativeAnimation } from './useNativeAnimation';\n\nexport function useNativeAnimation(): UseNativeAnimation {\n return {\n opacityStyles: undefined,\n scaleStyles: undefined,\n onPressIn: () => {},\n onPressOut: () => {},\n };\n}\n","import type { TypographyColor } from '../../typography/Typography';\nimport type { IconButtonColor } from '../IconButton';\n\nexport const getIconButtonTextColorByColor = (color: IconButtonColor, disabled?: boolean): TypographyColor => {\n if (disabled) {\n return 'black-light';\n }\n\n switch (color) {\n case 'ghost':\n return 'white';\n default:\n return color;\n }\n};\n","import { XRegularIcon } from '@ornikar/kitt-icons/phosphor';\nimport type { ReactElement, ReactNode } from 'react';\nimport type { Except } from 'type-fest';\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';\nimport { getIconButtonTextColorByColor } from './utils/getIconButtonTextColorByColor';\n\nexport type IconButtonColor = 'black' | 'ghost' | '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): ReactNode {\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={getIconButtonTextColorByColor(color, disabled)} icon={icon} />\n </View>\n </AnimatedScale>\n );\n }}\n </Pressable>\n );\n}\n\nexport function CloseIconButton(props: Except<IconButtonProps, 'icon'>): ReactNode {\n return <IconButton icon={<XRegularIcon />} {...props} />;\n}\n","import type { 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): ReactNode {\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 { ReactNode } from 'react';\nimport type { ViewProps } from 'react-native';\nimport { View } from '../native-base/primitives';\n\nexport interface ListItemContentProps extends ViewProps {\n children: NonNullable<ReactNode>;\n}\n\nexport function ListItemContent({ children, ...rest }: ListItemContentProps): ReactNode {\n return (\n <View alignSelf=\"center\" flexBasis=\"0%\" flexGrow={1} flexShrink={0} {...rest}>\n {children}\n </View>\n );\n}\n","import type { ReactNode } from 'react';\nimport type { ViewProps, ViewStyle } from 'react-native';\nimport { View } from '../native-base/primitives';\n\nexport interface ListItemSideContainerProps extends ViewProps {\n children: NonNullable<ReactNode>;\n side?: 'left' | 'right';\n}\n\n// Handles the vertical alignment of the side elements of the list item\nexport function ListItemSideContainer({ children, side = 'left', ...rest }: ListItemSideContainerProps): ReactNode {\n return (\n <View\n flexDirection=\"row\"\n marginLeft={side === 'right' ? 'kitt.2' : undefined}\n marginRight={side === 'left' ? 'kitt.2' : undefined}\n {...rest}\n >\n {children}\n </View>\n );\n}\n\nexport interface ListItemSideContentProps extends ViewProps {\n children: NonNullable<ReactNode>;\n align?: ViewStyle['alignSelf'];\n}\n\nexport function ListItemSideContent({ children, align = 'auto', ...rest }: ListItemSideContentProps): ReactNode {\n return (\n <View alignSelf={align} {...rest}>\n {children}\n </View>\n );\n}\n","import type { ReactNode } from 'react';\nimport { Fragment } from 'react';\nimport type { PressableProps, ViewProps } from 'react-native';\nimport { Pressable } from 'react-native';\nimport { View } from '../native-base/primitives';\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\nexport function ListItem({ children, withPadding, borders, left, right, onPress, ...rest }: ListItemProps): ReactNode {\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 <View\n flexDirection=\"row\"\n paddingX={withPadding ? 'kitt.listItem.horizontalPadding' : undefined}\n paddingY={withPadding ? 'kitt.listItem.verticalPadding' : undefined}\n borderColor=\"kitt.listItem.borderColor\"\n backgroundColor=\"kitt.uiBackgroundLight\"\n borderTopWidth={borders === 'top' || borders === 'both' ? 'kitt.listItem.borderWidth' : undefined}\n borderBottomWidth={borders === 'bottom' || borders === 'both' ? 'kitt.listItem.borderWidth' : undefined}\n {...containerProps}\n >\n {left ? <ListItemSideContainer side=\"left\">{left}</ListItemSideContainer> : null}\n\n <ListItemContent>{children}</ListItemContent>\n\n {right ? <ListItemSideContainer side=\"right\">{right}</ListItemSideContainer> : null}\n </View>\n </Wrapper>\n );\n}\n\nListItem.Content = ListItemContent;\nListItem.SideContent = ListItemSideContent;\nListItem.SideContainer = ListItemSideContainer;\n","<svg fill=\"currentColor\" viewBox=\"0 0 54 56\" width=\"54\" xmlns=\"http://www.w3.org/2000/svg\"><linearGradient id=\"marker-large_inline_svg__b\" gradientUnits=\"userSpaceOnUse\" x1=\"26.828\" x2=\"7.181\" y1=\"5.072\" y2=\"39.102\"><stop offset=\"0\" stop-opacity=\".01\"/><stop offset=\"1\"/></linearGradient><filter id=\"marker-large_inline_svg__a\" color-interpolation-filters=\"sRGB\" filterUnits=\"userSpaceOnUse\" height=\"48.706\" width=\"42.761\" x=\"10.437\" y=\"5.167\"><feFlood flood-opacity=\"0\" result=\"BackgroundImageFix\"/><feBlend in=\"SourceGraphic\" in2=\"BackgroundImageFix\" result=\"shape\"/><feGaussianBlur result=\"effect1_foregroundBlur_257_3018\" stdDeviation=\"2.718\"/></filter><mask id=\"marker-large_inline_svg__c\" height=\"43\" maskUnits=\"userSpaceOnUse\" width=\"31\" x=\"3\" y=\"3\"><path d=\"M16.303 44.99a3.002 3.002 0 0 0 4.394 0C29.631 35.38 34 26.678 34 18.938 34 10.12 27.04 3 18.5 3S3 10.12 3 18.938c0 7.74 4.369 16.442 13.303 26.052z\" fill=\"#fff\"/></mask><g filter=\"url(#marker-large_inline_svg__a)\" opacity=\".25\"><path d=\"M24.022 48.149c-3.018 1.02-6.128-.775-6.753-3.899-1.372-6.862-2.799-18.548 1.348-25.73C22.966 10.985 32.545 8.374 40 12.678c7.454 4.303 9.982 13.903 5.63 21.44-4.146 7.182-14.98 11.79-21.608 14.032z\" fill=\"url(#marker-large_inline_svg__b)\"/></g><g mask=\"url(#marker-large_inline_svg__c)\"><path d=\"M3 3h31v43H3z\" fill=\"#4c34e0\"/></g><path d=\"M15.677 46.315c-2.682-3.029-6.253-7.443-9.145-12.356C3.622 29.015 1.5 23.735 1.5 18.938 1.5 9.27 9.152 1.5 18.5 1.5c9.349 0 17 7.771 17 17.438 0 4.797-2.122 10.077-5.032 15.02-2.892 4.914-6.463 9.328-9.145 12.357-1.536 1.735-4.11 1.735-5.646 0z\" stroke=\"#fff\" stroke-width=\"3\"/></svg>","<svg viewBox=\"0 0 40 39\" fill=\"currentColor\" xmlns=\"http://www.w3.org/2000/svg\"><path d=\"M16.417 33.38c-2.3.776-4.668-.592-5.146-2.971-1.059-5.274-2.171-14.297 1.027-19.837 3.348-5.798 10.717-7.806 16.452-4.495 5.735 3.31 7.68 10.697 4.333 16.495-3.198 5.54-11.57 9.088-16.666 10.808z\" fill=\"url(#marker_inline_svg__a)\" opacity=\".25\" filter=\"url(#marker_inline_svg__b)\"/><path d=\"M10.89 29.536a2.81 2.81 0 0 0 4.22 0C20.428 23.492 23 18.054 23 13.256 23 7.58 18.507 3 13 3S3 7.58 3 13.256c0 4.798 2.572 10.236 7.89 16.28z\" fill=\"#4C34E0\"/><mask id=\"marker_inline_svg__c\" style=\"mask-type:alpha\" maskUnits=\"userSpaceOnUse\" x=\"3\" y=\"3\" width=\"20\" height=\"28\"><path d=\"M10.89 29.536a2.81 2.81 0 0 0 4.22 0C20.428 23.492 23 18.054 23 13.256 23 7.58 18.507 3 13 3S3 7.58 3 13.256c0 4.798 2.572 10.236 7.89 16.28z\" fill=\"#fff\"/></mask><g mask=\"url(#marker_inline_svg__c)\"><path fill=\"#4C34E0\" d=\"M3 3h20v27H3z\"/></g><path d=\"M10.374 31c-1.884-2.216-4.125-5.144-5.888-8.307C2.71 19.505 1.5 16.22 1.5 13.256 1.5 6.734 6.681 1.5 13 1.5s11.5 5.234 11.5 11.756c0 2.964-1.21 6.249-2.986 9.437-1.763 3.163-4.004 6.091-5.888 8.307-1.414 1.662-3.838 1.662-5.252 0z\" stroke=\"#fff\" stroke-width=\"3\"/><defs><linearGradient id=\"marker_inline_svg__a\" x1=\"18.616\" y1=\".226\" x2=\"3.501\" y2=\"26.405\" gradientUnits=\"userSpaceOnUse\"><stop stop-opacity=\".01\"/><stop offset=\"1\"/></linearGradient><filter id=\"marker_inline_svg__b\" x=\"6.046\" y=\".339\" width=\"32.817\" height=\"37.4\" filterUnits=\"userSpaceOnUse\" color-interpolation-filters=\"sRGB\"><feFlood flood-opacity=\"0\" result=\"BackgroundImageFix\"/><feBlend in=\"SourceGraphic\" in2=\"BackgroundImageFix\" result=\"shape\"/><feGaussianBlur stdDeviation=\"2.071\" result=\"effect1_foregroundBlur_257_3020\"/></filter></defs></svg>","<svg viewBox=\"0 0 47 47\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\"><path fill-rule=\"evenodd\" clip-rule=\"evenodd\" d=\"M23.5 36C30.404 36 36 30.404 36 23.5S30.404 11 23.5 11 11 16.596 11 23.5 16.596 36 23.5 36z\" fill=\"#38836D\" opacity=\".8\" filter=\"url(#position-marker_inline_svg__a)\"/><path d=\"M31 18.5a7.5 7.5 0 1 1-15 0 7.5 7.5 0 0 1 15 0z\" fill=\"#fff\" stroke=\"#38836D\" stroke-width=\"10\"/><circle cx=\"23.5\" cy=\"18.5\" r=\"2.5\" fill=\"#fff\"/><defs><filter id=\"position-marker_inline_svg__a\" x=\".127\" y=\".127\" width=\"46.746\" height=\"46.746\" filterUnits=\"userSpaceOnUse\" color-interpolation-filters=\"sRGB\"><feFlood flood-opacity=\"0\" result=\"BackgroundImageFix\"/><feBlend in=\"SourceGraphic\" in2=\"BackgroundImageFix\" result=\"shape\"/><feGaussianBlur stdDeviation=\"5.437\" result=\"effect1_foregroundBlur_257_3019\"/></filter></defs></svg>","import { useSx } from 'native-base';\nimport type { ColorType } from 'native-base/lib/typescript/components/types';\nimport type { ReactNode } 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\ninterface BaseMarkerWithColorProp {\n color?: ColorType;\n}\n\nexport type MapMarkerProps = BaseMarkerWithSizeProps | BaseMarkerWithoutSizeProps;\n\nexport function MapMarkerSimple({\n width = 40,\n height = 39,\n color = 'kitt.primary',\n}: MapMarkerProps & BaseMarkerWithColorProp): ReactNode {\n const sx = useSx();\n const styles = sx({\n color,\n });\n\n return <DefaultMarkerSvg width={width} height={height} color={styles.color} />;\n}\n\nexport function MapMarkerLarge({\n width = 54,\n height = 56,\n color = 'kitt.primary',\n}: MapMarkerProps & BaseMarkerWithColorProp): ReactNode {\n const sx = useSx();\n const styles = sx({\n color,\n });\n\n return <LargeMarkerSvg width={width} height={height} color={styles.color} />;\n}\n\nexport function MapMarkerPosition({ width = 47, height = 47 }: MapMarkerProps): ReactNode {\n return <PositionMarkerSvg width={width} height={height} />;\n}\n","import { AlertCircleIcon, AlertTriangleIcon, CheckIcon, InfoIcon } from '@ornikar/kitt-icons';\nimport type { ReactNode } 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): ReactNode {\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 'ghost';\n case 'warning':\n default:\n return 'black';\n }\n};\n","import type { ReactNode } from 'react';\nimport type { EdgeInsets } from 'react-native-safe-area-context';\nimport { Icon } from '../Icon/Icon';\nimport { CloseIconButton } 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): ReactNode {\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 flexShrink={1}\n alignSelf=\"center\"\n alignItems=\"flex-start\"\n paddingY=\"kitt.4\"\n paddingX=\"kitt.5\"\n >\n {centeredText ? null : (\n <View marginRight=\"kitt.5\">\n <Icon color={color} icon={<IconContent type={type} color={color} />} />\n </View>\n )}\n <Typography.Text\n flexGrow={1}\n flexShrink={1}\n textAlign={centeredText ? 'center' : 'left'}\n base=\"body\"\n color={color}\n >\n {children}\n </Typography.Text>\n </HStack>\n\n {onDismiss ? (\n <View alignItems=\"center\" marginTop={10} marginRight=\"kitt.2\" marginLeft=\"kitt.5\">\n <CloseIconButton color={getIconButtonColor(type)} onPress={onDismiss} />\n </View>\n ) : null}\n </HStack>\n );\n}\n","import type { ReactNode } 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): ReactNode {\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 { ReactNode } from 'react';\nimport { useMemo } from 'react';\nimport { Platform } from 'react-native';\nimport type { KittTheme } from '..';\nimport { KittBreakpoints } from '../KittBreakpoints';\nimport { KittThemeContext } from '../KittThemeContext';\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 = (theme: Theme): 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] = theme.getSpacing(size);\n sizes.negative[`-kitt.${size}` as KittNegativeSize] = -theme.getSpacing(size);\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);\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 'primary-border-soft': {\n default: {\n backgroundColor: theme.actionCard['primary-border-soft'].default.backgroundColor,\n borderColor: theme.actionCard['primary-border-soft'].default.borderColor,\n },\n disabled: {\n backgroundColor: theme.actionCard['primary-border-soft'].disabled.backgroundColor,\n borderColor: theme.actionCard['primary-border-soft'].disabled.borderColor,\n },\n hovered: {\n backgroundColor: theme.actionCard['primary-border-soft'].hovered.backgroundColor,\n borderColor: theme.actionCard['primary-border-soft'].hovered.borderColor,\n },\n focused: {\n backgroundColor: theme.actionCard['primary-border-soft'].focused.backgroundColor,\n borderColor: theme.actionCard['primary-border-soft'].focused.borderColor,\n },\n pressed: {\n backgroundColor: theme.actionCard['primary-border-soft'].pressed.backgroundColor,\n borderColor: theme.actionCard['primary-border-soft'].pressed.borderColor,\n },\n },\n 'primary-border-hard': {\n default: {\n backgroundColor: theme.actionCard['primary-border-hard'].default.backgroundColor,\n borderColor: theme.actionCard['primary-border-hard'].default.borderColor,\n },\n disabled: {\n backgroundColor: theme.actionCard['primary-border-hard'].disabled.backgroundColor,\n borderColor: theme.actionCard['primary-border-hard'].disabled.borderColor,\n },\n hovered: {\n backgroundColor: theme.actionCard['primary-border-hard'].hovered.backgroundColor,\n borderColor: theme.actionCard['primary-border-hard'].hovered.borderColor,\n },\n focused: {\n backgroundColor: theme.actionCard['primary-border-hard'].focused.backgroundColor,\n borderColor: theme.actionCard['primary-border-hard'].focused.borderColor,\n },\n pressed: {\n backgroundColor: theme.actionCard['primary-border-hard'].pressed.backgroundColor,\n borderColor: theme.actionCard['primary-border-hard'].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 subtle: theme.button.subtle,\n 'subtle-dark': theme.button['subtle-dark'],\n disabled: theme.button.disabled,\n },\n choices: {\n item: {\n default: {\n backgroundColor: theme.choices.item.backgroundColor.default,\n },\n disabled: {\n backgroundColor: theme.choices.item.backgroundColor.disabled,\n borderColor: theme.choices.item.disabled.border.color,\n },\n selected: {\n backgroundColor: theme.choices.item.backgroundColor.selected,\n },\n pressed: {\n backgroundColor: theme.choices.item.backgroundColor.pressed,\n },\n hover: {\n backgroundColor: theme.choices.item.backgroundColor.hover,\n },\n hoverWhenSelected: {\n backgroundColor: theme.choices.item.backgroundColor.hoverWhenSelected,\n },\n },\n },\n tag: {\n primary: {\n fill: {\n backgroundColor: theme.tag.primary.fill.backgroundColor,\n borderColor: theme.tag.primary.fill.borderColor,\n },\n outline: {\n backgroundColor: theme.tag.primary.outline.backgroundColor,\n borderColor: theme.tag.primary.outline.borderColor,\n },\n },\n default: {\n fill: {\n backgroundColor: theme.tag.default.fill.backgroundColor,\n borderColor: theme.tag.default.fill.borderColor,\n },\n outline: {\n backgroundColor: theme.tag.default.outline.backgroundColor,\n borderColor: theme.tag.default.outline.borderColor,\n },\n },\n danger: {\n fill: {\n backgroundColor: theme.tag.danger.fill.backgroundColor,\n borderColor: theme.tag.danger.fill.borderColor,\n },\n outline: {\n backgroundColor: theme.tag.danger.outline.backgroundColor,\n borderColor: theme.tag.danger.outline.borderColor,\n },\n },\n warn: {\n fill: {\n backgroundColor: theme.tag.warn.fill.backgroundColor,\n borderColor: theme.tag.warn.fill.borderColor,\n },\n outline: {\n backgroundColor: theme.tag.warn.outline.backgroundColor,\n borderColor: theme.tag.warn.outline.borderColor,\n },\n },\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 autocomplete: {\n option: {\n default: { backgroundColor: theme.forms.autocomplete.option.default.backgroundColor },\n hovered: { backgroundColor: theme.forms.autocomplete.option.hovered.backgroundColor },\n focused: { backgroundColor: theme.forms.autocomplete.option.focused.backgroundColor },\n selected: { backgroundColor: theme.forms.autocomplete.option.selected.backgroundColor },\n highlighted: { backgroundColor: theme.forms.autocomplete.option.highlighted.backgroundColor },\n pressed: { backgroundColor: theme.forms.autocomplete.option.pressed.backgroundColor },\n },\n optionsContainer: {\n backgroundColor: theme.forms.autocomplete.optionsContainer.backgroundColor,\n },\n },\n input: {\n states: theme.forms.input.states,\n },\n inputTag: {\n danger: {\n backgroundColor: theme.forms.inputTag.danger.backgroundColor,\n },\n default: {\n backgroundColor: theme.forms.inputTag.default.backgroundColor,\n },\n success: {\n backgroundColor: theme.forms.inputTag.success.backgroundColor,\n },\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 ghost: {\n pressed: {\n backgroundColor: theme.iconButton.ghost.pressedBackgroundColor,\n },\n },\n primary: {\n pressed: {\n backgroundColor: theme.iconButton.primary.pressedBackgroundColor,\n },\n },\n },\n highlight: {\n regular: {\n backgroundColor: theme.highlight.regular.backgroundColor,\n },\n primary: {\n backgroundColor: theme.highlight.primary.backgroundColor,\n },\n secondary: {\n backgroundColor: theme.highlight.secondary.backgroundColor,\n },\n dark: {\n backgroundColor: theme.highlight.dark.backgroundColor,\n },\n },\n verticalSteps: {\n active: {\n icon: {\n backgroundColor: theme.verticalSteps.active.icon.backgroundColor,\n textColor: theme.verticalSteps.active.icon.textColor,\n },\n },\n done: {\n icon: {\n backgroundColor: theme.verticalSteps.done.icon.backgroundColor,\n textColor: theme.verticalSteps.done.icon.textColor,\n },\n },\n default: {\n icon: {\n backgroundColor: theme.verticalSteps.default.icon.backgroundColor,\n textColor: theme.verticalSteps.default.icon.textColor,\n },\n },\n },\n listItem: {\n borderColor: theme.listItem.borderColor,\n },\n picker: {\n ios: {\n option: {\n selected: {\n color: theme.picker.ios.selected.color,\n },\n },\n },\n android: {\n option: {\n default: {\n backgroundColor: theme.picker.android.option.default.backgroundColor,\n },\n selected: {\n color: theme.picker.android.option.selected.color,\n backgroundColor: theme.picker.android.option.selected.backgroundColor,\n },\n },\n },\n web: {\n option: {\n default: { backgroundColor: theme.picker.web.option.default.backgroundColor },\n hovered: { backgroundColor: theme.picker.web.option.hovered.backgroundColor },\n focused: { backgroundColor: theme.picker.web.option.focused.backgroundColor },\n selected: { backgroundColor: theme.picker.web.option.selected.backgroundColor },\n highlighted: { backgroundColor: theme.picker.web.option.highlighted.backgroundColor },\n pressed: { backgroundColor: theme.picker.web.option.pressed.backgroundColor },\n },\n optionsContainer: {\n backgroundColor: theme.picker.web.optionsContainer.backgroundColor,\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 choices: {\n item: {\n borderRadius: theme.choices.item.borderRadius,\n },\n },\n dialogModal: {\n borderRadius: theme.dialogModal.borderRadius,\n },\n forms: {\n autocomplete: {\n optionsContainer: {\n borderRadius: theme.forms.autocomplete.optionsContainer.borderRadius,\n },\n },\n input: {\n borderRadius: theme.forms.input.borderRadius,\n },\n inputTag: {\n borderRadius: theme.forms.inputTag.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 highlight: {\n borderRadius: theme.highlight.borderRadius,\n },\n iconButton: {\n borderRadius: theme.iconButton.borderRadius,\n },\n tag: {\n borderRadius: theme.tag.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 picker: {\n web: {\n optionsContainer: {\n borderRadius: theme.picker.web.optionsContainer.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 'primary-border-soft': {\n default: {\n borderWidth: theme.actionCard['primary-border-soft'].default.borderWidth,\n },\n disabled: {\n borderWidth: theme.actionCard['primary-border-soft'].disabled.borderWidth,\n },\n hovered: {\n borderWidth: theme.actionCard['primary-border-soft'].hovered.borderWidth,\n },\n focused: {\n borderWidth: theme.actionCard['primary-border-soft'].focused.borderWidth,\n },\n pressed: {\n borderWidth: theme.actionCard['primary-border-soft'].pressed.borderWidth,\n },\n },\n 'primary-border-hard': {\n default: {\n borderWidth: theme.actionCard['primary-border-hard'].default.borderWidth,\n },\n disabled: {\n borderWidth: theme.actionCard['primary-border-hard'].disabled.borderWidth,\n },\n hovered: {\n borderWidth: theme.actionCard['primary-border-hard'].hovered.borderWidth,\n },\n focused: {\n borderWidth: theme.actionCard['primary-border-hard'].focused.borderWidth,\n },\n pressed: {\n borderWidth: theme.actionCard['primary-border-hard'].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 choices: {\n item: {\n disabled: {\n borderWidth: theme.choices.item.disabled.border.width,\n },\n },\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 listItem: {\n borderWidth: theme.listItem.borderWidth,\n },\n tag: {\n primary: {\n fill: {\n borderWidth: theme.tag.primary.fill.borderWidth,\n },\n outline: {\n borderWidth: theme.tag.primary.outline.borderWidth,\n },\n },\n default: {\n fill: {\n borderWidth: theme.tag.default.fill.borderWidth,\n },\n outline: {\n borderWidth: theme.tag.default.outline.borderWidth,\n },\n },\n danger: {\n fill: {\n borderWidth: theme.tag.danger.fill.borderWidth,\n },\n outline: {\n borderWidth: theme.tag.danger.outline.borderWidth,\n },\n },\n warn: {\n fill: {\n borderWidth: theme.tag.warn.fill.borderWidth,\n },\n outline: {\n borderWidth: theme.tag.warn.outline.borderWidth,\n },\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: theme.icon,\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 autocomplete: {\n option: {\n minHeight: theme.forms.autocomplete.option.minHeight,\n },\n },\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 timePicker: {\n minWidth: theme.forms.timePicker.minWidth,\n },\n },\n\n iconButton: {\n size: theme.iconButton.width - theme.iconButton.borderWidth,\n width: theme.iconButton.width,\n height: theme.iconButton.height,\n },\n fullscreenModal: {\n header: {\n height: theme.fullscreenModal.header.height,\n },\n },\n pageLoader: {\n size: theme.pageLoader.size,\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 picker: {\n ios: {\n default: {\n height: theme.picker.ios.default.height,\n },\n landscape: {\n height: theme.picker.ios.landscape.height,\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 autocomplete: {\n option: {\n verticalPadding: theme.forms.autocomplete.option.verticalPadding,\n },\n },\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 fullscreenModal: {\n horizontalPadding: theme.fullscreenModal.sharedHorizontalPadding,\n body: {\n verticalPadding: theme.fullscreenModal.body.verticalPadding,\n },\n footer: {\n verticalPadding: theme.fullscreenModal.footer.verticalPadding,\n },\n },\n highlight: {\n padding: theme.highlight.padding,\n },\n listItem: {\n verticalPadding: theme.listItem.verticalPadding,\n horizontalPadding: theme.listItem.horizontalPadding,\n },\n tag: {\n verticalPadding: theme.tag.verticalPadding,\n horizontalPadding: theme.tag.horizontalPadding,\n },\n tooltip: {\n horizontalPadding: theme.tooltip.horizontalPadding,\n verticalPadding: theme.tooltip.verticalPadding,\n floatingPadding: theme.tooltip.floatingPadding,\n },\n picker: {\n android: {\n option: {\n verticalPadding: theme.picker.android.option.verticalPadding,\n horizontalPadding: theme.picker.android.option.horizontalPadding,\n },\n },\n web: {\n option: {\n verticalPadding: theme.picker.web.option.verticalPadding,\n horizontalPadding: theme.picker.web.option.horizontalPadding,\n },\n },\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 /* legacy */\n header1: `${theme.typography.types.headings.configs.header1.baseAndSmall.fontSize}px`,\n header2: `${theme.typography.types.headings.configs.header2.baseAndSmall.fontSize}px`,\n header3: `${theme.typography.types.headings.configs.header3.baseAndSmall.fontSize}px`,\n header4: `${theme.typography.types.headings.configs.header4.baseAndSmall.fontSize}px`,\n header5: `${theme.typography.types.headings.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 'header-impact-xxl': `${theme.typography.types['headings-impact'].configs['header-impact-xxl'].baseAndSmall.fontSize}px`,\n 'header-impact-xl': `${theme.typography.types['headings-impact'].configs['header-impact-xl'].baseAndSmall.fontSize}px`,\n 'header-impact-l': `${theme.typography.types['headings-impact'].configs['header-impact-l'].baseAndSmall.fontSize}px`,\n 'header-impact-m': `${theme.typography.types['headings-impact'].configs['header-impact-m'].baseAndSmall.fontSize}px`,\n 'header-impact-s': `${theme.typography.types['headings-impact'].configs['header-impact-s'].baseAndSmall.fontSize}px`,\n 'header-impact-xs': `${theme.typography.types['headings-impact'].configs['header-impact-xs'].baseAndSmall.fontSize}px`,\n 'header-impact-xxs': `${theme.typography.types['headings-impact'].configs['header-impact-xxs'].baseAndSmall.fontSize}px`,\n 'header-impact-xxxs': `${theme.typography.types['headings-impact'].configs['header-impact-xxxs'].baseAndSmall.fontSize}px`,\n /* latest */\n 'heading-impact-xxl': `${theme.typography.types['headings-impact'].configs['heading-impact-xxl'].baseAndSmall.fontSize}px`,\n 'heading-impact-xl': `${theme.typography.types['headings-impact'].configs['heading-impact-xl'].baseAndSmall.fontSize}px`,\n 'heading-impact-l': `${theme.typography.types['headings-impact'].configs['heading-impact-l'].baseAndSmall.fontSize}px`,\n 'heading-impact-m': `${theme.typography.types['headings-impact'].configs['heading-impact-m'].baseAndSmall.fontSize}px`,\n 'heading-impact-s': `${theme.typography.types['headings-impact'].configs['heading-impact-s'].baseAndSmall.fontSize}px`,\n 'heading-impact-xs': `${theme.typography.types['headings-impact'].configs['heading-impact-xs'].baseAndSmall.fontSize}px`,\n 'heading-impact-xxs': `${theme.typography.types['headings-impact'].configs['heading-impact-xxs'].baseAndSmall.fontSize}px`,\n 'heading-impact-xxxs': `${theme.typography.types['headings-impact'].configs['heading-impact-xxxs'].baseAndSmall.fontSize}px`,\n 'heading-xxl': `${theme.typography.types.headings.configs['heading-xxl'].baseAndSmall.fontSize}px`,\n 'heading-xl': `${theme.typography.types.headings.configs['heading-xl'].baseAndSmall.fontSize}px`,\n 'heading-l': `${theme.typography.types.headings.configs['heading-l'].baseAndSmall.fontSize}px`,\n 'heading-m': `${theme.typography.types.headings.configs['heading-m'].baseAndSmall.fontSize}px`,\n 'heading-s': `${theme.typography.types.headings.configs['heading-s'].baseAndSmall.fontSize}px`,\n 'heading-xs': `${theme.typography.types.headings.configs['heading-xs'].baseAndSmall.fontSize}px`,\n 'heading-xxs': `${theme.typography.types.headings.configs['heading-xxs'].baseAndSmall.fontSize}px`,\n 'body-xl': `${theme.typography.types.bodies.configs['body-xl'].baseAndSmall.fontSize}px`,\n 'body-l': `${theme.typography.types.bodies.configs['body-l'].baseAndSmall.fontSize}px`,\n 'body-m': `${theme.typography.types.bodies.configs['body-m'].baseAndSmall.fontSize}px`,\n 'body-s': `${theme.typography.types.bodies.configs['body-s'].baseAndSmall.fontSize}px`,\n 'body-xs': `${theme.typography.types.bodies.configs['body-xs'].baseAndSmall.fontSize}px`,\n },\n mediumAndWide: {\n /* legacy */\n header1: `${theme.typography.types.headings.configs.header1.mediumAndWide.fontSize}px`,\n header2: `${theme.typography.types.headings.configs.header2.mediumAndWide.fontSize}px`,\n header3: `${theme.typography.types.headings.configs.header3.mediumAndWide.fontSize}px`,\n header4: `${theme.typography.types.headings.configs.header4.mediumAndWide.fontSize}px`,\n header5: `${theme.typography.types.headings.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 'header-impact-xxl': `${theme.typography.types['headings-impact'].configs['header-impact-xxl'].mediumAndWide.fontSize}px`,\n 'header-impact-xl': `${theme.typography.types['headings-impact'].configs['header-impact-xl'].mediumAndWide.fontSize}px`,\n 'header-impact-l': `${theme.typography.types['headings-impact'].configs['header-impact-l'].mediumAndWide.fontSize}px`,\n 'header-impact-m': `${theme.typography.types['headings-impact'].configs['header-impact-m'].mediumAndWide.fontSize}px`,\n 'header-impact-s': `${theme.typography.types['headings-impact'].configs['header-impact-s'].mediumAndWide.fontSize}px`,\n 'header-impact-xs': `${theme.typography.types['headings-impact'].configs['header-impact-xs'].mediumAndWide.fontSize}px`,\n 'header-impact-xxs': `${theme.typography.types['headings-impact'].configs['header-impact-xxs'].mediumAndWide.fontSize}px`,\n 'header-impact-xxxs': `${theme.typography.types['headings-impact'].configs['header-impact-xxxs'].mediumAndWide.fontSize}px`,\n /* latest */\n 'heading-impact-xxl': `${theme.typography.types['headings-impact'].configs['heading-impact-xxl'].mediumAndWide.fontSize}px`,\n 'heading-impact-xl': `${theme.typography.types['headings-impact'].configs['heading-impact-xl'].mediumAndWide.fontSize}px`,\n 'heading-impact-l': `${theme.typography.types['headings-impact'].configs['heading-impact-l'].mediumAndWide.fontSize}px`,\n 'heading-impact-m': `${theme.typography.types['headings-impact'].configs['heading-impact-m'].mediumAndWide.fontSize}px`,\n 'heading-impact-s': `${theme.typography.types['headings-impact'].configs['heading-impact-s'].mediumAndWide.fontSize}px`,\n 'heading-impact-xs': `${theme.typography.types['headings-impact'].configs['heading-impact-xs'].mediumAndWide.fontSize}px`,\n 'heading-impact-xxs': `${theme.typography.types['headings-impact'].configs['heading-impact-xxs'].mediumAndWide.fontSize}px`,\n 'heading-impact-xxxs': `${theme.typography.types['headings-impact'].configs['heading-impact-xxxs'].mediumAndWide.fontSize}px`,\n 'heading-xxl': `${theme.typography.types.headings.configs['heading-xxl'].mediumAndWide.fontSize}px`,\n 'heading-xl': `${theme.typography.types.headings.configs['heading-xl'].mediumAndWide.fontSize}px`,\n 'heading-l': `${theme.typography.types.headings.configs['heading-l'].mediumAndWide.fontSize}px`,\n 'heading-m': `${theme.typography.types.headings.configs['heading-m'].mediumAndWide.fontSize}px`,\n 'heading-s': `${theme.typography.types.headings.configs['heading-s'].mediumAndWide.fontSize}px`,\n 'heading-xs': `${theme.typography.types.headings.configs['heading-xs'].mediumAndWide.fontSize}px`,\n 'heading-xxs': `${theme.typography.types.headings.configs['heading-xxs'].mediumAndWide.fontSize}px`,\n 'body-xl': `${theme.typography.types.bodies.configs['body-xl'].mediumAndWide.fontSize}px`,\n 'body-l': `${theme.typography.types.bodies.configs['body-l'].mediumAndWide.fontSize}px`,\n 'body-m': `${theme.typography.types.bodies.configs['body-m'].mediumAndWide.fontSize}px`,\n 'body-s': `${theme.typography.types.bodies.configs['body-s'].mediumAndWide.fontSize}px`,\n 'body-xs': `${theme.typography.types.bodies.configs['body-xs'].mediumAndWide.fontSize}px`,\n },\n },\n lineHeights: {\n baseAndSmall: {\n /* legacy */\n header1: theme.typography.types.headings.configs.header1.baseAndSmall.lineHeight,\n header2: theme.typography.types.headings.configs.header2.baseAndSmall.lineHeight,\n header3: theme.typography.types.headings.configs.header3.baseAndSmall.lineHeight,\n header4: theme.typography.types.headings.configs.header4.baseAndSmall.lineHeight,\n header5: theme.typography.types.headings.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 'header-impact-xxl':\n theme.typography.types['headings-impact'].configs['header-impact-xxl'].baseAndSmall.lineHeight,\n 'header-impact-xl':\n theme.typography.types['headings-impact'].configs['header-impact-xl'].baseAndSmall.lineHeight,\n 'header-impact-l': theme.typography.types['headings-impact'].configs['header-impact-l'].baseAndSmall.lineHeight,\n 'header-impact-m': theme.typography.types['headings-impact'].configs['header-impact-m'].baseAndSmall.lineHeight,\n 'header-impact-s': theme.typography.types['headings-impact'].configs['header-impact-s'].baseAndSmall.lineHeight,\n 'header-impact-xs':\n theme.typography.types['headings-impact'].configs['header-impact-xs'].baseAndSmall.lineHeight,\n 'header-impact-xxs':\n theme.typography.types['headings-impact'].configs['header-impact-xxs'].baseAndSmall.lineHeight,\n 'header-impact-xxxs':\n theme.typography.types['headings-impact'].configs['header-impact-xxxs'].baseAndSmall.lineHeight,\n /* latest */\n 'heading-impact-xxl': `${theme.typography.types['headings-impact'].configs['heading-impact-xxl'].baseAndSmall.lineHeight}px`,\n 'heading-impact-xl': `${theme.typography.types['headings-impact'].configs['heading-impact-xl'].baseAndSmall.lineHeight}px`,\n 'heading-impact-l': `${theme.typography.types['headings-impact'].configs['heading-impact-l'].baseAndSmall.lineHeight}px`,\n 'heading-impact-m': `${theme.typography.types['headings-impact'].configs['heading-impact-m'].baseAndSmall.lineHeight}px`,\n 'heading-impact-s': `${theme.typography.types['headings-impact'].configs['heading-impact-s'].baseAndSmall.lineHeight}px`,\n 'heading-impact-xs': `${theme.typography.types['headings-impact'].configs['heading-impact-xs'].baseAndSmall.lineHeight}px`,\n 'heading-impact-xxs': `${theme.typography.types['headings-impact'].configs['heading-impact-xxs'].baseAndSmall.lineHeight}px`,\n 'heading-impact-xxxs': `${theme.typography.types['headings-impact'].configs['heading-impact-xxxs'].baseAndSmall.lineHeight}px`,\n 'heading-xxl': `${theme.typography.types.headings.configs['heading-xxl'].baseAndSmall.lineHeight}px`,\n 'heading-xl': `${theme.typography.types.headings.configs['heading-xl'].baseAndSmall.lineHeight}px`,\n 'heading-l': `${theme.typography.types.headings.configs['heading-l'].baseAndSmall.lineHeight}px`,\n 'heading-m': `${theme.typography.types.headings.configs['heading-m'].baseAndSmall.lineHeight}px`,\n 'heading-s': `${theme.typography.types.headings.configs['heading-s'].baseAndSmall.lineHeight}px`,\n 'heading-xs': `${theme.typography.types.headings.configs['heading-xs'].baseAndSmall.lineHeight}px`,\n 'heading-xxs': `${theme.typography.types.headings.configs['heading-xxs'].baseAndSmall.lineHeight}px`,\n 'body-xl': `${theme.typography.types.bodies.configs['body-xl'].baseAndSmall.lineHeight}px`,\n 'body-l': `${theme.typography.types.bodies.configs['body-l'].baseAndSmall.lineHeight}px`,\n 'body-m': `${theme.typography.types.bodies.configs['body-m'].baseAndSmall.lineHeight}px`,\n 'body-s': `${theme.typography.types.bodies.configs['body-s'].baseAndSmall.lineHeight}px`,\n 'body-xs': `${theme.typography.types.bodies.configs['body-xs'].baseAndSmall.lineHeight}px`,\n },\n mediumAndWide: {\n /* legacy */\n header1: theme.typography.types.headings.configs.header1.mediumAndWide.lineHeight,\n header2: theme.typography.types.headings.configs.header2.mediumAndWide.lineHeight,\n header3: theme.typography.types.headings.configs.header3.mediumAndWide.lineHeight,\n header4: theme.typography.types.headings.configs.header4.mediumAndWide.lineHeight,\n header5: theme.typography.types.headings.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 'header-impact-xxl':\n theme.typography.types['headings-impact'].configs['header-impact-xxl'].mediumAndWide.lineHeight,\n 'header-impact-xl':\n theme.typography.types['headings-impact'].configs['header-impact-xl'].mediumAndWide.lineHeight,\n 'header-impact-l':\n theme.typography.types['headings-impact'].configs['header-impact-l'].mediumAndWide.lineHeight,\n 'header-impact-m':\n theme.typography.types['headings-impact'].configs['header-impact-m'].mediumAndWide.lineHeight,\n 'header-impact-s':\n theme.typography.types['headings-impact'].configs['header-impact-s'].mediumAndWide.lineHeight,\n 'header-impact-xs':\n theme.typography.types['headings-impact'].configs['header-impact-xs'].mediumAndWide.lineHeight,\n 'header-impact-xxs':\n theme.typography.types['headings-impact'].configs['header-impact-xxs'].mediumAndWide.lineHeight,\n 'header-impact-xxxs':\n theme.typography.types['headings-impact'].configs['header-impact-xxxs'].mediumAndWide.lineHeight,\n /* latest */\n 'heading-impact-xxl': `${theme.typography.types['headings-impact'].configs['heading-impact-xxl'].mediumAndWide.lineHeight}px`,\n 'heading-impact-xl': `${theme.typography.types['headings-impact'].configs['heading-impact-xl'].mediumAndWide.lineHeight}px`,\n 'heading-impact-l': `${theme.typography.types['headings-impact'].configs['heading-impact-l'].mediumAndWide.lineHeight}px`,\n 'heading-impact-m': `${theme.typography.types['headings-impact'].configs['heading-impact-m'].mediumAndWide.lineHeight}px`,\n 'heading-impact-s': `${theme.typography.types['headings-impact'].configs['heading-impact-s'].mediumAndWide.lineHeight}px`,\n 'heading-impact-xs': `${theme.typography.types['headings-impact'].configs['heading-impact-xs'].mediumAndWide.lineHeight}px`,\n 'heading-impact-xxs': `${theme.typography.types['headings-impact'].configs['heading-impact-xxs'].mediumAndWide.lineHeight}px`,\n 'heading-impact-xxxs': `${theme.typography.types['headings-impact'].configs['heading-impact-xxxs'].mediumAndWide.lineHeight}px`,\n 'heading-xxl': `${theme.typography.types.headings.configs['heading-xxl'].mediumAndWide.lineHeight}px`,\n 'heading-xl': `${theme.typography.types.headings.configs['heading-xl'].mediumAndWide.lineHeight}px`,\n 'heading-l': `${theme.typography.types.headings.configs['heading-l'].mediumAndWide.lineHeight}px`,\n 'heading-m': `${theme.typography.types.headings.configs['heading-m'].mediumAndWide.lineHeight}px`,\n 'heading-s': `${theme.typography.types.headings.configs['heading-s'].mediumAndWide.lineHeight}px`,\n 'heading-xs': `${theme.typography.types.headings.configs['heading-xs'].mediumAndWide.lineHeight}px`,\n 'heading-xxs': `${theme.typography.types.headings.configs['heading-xxs'].mediumAndWide.lineHeight}px`,\n 'body-xl': `${theme.typography.types.bodies.configs['body-xl'].mediumAndWide.lineHeight}px`,\n 'body-l': `${theme.typography.types.bodies.configs['body-l'].mediumAndWide.lineHeight}px`,\n 'body-m': `${theme.typography.types.bodies.configs['body-m'].mediumAndWide.lineHeight}px`,\n 'body-s': `${theme.typography.types.bodies.configs['body-s'].mediumAndWide.lineHeight}px`,\n 'body-xs': `${theme.typography.types.bodies.configs['body-xs'].mediumAndWide.lineHeight}px`,\n },\n },\n fontWeights: {\n headings: {\n regular: theme.typography.types.headings.fontWeight.regular,\n bold: theme.typography.types.headings.fontWeight.bold,\n },\n 'headings-impact': {\n regular: theme.typography.types['headings-impact'].fontWeight,\n bold: theme.typography.types['headings-impact'].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 headings:\n Platform.OS === 'web'\n ? theme.typography.types.headings.fontFamily.web\n : theme.typography.types.headings.fontFamily.native,\n 'headings-impact':\n Platform.OS === 'web'\n ? theme.typography.types['headings-impact'].fontFamily.web\n : theme.typography.types['headings-impact'].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 'primary-border-soft': {\n default: {\n shadow: {\n shadowColor: theme.actionCard['primary-border-soft'].default.shadow.color,\n shadowOffset: {\n width: theme.actionCard['primary-border-soft'].default.shadow.offsetX,\n height: theme.actionCard['primary-border-soft'].default.shadow.offsetY,\n },\n shadowOpacity: theme.actionCard['primary-border-soft'].default.shadow.opacity,\n shadowRadius: theme.actionCard['primary-border-soft'].default.shadow.radius,\n },\n },\n hovered: {\n shadow: {\n shadowColor: theme.actionCard['primary-border-soft'].hovered.shadow.color,\n shadowOffset: {\n width: theme.actionCard['primary-border-soft'].hovered.shadow.offsetX,\n height: theme.actionCard['primary-border-soft'].hovered.shadow.offsetY,\n },\n shadowOpacity: theme.actionCard['primary-border-soft'].hovered.shadow.opacity,\n shadowRadius: theme.actionCard['primary-border-soft'].hovered.shadow.radius,\n },\n },\n focused: {\n shadow: {\n shadowColor: theme.actionCard['primary-border-soft'].focused.shadow.color,\n shadowOffset: {\n width: theme.actionCard['primary-border-soft'].focused.shadow.offsetX,\n height: theme.actionCard['primary-border-soft'].focused.shadow.offsetY,\n },\n shadowOpacity: theme.actionCard['primary-border-soft'].focused.shadow.opacity,\n shadowRadius: theme.actionCard['primary-border-soft'].focused.shadow.radius,\n },\n },\n pressed: {\n shadow: {\n shadowColor: theme.actionCard['primary-border-soft'].pressed.shadow.color,\n shadowOffset: {\n width: theme.actionCard['primary-border-soft'].pressed.shadow.offsetX,\n height: theme.actionCard['primary-border-soft'].pressed.shadow.offsetY,\n },\n shadowOpacity: theme.actionCard['primary-border-soft'].pressed.shadow.opacity,\n shadowRadius: theme.actionCard['primary-border-soft'].pressed.shadow.radius,\n },\n },\n },\n 'primary-border-hard': {\n default: {\n shadow: {\n shadowColor: theme.actionCard['primary-border-hard'].default.shadow.color,\n shadowOffset: {\n width: theme.actionCard['primary-border-hard'].default.shadow.offsetX,\n height: theme.actionCard['primary-border-hard'].default.shadow.offsetY,\n },\n shadowOpacity: theme.actionCard['primary-border-hard'].default.shadow.opacity,\n shadowRadius: theme.actionCard['primary-border-hard'].default.shadow.radius,\n },\n },\n hovered: {\n shadow: {\n shadowColor: theme.actionCard['primary-border-hard'].hovered.shadow.color,\n shadowOffset: {\n width: theme.actionCard['primary-border-hard'].hovered.shadow.offsetX,\n height: theme.actionCard['primary-border-hard'].hovered.shadow.offsetY,\n },\n shadowOpacity: theme.actionCard['primary-border-hard'].hovered.shadow.opacity,\n shadowRadius: theme.actionCard['primary-border-hard'].hovered.shadow.radius,\n },\n },\n focused: {\n shadow: {\n shadowColor: theme.actionCard['primary-border-hard'].focused.shadow.color,\n shadowOffset: {\n width: theme.actionCard['primary-border-hard'].focused.shadow.offsetX,\n height: theme.actionCard['primary-border-hard'].focused.shadow.offsetY,\n },\n shadowOpacity: theme.actionCard['primary-border-hard'].focused.shadow.opacity,\n shadowRadius: theme.actionCard['primary-border-hard'].focused.shadow.radius,\n },\n },\n pressed: {\n shadow: {\n shadowColor: theme.actionCard['primary-border-hard'].pressed.shadow.color,\n shadowOffset: {\n width: theme.actionCard['primary-border-hard'].pressed.shadow.offsetX,\n height: theme.actionCard['primary-border-hard'].pressed.shadow.offsetY,\n },\n shadowOpacity: theme.actionCard['primary-border-hard'].pressed.shadow.opacity,\n shadowRadius: theme.actionCard['primary-border-hard'].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 picker: {\n web: {\n optionsContainer: {\n shadow: {\n shadowColor: theme.picker.web.optionsContainer.shadow.color,\n shadowOffset: {\n width: theme.picker.web.optionsContainer.shadow.offsetX,\n height: theme.picker.web.optionsContainer.shadow.offsetY,\n },\n shadowOpacity: theme.picker.web.optionsContainer.shadow.opacity,\n shadowRadius: theme.picker.web.optionsContainer.shadow.radius,\n },\n },\n },\n },\n forms: {\n autocomplete: {\n optionsContainer: {\n shadow: {\n shadowColor: theme.forms.autocomplete.optionsContainer.shadow.color,\n shadowOffset: {\n width: theme.forms.autocomplete.optionsContainer.shadow.offsetX,\n height: theme.forms.autocomplete.optionsContainer.shadow.offsetY,\n },\n shadowOpacity: theme.forms.autocomplete.optionsContainer.shadow.opacity,\n shadowRadius: theme.forms.autocomplete.optionsContainer.shadow.radius,\n },\n },\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({ theme, isSSR, appTheme, children }: KittNativeBaseProviderProps): ReactNode {\n const kittTheme = theme.kitt;\n\n const nativeBaseCustomTheme = useMemo(\n () => createKittNativeBaseCustomTheme(kittTheme, appTheme),\n [kittTheme, appTheme],\n );\n\n const kittInternalTheme = useMemo(() => ({ kitt: kittTheme }), [kittTheme]);\n\n return (\n <NativeBaseProvider theme={nativeBaseCustomTheme} isSSR={isSSR}>\n <KittThemeContext.Provider value={kittInternalTheme}>{children}</KittThemeContext.Provider>\n </NativeBaseProvider>\n );\n}\n","import { ScrollView, View } from 'native-base';\nimport type { ReactNode } from 'react';\nimport type { FlatListProps } from 'react-native';\n\nexport function NativeOnlyFlatList<T>({\n scrollEnabled,\n ListHeaderComponent,\n ListFooterComponent,\n data,\n numColumns,\n ListHeaderComponentStyle,\n ListFooterComponentStyle,\n contentContainerStyle,\n keyExtractor = (item, index) => index.toString(),\n renderItem,\n ...props\n}: FlatListProps<T>): ReactNode {\n return (\n <ScrollView scrollEnabled={scrollEnabled} contentContainerStyle={contentContainerStyle} {...props}>\n <View style={ListHeaderComponentStyle}>{ListHeaderComponent}</View>\n <View\n flexDirection={numColumns === undefined ? 'column' : 'row'}\n flexWrap={numColumns === undefined ? undefined : numColumns === 1 ? 'nowrap' : 'wrap'}\n alignItems=\"stretch\"\n >\n {data && renderItem\n ? Array.prototype.map.call(data, (item, index) => (\n <View key={keyExtractor(item, index)}>\n {renderItem({\n item,\n index,\n get separators(): never {\n throw new Error('separators not supported');\n },\n })}\n </View>\n ))\n : null}\n </View>\n <View style={ListFooterComponentStyle}>{ListFooterComponent}</View>\n </ScrollView>\n );\n}\n","import type { ReactElement, ReactNode } from 'react';\nimport { useEffect, useState } from 'react';\nimport type { CardModalAnimationProps } from '../CardModal/CardModalAnimation/CardModalAnimation';\nimport { CardModalAnimation } from '../CardModal/CardModalAnimation/CardModalAnimation';\nimport { CardModalScrollContainer } from '../CardModal/CardModalBehaviour';\nimport { FullscreenModalAnimation } from '../FullscreenModal/FullscreenModalAnimation';\nimport type { ModalBehaviourProps } from '../ModalBehaviour/ModalBehaviour';\nimport { ModalBehaviour } from '../ModalBehaviour/ModalBehaviour';\nimport type { ModalAnimationComponentProps } from '../ModalBehaviour/type';\nimport { useBreakpointValue } from '../native-base/utils';\n\ninterface SimpleContainerProps extends CardModalAnimationProps {}\n\nfunction SimpleContainer({ children }: SimpleContainerProps): ReactNode {\n return children as ReactElement;\n}\n\ntype AnimationComponentType = typeof CardModalAnimation | typeof FullscreenModalAnimation;\ntype CurrentContainerComponentType = typeof SimpleContainer | typeof CardModalScrollContainer;\n\nexport interface NavigationModalBehaviourProps extends ModalBehaviourProps, ModalAnimationComponentProps {\n onClose: () => void;\n}\n\nexport function NavigationModalBehaviour({\n children,\n visible,\n appear = true,\n onExited,\n onEnter,\n onExit,\n onClose,\n ...props\n}: NavigationModalBehaviourProps): ReactNode {\n const AnimationComponent = useBreakpointValue<AnimationComponentType>({\n base: FullscreenModalAnimation,\n small: CardModalAnimation,\n });\n\n const CurrentContainerComponent = useBreakpointValue<CurrentContainerComponentType>({\n base: SimpleContainer,\n small: CardModalScrollContainer,\n });\n\n const [isModalBehaviourVisible, setIsModalBehaviourVisible] = useState(visible);\n const [shouldAppear, setShouldAppear] = useState(appear);\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 const handleEnter = (): void => {\n if (onEnter) onEnter();\n\n // Once a children as been displayed, we force appear to false in order to avoid replaying animation on breakpoint change\n setShouldAppear(false);\n };\n\n const handleExit = (): void => {\n if (onExit) onExit();\n\n // Reset appear value to its original value for future modal display\n setShouldAppear(appear);\n };\n\n return (\n <ModalBehaviour visible={isModalBehaviourVisible} onClose={onClose}>\n <CurrentContainerComponent bounces={false} contentContainerStyle={{ flexGrow: 1 }}>\n <AnimationComponent\n {...props}\n appear={shouldAppear}\n visible={visible}\n onEnter={handleEnter}\n onExit={handleExit}\n onExited={handleExitAnimationDone}\n onClose={onClose}\n >\n {children}\n </AnimationComponent>\n </CurrentContainerComponent>\n </ModalBehaviour>\n );\n}\n","import type { ReactNode } from 'react';\nimport { CardModal } from '../CardModal/CardModal';\nimport type { CardModalBodyProps } from '../CardModal/CardModalBody';\nimport type { CardModalFooterProps } from '../CardModal/CardModalFooter';\nimport type { CardModalHeaderProps } from '../CardModal/CardModalHeader';\nimport type { FullscreenModalBodyProps } from '../FullscreenModal/Body';\nimport type { FullscreenModalFooterProps } from '../FullscreenModal/Footer';\nimport { FullscreenModal } from '../FullscreenModal/FullscreenModal';\nimport type { FullscreenModalProps } from '../FullscreenModal/FullscreenModal';\nimport type { FullscreenModalHeaderProps } from '../FullscreenModal/Header';\nimport { useBreakpointValue } from '../native-base/utils';\nimport { NavigationModalBehaviour } from './NavigationModalBehaviour';\n\nexport interface NavigationModalProps extends FullscreenModalProps {}\n\nexport function NavigationModal({ body, backgroundColor, footer, header }: NavigationModalProps): ReactNode {\n const Component = useBreakpointValue<typeof FullscreenModal | typeof CardModal>({\n base: FullscreenModal,\n small: CardModal,\n });\n\n return <Component body={body} backgroundColor={backgroundColor} footer={footer} header={header} />;\n}\n\ntype HeaderProps = CardModalHeaderProps | FullscreenModalHeaderProps;\n\nfunction Header(props: HeaderProps): ReactNode {\n const Component: typeof FullscreenModal.Header | typeof CardModal.Header = useBreakpointValue({\n base: FullscreenModal.Header,\n small: CardModal.Header,\n });\n return <Component {...props} />;\n}\n\ntype BodyProps = CardModalBodyProps | FullscreenModalBodyProps;\n\nfunction Body(props: BodyProps): ReactNode {\n const Component: typeof FullscreenModal.Body | typeof CardModal.Body = useBreakpointValue({\n base: FullscreenModal.Body,\n small: CardModal.Body,\n });\n return <Component {...props} />;\n}\n\ntype FooterProps = CardModalFooterProps | FullscreenModalFooterProps;\n\nfunction Footer(props: FooterProps): ReactNode {\n const Component: typeof FullscreenModal.Footer | typeof CardModal.Footer = useBreakpointValue({\n base: FullscreenModal.Footer,\n small: CardModal.Footer,\n });\n return <Component {...props} />;\n}\n\nNavigationModal.Header = Header;\nNavigationModal.Body = Body;\nNavigationModal.Footer = Footer;\nNavigationModal.ModalBehaviour = NavigationModalBehaviour;\n","import type { ReactNode } from 'react';\nimport { BaseMessage } from '../BaseMessage/BaseMessage';\nimport type { BaseMessageProps } from '../BaseMessage/BaseMessage';\n\nexport interface NotificationProps extends BaseMessageProps {}\n\nexport function Notification({ type, children, centeredText, insets, onDismiss }: NotificationProps): ReactNode {\n return (\n <BaseMessage hasNoRadius type={type} centeredText={centeredText} insets={insets} onDismiss={onDismiss}>\n {children}\n </BaseMessage>\n );\n}\n","import { css } from '@linaria/core';\nimport type { ReactNode } from 'react';\nimport { useTheme } from '../KittThemeContext';\nimport {\n fillEasingFunction,\n pageLoaderSize,\n pageLoaderStrokeWidth,\n webAnimationCircleBackgroundFillDuration,\n webAnimationDelay,\n webAnimationFilledCircleFillDuration,\n webAnimationFilledCircleRotationDuration,\n} from '../themes/late-ocean/pageLoader';\n\nconst [x1, y1, x2, y2] = fillEasingFunction;\n\nconst pageLoaderCirclePerimeter = 2 * Math.PI * (pageLoaderSize * 0.5 - pageLoaderStrokeWidth);\n\nconst pageLoaderContainer = css`\n @keyframes PageLoaderInit {\n 0% {\n stroke-dashoffset: ${pageLoaderCirclePerimeter}px;\n }\n\n 100% {\n stroke-dashoffset: 0;\n }\n }\n\n /** Primary circle animation **/\n @keyframes PageLoaderOffset {\n 0% {\n stroke-dashoffset: ${pageLoaderCirclePerimeter}px;\n }\n\n /** 20% of this radius and represent the min offset part of the animated circle */\n 100% {\n stroke-dashoffset: ${pageLoaderCirclePerimeter * 0.2}px;\n }\n }\n\n @keyframes PageLoaderRotation {\n 0% {\n transform: rotate(0deg);\n }\n\n 100% {\n transform: rotate(360deg);\n }\n }\n\n width: ${pageLoaderSize}px;\n height: ${pageLoaderSize}px;\n\n /* Needed to make the animation starting from the top of the circles */\n transform: scale(-1) rotate(90deg);\n\n & circle,\n & g {\n transform-origin: center center;\n }\n\n & g[data-large-loader='base'] circle {\n animation: ${webAnimationCircleBackgroundFillDuration}ms cubic-bezier(${x1}, ${y1}, ${x2}, ${y2})\n ${webAnimationDelay}ms forwards;\n animation-name: PageLoaderInit;\n }\n\n & g[data-large-loader='fill'] {\n animation: ${webAnimationFilledCircleFillDuration}ms linear ${webAnimationDelay}ms infinite;\n animation-name: PageLoaderRotation;\n }\n\n & g[data-large-loader='fill'] circle {\n animation: ${webAnimationFilledCircleFillDuration}ms cubic-bezier(${x1}, ${y1}, ${x2}, ${y2}) ${webAnimationDelay}ms\n infinite alternate,\n ${webAnimationFilledCircleRotationDuration}ms linear ${webAnimationDelay}ms infinite;\n animation-name: PageLoaderOffset, PageLoaderRotation;\n }\n`;\n\nexport function PageLoader(props: Record<string, never>): ReactNode {\n const theme = useTheme();\n const { colors, size, strokeWidth } = theme.kitt.pageLoader;\n\n const center = size * 0.5;\n const radius = center - strokeWidth;\n\n const circlePerimeter = 2 * Math.PI * radius;\n\n const sharedProps = {\n cx: center,\n cy: center,\n r: radius,\n fill: 'none',\n strokeWidth,\n strokeDasharray: circlePerimeter,\n strokeDashoffset: circlePerimeter,\n strokeLinecap: 'round' as const,\n };\n\n return (\n <div className={pageLoaderContainer}>\n <svg width={size} height={size}>\n <g data-large-loader=\"base\">\n <circle {...sharedProps} stroke={colors.base} />\n </g>\n <g data-large-loader=\"fill\">\n <circle {...sharedProps} stroke={colors.fill} />\n </g>\n </svg>\n </div>\n );\n}\n","import type { ReactNode } from 'react';\nimport { View } from '../native-base/primitives';\nimport type { PickerItemProps } from './PickerItem';\n\ninterface UIState {\n isSelected?: boolean;\n isHovered?: boolean;\n isFocused?: boolean;\n isPressed?: boolean;\n isHighlighted?: boolean;\n}\n\nfunction getBackgroundColor({ isSelected, isHighlighted, isPressed, isHovered, isFocused }: UIState): string {\n const baseKey = 'kitt.picker.web.option';\n if (isHighlighted) {\n return `${baseKey}.highlighted.backgroundColor`;\n }\n\n if (isPressed) {\n return `${baseKey}.pressed.backgroundColor`;\n }\n\n if (isHovered) {\n return `${baseKey}.hovered.backgroundColor`;\n }\n\n if (isFocused) {\n return `${baseKey}.focused.backgroundColor`;\n }\n\n if (isSelected) {\n return `${baseKey}.selected.backgroundColor`;\n }\n\n return `${baseKey}.default.backgroundColor`;\n}\n\nexport function PickerItem({\n children,\n isSelected,\n isHighlighted,\n isPressed,\n isHovered,\n isFocused,\n}: PickerItemProps): ReactNode {\n return (\n <View\n justifyContent=\"center\"\n width=\"100%\"\n paddingX=\"kitt.picker.web.option.horizontalPadding\"\n paddingY=\"kitt.picker.web.option.verticalPadding\"\n backgroundColor={getBackgroundColor({ isSelected, isHighlighted, isPressed, isHovered, isFocused })}\n >\n {children}\n </View>\n );\n}\n","import type { PickerItemProps as NativePickerItemProps } from '@react-native-picker/picker';\nimport type { ReactNode } from 'react';\nimport { Typography } from '../typography/Typography';\n\ninterface PickerOptionChildrenProps {\n isHighlighted?: boolean;\n isSelected?: boolean;\n}\n\nexport interface PickerOptionProps<T> extends Pick<NativePickerItemProps<T>, 'label'>, PickerOptionChildrenProps {\n children: ReactNode | ((props: PickerOptionChildrenProps) => ReactNode);\n value: T;\n testID?: string;\n}\n\n// This item is for Android only, iOS uses its own implementation and web is not supported yet\nexport function PickerOption<T>({ children, testID, isHighlighted, isSelected }: PickerOptionProps<T>): ReactNode {\n return (\n <Typography.Text testID={testID} base=\"body\">\n {typeof children === 'function' ? children({ isHighlighted, isSelected }) : children}\n </Typography.Text>\n );\n}\n","import { useSelect } from 'downshift';\nimport type { UseSelectState, UseSelectStateChangeOptions } from 'downshift';\n\nexport function webUseSelectReducer<T>(\n state: UseSelectState<T>,\n actionAndChanges: UseSelectStateChangeOptions<T>,\n options: {\n keepOpenOnChange?: boolean;\n },\n): Partial<UseSelectState<T>> {\n const { type, changes } = actionAndChanges;\n\n switch (type) {\n case useSelect.stateChangeTypes.ItemClick:\n if (!options.keepOpenOnChange) return changes;\n\n return {\n ...changes,\n isOpen: true,\n };\n default:\n return changes;\n }\n}\n","import { css } from '@linaria/core';\nimport { autoUpdate, offset, useFloating } from '@floating-ui/react-dom';\nimport { useSelect } from 'downshift';\nimport type { ReactElement, ReactNode } from 'react';\nimport { Children } from 'react';\nimport { Portal } from 'react-portal';\nimport { CSSTransition } from 'react-transition-group';\nimport { Pressable, View } from '../native-base/primitives';\nimport type { PickerProps } from './Picker';\nimport { PickerItem } from './PickerItem';\nimport type { PickerOptionProps } from './PickerOption';\nimport { PickerOption } from './PickerOption';\nimport { webUseSelectReducer } from './reducer/webUseSelectReducer';\n\nconst enter = css`\n transform: translateY(8px);\n opacity: 0;\n`;\nconst enterActive = css`\n transform: translateY(0);\n opacity: 1;\n transition: all 300ms ease-in-out;\n`;\nconst exit = css`\n transform: translateY(0);\n opacity: 1;\n`;\nconst exitActive = css`\n transform: translateY(8px);\n opacity: 0;\n transition: all 300ms ease-in-out;\n`;\n\nexport function Picker<T>({\n children,\n renderTrigger,\n triggerViewProps,\n isInitialOpen,\n checkSelectedItem,\n initialValue,\n keepOpenOnChange = false,\n testID,\n disabled,\n onChange,\n onClose,\n}: PickerProps<T>): ReactNode {\n const childrenArray = Children.toArray(children);\n\n const items = childrenArray.map((child) => {\n const item = child as ReactElement<PickerOptionProps<T>>;\n return item.props.value as T;\n }) as T[];\n\n const initialValueIndex = initialValue ? items.indexOf(initialValue) : -1;\n\n const { isOpen, selectedItem, getToggleButtonProps, getMenuProps, highlightedIndex, getItemProps } = useSelect<T>({\n items,\n initialSelectedItem: initialValueIndex > -1 ? items[initialValueIndex] : undefined,\n initialIsOpen: isInitialOpen,\n stateReducer: (state, actionAndChanges) => webUseSelectReducer(state, actionAndChanges, { keepOpenOnChange }),\n onIsOpenChange: (changes) => {\n if (changes.isOpen === false) {\n if (onClose) onClose();\n }\n },\n onSelectedItemChange: (changes) => {\n if (!onChange) return;\n\n if (changes.selectedItem === null) {\n onChange(undefined);\n return;\n }\n onChange(changes.selectedItem);\n },\n });\n\n const { onClick: onPressTrigger, ...restToggleProps } = getToggleButtonProps();\n\n const { x, y, reference, floating, strategy } = useFloating({\n placement: 'bottom-start',\n strategy: 'fixed',\n whileElementsMounted: autoUpdate,\n middleware: [offset(8)],\n });\n\n const tooltipY = Math.round(y ?? 0);\n const tooltipX = Math.round(x ?? 0);\n\n const { ref: menuRef, ...menuProps } = getMenuProps();\n\n return (\n <>\n <View width=\"fit-content\" {...triggerViewProps} ref={reference}>\n {renderTrigger({\n onPress: onPressTrigger,\n selectedItem: selectedItem || undefined,\n isOpen,\n disabled,\n ...restToggleProps,\n })}\n </View>\n\n <Portal>\n <View\n ref={(myRef) => {\n const currentRef = myRef as HTMLDivElement;\n floating(currentRef);\n menuRef(currentRef);\n }}\n testID={testID}\n {...menuProps}\n position={strategy}\n top={0}\n left={0}\n width=\"100%\"\n maxWidth={{ base: 350 }}\n paddingY={isOpen ? 'kitt.2' : undefined}\n _web={{\n style: {\n transform: [\n {\n translate3d: `${tooltipX}px, ${tooltipY}px, 0`,\n },\n ],\n transitionDuration: '300ms',\n transitionProperty: 'opacity, padding',\n transitionTimingFunction: 'ease-in-out',\n },\n }}\n >\n <View\n opacity={isOpen ? 1 : 0}\n backgroundColor=\"kitt.picker.web.optionsContainer.backgroundColor\"\n borderRadius=\"kitt.picker.web.optionsContainer.borderRadius\"\n shadow=\"kitt.picker.web.optionsContainer.shadow\"\n _web={{\n style: {\n transform: [\n {\n translateY: isOpen ? 0 : 8,\n },\n ],\n visibility: isOpen ? 'visible' : 'hidden',\n transitionDuration: '300ms',\n transitionTimingFunction: 'ease-in-out',\n },\n }}\n >\n <CSSTransition\n unmountOnExit\n timeout={300}\n in={isOpen}\n classNames={{ enter, enterActive, exit, exitActive }}\n >\n <View paddingY=\"kitt.2\">\n {childrenArray.map((child, index) => {\n const currentValue = items[index];\n\n const {\n onClick,\n 'aria-selected': ariaSelected,\n ...itemProps\n } = getItemProps({ item: currentValue, index, disabled });\n\n return (\n <Pressable\n key={itemProps.id}\n {...itemProps}\n accessibilityState={{ selected: ariaSelected }}\n onPress={onClick}\n >\n {({ isHovered, isFocused, isPressed }) => {\n const isHighlighted = highlightedIndex === index;\n return (\n <PickerItem\n isSelected={checkSelectedItem(selectedItem || undefined, currentValue)}\n isHighlighted={isHighlighted}\n isHovered={isHovered}\n isFocused={isFocused}\n isPressed={isPressed}\n >\n {child}\n </PickerItem>\n );\n }}\n </Pressable>\n );\n })}\n </View>\n </CSSTransition>\n </View>\n </View>\n </Portal>\n </>\n );\n}\n\nPicker.Option = PickerOption;\n\n/**\n * @description: This is exported for testing purposes only\n */\nPicker.UnsafeInternalItem = PickerItem;\n","<svg viewBox=\"0 0 453 71\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\"><path fill=\"#fff\" d=\"m40 0 2.598 1.5-40 69.282L0 69.282zm10 0 2.598 1.5-40 69.282-2.598-1.5zm10 0 2.598 1.5-40 69.282-2.598-1.5zm10 0 2.598 1.5-40 69.282-2.598-1.5zm10 0 2.598 1.5-40 69.282-2.598-1.5zm10 0 2.598 1.5-40 69.282-2.598-1.5zm10 0 2.598 1.5-40 69.282-2.598-1.5zm10 0 2.598 1.5-40 69.282-2.598-1.5zm10 0 2.598 1.5-40 69.282-2.598-1.5zm10 0 2.598 1.5-40 69.282-2.598-1.5zm10 0 2.598 1.5-40 69.282-2.598-1.5zm10 0 2.598 1.5-40 69.282-2.598-1.5zm10 0 2.598 1.5-40 69.282-2.598-1.5zm10 0 2.598 1.5-40 69.282-2.598-1.5zm10 0 2.598 1.5-40 69.282-2.598-1.5zm10 0 2.598 1.5-40 69.282-2.598-1.5zm10 0 2.598 1.5-40 69.282-2.598-1.5zm10 0 2.598 1.5-40 69.282-2.598-1.5zm10 0 2.598 1.5-40 69.282-2.598-1.5zm10 0 2.598 1.5-40 69.282-2.598-1.5zm10 0 2.598 1.5-40 69.282-2.598-1.5zm10 0 2.598 1.5-40 69.282-2.598-1.5zm10 0 2.598 1.5-40 69.282-2.598-1.5zm10 0 2.598 1.5-40 69.282-2.598-1.5zm10 0 2.598 1.5-40 69.282-2.598-1.5zm10 0 2.598 1.5-40 69.282-2.598-1.5zm10 0 2.598 1.5-40 69.282-2.598-1.5zm10 0 2.598 1.5-40 69.282-2.598-1.5zm10 0 2.598 1.5-40 69.282-2.598-1.5zm10 0 2.598 1.5-40 69.282-2.598-1.5zm10 0 2.598 1.5-40 69.282-2.598-1.5zm10 0 2.598 1.5-40 69.282-2.598-1.5zm10 0 2.598 1.5-40 69.282-2.598-1.5zm10 0 2.598 1.5-40 69.282-2.598-1.5zm10 0 2.598 1.5-40 69.282-2.598-1.5zm10 0 2.598 1.5-40 69.282-2.598-1.5zm10 0 2.598 1.5-40 69.282-2.598-1.5zm10 0 2.598 1.5-40 69.282-2.598-1.5zm10 0 2.598 1.5-40 69.282-2.598-1.5zm10 0 2.598 1.5-40 69.282-2.598-1.5zm10 0 2.598 1.5-40 69.282-2.598-1.5zm10 0 2.598 1.5-40 69.282-2.598-1.5z\"/></svg>","import { HStack, View } from 'native-base';\nimport type { ReactNode } from 'react';\nimport Stripes from './assets/stripes.inline.svg';\n\nexport type SegmentedProgressBarSizes = 'small' | 'default';\nexport type SegmentedProgressBarColors = 'primary' | 'validated';\n\ninterface SegmentedProgressBarProps {\n currentStep?: number;\n stepsCount: number;\n size?: SegmentedProgressBarSizes;\n colorVariant?: SegmentedProgressBarColors;\n withCurrentInProgress?: boolean;\n}\n\nexport function SegmentedProgressBar({\n currentStep = 0,\n stepsCount,\n size = 'default',\n colorVariant = 'primary',\n withCurrentInProgress,\n}: SegmentedProgressBarProps): ReactNode {\n const height = size === 'small' ? 'kitt.2' : 'kitt.4';\n const fillColor =\n colorVariant === 'validated' ? 'kitt.palettes.lateOcean.viride' : 'kitt.palettes.lateOcean.lateOceanLight1';\n\n const steps = [...Array.from({ length: stepsCount }).keys()];\n\n return (\n <HStack height={height} space={2} borderRadius={height} overflow=\"hidden\">\n {steps.map((stepNumber) => {\n const isSegmentCurrentInProgress = withCurrentInProgress && stepNumber === currentStep - 1;\n const color = stepNumber < currentStep ? fillColor : 'kitt.palettes.lateOcean.black50';\n\n return (\n <View\n key={stepNumber}\n height=\"100%\"\n flexGrow={1}\n flexShrink={1}\n flexBasis={0}\n backgroundColor={isSegmentCurrentInProgress ? 'kitt.palettes.lateOcean.lateOceanLight3' : color}\n borderRadius={2}\n overflow=\"hidden\"\n alignItems=\"center\"\n justifyContent=\"center\"\n >\n {isSegmentCurrentInProgress ? (\n <View width=\"453\" height=\"71\">\n <Stripes />\n </View>\n ) : null}\n </View>\n );\n })}\n </HStack>\n );\n}\n","import { css } from '@linaria/core';\nimport cx from 'classnames';\nimport type { ReactNode } from 'react';\nimport { skeletonBackgroundColor, skeletonFlareColor } from '../themes/late-ocean/skeleton';\n\nconst skeleton = css`\n background-color: ${skeletonBackgroundColor};\n position: relative;\n overflow: hidden;\n height: 100%;\n width: 100%;\n\n @keyframes flareTranslate {\n from {\n transform: translateX(-100%);\n }\n\n to {\n transform: translateX(100%);\n }\n }\n\n &::after {\n content: '';\n position: absolute;\n width: 100%;\n height: 100%;\n top: 0;\n left: 0;\n background-image: linear-gradient(\n -90deg,\n ${skeletonBackgroundColor},\n ${skeletonFlareColor} 50%,\n ${skeletonBackgroundColor} 100%\n );\n animation: 1s ease-in-out infinite;\n animation-name: flareTranslate;\n }\n`;\n\nconst skeletonWithoutAnimation = css`\n &::after {\n background-image: none;\n animation: none;\n }\n`;\n\ninterface SkeletonProps {\n isLoading: boolean;\n}\n\nexport function SkeletonContent({ isLoading }: SkeletonProps): ReactNode {\n return <div className={cx(skeleton, !isLoading ? skeletonWithoutAnimation : undefined)} />;\n}\n","import type { ReactNode } 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): ReactNode {\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): ReactNode {\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): ReactNode {\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): ReactNode {\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 { ReactNode } 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): ReactNode {\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 { ReactNode } 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): ReactNode {\n return (\n <Image source={{ uri: url }} width={width} height={height} alt={alt} onError={onError} onLoadEnd={onLoadEnd} />\n );\n}\n","import type { ReactNode } from 'react';\nimport { Skeleton } from '../Skeleton/Skeleton';\nimport { View } from '../native-base/primitives';\n\nexport function StaticMapLoader(): ReactNode {\n return (\n <View alignItems=\"center\" justifyContent=\"center\" height=\"100%\">\n <Skeleton isLoading width=\"100%\" height=\"100%\" />\n </View>\n );\n}\n","import type { ReactNode } 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): ReactNode {\n return (\n <View position=\"absolute\" top=\"0\" left=\"0\" width=\"100%\" height=\"100%\">\n <View\n justifyContent=\"center\"\n alignItems=\"center\"\n height=\"100%\"\n style={{\n transform: getMarkerPosition(variant),\n }}\n >\n {variant === 'position' ? <MapMarkerPosition /> : null}\n {variant === 'large' ? <MapMarkerLarge /> : null}\n {variant === 'simple' ? <MapMarkerSimple /> : null}\n </View>\n </View>\n );\n}\n","export function getRangedWidthValue(nextWidth: number, maxValue: number): number {\n const rangedMapWidth = Math.max(1, Math.min(nextWidth, maxValue));\n\n return rangedMapWidth;\n}\n","export function getShouldDisplay2x(): boolean {\n if (typeof window === 'undefined') {\n return true;\n }\n\n // requesting retina picture is up to the device capabilities;\n return window.devicePixelRatio ? window.devicePixelRatio > 1 : false;\n}\n","import type { 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): ReactNode {\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 { ReactNode } from 'react';\nimport type { ViewStyle } from 'react-native';\nimport type { Except } from 'type-fest';\nimport type { ViewProps } from '../native-base/primitives';\nimport { View } from '../native-base/primitives';\n\ninterface FlexProps extends Except<ViewProps, 'display' | 'flexDirection' | 'flexWrap'> {\n direction: ViewStyle['flexDirection'];\n wrap?: ViewStyle['flexWrap'];\n}\n\nexport function Flex({ direction, wrap = 'wrap', ...props }: FlexProps): ReactNode {\n return <View {...props} flexDirection={direction} flexWrap={wrap} />;\n}\n","export const storyPadding = 'kitt.4';\n","import type { ReactNode } from 'react';\nimport { createContext, useContext } from 'react';\nimport type { KittThemeContextValue } from '../KittThemeContext';\nimport { useTheme } from '../KittThemeContext';\nimport { View } from '../native-base/primitives';\nimport type { ExtendedTypographyColor } 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: KittThemeContextValue,\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 = (\n color: StoryBlockProps['background'] = 'transparent',\n): ExtendedTypographyColor => {\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<ExtendedTypographyColor>('black');\n\nexport const useStoryBlockColor = (color?: ExtendedTypographyColor | undefined): ExtendedTypographyColor => {\n const storyBlockColor = useContext(StoryBlockColorContext);\n return color || storyBlockColor;\n};\n\nexport function StoryBlock({ children, background }: StoryBlockProps): ReactNode {\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 { ReactNode } from 'react';\nimport { View } from '../native-base/primitives';\nimport { Typography } from '../typography/Typography';\nimport type { TypographyProps } 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): ReactNode {\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): ReactNode {\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): ReactNode {\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): ReactNode {\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 { 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): ReactNode {\n return (\n <ScrollView background=\"#fff\" padding={storyPadding} contentContainerStyle={contentContainerStyle}>\n <StoryTitle>{title}</StoryTitle>\n {children}\n </ScrollView>\n );\n}\n","import type { 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): ReactNode {\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): ReactNode {\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): ReactNode {\n return (\n <View marginBottom=\"kitt.4\" {...props}>\n <StoryTitle.Level4>{title}</StoryTitle.Level4>\n {children}\n </View>\n );\n}\n\nexport interface DemoSectionProps extends ViewProps {\n children: ReactNode;\n}\n\nfunction DemoSection({ children, ...props }: DemoSectionProps): ReactNode {\n return (\n <View marginBottom=\"kitt.16\" {...props}>\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 { ReactNode } from 'react';\nimport type { StoryContainerProps } from './StoryContainer';\nimport { StorySection } from './StorySection';\n\nexport function StoryContainer({ children, state, title, platform }: StoryContainerProps): ReactNode {\n if (platform === 'native') return null;\n\n return (\n <StorySection.BlockSection testID={state} title={title}>\n <div className={state ? `kitt-${state}` : undefined}>{children}</div>\n </StorySection.BlockSection>\n );\n}\n","import type { DecoratorFunction } from '@storybook/addons';\nimport type { ReactNode } from 'react';\nimport { Story as StoryContainer } from './Story';\n\n// eslint-disable-next-line react/function-component-definition -- this is not a component, it's a decorator for storybook.\nexport const StoryDecorator: DecoratorFunction<ReactNode> = (storyFn, context) => {\n if (context.parameters?.disableStoryContainer) {\n return storyFn();\n }\n return <StoryContainer title={context.name}>{storyFn()}</StoryContainer>;\n};\n","import type { 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): ReactNode {\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): ReactNode {\n const isNative = Platform.OS === 'ios' || Platform.OS === 'android';\n\n if (Platform.OS === 'web' && platform === 'native') {\n return null;\n }\n\n if (isNative && platform === 'web') {\n return null;\n }\n\n return (\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 { ReactNode } from 'react';\nimport { View } from '../native-base/primitives';\nimport { Typography } from '../typography/Typography';\nimport type { TypographyColor } 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\nexport const getLabelColor = (type: TagType, variant: TagVariant): TypographyColor => {\n switch (type) {\n case 'danger': {\n return variant === 'outline' ? 'danger' : 'white';\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): ReactNode {\n return (\n <View\n alignSelf=\"flex-start\"\n borderRadius=\"kitt.tag.borderRadius\"\n paddingX=\"kitt.tag.horizontalPadding\"\n paddingY=\"kitt.tag.verticalPadding\"\n backgroundColor={`kitt.tag.${type}.${variant}.backgroundColor`}\n borderColor={`kitt.tag.${type}.${variant}.borderColor`}\n borderWidth={`kitt.tag.${type}.${variant}.borderWidth`}\n >\n <Typography.Text base=\"body-xsmall\" color={getLabelColor(type, variant)}>\n {label}\n </Typography.Text>\n </View>\n );\n}\n","import type { ReactElement } from 'react';\nimport { forwardRef, useState } from 'react';\nimport type { NativeSyntheticEvent, TextInput as RNTextInput, TextInputChangeEventData } from 'react-native';\nimport { InputText } from '../forms/InputText/InputText';\nimport type { InputUIState } from '../forms/utils';\nimport { View } from '../native-base/primitives';\nimport { createResponsiveStyleFromProp } from '../utils/createResponsiveStyleFromProp/createResponsiveStyleFromProp';\nimport type { TimePickerProps } from './TimePicker';\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' | undefined {\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 undefined;\n}\n\nfunction keepHoursInterval(hours: string): number {\n return Math.min(Math.max(parseInt(hours, 10), 0), 23);\n}\n\nfunction getDisplayedHours(hours: string): string {\n if (hours.length === 0) return '';\n return keepHoursInterval(hours).toString().padStart(2, '0');\n}\n\nfunction keepMinutesInterval(minutes: string): number {\n return Math.min(Math.max(parseInt(minutes, 10), 0), 59);\n}\n\nfunction getDisplayedMinutes(minutes: string): string {\n if (minutes.length === 0) return '';\n\n const minutesWithinInterval = keepMinutesInterval(minutes).toString();\n\n // Handles case such as typing '04'\n // it will result as 4 after parseInt but we want to keep the original string length between casts to display leading '0' in the input\n if (minutes.length > 1) return minutesWithinInterval.padStart(2, '0');\n\n return minutesWithinInterval;\n}\n\nfunction getInitialInputValueFromDateValue(date: Date): string {\n const hours = date.getHours();\n const minutes = date.getMinutes();\n\n return `${getDisplayedHours(hours.toString())}:${getDisplayedMinutes(minutes.toString()).padStart(2, '0')}`;\n}\n\nexport const TimePicker = forwardRef<RNTextInput, TimePickerProps>(\n (\n {\n value,\n disabled,\n stretch,\n placeholder = '--:--',\n isHoveredInternal,\n isFocusedInternal,\n isPressedInternal,\n onChange,\n onBlur,\n\n // native implementation props - ignored\n title,\n validateButtonLabel,\n isDefaultVisible,\n modalTestID,\n pickerTestID,\n ...props\n }: TimePickerProps,\n ref,\n ): ReactElement => {\n const [inputValue, setInputValue] = useState(value ? getInitialInputValueFromDateValue(value) : '');\n\n const handleChange = (currentInputValue = ''): void => {\n if (!onChange) return;\n\n // Format is hh:mm hence 5 characters\n if (currentInputValue.length < 5 || !currentInputValue.includes(':')) return;\n\n const [hours, minutes] = currentInputValue.split(':');\n\n // Prepare the next date. It clones the date value passed as prop if available\n const nextDate = value ? new Date(value) : new Date();\n\n nextDate.setHours(keepHoursInterval(hours), keepMinutesInterval(minutes));\n\n onChange(nextDate);\n };\n\n const handleInputChange = (event: NativeSyntheticEvent<TextInputChangeEventData>): void => {\n const currentValue = event.nativeEvent.text;\n\n if (currentValue.length === 0) {\n setInputValue(currentValue);\n\n if (onChange) onChange(undefined);\n return;\n }\n\n // Allow alphanumerical characters and ':'\n const sanitizedValue = currentValue.replace(/[^0-9:]/g, '');\n\n if (currentValue.length <= inputValue.length) {\n setInputValue(sanitizedValue);\n\n handleChange(sanitizedValue);\n return;\n }\n\n const hasSeparator = sanitizedValue.includes(':');\n\n // When input has a value which is more than ':'\n if (hasSeparator && sanitizedValue.length > 1) {\n const [hours, minutes] = sanitizedValue.split(':');\n\n const currentHours = getDisplayedHours(hours);\n const currentMinutes = getDisplayedMinutes(minutes);\n\n const nextValue = `${currentHours}:${currentMinutes}`;\n\n setInputValue(nextValue);\n\n handleChange(nextValue);\n return;\n }\n\n // Auto suffix hours with ':' when adding characters\n if (sanitizedValue.length === 2 && currentValue.length > inputValue.length) {\n setInputValue(`${getDisplayedHours(sanitizedValue)}:`);\n\n return;\n }\n\n // Handle case like 1212 that should be formatted as 12:12\n // Split hours part from the minutes part and insert ':' between then\n if (sanitizedValue.length > 2) {\n const hours = sanitizedValue.slice(0, 2);\n const minutes = sanitizedValue.slice(2);\n\n const nextValue = `${getDisplayedHours(hours)}:${getDisplayedMinutes(minutes)}`;\n\n setInputValue(nextValue);\n\n handleChange(nextValue);\n return;\n }\n\n setInputValue(sanitizedValue);\n\n handleChange(sanitizedValue);\n };\n\n const handleBlur = (): void => {\n if (inputValue.indexOf(':') === 1) {\n setInputValue(`0${inputValue}`);\n }\n\n if (onBlur) onBlur();\n };\n\n return (\n <View width={createResponsiveStyleFromProp(stretch, '100%', 'kitt.forms.timePicker.minWidth')}>\n <InputText\n ref={ref}\n textAlign=\"center\"\n value={inputValue}\n placeholder={placeholder}\n disabled={disabled}\n internalForceState={getCurrentInternalForcedState({\n isDisabled: disabled,\n isHoveredInternal,\n isFocusedInternal,\n isPressedInternal,\n })}\n onChange={handleInputChange}\n onBlur={handleBlur}\n {...props}\n />\n </View>\n );\n },\n);\n","<svg viewBox=\"0 0 36 9\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\"><path fill=\"currentColor\" fill-rule=\"evenodd\" clip-rule=\"evenodd\" d=\"M22.399 6.128C20.939 7.722 19.767 9 18 9s-2.938-1.278-4.399-2.872C11.187 3.494 7.984 0 0 0h36c-7.984 0-11.187 3.494-13.601 6.128z\"/></svg>","import type { ReactElement } from 'react';\nimport { forwardRef } from 'react';\nimport { useTheme } from '../KittThemeContext';\nimport type { ViewProps } from '../native-base/primitives';\nimport { View } from '../native-base/primitives';\nimport type { TooltipPosition } from './Tooltip';\nimport TooltipArrowImage from './arrow.inline.svg';\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 <TooltipArrowImage color={theme.kitt.tooltip.backgroundColor} opacity={theme.kitt.tooltip.opacity} />\n </View>\n );\n },\n);\n","import type { 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): ReactNode {\n return (\n <View\n backgroundColor=\"kitt.tooltip.backgroundColor\"\n borderRadius=\"kitt.tooltip.borderRadius\"\n opacity=\"kitt.tooltip.opacity\"\n paddingY=\"kitt.tooltip.verticalPadding\"\n paddingX=\"kitt.tooltip.horizontalPadding\"\n >\n <Typography.Text base=\"body-small\" color=\"white-light\">\n {children}\n </Typography.Text>\n </View>\n );\n}\n","import { useBreakpointValue } from '../../native-base/utils';\n\ninterface GetShouldDisplayArrowParams {\n isTooltipFullWidth?: boolean;\n isBase?: boolean;\n}\n\nfunction getShouldRenderArrow({ isTooltipFullWidth, isBase }: GetShouldDisplayArrowParams): boolean {\n if (isTooltipFullWidth) return false;\n\n const shouldDisplayArrow = !isBase;\n\n return shouldDisplayArrow;\n}\n\ninterface UseShouldDisplayArrowParams {\n isTooltipFullWidth?: boolean;\n}\n\nexport function useShouldRenderArrow({ isTooltipFullWidth }: UseShouldDisplayArrowParams): boolean {\n const isBase = useBreakpointValue({\n base: true,\n small: false,\n });\n\n return getShouldRenderArrow({ isTooltipFullWidth, isBase });\n}\n","export function getHasArrowEnoughSpace(arrowCenterOffset?: number): boolean {\n return arrowCenterOffset !== undefined ? true : arrowCenterOffset !== 0;\n}\n","import type { MiddlewareData } from '@floating-ui/react-dom';\nimport { arrow, autoPlacement, autoUpdate, offset, shift, useFloating } from '@floating-ui/react-dom';\nimport type { ReactNode, RefObject } from 'react';\nimport { useEffect, useRef, useState } from 'react';\nimport { Portal } from 'react-portal';\nimport type { Except } from 'type-fest';\nimport { useOnClickOutside } from 'usehooks-ts';\nimport { useTheme } from '../KittThemeContext';\nimport { Pressable, View } from '../native-base/primitives';\nimport { useBreakpointValue } from '../native-base/utils';\nimport { Arrow } from './Arrow';\nimport type { TooltipProps, UpdateCallbackParams } from './Tooltip';\nimport { TooltipContent } from './TooltipContent';\nimport { useShouldRenderArrow } from './hooks/useShouldRenderArrow';\nimport { getHasArrowEnoughSpace } from './utils/getHasArrowEnoughSpace';\n\ninterface WebUpdateCallbackParams extends Exclude<UpdateCallbackParams, 'middlewareData'> {\n middlewareData: MiddlewareData;\n refs: {\n reference: RefObject<any>;\n floating: RefObject<any>;\n };\n}\n\n// override the onUpdate callback for web typings.\ntype WebTooltipProps = Except<TooltipProps, 'onUpdate'> & {\n onUpdate: (params: WebUpdateCallbackParams) => void;\n};\n\nexport function Tooltip({\n children,\n alignSelf,\n defaultVisible,\n position = 'top',\n content,\n floatingPadding,\n fullWidth,\n onToggle,\n renderPressable = (pressableProps) => (\n <Pressable accessibilityRole=\"button\" alignSelf=\"baseline\" display=\"inline-flex\" {...pressableProps}>\n {children}\n </Pressable>\n ),\n onUpdate,\n zIndex,\n}: WebTooltipProps): ReactNode {\n const isBase = useBreakpointValue({\n base: true,\n small: false,\n });\n\n const theme = useTheme();\n\n const [isVisible, setIsVisible] = useState(Boolean(defaultVisible));\n\n const [isCursorOnTooltip, setIsCursorOnTooltip] = useState(false);\n\n const arrowRef = useRef<typeof View>(null);\n\n const currentFloatingPadding = floatingPadding || theme.kitt.tooltip.floatingPadding;\n\n const { x, y, reference, floating, strategy, update, refs, middlewareData, placement } = useFloating({\n placement: position,\n strategy: 'fixed',\n whileElementsMounted: autoUpdate,\n middleware: [\n // Order matters\n offset(currentFloatingPadding),\n autoPlacement({\n allowedPlacements: ['top', 'bottom'],\n padding: currentFloatingPadding,\n }),\n shift({ crossAxis: false, padding: currentFloatingPadding }),\n arrow({ element: arrowRef as unknown as HTMLElement }),\n ],\n });\n\n const tooltipY = Math.round(y ?? 0);\n const tooltipX = Math.round(x ?? 0);\n\n const { centerOffset } = middlewareData.arrow || {};\n\n const shouldRenderArrow = useShouldRenderArrow({ isTooltipFullWidth: fullWidth });\n const hasArrowEnoughSpace = getHasArrowEnoughSpace(centerOffset);\n\n const sharedArrowProps = {\n top: Math.round(middlewareData.arrow?.y ?? 0),\n left: Math.round(middlewareData.arrow?.x ?? 0),\n display: hasArrowEnoughSpace ? undefined : 'none',\n };\n\n useEffect(() => {\n if (!onUpdate) return;\n\n onUpdate({\n x: tooltipX,\n y: tooltipY,\n placement,\n strategy,\n update,\n refs,\n middlewareData,\n });\n }, [tooltipX, tooltipY, reference, floating, strategy, update, refs, middlewareData, placement, onUpdate]);\n\n const handlePressOutside = (): void => {\n if (!isVisible || isCursorOnTooltip) return;\n\n if (onToggle) onToggle(false);\n setIsVisible(false);\n };\n\n useOnClickOutside(refs.reference as RefObject<HTMLDivElement>, handlePressOutside);\n\n const handleDisplayTooltip = (): void => {\n if (onToggle) onToggle(true);\n setIsVisible(true);\n };\n\n const handleHideTooltip = (): void => {\n if (onToggle) onToggle(false);\n setIsVisible(false);\n };\n\n const handleMouseEnter = (): void => {\n setIsCursorOnTooltip(true);\n };\n\n const handleMouseLeave = (): void => {\n setIsCursorOnTooltip(false);\n };\n\n const themePart = isVisible ? 'out' : 'in';\n const transitionDuration = theme.kitt.tooltip.transition[themePart].duration;\n const transitionTimingFunction = theme.kitt.tooltip.transition[themePart].timingFunction;\n const transformOrigin = `center ${placement === 'bottom' ? 'top' : 'bottom'}`;\n\n return (\n <View ref={reference as any} position=\"relative\" display=\"inline-flex\" alignSelf={alignSelf}>\n {renderPressable({\n onHoverIn: handleDisplayTooltip,\n onFocus: handleDisplayTooltip,\n onBlur: handleHideTooltip,\n })}\n\n <Portal>\n <View\n ref={floating as any}\n accessibilityHidden={!isVisible}\n paddingX={{ base: 'kitt.4', small: 0 }}\n width={{ base: '100%', small: 'max-content' }}\n maxWidth={{ base: '100%', small: 'kitt.tooltip.maxWidth' }}\n opacity={isVisible ? 'kitt.tooltip.opacity' : 0}\n pointerEvents={isVisible || isCursorOnTooltip ? 'auto' : 'none'}\n position={strategy}\n zIndex={zIndex}\n top={0}\n left={0}\n _web={{\n style: {\n transform: [\n {\n translate3d: isBase && !fullWidth ? `0, ${tooltipY}px, 0` : `${tooltipX}px, ${tooltipY}px, 0`,\n },\n ],\n visibility: isVisible ? 'visible' : 'hidden',\n transitionDuration,\n transitionProperty: theme.kitt.tooltip.transition[themePart].property,\n transitionTimingFunction,\n },\n }}\n onTouchStart={handleMouseEnter}\n onTouchEnd={handleMouseLeave}\n onMouseEnter={handleMouseEnter}\n onMouseLeave={handleMouseLeave}\n >\n <View\n _web={{\n style: {\n transform: [{ scale: isVisible ? 1 : 0.8 }],\n transitionDuration: isVisible ? '0' : transitionDuration,\n transitionProperty: 'all',\n transitionTimingFunction,\n transformOrigin,\n },\n }}\n >\n {shouldRenderArrow && placement === 'bottom' ? (\n <Arrow ref={arrowRef} position=\"bottom\" {...sharedArrowProps} />\n ) : null}\n <TooltipContent>{content}</TooltipContent>\n {shouldRenderArrow && placement === 'top' ? (\n <Arrow ref={arrowRef} position=\"top\" {...sharedArrowProps} />\n ) : null}\n </View>\n </View>\n </Portal>\n </View>\n );\n}\n\nTooltip.Arrow = Arrow;\nTooltip.Content = TooltipContent;\n","import type { ReactNode } from 'react';\nimport { useMemo } from 'react';\nimport type { Entries } from 'type-fest';\nimport type { EmojiProps } from '../Emoji/Emoji';\nimport { Emoji } from '../Emoji/Emoji';\nimport { KittBreakpointNameEnum } from '../KittBreakpoints';\nimport type { KittThemeContextValue } from '../KittThemeContext';\nimport { useTheme } from '../KittThemeContext';\nimport type { TypographyTypeConfig } from '../themes/late-ocean/typography';\nimport type { TypographyBreakpointType, TypographyType } from './Typography';\nimport { getTypographyTypeConfigKeyFromTypeName } from './Typography';\nimport { getTypographyFamily } from './utils/getTypographyFamily';\n\nfunction getTypographyTypeConfig(type: TypographyType, theme: KittThemeContextValue): TypographyTypeConfig {\n const { configs } = theme.kitt.typography.types[getTypographyFamily(type)];\n return (configs as any)[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: KittThemeContextValue): 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): ReactNode {\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 { css } from '@linaria/core';\nimport cx from 'classnames';\nimport type { ReactNode } from 'react';\nimport type { TypographyLinkWebWrapperProps } from './TypographyLinkWebWrapper';\n\n// overrides :global(a) in Link styles.module.css\nconst displayUnderline = css`\n & > * {\n text-decoration: underline;\n }\n\n & > *:hover,\n & > *:active,\n .kitt-hover & > * {\n text-decoration: none;\n }\n`;\n\nconst displayUnderlineWhenHovered = css`\n & > * {\n text-decoration: none;\n }\n\n & > *:hover,\n & > *:active,\n .kitt-hover & > * {\n text-decoration: underline;\n }\n`;\n\nexport function TypographyLinkWebWrapper({ children, hasNoUnderline }: TypographyLinkWebWrapperProps): ReactNode {\n return (\n <span className={cx(displayUnderline, hasNoUnderline ? displayUnderlineWhenHovered : undefined)}>{children}</span>\n );\n}\n","import type { ReactNode } from 'react';\nimport type { TextProps } from 'react-native';\nimport type { Except } from 'type-fest';\nimport type { TypographyPropsWithoutRole } from './Typography';\nimport { Typography } from './Typography';\nimport { TypographyLinkWebWrapper } from './TypographyLinkWebWrapper';\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): ReactNode {\n return (\n <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 </TypographyLinkWebWrapper>\n );\n}\n","import { useMemo } from 'react';\nimport type { Theme } from './themes/default';\nimport { theme as kittTheme } from './themes/default';\n\nexport interface KittTheme {\n kitt: Theme;\n}\n\nexport function useKittTheme(): KittTheme {\n return useMemo(() => {\n return { kitt: kittTheme };\n }, []);\n}\n","import { makeDecorator } from '@storybook/addons';\nimport type { ReactNode } from 'react';\nimport type { AppTheme, KittNativeBaseProviderProps } from '../../native-base/KittNativeBaseProvider';\nimport { KittNativeBaseProvider } from '../../native-base/KittNativeBaseProvider';\nimport { useKittTheme } from '../../useKittTheme';\n\ninterface KittThemeProviderProps {\n appTheme?: AppTheme;\n isSSR?: KittNativeBaseProviderProps['isSSR'];\n children: ReactNode;\n}\n\nexport function KittThemeProvider({ isSSR, children, appTheme }: KittThemeProviderProps): ReactNode {\n const theme = useKittTheme();\n return (\n <KittNativeBaseProvider theme={theme} isSSR={isSSR} appTheme={appTheme}>\n {children}\n </KittNativeBaseProvider>\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 { 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\n/**\n * @deprecated Use react-native Platform instead\n */\nexport function StyleWebWrapper<T extends ElementType = 'div'>({\n as,\n children,\n ...props\n}: StyleWebWrapperProps<T> & ComponentProps<T>): ReactNode {\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 { useWindowDimensions } from 'react-native';\n\nexport interface WindowDimensions {\n width?: number;\n height?: number;\n}\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 { ReactElement, ReactNode } from 'react';\nimport type { BreakpointValueHookValues } from '../../native-base/utils';\nimport { useBreakpointValue } from '../../native-base/utils';\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: Currently not SSR friendly (but could be).\n */\nexport function MatchWindowSize({ children, ...matchWindowSizeOptions }: MatchWindowSizeProps): ReactNode {\n const match = useMatchWindowSize(matchWindowSizeOptions);\n if (!match) return null;\n return children as ReactElement;\n}\n\ntype SwitchBreakpointsProps = BreakpointValueHookValues<Exclude<ReactNode, null>>;\n\n/**\n * Display based on current breakpoint\n *\n * WARNING: Currently not SSR friendly (but could be).\n */\nexport function SwitchBreakpoints(breakpoints: SwitchBreakpointsProps): ReactNode {\n return useBreakpointValue(breakpoints);\n}\n","import { KittBreakpointNameEnum } from '../../KittBreakpoints';\nimport { useBreakpointValue } from '../../native-base/utils';\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 { CheckIcon } from '@ornikar/kitt-icons';\nimport type { ReactNode } from 'react';\nimport { View } from '../native-base/primitives';\nimport { Typography } from '../typography/Typography';\nimport { TypographyIcon } from '../typography/TypographyIcon';\nimport type { StepState } from './Step';\n\nconst backgroundColors = {\n done: 'kitt.verticalSteps.done.icon.backgroundColor',\n active: 'kitt.verticalSteps.active.icon.backgroundColor',\n default: 'kitt.verticalSteps.default.icon.backgroundColor',\n};\n\nexport interface IconStatusProps {\n state: StepState;\n index: number;\n}\n\nfunction IconStatus({ state, index }: IconStatusProps): ReactNode {\n if (state === 'done') {\n return <TypographyIcon icon={<CheckIcon />} color=\"kitt.verticalSteps.done.icon.textColor\" />;\n }\n\n return (\n // padding aligns the text in the center\n <View paddingBottom={2}>\n <Typography.Text\n textAlign=\"center\"\n variant=\"bold\"\n color={\n state === 'active' ? 'kitt.verticalSteps.active.icon.textColor' : 'kitt.verticalSteps.default.icon.textColor'\n }\n >\n {index + 1}\n </Typography.Text>\n </View>\n );\n}\n\ninterface StepIconProps {\n index: number;\n state?: StepState;\n}\n\nexport function StepIcon({ index, state = 'default' }: StepIconProps): ReactNode {\n return (\n <View\n justifyContent=\"center\"\n alignItems=\"center\"\n width={30}\n height={30}\n borderRadius={15}\n backgroundColor={backgroundColors[state]}\n >\n <IconStatus state={state} index={index} />\n </View>\n );\n}\n","import { HStack } from 'native-base';\nimport type { ReactNode } from 'react';\nimport { ActionCard } from '../ActionCard/ActionCard';\nimport { View } from '../native-base/primitives';\nimport { StepIcon } from './StepIcon';\n\nexport type StepState = 'active' | 'done' | 'default';\n\nexport interface ExternalStepProps {\n children: ReactNode;\n shouldDisableNextLink?: boolean;\n}\n\nexport function ExternalStep(props: ExternalStepProps): ReactNode {\n return null;\n}\n\nexport interface StepProps {\n index?: number;\n children: ReactNode;\n state?: StepState;\n isLast?: boolean;\n shouldDisableNextLink?: boolean;\n}\n\nexport function Step({\n index = 0,\n children,\n state = 'default',\n isLast = false,\n shouldDisableNextLink = false,\n}: StepProps): ReactNode {\n return (\n <HStack space=\"kitt.2\" flexGrow={1}>\n <View marginTop=\"kitt.2\" paddingY=\"kitt.2\" backgroundColor=\"kitt.white\">\n <StepIcon state={state} index={index} />\n {!isLast ? (\n <View\n backgroundColor={\n shouldDisableNextLink ? 'kitt.palettes.lateOcean.black100' : 'kitt.palettes.lateOcean.moonPurple'\n }\n width={1}\n position=\"absolute\"\n top={46}\n left={15}\n zIndex={-1}\n height=\"100%\"\n />\n ) : null}\n </View>\n <View flexGrow={1} flexShrink={1}>\n <ActionCard variant=\"primary\">{children}</ActionCard>\n </View>\n </HStack>\n );\n}\n","import type { StepState } from '../Step';\n\nexport function getStepState(index: number, activeIndex: number): StepState {\n if (index === activeIndex) {\n return 'active';\n }\n if (index < activeIndex) {\n return 'done';\n }\n return 'default';\n}\n","import type { ViewProps } from '@ornikar/kitt-universal';\nimport { VStack } from 'native-base';\nimport type { ReactComponentElement, ReactNode } from 'react';\nimport { Children, createElement } from 'react';\nimport type { StepProps } from './Step';\nimport { ExternalStep, Step } from './Step';\nimport { getStepState } from './utils/getStepState';\n\nexport interface VerticalStepsProps extends ViewProps {\n children: ReactComponentElement<typeof ExternalStep> | ReactComponentElement<typeof ExternalStep>[];\n activeIndex: number;\n}\n\nexport function VerticalSteps({ children, activeIndex, ...props }: VerticalStepsProps): ReactNode {\n return (\n <VStack space=\"kitt.4\" width=\"100%\" {...props}>\n {Children.map(children, (child: ReactComponentElement<typeof ExternalStep>, index) => {\n if (__DEV__ && child.type !== ExternalStep) {\n throw new Error('VerticalSteps only accepts VerticalSteps.Step as children');\n }\n\n const isLast = index === Children.count(children) - 1;\n return createElement<StepProps>(\n Step,\n {\n ...child.props,\n index,\n isLast,\n state: getStepState(index, activeIndex),\n },\n child.props.children,\n );\n })}\n </VStack>\n );\n}\n\nVerticalSteps.Step = ExternalStep;\n"],"names":["View","NativeBaseView","ScrollView","NativeBaseScrollView","Pressable","NativeBasePressable","Image","NativeBaseImage","FlatList","NativeBaseFlatList","SectionList","NativeBaseSectionList","hex2rgba","hex","alpha","r","parseInt","slice","g","b","lateOceanColorPalette","lateOcean","lateOceanLight1","lateOceanLight2","lateOceanLight3","lateOceanDark1","warmEmbrace","warmEmbraceLight1","black1000","black800","black555","black400","black200","black100","black50","black25","white","viride","englishVermillon","goldCrayola","aero","seaShell","transparent","moonPurple","moonPurpleLight1","colors","primary","primaryLight","accent","accentLight","success","correct","danger","info","warning","separator","hover","black","blackDisabled","blackLight","blackAnthracite","uiBackground","uiBackgroundLight","disabled","overlay","dark","light","actionCard","borderRadius","default","backgroundColor","borderColor","borderWidth","shadow","color","offsetX","offsetY","opacity","radius","translateY","hovered","focused","pressed","secondary","highlight","defaultAvatarSize","defaultAvatarIconSize","largeAvatarSize","largeAvatarIconSize","avatar","size","iconSize","large","spacing","bottomSheet","container","padding","handle","button","focus","minHeight","minWidth","maxWidth","scale","base","active","medium","contentPadding","xLarge","horizontal","vertical","transition","duration","timingFunction","pressedBackgroundColor","hoverBackgroundColor","focusBorderColor","ghost","hoverColor","activeColor","subtle","card","webAnimationContentDuration","webAnimationContentEasing","webAnimationOverlayDuration","webAnimationOverlayEasing","overlayHorizontalPadding","cardModal","maxWidthWithPadding","header","height","footer","overlayPadding","animation","easing","content","choices","row","column","item","small","selected","hoverWhenSelected","border","width","property","dialogModal","feedbackMessage","autocomplete","option","verticalPadding","highlighted","optionsContainer","checkbox","markColor","textSpacing","checked","datePicker","day","month","year","calcLineHeight","fontSize","lineHeightMultiplier","Math","round","createLegacyTypographyTypeConfig","lineHeightMultiplierBaseAndSmall","baseAndSmallFontSize","mediumAndWideFontSize","lineHeightMultiplierMediumAndWide","baseAndSmall","lineHeight","mediumAndWide","createTypographyConfig","config","typography","kittColors","types","Error","headings","fontFamily","native","regular","bold","web","fontWeight","fontStyle","configs","header1","header2","header3","header4","header5","headers-impact","bodies","body","link","disabledColor","inputStatesStyle","pending","valid","invalid","webAnimationDuration","webAnimationTimingFunction","webAnimationProperty","input","selection","placeholder","icon","rightContainer","states","inputField","containerPaddingTop","containerPaddingBottom","feedbackPaddingTop","labelContainerPaddingBottom","labelFeedbackMarginLeft","inputTag","labelColor","radio","unchecked","innerSize","innerBackgroundColor","radioButtonGroup","textArea","timePicker","forms","fullscreenModal","sharedHorizontalPadding","getIconSizeFromFontSize","createTypographyIconSizeConfig","baseAndSmallIconSize","mediumAndWideIconSize","defaultSize","typographySize","iconButton","listItem","horizontalPadding","innerMargin","pageLoaderSize","pageLoaderStrokeWidth","webAnimationDelay","webAnimationCircleBackgroundFillDuration","webAnimationFilledCircleFillDuration","webAnimationFilledCircleRotationDuration","fillEasingFunction","pageLoader","strokeWidth","fill","delay","circleBackgroundFillDuration","filledCircleFillDuration","groupFilledCircleRotationDuration","filledCircleRotationDuration","picker","ios","landscape","android","shadows","cards","low","highBase","highMedium","highLarge","navigation","left","right","panel","skeletonBackgroundColor","skeletonFlareColor","skeleton","flareColor","animationDuration","shape","bar","circle","square","tag","outline","warn","tooltip","floatingPadding","in","out","arrow","verticalSteps","textColor","done","breakpoints","values","wide","min","smallBreakpoint","mediumBreakpoint","largeBreakpoint","wideBreakpoint","max","theme","getSpacing","multiplier","palettes","KittThemeContext","createContext","kitt","kittTheme","useTheme","useContext","getStateKey","isHovered","isPressed","isFocused","getThemeName","variant","borderVariant","ActionCardContentWrapper","children","state","__DEV__","sharedTransform","transform","themeName","_jsx","_ios","style","_android","_web","flexGrow","ActionCardDisabled","borderStyle","ActionCard","props","ActionCardPressable","forwardRef","testID","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","message","process","env","NODE_ENV","console","deprecatedMessage","symbol","deprecation","replaceBy","replaceMessage","undefined","deprecatedInComponent","component","useBreakpointValue","useBreakpointValueNativeBaseBadlyTyped","getCurrentBackgroundColorForNativeBaseTheme","type","isDisabled","baseKey","getCurrentScale","hoverScaleValue","pressedScaleValue","AnimatedContainer","isStretch","responsiveHoverScaleValue","currentScale","currentBackgroundColor","transitionProperty","transitionDuration","transitionTimingFunction","backfaceVisibility","alignSelf","KittBreakpoints","BASE","SMALL","MEDIUM","LARGE","WIDE","KittBreakpointsMax","KittBreakpointNameEnum","typographyColors","getNBThemeColorFromColorProps","colorName","isColorTypographyColor","includes","getTypographyColorValue","fromEntries","entries","map","value","isTypeHeadings","startsWith","isTypeHeadingsImpact","getTypographyFamily","getTypographyFamilyWithAncestorValue","typographyFamilyInContext","TypographyFamilyContext","TypographyTypeContext","TypographyColorContext","useTypographyColor","useTypographyAncestorType","TypographyDefaultColorContext","useTypographyDefaultColor","getTypographyTypeConfigKeyFromTypeName","createNativeBaseFontSize","typeWithMediumForced","fontSizeForNativeBase","typeName","Typography","legacyBase","legacySmall","legacyMedium","legacyLarge","legacyWide","otherProps","sx","useSx","defaultColor","hasTypographyAncestor","baseOrDefaultToBody","typographyFamily","nonNullableVariant","currentColor","currentColorValue","colorStyles","textDecorationColor","key","text","NBText","Provider","TypographyText","TypographyParagraph","createHeading","level","defaultBase","TypographyHeading","accessibilityLevel","displayName","SetDefaultColor","Text","Paragraph","Header1","Header2","Header3","Header4","Header5","Header6","h1","h2","h3","h4","h5","Icon","align","clonedIcon","cloneElement","getIconSizeConfigKeyFromTypeName","createNativeBaseIconSize","iconSizeForNativeBase","TypographyIconSpecifiedColor","ancestorType","colorValue","colorStyleValue","TypographyIconInheritColor","TypographyIcon","getButtonTextColorByType","isButtonInteractedWith","ButtonIcon","iconPosition","marginRight","marginLeft","ButtonContentChildren","buttonIconSharedProps","sharedNativeStyle","flexShrink","_jsxs","alignItems","justifyContent","flexDirection","textAlign","ButtonContent","flexBasis","getCurrentPaddingConfig","ButtonPadding","currentPaddingKey","position","paddingX","paddingY","DisabledBorder","top","bottom","FocusBorder","buttonTheme","useNativeAnimation","onPressIn","onPressOut","animatedStyles","getButtonSize","allowedGhostTypes","Button","stretch","sizeProp","onHoverIn","onHoverOut","onFocus","onBlur","deprecatedProp","spinningIcon","SpinningIcon","SpinningIconProps","className","LoaderIcon","ArcIcon","ActionsItem","as","isLoading","setIsLoading","useState","mountedRef","useRef","useEffect","current","e","error","ActionsButton","getCurrentLayout","layout","getCurrentDirection","getCurrentAlignSelf","Actions","reversed","currentAlignItems","currentDirection","currentAlignSelf","direction","space","Item","getCurrentRadius","sizeVariant","getCurrentSize","getIconSize","getInitials","firstname","lastname","toUpperCase","AvatarContent","src","alt","isLight","source","uri","accessibilityLabel","UserIcon","Avatar","currentSize","currentBorderRadius","overflow","BottomSheetComponent","BottomSheet","useBottomSheet","useStaticBottomSheet","Content","bottomSheetRef","BottomSheetMemoized","useMemo","overflowHidden","useBlockBodyScroll","isScrollBlocked","document","classList","add","remove","ModalBehaviourPortal","visible","ModalBehaviourPortalProps","Boolean","Portal","_Fragment","OnCloseContext","OnCloseProvider","onClose","useOnCloseModalBehaviour","CloseButton","onCloseContextCallback","ModalBehaviour","Overlay","CardModalRotationContainer","contentAnimationEnter","contentAnimatioEnterActive","contentAnimatioExit","contentAnimatioExitActive","contentAnimationClassNames","appear","appearActive","enter","enterActive","exit","exitActive","opacityEnter","opacityEnterActive","opacityExit","opacityExitActive","opacityClassNames","CardModalAnimation","unmountOnExit","isAnimationEnabled","onEnter","onEntered","onExit","onExited","CardModalAnimationProps","sharedProps","CSSTransition","timeout","classNames","margin","CardModalScrollContainer","CardModalBehaviour","isModalBehaviourVisible","setIsModalBehaviourVisible","bounces","contentContainerStyle","CardModalBody","CardModalFooter","hasSeparator","marginTop","borderTopWidth","CardModalHeader","title","paddingBottom","defaultContainerPadding","borderBottomWidth","paddingRight","paddingLeft","CardModal","withoutShadow","maxHeight","Body","Header","Footer","getBackgroundColor","isSelected","getBorderRadius","Number","MAX_SAFE_INTEGER","AnimatedChoiceItemView","backgroundStyles","getCurrentTextColor","ChoiceItem","onChange","handleChange","accessibilityState","ChoiceItemContainer","isLast","currentItemMarginValue","marginBottom","ChoicesContainer","Choices","id","currentValue","setCurrentValue","isForm","childrenArray","Children","toArray","newValue","nativeID","child","index","element","createChoicesComponent","ButtonChoices","ChoicesElements","DialogModalAnimation","DialogModalAnimationProps","DialogModalBehaviour","DialogModal","illustration","actions","paddingTop","DialogModalButton","Emoji","emoji","emojiData","parse","assetType","url","ExternalAppLink","Component","appScheme","appValue","onOpenAppError","rest","canOpen","Linking","canOpenURL","defaultPrevented","openURL","catch","Sms","phoneNumber","Tel","Mail","emailAddress","defaultOpenLinkBehavior","ExternalLink","openLinkBehavior","target","rel","useOpenExternalLink","behavior","window","open","getIconColor","InputIcon","InputPressable","inputTextContainer","InputTextContainer","InputText","formState","internalForceState","autoCorrect","textContentType","autoComplete","keyboardType","multiline","onSubmitEditing","Input","py","isHighlighted","AutocompleteItem","AutocompleteItemsListContainer","zIndex","elevation","AutocompleteOption","isReactElement","Autocomplete","name","isInitialOpen","initialValue","containerProps","filterItemBasedOnCurrentInputValue","checkSelectedItem","itemToString","onInputChange","onSelectItem","onOuterPress","errorElement","emptyResultsElement","inputTestID","listContainerTestID","items","filter","Downshift","defaultIsOpen","initialSelectedItem","initialInputValue","stateReducer","changes","stateChangeTypes","changeInput","selectedItem","stateAndHelpers","onSelect","onOuterClick","onInputValueChange","getRootProps","getInputProps","getMenuProps","getItemProps","getToggleButtonProps","isOpen","inputValue","highlightedIndex","openMenu","shouldSuppressRefError","rootProps","suppressRefError","menuProps","onClick","onClickToggle","onPressToggle","toggleProps","onKeyDown","onSearchInputFocus","onSearchInputBlur","onSearchInputChange","inputProps","hasCurrentSearch","currentItems","isCurrentlyOpen","canDisplayCollapseButton","hitSlop","CaretUpFillIcon","CaretDownFillIcon","onKeyPress","role","ariaSelected","itemProps","Option","UnsafeInternalItem","isChecked","getBorderColor","Checkbox","display","CheckboxMarkIcon","getReturnKeyTypeForNumericInput","returnKeyType","prefixWithZero","maxLength","padStart","dayFormatter","monthFormatter","yearFormatter","getDayInInterval","getMonthInInterval","minDate","maxDate","minValue","getMonth","maxValue","getYearInInterval","getFullYear","getValueToDisplayedString","toString","keyboardDatePickerReducer","action","nextDay","currentDay","displayedDay","nextMonth","currentMonth","displayedMonth","nextYear","currentYear","displayedYear","nextCurrentDay","nextCurrentMonth","nextCurrentYear","isNumber","isNaN","onDatePartChange","validYearMinLength","arrayParts","isEverythingUndefined","every","v","isEverythingDefined","nextValue","Date","isValidYear","setDate","setMonth","setFullYear","setMinutes","setHours","setSeconds","setMilliseconds","isMinDateAfterNextValue","getTime","isMaxDateBeforeNextValue","stringToNumber","getCurrentInternalForcedState","InputPart","PartContainer","KeyboardDatePicker","monthRef","yearRef","defaultValue","defaultDay","getDate","defaultMonth","defaultYear","dispatch","useReducer","sharedInputPartProps","handleDatePartChange","handleAutoFocusNextField","currentFieldValue","nextFieldRef","nativeEvent","DatePicker","GoogleMapsApiKeyContext","GoogleMapsApiKeyProvider","apiKey","useGoogleMapApiKey","context","useGoogleMapsApi","autoCompleteServiceInstanceRef","placesServiceInstanceRef","loader","Loader","libraries","placeApi","importLibrary","AutocompleteService","PlacesService","createElement","getPlacePredictions","promise","Promise","resolve","predictions","status","google","maps","places","PlacesServiceStatus","OK","results","placesService","getDetails","placeId","place","result","googleMapsAutocompleteReducer","hasSearchError","isLoadingSearch","payload","hasSelectResultError","isLoadingResultDetails","currentSelectedValue","findComponentByType","components","find","matchStreetNumberWithOriginalAddress","streetNumber","address","number","extension","exec","formatAddressFromGoogle","placeResult","originalAddress","address_components","addressComponents","lat","geometry","location","lng","locality","long_name","subLocality","zipcode","streetName","country","administrativeAreaLevel1","administrativeAreaLevel2","GoogleMapsAutocompleteContext","shouldDisplayEmptyStateWhenNoResults","GoogleMapsAutocompleteProvider","minCharsToSearch","debounceTimeout","mapsApi","searchResultsCache","resultDetailsCache","handleInputChange","useDebouncedCallback","useCallback","predictionsPromise","handleSelectItem","place_id","placePromise","then","formattedAddress","description","api","useGoogleMapsAutocomplete","InputAddressOption","MapPinIcon","structured_formatting","main_text","secondary_text","defaultItemToString","formatInitialValueToAutocompletePrediction","reference","terms","matched_substrings","join","main_text_matched_substrings","InputAddress","formattedInitialValue","InputEmail","autoCapitalize","getColorFromState","InputFeedback","InputField","label","labelFeedback","feedback","InputNumber","event","parseFloat","InputPassword","isPasswordDefaultVisible","isVisible","setIsVisible","secureTextEntry","prev","EyeSlashFillIcon","EyeFillIcon","isPhoneNumberValid","isValidNumber","phoneNumberLength","InputPhone","currentReturnKeyType","parseNumber","phone","finalPhoneNumber","eventWithoutCountryCode","countryCode","getCountryCallingCode","originalNativeEventText","getTypographyColor","InputTag","typographyColor","Label","htmlFor","InnerCircle","OuterCircle","Radio","focusable","getCurrentBackgroundColor","getCurrentBorderColor","isFirst","borderTopLeftRadius","borderBottomLeftRadius","borderTopRightRadius","borderBottomRightRadius","borderLeftWidth","HoverBorder","shouldDisplayBorder","RadioButton","RadioButtonGroupItem","RadioButtonGroup","flexWrap","clone","TextArea","textAlignVertical","FullscreenModalBody","shouldHandleBottomNotch","shouldHandleTopNotch","useSafeAreaInsets","FullscreenModalFooter","borderTopColor","slideInFromBottomEnter","slideInFromBottomEnterActive","slideInFromBottomExit","slideInFromBottomExitActive","slideInClassNames","FullscreenModalAnimation","FullscreenModalAnimationProps","FullscreenModalBehaviour","FullscreenModalContainer","FullscreenModalHeader","isTransparent","hasRight","hasLeft","hasContent","borderBottomColor","FullscreenModal","Highlight","Background","AnimatedBackground","scaleHover","scalePressed","AnimatedScale","currentHoverScale","currentPressedScale","opacityStyles","scaleStyles","getIconButtonTextColorByColor","IconButton","translate3d","isCurrentHovered","isCurrentPressed","CloseIconButton","XRegularIcon","KittMapConfigProviderContext","KittMapConfigProvider","mapId","apiToken","providerValue","useKittMapConfig","ListItemContent","ListItemSideContainer","side","ListItemSideContent","ListItem","withPadding","borders","Wrapper","Fragment","wrapperProps","SideContent","SideContainer","MapMarkerSimple","styles","DefaultMarkerSvg","MapMarkerLarge","LargeMarkerSvg","MapMarkerPosition","PositionMarkerSvg","IconContent","AlertCircleIcon","CheckIcon","AlertTriangleIcon","InfoIcon","getColorByType","getIconButtonColor","messageType","BaseMessage","hasNoRadius","centeredText","insets","onDismiss","Message","createKittSpaces","sizes","positive","negative","overridenNativeBaseSizeandSpaceScale","createKittNativeBaseCustomTheme","appTheme","spaces","appBreakpoints","extendedTheme","extendTheme","innerCircle","app","radii","lg","md","sm","xl","xs","borderWidths","fontSizes","lineHeights","fontWeights","fonts","shadowColor","shadowOffset","shadowOpacity","shadowRadius","baseStyle","px","_disabled","_light","placeholderTextColor","bg","_hover","_focus","_stack","outlineWidth","boxShadow","selectionColor","_invalid","variants","underlined","rounded","filled","unstyled","_dark","KittNativeBaseProvider","isSSR","nativeBaseCustomTheme","kittInternalTheme","NativeBaseProvider","NativeOnlyFlatList","scrollEnabled","ListHeaderComponent","ListFooterComponent","data","numColumns","ListHeaderComponentStyle","ListFooterComponentStyle","keyExtractor","renderItem","Array","prototype","call","separators","SimpleContainer","NavigationModalBehaviour","AnimationComponent","CurrentContainerComponent","shouldAppear","setShouldAppear","NavigationModal","Notification","pageLoaderContainer","PageLoader","center","circlePerimeter","PI","cx","cy","strokeDasharray","strokeDashoffset","strokeLinecap","stroke","PickerItem","PickerOption","webUseSelectReducer","actionAndChanges","options","useSelect","ItemClick","keepOpenOnChange","Picker","renderTrigger","triggerViewProps","initialValueIndex","indexOf","initialIsOpen","onIsOpenChange","onSelectedItemChange","onPressTrigger","restToggleProps","x","y","floating","strategy","useFloating","placement","whileElementsMounted","autoUpdate","middleware","offset","tooltipY","tooltipX","menuRef","myRef","currentRef","visibility","SegmentedProgressBar","currentStep","stepsCount","colorVariant","withCurrentInProgress","fillColor","steps","from","stepNumber","isSegmentCurrentInProgress","Stripes","skeletonWithoutAnimation","SkeletonContent","SkeletonProps","Skeleton","setWidth","onLayout","Bar","Circle","Square","getStaticMapImageUrl","mapWidth","mapHeight","is2x","centerPart","long","zoom","urlParts","mapImageUrl","URL","searchParams","append","useGetStaticMapImageUrl","forceMapId","forceApiToken","currentUrl","setCurrentUrl","currentMapIdRef","currentApiTokenRef","newUrl","StaticMapError","onReload","RotateCCWIcon","StaticMapImage","onLoadEnd","onError","StaticMapLoader","getMarkerPosition","translateX","StaticMapMarker","getRangedWidthValue","nextWidth","rangedMapWidth","getShouldDisplay2x","devicePixelRatio","mapBoxMaxPictureWidth","getPictureWidth","StaticMap","marker","onLoaded","currentWidth","setCurrentWidth","hasError","setHasError","currentMapKey","setCurrentMapKey","shouldDisplay2xImage","mapUrl","KITT_MAP_CHROMATIC_IGNORE","Marker","Flex","wrap","storyPadding","getBackgroundColorFromBlockColor","getTypographyColorFromBlockColor","StoryBlockBackgroundContext","StoryBlockColorContext","useStoryBlockColor","storyBlockColor","StoryBlock","background","marginX","StoryTitle","numberOfLines","StoryTitleLevel2","StoryTitleLevel3","StoryTitleLevel4","Level2","Level3","Level4","Story","StorySection","internalIsDemoSection","SubSection","BlockSection","DemoSection","Demo","DeprecatedSection","StoryContainer","platform","StoryDecorator","storyFn","parameters","disableStoryContainer","StoryGridRow","breakpoint","StoryGridCol","titleColor","StoryGrid","Row","Col","getLabelColor","Tag","keepHoursInterval","hours","getDisplayedHours","keepMinutesInterval","minutes","getDisplayedMinutes","minutesWithinInterval","getInitialInputValueFromDateValue","date","getHours","getMinutes","TimePicker","validateButtonLabel","isDefaultVisible","modalTestID","pickerTestID","setInputValue","currentInputValue","split","nextDate","sanitizedValue","replace","currentHours","currentMinutes","Arrow","transformStyle","rotate","TooltipArrowImage","TooltipContent","getShouldRenderArrow","isTooltipFullWidth","isBase","useShouldRenderArrow","getHasArrowEnoughSpace","arrowCenterOffset","Tooltip","defaultVisible","fullWidth","onToggle","renderPressable","pressableProps","onUpdate","isCursorOnTooltip","setIsCursorOnTooltip","arrowRef","currentFloatingPadding","update","refs","middlewareData","autoPlacement","allowedPlacements","shift","crossAxis","centerOffset","shouldRenderArrow","hasArrowEnoughSpace","sharedArrowProps","useOnClickOutside","handleDisplayTooltip","handleMouseEnter","handleMouseLeave","themePart","transformOrigin","accessibilityHidden","pointerEvents","onTouchStart","onTouchEnd","onMouseEnter","onMouseLeave","getTypographyTypeConfig","calcSizesFromType","TypographyEmoji","displayUnderline","displayUnderlineWhenHovered","TypographyLinkWebWrapper","hasNoUnderline","TypographyLinkWebWrapperProps","TypographyLink","noUnderline","underline","dataSet","cursor","useKittTheme","KittThemeProvider","KittThemeDecorator","makeDecorator","parameterName","wrapper","StyleWebWrapper","matchWindowSize","hasWidthMatched","hasHeightMatched","useMatchWindowSize","useWindowDimensions","MatchWindowSize","matchWindowSizeOptions","match","SwitchBreakpoints","useCurrentBreakpointName","backgroundColors","IconStatus","StepIcon","ExternalStep","Step","shouldDisableNextLink","getStepState","activeIndex","VerticalSteps","count"],"mappings":"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"}
1
+ {"version":3,"file":"index-node-18.18.cjs.web.js","sources":["../src/native-base/primitives.ts","../src/utils/hexToRgba.ts","../src/themes/palettes/lateOceanColorPalette.ts","../src/themes/late-ocean/colors.ts","../src/themes/late-ocean/actionCard.ts","../src/themes/late-ocean/avatar.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/autocomplete.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/timePicker.ts","../src/themes/late-ocean/forms.ts","../src/themes/late-ocean/fullscreenModal.ts","../src/themes/late-ocean/highlight.ts","../src/themes/late-ocean/icon.ts","../src/themes/late-ocean/iconButton.ts","../src/themes/late-ocean/listItem.ts","../src/themes/late-ocean/pageLoader.ts","../src/themes/late-ocean/picker.ts","../src/themes/late-ocean/shadows.ts","../src/themes/late-ocean/skeleton.ts","../src/themes/late-ocean/tag.ts","../src/themes/late-ocean/tooltip.ts","../src/themes/late-ocean/verticalSteps.ts","../src/themes/default.ts","../src/KittThemeContext.tsx","../src/ActionCard/utils/getStateKey.ts","../src/ActionCard/utils/getThemeName.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/native-base/utils.ts","../src/Button/utils/getCurrentBackgroundColorForNativeBaseTheme.ts","../src/Button/utils/getCurrentScale.ts","../src/Button/AnimatedContainer.web.tsx","../src/KittBreakpoints.ts","../src/typography/typographyColors.ts","../src/typography/utils/getNBThemeColorFromColorProps.ts","../src/typography/utils/getTypographyColorValue.ts","../src/typography/utils/getTypographyFamily.ts","../src/typography/Typography.tsx","../src/Icon/Icon.tsx","../src/typography/TypographyIcon.tsx","../src/Button/utils/getButtonTextColorByType.ts","../src/Button/ButtonContent.tsx","../src/Button/ButtonPadding.tsx","../src/Button/DisabledBorder.tsx","../src/Button/FocusBorder.tsx","../src/Button/hooks/useNativeAnimation.web.ts","../src/Button/utils/getButtonSize.ts","../src/Button/Button.tsx","../src/Icon/SpinningIcon.web.tsx","../src/LoaderIcon/LoaderIcon.tsx","../src/Actions/ActionsItem.tsx","../src/Actions/ActionsButton.tsx","../src/Actions/Actions.tsx","../src/Avatar/utils/getCurrentRadius.ts","../src/Avatar/utils/getCurrentSize.ts","../src/Avatar/utils/getIconSize.ts","../src/Avatar/utils/getInitials.ts","../src/Avatar/Avatar.tsx","../src/BottomSheet/BottomSheet.web.tsx","../src/BottomSheet/useBottomSheet.ts","../src/BottomSheet/useStaticBottomSheet.tsx","../src/ModalBehaviour/ModalBehaviourPortal.web.tsx","../src/ModalBehaviour/OnCloseContext.tsx","../src/ModalBehaviour/ModalBehaviour.tsx","../src/Overlay/Overlay.tsx","../src/CardModal/CardModalAnimation/CardModalRotationContainer.tsx","../src/CardModal/CardModalAnimation/CardModalAnimation.web.tsx","../src/CardModal/CardModalBehaviour.tsx","../src/CardModal/CardModalBody.tsx","../src/CardModal/CardModalFooter.tsx","../src/CardModal/CardModalHeader.tsx","../src/CardModal/CardModal.tsx","../src/Choices/utils/getBackgroundColor.ts","../src/Choices/utils/getBorderRadius.ts","../src/Choices/AnimatedChoiceItemView.web.tsx","../src/Choices/hooks/useNativeAnimation.web.tsx","../src/Choices/utils/getCurrentTextColor.ts","../src/Choices/ChoiceItem.tsx","../src/Choices/ChoiceItemContainer.tsx","../src/Choices/Choices.tsx","../src/DialogModal/DialogModalAnimation/DialogModalAnimation.web.tsx","../src/DialogModal/DialogModalBehaviour.tsx","../src/DialogModal/DialogModal.tsx","../src/Emoji/Emoji.tsx","../src/ExternalAppLink/ExternalAppLink.tsx","../src/ExternalLink/ExternalLinkOpenLinkBehavior.ts","../src/ExternalLink/ExternalLink.web.tsx","../src/ExternalLink/hooks/useOpenExternalLink.web.tsx","../src/forms/InputIcon/InputIcon.tsx","../src/forms/InputPressable/InputPressable.tsx","../src/forms/InputText/InputTextContainer.web.tsx","../src/forms/InputText/InputText.tsx","../src/forms/Autocomplete/AutocompleteItem.tsx","../src/forms/Autocomplete/AutocompleteItemsListContainer.tsx","../src/forms/Autocomplete/AutocompleteOption.tsx","../src/forms/Autocomplete/Autocomplete.tsx","../src/forms/Checkbox/checkbox-mark.inline.svg","../src/forms/Checkbox/utils/getBackgroundColor.ts","../src/forms/Checkbox/utils/getBorderColor.ts","../src/forms/Checkbox/Checkbox.tsx","../src/utils/getEnterKeyHintForNumericInput/getEnterKeyHintForNumericInput.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/DatePicker/components/InputPart.tsx","../src/forms/DatePicker/components/PartContainer.tsx","../src/forms/DatePicker/components/KeyboardDatePicker.tsx","../src/forms/DatePicker/DatePicker.web.tsx","../src/GoogleMapsApiKeyProvider/GoogleMapsApiKeyProvider.tsx","../src/GoogleMapsApiKeyProvider/hooks/useGoogleMapApiKey.ts","../src/GoogleMapsAutocompleteProvider/hooks/useGoogleMapsApi.web.ts","../src/GoogleMapsAutocompleteProvider/reducer/googleMapsAutocompleteReducer.ts","../src/GoogleMapsAutocompleteProvider/utils/formatAddressFromGoogle.ts","../src/GoogleMapsAutocompleteProvider/GoogleMapsAutocompleteProvider.tsx","../src/GoogleMapsAutocompleteProvider/hooks/useGoogleMapsAutocomplete.ts","../src/forms/InputAddress/InputAddressOption.tsx","../src/forms/InputAddress/utils/defaultItemToString.ts","../src/forms/InputAddress/utils/formatInitialValueToAutocompletePrediction.ts","../src/forms/InputAddress/InputAddress.tsx","../src/forms/InputEmail/InputEmail.tsx","../src/forms/InputFeedback/InputFeedback.tsx","../src/forms/InputField/InputField.tsx","../src/forms/InputNumber/InputNumber.tsx","../src/forms/InputPassword/InputPassword.tsx","../src/forms/InputPhone/InputPhone.tsx","../src/forms/InputTag/InputTag.tsx","../src/forms/Label/Label.tsx","../src/forms/Radio/InnerCircle.tsx","../src/forms/Radio/utils/getBackgroundColor.ts","../src/forms/Radio/utils/getBorderColor.ts","../src/forms/Radio/OuterCircle.tsx","../src/forms/Radio/Radio.tsx","../src/forms/RadioButtonGroup/utils/getCurrentBackgroundColor.ts","../src/forms/RadioButtonGroup/utils/getCurrentBorderColor.ts","../src/forms/RadioButtonGroup/AnimatedContainer/AnimatedContainer.web.tsx","../src/forms/RadioButtonGroup/HoverBorder.tsx","../src/forms/RadioButtonGroup/hooks/useNativeAnimation.web.ts","../src/forms/RadioButtonGroup/utils/getCurrentTextColor.ts","../src/forms/RadioButtonGroup/RadioButton.tsx","../src/forms/RadioButtonGroup/RadioButtonGroup.tsx","../src/forms/TextArea/TextArea.tsx","../src/FullscreenModal/Body.tsx","../src/FullscreenModal/Footer.tsx","../src/FullscreenModal/FullscreenModalAnimation.web.tsx","../src/FullscreenModal/FullscreenModalBehaviour.tsx","../src/FullscreenModal/FullscreenModalContainer.tsx","../src/FullscreenModal/Header.tsx","../src/FullscreenModal/FullscreenModal.tsx","../src/Highlight/Highlight.tsx","../src/IconButton/Background.tsx","../src/IconButton/AnimatedBackground.web.tsx","../src/IconButton/AnimatedScale.web.tsx","../src/IconButton/hooks/useNativeAnimation.web.ts","../src/IconButton/utils/getIconButtonTextColorByColor.ts","../src/IconButton/IconButton.tsx","../src/KittMapConfigProvider/KittMapConfigProvider.tsx","../src/KittMapConfigProvider/hooks/useKittMapConfig.ts","../src/ListItem/ListItemContent.tsx","../src/ListItem/ListItemSideContent.tsx","../src/ListItem/ListItem.tsx","../src/MapMarker/assets/marker-large.inline.svg","../src/MapMarker/assets/marker.inline.svg","../src/MapMarker/assets/position-marker.inline.svg","../src/MapMarker/MapMarker.tsx","../src/BaseMessage/IconContent.tsx","../src/BaseMessage/helper.ts","../src/BaseMessage/BaseMessage.tsx","../src/Message/Message.tsx","../src/native-base/KittNativeBaseProvider.tsx","../src/native-base/NativeOnlyFlatList.web.tsx","../src/NavigationModal/NavigationModalBehaviour.tsx","../src/NavigationModal/NavigationModal.tsx","../src/Notification/Notification.tsx","../src/PageLoader/PageLoader.web.tsx","../src/Picker/PickerItem.web.tsx","../src/Picker/PickerOption.tsx","../src/Picker/reducer/webUseSelectReducer.ts","../src/Picker/Picker.web.tsx","../src/SegmentedProgressBar/assets/stripes.inline.svg","../src/SegmentedProgressBar/SegmentedProgressBar.tsx","../src/Skeleton/SkeletonContent.web.tsx","../src/Skeleton/Skeleton.tsx","../src/StaticMap/utils/getStaticMapImageUrl.ts","../src/StaticMap/hooks/useGetStaticMapImageUrl.ts","../src/StaticMap/StaticMapError.tsx","../src/StaticMap/StaticMapImage.tsx","../src/StaticMap/StaticMapLoader.tsx","../src/StaticMap/StaticMapMarker.tsx","../src/StaticMap/utils/getRangedWidthValue.ts","../src/StaticMap/utils/getShouldDisplay2x.web.ts","../src/StaticMap/StaticMap.tsx","../src/story-components/Flex.tsx","../src/story-components/theme.ts","../src/story-components/StoryBlock.tsx","../src/story-components/StoryTitle.tsx","../src/story-components/Story.tsx","../src/story-components/StorySection.tsx","../src/story-components/StoryContainer.web.tsx","../src/story-components/StoryDecorator.tsx","../src/story-components/StoryGrid.tsx","../src/Tag/Tag.tsx","../src/TimePicker/TimePicker.web.tsx","../src/Tooltip/arrow.inline.svg","../src/Tooltip/Arrow.tsx","../src/Tooltip/TooltipContent.tsx","../src/Tooltip/hooks/useShouldRenderArrow.ts","../src/Tooltip/utils/getHasArrowEnoughSpace.ts","../src/Tooltip/Tooltip.web.tsx","../src/typography/TypographyEmoji.tsx","../src/typography/TypographyLinkWebWrapper.web.tsx","../src/typography/TypographyLink.tsx","../src/useKittTheme.tsx","../src/utils/storybook/KittThemeDecorator.tsx","../src/utils/StyleWebWrapper.tsx","../src/utils/windowSize/useMatchWindowSize.ts","../src/utils/windowSize/MatchWindowSize.tsx","../src/utils/windowSize/useCurrentBreakpointName.ts","../src/VerticalSteps/StepIcon.tsx","../src/VerticalSteps/Step.tsx","../src/VerticalSteps/utils/getStepState.ts","../src/VerticalSteps/VerticalSteps.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","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","export const lateOceanColorPalette = {\n lateOcean: '#4C34E0',\n lateOceanLight1: '#705DE6',\n lateOceanLight2: '#9485EC',\n lateOceanLight3: '#D6BAF9',\n lateOceanDark1: '#291D94',\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 { 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 'primary-border-soft': ActionCardVariant;\n 'primary-border-hard': 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.white,\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: 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 'primary-border-soft': {\n default: {\n backgroundColor: colors.uiBackgroundLight,\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 hovered: {\n backgroundColor: lateOceanColorPalette.black50,\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.white,\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: 0,\n },\n focused: {\n backgroundColor: lateOceanColorPalette.black50,\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: lateOceanColorPalette.black50,\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 'primary-border-hard': {\n default: {\n backgroundColor: colors.uiBackgroundLight,\n borderColor: lateOceanColorPalette.lateOcean,\n borderWidth: 1,\n shadow: {\n color: lateOceanColorPalette.lateOcean,\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.lateOcean,\n borderWidth: 1,\n shadow: {\n color: lateOceanColorPalette.lateOcean,\n offsetX: 0,\n offsetY: 4,\n opacity: 1,\n radius: 0,\n },\n translateY: 0,\n },\n disabled: {\n backgroundColor: lateOceanColorPalette.white,\n borderColor: lateOceanColorPalette.lateOcean,\n borderWidth: 1,\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.lateOcean,\n borderWidth: 1,\n shadow: {\n color: lateOceanColorPalette.lateOcean,\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.lateOcean,\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.white,\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: 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.white,\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: 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","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","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 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 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 /** @deprecated use kitt.x spacings values instead */\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 /** @deprecated use kitt.x spacings values instead */\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 { lateOceanColorPalette } from '../palettes/lateOceanColorPalette';\nimport { colors } from './colors';\n\nexport interface AutocompleteTheme {\n option: {\n verticalPadding: number;\n minHeight: number;\n default: { backgroundColor: string };\n hovered: { backgroundColor: string };\n focused: { backgroundColor: string };\n selected: { backgroundColor: string };\n highlighted: { backgroundColor: string };\n pressed: { backgroundColor: string };\n };\n optionsContainer: {\n borderRadius: number;\n backgroundColor: string;\n shadow: {\n color: string;\n offsetX: number;\n offsetY: number;\n opacity: number;\n radius: number;\n };\n };\n}\n\nexport const autocomplete: AutocompleteTheme = {\n option: {\n verticalPadding: 2,\n minHeight: 40,\n default: {\n backgroundColor: colors.white,\n },\n hovered: { backgroundColor: lateOceanColorPalette.black50 },\n focused: { backgroundColor: lateOceanColorPalette.black50 },\n selected: { backgroundColor: lateOceanColorPalette.black50 },\n highlighted: { backgroundColor: lateOceanColorPalette.black50 },\n pressed: { backgroundColor: lateOceanColorPalette.black100 },\n },\n optionsContainer: {\n borderRadius: 10,\n backgroundColor: colors.white,\n shadow: { color: colors.black, offsetX: 0, offsetY: 10, opacity: 0.15, radius: 20 },\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\n/** @deprecated legacy typography type config is deprecated. */\nexport const createLegacyTypographyTypeConfig = (\n lineHeightMultiplierBaseAndSmall: number,\n baseAndSmallFontSize: number,\n mediumAndWideFontSize: number = baseAndSmallFontSize,\n lineHeightMultiplierMediumAndWide = lineHeightMultiplierBaseAndSmall,\n): TypographyTypeConfig => ({\n baseAndSmall: {\n fontSize: baseAndSmallFontSize,\n lineHeight: calcLineHeight(baseAndSmallFontSize, lineHeightMultiplierBaseAndSmall),\n },\n mediumAndWide: {\n fontSize: mediumAndWideFontSize,\n lineHeight: calcLineHeight(mediumAndWideFontSize, lineHeightMultiplierMediumAndWide),\n },\n});\n\nexport const createTypographyConfig = (fontSize: number, lineHeightMultiplier: number): TypographyTypeConfig => {\n const config: TypographyTypeBreakpointRangeConfig = {\n fontSize,\n lineHeight: calcLineHeight(fontSize, lineHeightMultiplier),\n };\n return { baseAndSmall: config, mediumAndWide: config };\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 headings: {\n fontFamily: {\n native: {\n regular: 'Moderat-Black',\n bold: 'Moderat-Black',\n },\n web: {\n regular: 'Moderat',\n bold: 'Moderat',\n },\n },\n fontWeight: {\n regular: 400,\n bold: 700,\n },\n fontStyle: 'normal',\n configs: {\n /* legacy */\n header1: createLegacyTypographyTypeConfig(1.1, 40, 56),\n header2: createLegacyTypographyTypeConfig(1.2, 32, 48, 1.1),\n header3: createLegacyTypographyTypeConfig(1.2, 24, 40, 1.1),\n header4: createLegacyTypographyTypeConfig(1.3, 18, 24, 1.2),\n header5: createLegacyTypographyTypeConfig(1.3, 18, 18),\n\n /* latest */\n 'heading-xxl': createTypographyConfig(56, 1.1),\n 'heading-xl': createTypographyConfig(48, 1.1),\n 'heading-l': createTypographyConfig(40, 1.1),\n 'heading-m': createTypographyConfig(32, 1.2),\n 'heading-s': createTypographyConfig(24, 1.2),\n 'heading-xs': createTypographyConfig(18, 1.3),\n 'heading-xxs': createTypographyConfig(16, 1.3),\n },\n },\n 'headings-impact': {\n fontFamily: {\n native: {\n regular: 'Transducer-Black',\n bold: 'Transducer-Black',\n },\n web: {\n regular: 'TransducerBlack',\n bold: 'TransducerBlack',\n },\n },\n fontWeight: 900,\n fontStyle: 'normal',\n configs: {\n /* legacy */\n 'header-impact-xxl': createLegacyTypographyTypeConfig(1.2, 56, 56),\n 'header-impact-xl': createLegacyTypographyTypeConfig(1.2, 48, 48),\n 'header-impact-l': createLegacyTypographyTypeConfig(1.2, 40, 40),\n 'header-impact-m': createLegacyTypographyTypeConfig(1.2, 32, 32),\n 'header-impact-s': createLegacyTypographyTypeConfig(1.2, 24, 24),\n 'header-impact-xs': createLegacyTypographyTypeConfig(1.2, 18, 18),\n 'header-impact-xxs': createLegacyTypographyTypeConfig(1.2, 16, 16),\n 'header-impact-xxxs': createLegacyTypographyTypeConfig(1.2, 14, 14),\n\n /* latest */\n 'heading-impact-xxl': createTypographyConfig(56, 1.2),\n 'heading-impact-xl': createTypographyConfig(48, 1.2),\n 'heading-impact-l': createTypographyConfig(40, 1.2),\n 'heading-impact-m': createTypographyConfig(32, 1.2),\n 'heading-impact-s': createTypographyConfig(24, 1.2),\n 'heading-impact-xs': createTypographyConfig(18, 1.2),\n 'heading-impact-xxs': createTypographyConfig(16, 1.2),\n 'heading-impact-xxxs': createTypographyConfig(14, 1.2),\n },\n },\n bodies: {\n fontFamily: {\n web: {\n regular: 'Moderat',\n bold: 'Moderat',\n },\n native: {\n regular: 'Moderat-Regular',\n bold: 'Moderat-Black',\n },\n },\n fontWeight: {\n regular: 400,\n bold: 700,\n },\n fontStyle: {\n regular: 'normal',\n bold: 'normal',\n },\n configs: {\n /* legacy */\n 'body-large': createLegacyTypographyTypeConfig(1.4, 18, 24),\n 'body-medium': createLegacyTypographyTypeConfig(1.4, 18, 18),\n body: createLegacyTypographyTypeConfig(1.4, 16, 16),\n 'body-small': createLegacyTypographyTypeConfig(1.4, 14, 14),\n 'body-xsmall': createLegacyTypographyTypeConfig(1.4, 12, 12),\n\n /* latest */\n 'body-xl': createTypographyConfig(24, 1.4),\n 'body-l': createTypographyConfig(18, 1.4),\n 'body-m': createTypographyConfig(16, 1.4),\n 'body-s': createTypographyConfig(14, 1.4),\n 'body-xs': createTypographyConfig(12, 1.4),\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 webAnimationDuration = '200ms';\nexport const webAnimationTimingFunction = 'ease-in-out';\nexport const webAnimationProperty = 'border-color';\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: webAnimationProperty,\n duration: webAnimationDuration,\n timingFunction: webAnimationTimingFunction,\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","export interface TimePickerTheme {\n minWidth: number;\n}\n\nexport const timePicker: TimePickerTheme = {\n minWidth: 100,\n};\n","import { autocomplete } from './autocomplete';\nimport { 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';\nimport { timePicker } from './timePicker';\n\nexport const forms = {\n autocomplete,\n datePicker,\n input,\n radio,\n inputField,\n textArea,\n checkbox,\n inputTag,\n radioButtonGroup,\n timePicker,\n};\n","export interface FullscreenModalTheme {\n header: {\n height: number;\n };\n footer: {\n verticalPadding: number;\n };\n sharedHorizontalPadding: number;\n body: {\n verticalPadding: 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 = 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 fullscreenModal: FullscreenModalTheme = {\n header: {\n height: 56,\n },\n sharedHorizontalPadding: 16,\n footer: {\n verticalPadding: 12,\n },\n body: {\n verticalPadding: 24,\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';\nimport { spacing } from './spacing';\n\nexport interface HighlightThemeType {\n backgroundColor: string;\n}\n\nexport interface HighlightTheme {\n borderRadius: number;\n padding: number;\n regular: HighlightThemeType;\n primary: HighlightThemeType;\n secondary: HighlightThemeType;\n dark: HighlightThemeType;\n}\n\nexport const highlight: HighlightTheme = {\n borderRadius: spacing * 5,\n /** @deprecated use primary instead */\n regular: {\n backgroundColor: colors.accentLight,\n },\n primary: {\n backgroundColor: colors.accentLight,\n },\n secondary: {\n backgroundColor: lateOceanColorPalette.moonPurple,\n },\n dark: {\n backgroundColor: lateOceanColorPalette.black100,\n },\n padding: spacing * 5,\n};\n","export interface TypographyIconBreakpointRangeConfig {\n iconSize: number;\n}\n\nexport interface TypographyIconConfig {\n baseAndSmall: TypographyIconBreakpointRangeConfig;\n mediumAndWide: TypographyIconBreakpointRangeConfig;\n}\n\nconst getIconSizeFromFontSize = (fontSize: number): number => {\n if (fontSize <= 14) return 16;\n if (fontSize <= 16) return 20;\n return 24;\n};\n\nexport const createTypographyIconSizeConfig = (\n baseAndSmallFontSize: number,\n mediumAndWideFontSize: number,\n): TypographyIconConfig => {\n const baseAndSmallIconSize = getIconSizeFromFontSize(baseAndSmallFontSize);\n const mediumAndWideIconSize = getIconSizeFromFontSize(mediumAndWideFontSize);\n return {\n baseAndSmall: {\n iconSize: baseAndSmallIconSize,\n },\n mediumAndWide: {\n iconSize: mediumAndWideIconSize,\n },\n };\n};\n\nexport const icon = {\n defaultSize: 20,\n // Note: this is based on typography updated sizes, not current https://github.com/ornikar/kitt/pull/2130\n typographySize: {\n // also known as xxlarge\n header1: createTypographyIconSizeConfig(40, 56),\n // also known as xlarge\n header2: createTypographyIconSizeConfig(32, 48),\n // also known as medium\n header3: createTypographyIconSizeConfig(24, 40),\n // also known as xsmall\n header4: createTypographyIconSizeConfig(18, 24),\n // also known as xxsmall\n header5: createTypographyIconSizeConfig(18, 18),\n\n 'header-impact-xxl': createTypographyIconSizeConfig(56, 56),\n 'header-impact-xl': createTypographyIconSizeConfig(48, 48),\n 'header-impact-l': createTypographyIconSizeConfig(40, 40),\n 'header-impact-m': createTypographyIconSizeConfig(32, 32),\n 'header-impact-s': createTypographyIconSizeConfig(24, 24),\n 'header-impact-xs': createTypographyIconSizeConfig(18, 18),\n 'header-impact-xxs': createTypographyIconSizeConfig(16, 16),\n 'header-impact-xxxs': createTypographyIconSizeConfig(14, 14),\n\n 'body-large': createTypographyIconSizeConfig(18, 24),\n 'body-medium': createTypographyIconSizeConfig(18, 18),\n body: createTypographyIconSizeConfig(16, 16),\n 'body-small': createTypographyIconSizeConfig(14, 14),\n 'body-xsmall': createTypographyIconSizeConfig(12, 12),\n },\n} as const;\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 ghost: 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 ghost: {\n pressedBackgroundColor: button.default.ghost.pressedBackgroundColor,\n },\n primary: {\n pressedBackgroundColor: lateOceanColorPalette.moonPurpleLight1,\n },\n};\n","import { colors } from './colors';\n\nexport interface ListItemTheme {\n /** @deprecated -- use verticalPadding and horizontalPadding instead */\n padding: string;\n verticalPadding: number;\n horizontalPadding: number;\n borderColor: string;\n borderWidth: number;\n innerMargin: number;\n}\n\nexport const listItem: ListItemTheme = {\n padding: '12px 16px',\n verticalPadding: 12,\n horizontalPadding: 16,\n borderColor: colors.separator,\n borderWidth: 1,\n innerMargin: 8,\n};\n","import { colors } from './colors';\n\nexport interface PageLoaderTheme {\n size: number;\n strokeWidth: number;\n colors: {\n base: string;\n fill: string;\n };\n animation: {\n delay: number;\n circleBackgroundFillDuration: number;\n filledCircleFillDuration: number;\n groupFilledCircleRotationDuration: number;\n filledCircleRotationDuration: number;\n fillEasingFunction: [number, number, number, number];\n };\n}\n\nexport const pageLoaderSize = 60;\nexport const pageLoaderStrokeWidth = 3;\n\nexport const webAnimationDelay = 500;\nexport const webAnimationCircleBackgroundFillDuration = 1000;\nexport const webAnimationFilledCircleFillDuration = 1800;\nexport const webAnimationFilledCircleRotationDuration = 2160;\nexport const fillEasingFunction: [number, number, number, number] = [0.39, 0.575, 0.565, 1];\n\nexport const pageLoader: PageLoaderTheme = {\n size: pageLoaderSize,\n strokeWidth: pageLoaderStrokeWidth,\n colors: {\n base: colors.separator,\n fill: colors.primary,\n },\n animation: {\n delay: webAnimationDelay,\n circleBackgroundFillDuration: webAnimationCircleBackgroundFillDuration,\n filledCircleFillDuration: webAnimationFilledCircleFillDuration,\n groupFilledCircleRotationDuration: 1800,\n filledCircleRotationDuration: webAnimationFilledCircleRotationDuration,\n fillEasingFunction,\n },\n};\n","import type { TextStyle } from 'react-native';\nimport { lateOceanColorPalette } from '../palettes/lateOceanColorPalette';\nimport { colors } from './colors';\nimport { typography } from './typography';\n\nexport interface PickerTheme {\n ios: {\n default: TextStyle;\n landscape: TextStyle;\n selected: {\n color: string;\n };\n };\n android: {\n option: {\n verticalPadding: number;\n horizontalPadding: number;\n default: {\n backgroundColor: string;\n };\n selected: {\n backgroundColor: string;\n color: string;\n };\n };\n };\n web: {\n optionsContainer: {\n borderRadius: number;\n backgroundColor: string;\n shadow: {\n color: string;\n offsetX: number;\n offsetY: number;\n opacity: number;\n radius: number;\n };\n };\n option: {\n verticalPadding: number;\n horizontalPadding: number;\n default: {\n backgroundColor: string;\n };\n highlighted: {\n backgroundColor: string;\n };\n selected: {\n backgroundColor: string;\n };\n hovered: {\n backgroundColor: string;\n };\n pressed: {\n backgroundColor: string;\n };\n focused: {\n backgroundColor: string;\n };\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 // Default height is hard coded in module because of iOS constraint (https://github.com/react-native-picker/picker/blob/abd5f9076baa3ef2277ea7e711fa5823683c110e/js/PickerIOS.ios.js#L156)\n height: 216,\n },\n landscape: {\n height: 108,\n },\n selected: {\n color: typography.colors.primary,\n },\n },\n web: {\n optionsContainer: {\n borderRadius: 10,\n backgroundColor: colors.white,\n shadow: { color: colors.black, offsetX: 0, offsetY: 10, opacity: 0.15, radius: 20 },\n },\n option: {\n verticalPadding: 3,\n horizontalPadding: 16,\n default: {\n backgroundColor: colors.transparent,\n },\n hovered: { backgroundColor: lateOceanColorPalette.black50 },\n focused: { backgroundColor: lateOceanColorPalette.black50 },\n selected: { backgroundColor: lateOceanColorPalette.black50 },\n highlighted: { backgroundColor: lateOceanColorPalette.black50 },\n pressed: { backgroundColor: lateOceanColorPalette.black100 },\n },\n },\n android: {\n option: {\n verticalPadding: 12,\n horizontalPadding: 24,\n default: {\n backgroundColor: colors.transparent,\n },\n selected: {\n backgroundColor: colors.primary,\n color: typography.colors.white,\n },\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 skeletonBackgroundColor = lateOceanColorPalette.black100;\nexport const skeletonFlareColor = lateOceanColorPalette.black200;\n\nexport const skeleton: SkeletonTheme = {\n backgroundColor: skeletonBackgroundColor,\n flareColor: skeletonFlareColor,\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 /** @deprecated -- Use verticalPadding and horizontalPadding instead */\n padding: string;\n verticalPadding: number;\n horizontalPadding: number;\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 verticalPadding: 2,\n horizontalPadding: 12,\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: colors.danger,\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 { lateOceanColorPalette } from '../palettes/lateOceanColorPalette';\nimport { colors } from './colors';\n\ninterface StepStateTheme {\n icon: {\n backgroundColor: string;\n textColor: string;\n };\n}\n\nexport interface VerticalStepsTheme {\n active: StepStateTheme;\n done: StepStateTheme;\n default: StepStateTheme;\n}\n\nexport const verticalSteps: VerticalStepsTheme = {\n active: {\n icon: {\n backgroundColor: colors.primary,\n textColor: colors.white,\n },\n },\n done: {\n icon: {\n backgroundColor: lateOceanColorPalette.moonPurple,\n textColor: colors.primary,\n },\n },\n default: {\n icon: {\n backgroundColor: colors.disabled,\n textColor: colors.blackDisabled,\n },\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 { fullscreenModal } from './late-ocean/fullscreenModal';\nimport { highlight } from './late-ocean/highlight';\nimport { icon } from './late-ocean/icon';\nimport { iconButton } from './late-ocean/iconButton';\nimport { listItem } from './late-ocean/listItem';\nimport { pageLoader } from './late-ocean/pageLoader';\nimport { picker } from './late-ocean/picker';\nimport { shadows } from './late-ocean/shadows';\nimport { skeleton } from './late-ocean/skeleton';\nimport { spacing } from './late-ocean/spacing';\nimport { tag } from './late-ocean/tag';\nimport { tooltip } from './late-ocean/tooltip';\nimport { typography } from './late-ocean/typography';\nimport { verticalSteps } from './late-ocean/verticalSteps';\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 getSpacing: (multiplier: number): number => spacing * multiplier,\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 icon,\n iconButton,\n listItem,\n pageLoader,\n picker,\n shadows,\n skeleton,\n tag,\n tooltip,\n typography,\n fullscreenModal,\n actionCard,\n verticalSteps,\n};\n\nexport type Theme = typeof theme;\n","import { createContext, useContext } from 'react';\nimport type { Theme as KittTheme } from './themes/default';\nimport { theme as kittTheme } from './themes/default';\n\nexport interface KittThemeContextValue {\n kitt: KittTheme;\n}\n\nexport const KittThemeContext = createContext<KittThemeContextValue>({\n kitt: kittTheme,\n});\n\nexport const useTheme = (): KittThemeContextValue => useContext(KittThemeContext);\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 { ActionCardTheme } from '../../themes/late-ocean/actionCard';\nimport type { ActionCardBorderVariantType, ActionCardVariantType } from '../types';\n\nexport const getThemeName = (\n variant: ActionCardVariantType,\n borderVariant: ActionCardBorderVariantType,\n): keyof ActionCardTheme => {\n if (borderVariant === 'soft') {\n return 'primary-border-soft';\n }\n if (borderVariant === 'hard') {\n return 'primary-border-hard';\n }\n\n return variant;\n};\n","import type { ReactNode } from 'react';\nimport { useTheme } from '../KittThemeContext';\nimport { View } from '../native-base/primitives';\nimport type { ActionCardBorderVariantType, ActionCardVariantType } from './types';\nimport { getStateKey } from './utils/getStateKey';\nimport { getThemeName } from './utils/getThemeName';\n\ninterface ActionCardContentWrapperProps {\n isHovered?: boolean;\n isPressed?: boolean;\n isFocused?: boolean;\n variant: ActionCardVariantType;\n borderVariant?: ActionCardBorderVariantType;\n children: ReactNode;\n}\n\nexport function ActionCardContentWrapper({\n isHovered,\n isPressed,\n isFocused,\n variant,\n borderVariant = 'none',\n children,\n}: ActionCardContentWrapperProps): ReactNode {\n const theme = useTheme();\n const state = getStateKey(isHovered, isPressed, isFocused);\n\n if (__DEV__ && borderVariant !== 'none' && variant !== 'primary') {\n throw new Error(`borderVariant=${borderVariant} is only allowed with variant=primary`);\n }\n\n const { translateY } = theme.kitt.actionCard[variant][state];\n\n const sharedTransform = translateY\n ? {\n transform: [{ translateY }],\n }\n : {};\n\n const themeName = getThemeName(variant, borderVariant);\n\n return (\n <View\n _ios={{ style: sharedTransform }}\n _android={{ style: sharedTransform }}\n _web={{\n style: {\n transform: `translateY(${translateY}px)`,\n },\n }}\n width=\"100%\"\n backgroundColor={`kitt.actionCard.${themeName}.${state}.backgroundColor`}\n borderRadius=\"kitt.actionCard.borderRadius\"\n borderColor={`kitt.actionCard.${themeName}.${state}.borderColor`}\n borderWidth={`kitt.actionCard.${themeName}.${state}.borderWidth`}\n shadow={`kitt.actionCard.${themeName}.${state}.shadow`}\n flexGrow={1}\n >\n {children}\n </View>\n );\n}\n","import type { 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): ReactNode {\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 flexGrow={1}\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 { ActionCardBorderVariantType, ActionCardVariantType } from './types';\n\nexport interface ActionCardProps extends ViewProps {\n variant?: ActionCardVariantType;\n borderVariant?: ActionCardBorderVariantType;\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 borderVariant = 'none',\n disabled,\n isHovered,\n isPressed,\n isFocused,\n ...props\n}: ActionCardProps): ReactNode {\n return (\n <View {...props}>\n {disabled ? (\n <ActionCardDisabled variant={variant}>{children}</ActionCardDisabled>\n ) : (\n <ActionCardContentWrapper\n variant={variant}\n borderVariant={borderVariant}\n isHovered={isHovered}\n isFocused={isFocused}\n isPressed={isPressed}\n >\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 borderVariant = 'none',\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 borderVariant={borderVariant}\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","// eslint-disable-next-line no-restricted-imports\nimport { useBreakpointValue as useBreakpointValueNativeBaseBadlyTyped } from 'native-base';\nimport type { ITheme } from 'native-base';\nimport type { SetRequired } from 'type-fest';\n\nexport type { StyledProps } from 'native-base';\nexport { useClipboard, useSx, useToken } from 'native-base';\n\ntype UseBreakpointValueParam<T> = {\n [key in keyof ITheme['breakpoints']]?: T;\n};\n\nexport type BreakpointValueHookValues<T> = SetRequired<UseBreakpointValueParam<T>, 'base'>;\n\nexport const useBreakpointValue = useBreakpointValueNativeBaseBadlyTyped as <T>(\n values: BreakpointValueHookValues<T>,\n) => T;\n","import type { ButtonType, ButtonVariant } from '../Button';\n\ninterface GetCurrentBackgroundColorParams {\n type: ButtonType;\n variant: ButtonVariant;\n isDisabled?: boolean;\n isHovered?: boolean;\n isPressed?: boolean;\n}\n\nexport function getCurrentBackgroundColorForNativeBaseTheme({\n type,\n variant,\n isDisabled,\n isHovered,\n isPressed,\n}: GetCurrentBackgroundColorParams): string {\n if (isDisabled) return 'kitt.button.disabled.default.backgroundColor';\n\n const baseKey = `kitt.button.${type}.${variant}`;\n\n if (isHovered || isPressed) {\n return `${baseKey}.hoverBackgroundColor`;\n }\n\n return `${baseKey}.backgroundColor`;\n}\n","interface GetCurrentScaleParams {\n hoverScaleValue: number;\n pressedScaleValue: number;\n isDisabled?: boolean;\n isHovered?: boolean;\n isPressed?: boolean;\n}\n\nexport function getCurrentScale({\n hoverScaleValue,\n pressedScaleValue,\n isDisabled,\n isHovered,\n isPressed,\n}: GetCurrentScaleParams): number {\n if (isDisabled) return 1;\n\n if (isPressed) {\n return pressedScaleValue;\n }\n\n if (isHovered) {\n return hoverScaleValue;\n }\n\n return 1;\n}\n","import type { ReactNode } from 'react';\nimport { useTheme } from '../KittThemeContext';\nimport { View } from '../native-base/primitives';\nimport { useBreakpointValue } from '../native-base/utils';\nimport { createResponsiveStyleFromProp } from '../utils/createResponsiveStyleFromProp/createResponsiveStyleFromProp';\nimport type { AnimatedContainerProps } from './AnimatedContainer';\nimport { getCurrentBackgroundColorForNativeBaseTheme } from './utils/getCurrentBackgroundColorForNativeBaseTheme';\nimport { getCurrentScale } from './utils/getCurrentScale';\n\nexport function AnimatedContainer({\n children,\n type,\n variant,\n isHovered,\n isPressed,\n isStretch,\n disabled,\n}: AnimatedContainerProps): ReactNode {\n const theme = useTheme();\n\n const {\n transition: { duration, timingFunction },\n scale,\n } = theme.kitt.button;\n\n const responsiveHoverScaleValue = useBreakpointValue({\n base: scale.base.hover,\n medium: scale.medium.hover,\n });\n\n const currentScale = getCurrentScale({\n hoverScaleValue: responsiveHoverScaleValue,\n pressedScaleValue: scale.base.active,\n isHovered,\n isPressed,\n isDisabled: !!disabled,\n });\n\n const currentBackgroundColor = getCurrentBackgroundColorForNativeBaseTheme({\n type,\n variant,\n isDisabled: !!disabled,\n isHovered,\n isPressed,\n });\n\n return (\n <View\n _web={{\n style: {\n transitionProperty: 'all',\n transitionDuration: duration,\n transitionTimingFunction: timingFunction,\n /* Simplifies the animation to just the front of the object – avoid blurry scale */\n backfaceVisibility: 'hidden',\n transform: `scale(${currentScale})`,\n },\n }}\n width={createResponsiveStyleFromProp(isStretch, '100%', 'auto')}\n alignSelf=\"baseline\"\n borderRadius=\"kitt.button.borderRadius\"\n backgroundColor={currentBackgroundColor}\n >\n {children}\n </View>\n );\n}\n","export const KittBreakpoints = {\n /**\n * min-width: 0\n */\n BASE: 0,\n /**\n * min-width: 480px\n */\n SMALL: 480,\n /**\n * min-width: 768px\n */\n MEDIUM: 768,\n /**\n * min-width: 1024px\n */\n LARGE: 1024,\n /**\n * min-width: 1280px\n */\n WIDE: 1280,\n};\n\nexport const KittBreakpointsMax = {\n /**\n * max-width: 479px\n */\n BASE: KittBreakpoints.SMALL - 1,\n /**\n * max-width: 767px\n */\n SMALL: KittBreakpoints.MEDIUM - 1,\n /**\n * max-width: 1023px\n */\n MEDIUM: KittBreakpoints.LARGE - 1,\n /**\n * max-width: 1279px\n */\n LARGE: KittBreakpoints.WIDE - 1,\n};\n\nexport type KittBreakpoint = (typeof KittBreakpoints)[keyof typeof KittBreakpoints];\nexport type KittBreakpointMax = (typeof KittBreakpointsMax)[keyof typeof KittBreakpointsMax];\n\nexport enum KittBreakpointNameEnum {\n BASE = 'base',\n SMALL = 'small',\n MEDIUM = 'medium',\n LARGE = 'large',\n WIDE = 'wide',\n}\n\nexport type KittResponsiveProp<Value> = Record<KittBreakpointNameEnum.BASE, Value> &\n Partial<Record<Exclude<KittBreakpointNameEnum, KittBreakpointNameEnum.BASE>, Value>>;\n\nexport type KittResponsivePropOrValue<Value> = KittResponsiveProp<Value> | Value;\n","export const typographyColors = [\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] as const;\n","import type { TypographyColor } from '../Typography';\n\nexport function getNBThemeColorFromColorProps(colorName: TypographyColor): string {\n return `kitt.typography.${colorName}`;\n}\n","import type { ITextProps } from 'native-base';\nimport type { ExtendedTypographyColor, TypographyColor } from '../Typography';\nimport { typographyColors } from '../typographyColors';\nimport { getNBThemeColorFromColorProps } from './getNBThemeColorFromColorProps';\n\nexport function isColorTypographyColor(colorName: unknown): colorName is TypographyColor {\n if (!colorName || typeof colorName !== 'string') return false;\n\n return (typographyColors as readonly string[]).includes(colorName);\n}\n\nexport function getTypographyColorValue(colorName: ExtendedTypographyColor | undefined): ITextProps['color'] {\n if (!colorName) return undefined;\n\n if (typeof colorName === 'string') {\n if (isColorTypographyColor(colorName)) {\n return getNBThemeColorFromColorProps(colorName);\n }\n } else if (typeof colorName === 'object') {\n return Object.fromEntries(\n Object.entries(colorName).map(([breakpointName, value]) => [\n breakpointName,\n getTypographyColorValue(value as ExtendedTypographyColor | undefined),\n ]),\n );\n }\n\n return colorName;\n}\n","import type { TypographyHeadingImpactType, TypographyHeadingType, TypographyType } from '../Typography';\n\nconst isTypeHeadings = (type: TypographyType): type is TypographyHeadingType =>\n type.startsWith('header') || type.startsWith('heading');\n\nconst isTypeHeadingsImpact = (type: TypographyType): type is TypographyHeadingImpactType =>\n type.startsWith('heading-impact') || type.startsWith('header-impact');\n\nexport type TypographyFamily = 'bodies' | 'headings' | 'headings-impact';\n\nexport const getTypographyFamily = (type: TypographyType): TypographyFamily => {\n if (isTypeHeadingsImpact(type)) return 'headings-impact';\n if (isTypeHeadings(type)) return 'headings';\n return 'bodies';\n};\n\nexport const getTypographyFamilyWithAncestorValue = <Type extends TypographyType>(\n type: Type | undefined,\n typographyFamilyInContext: TypographyFamily | null,\n): TypographyFamily => {\n if (type) return getTypographyFamily(type);\n if (typographyFamilyInContext != null) return typographyFamilyInContext;\n throw new Error('You must set a \"base\" prop or wrap this Typography in one that does.');\n};\n","import type { ITextProps } from 'native-base';\nimport { Text as NBText, useSx } from 'native-base';\nimport type { PlatformProps } from 'native-base/lib/typescript/components/types';\nimport type { FC, 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 } from '../KittBreakpoints';\nimport type { NativeBaseAcceptedFlexboxProps } from '../native-base/acceptable-native-base-props';\nimport type { TypographyTypeConfig } from '../themes/late-ocean/typography';\nimport type { typographyColors } from './typographyColors';\nimport { getTypographyColorValue } from './utils/getTypographyColorValue';\nimport type { TypographyFamily } from './utils/getTypographyFamily';\nimport { getTypographyFamily, getTypographyFamilyWithAncestorValue } from './utils/getTypographyFamily';\n\nexport type TypographyColor = (typeof typographyColors)[number];\n\n// eslint-disable-next-line @typescript-eslint/no-redundant-type-constituents\nexport type ExtendedTypographyColor = TypographyColor | NonNullable<ITextProps['color']> | string;\n\ntype LegacyHeadingType = `header${'1' | '2' | '3' | '4' | '5'}`;\ntype NonLegacyHeadingType = `heading-${'xxs' | 'xs' | 's' | 'm' | 'l' | 'xl' | 'xxl'}`;\nexport type TypographyHeadingType = LegacyHeadingType | NonLegacyHeadingType;\n/** @deprecated use TypographyHeadingImpactType instead */\nexport type TypographyHeaderType = TypographyHeadingType;\n\ntype LegacyTypographyHeadingImpactType = `header-impact-${'xxxs' | 'xxs' | 'xs' | 's' | 'm' | 'l' | 'xl' | 'xxl'}`;\ntype NonLegacyTypographyHeadingImpactType = `heading-impact-${'xxxs' | 'xxs' | 'xs' | 's' | 'm' | 'l' | 'xl' | 'xxl'}`;\nexport type TypographyHeadingImpactType = LegacyTypographyHeadingImpactType | NonLegacyTypographyHeadingImpactType;\n/** @deprecated use TypographyHeadingImpactType instead */\nexport type TypographyHeaderImpactType = TypographyHeadingImpactType;\n\ntype LegacyTypographyBodyType = 'body' | `body-${'large' | 'medium' | 'small' | 'xsmall'}`;\ntype NonLegacyTypographyBodyType = `body-${'xs' | 's' | 'm' | 'l' | 'xl'}`;\nexport type TypographyBodyType = LegacyTypographyBodyType | NonLegacyTypographyBodyType;\n\nexport type TypographyType = TypographyHeadingType | TypographyHeadingImpactType | TypographyBodyType;\ntype TypographyVariant = 'regular' | 'bold';\n\nconst TypographyFamilyContext = createContext<TypographyFamily | null>(null);\nconst TypographyTypeContext = createContext<TypographyBreakpointType | null>(null);\nconst TypographyColorContext = createContext<ExtendedTypographyColor>('black');\n\nexport function useTypographyColor(): ExtendedTypographyColor {\n return useContext(TypographyColorContext);\n}\n\nexport function useTypographyAncestorType(): TypographyBreakpointType | null {\n return useContext(TypographyTypeContext);\n}\n\nconst TypographyDefaultColorContext = createContext<ExtendedTypographyColor | undefined>(undefined);\n\nfunction useTypographyDefaultColor(): ExtendedTypographyColor | undefined {\n return useContext(TypographyDefaultColorContext);\n}\n\nexport function getTypographyTypeConfigKeyFromTypeName(\n breakpointName: KittBreakpointNameEnum,\n): keyof TypographyTypeConfig {\n return breakpointName === KittBreakpointNameEnum.BASE || breakpointName === KittBreakpointNameEnum.SMALL\n ? 'baseAndSmall'\n : 'mediumAndWide';\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 | 'strikeThrough'\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?: ExtendedTypographyColor;\n children: ReactNode;\n}\nexport type TypographyPropsWithoutAccessibilityRole = Except<TypographyProps, 'accessibilityRole'>;\n\nexport function createNativeBaseFontSize(type: TypographyBreakpointType): ITextProps['fontSize'] {\n const typeWithMediumForced = {\n ...type,\n medium: type.medium || type.small || type.base,\n };\n\n const fontSizeForNativeBase: ITextProps['fontSize'] = {};\n [\n KittBreakpointNameEnum.BASE,\n KittBreakpointNameEnum.SMALL,\n KittBreakpointNameEnum.MEDIUM,\n KittBreakpointNameEnum.LARGE,\n KittBreakpointNameEnum.WIDE,\n ].forEach((typeName) => {\n const value = typeWithMediumForced[typeName];\n if (value) {\n fontSizeForNativeBase[typeName] = `${getTypographyTypeConfigKeyFromTypeName(typeName)}.${value}`;\n }\n });\n\n return fontSizeForNativeBase;\n}\n\nexport function Typography({\n accessibilityRole,\n base: legacyBase,\n small: legacySmall,\n medium: legacyMedium,\n large: legacyLarge,\n wide: legacyWide,\n type = { base: legacyBase, small: legacySmall, medium: legacyMedium, large: legacyLarge, wide: legacyWide },\n variant,\n color,\n ...otherProps\n}: TypographyProps): ReactNode {\n const sx = useSx();\n\n const typographyFamilyInContext = useContext(TypographyFamilyContext);\n\n const defaultColor = useTypographyDefaultColor();\n\n const hasTypographyAncestor = typographyFamilyInContext !== null;\n const baseOrDefaultToBody = hasTypographyAncestor ? type.base : type.base ?? 'body';\n const typographyFamily = getTypographyFamilyWithAncestorValue(baseOrDefaultToBody, typographyFamilyInContext);\n\n // force bold for headings, default to regular for bodies\n const nonNullableVariant: TypographyVariant =\n variant ?? (typographyFamily === 'headings' || typographyFamily === 'headings-impact' ? 'bold' : 'regular');\n\n const fontSizeForNativeBase = createNativeBaseFontSize({ ...type, base: baseOrDefaultToBody });\n\n const currentColor = !color && !hasTypographyAncestor ? defaultColor : color;\n const currentColorValue = getTypographyColorValue(currentColor);\n\n const colorStyles = sx({\n color: currentColorValue,\n textDecorationColor: currentColorValue,\n });\n\n if (process.env.NODE_ENV !== 'production') {\n Object.entries(type).forEach(([key, value]) => {\n if (value && getTypographyFamily(value) !== typographyFamily) {\n throw new Error(`Invalid value for \"${key}\": \"${value}\" is ${typographyFamily}. Don't mix families.`);\n }\n });\n }\n\n const text = (\n <NBText\n accessibilityRole={(accessibilityRole as TextProps['accessibilityRole']) || undefined}\n fontSize={fontSizeForNativeBase}\n lineHeight={hasTypographyAncestor ? undefined : fontSizeForNativeBase}\n fontWeight={`${typographyFamily}.${nonNullableVariant}`}\n fontFamily={`${typographyFamily}.${nonNullableVariant}`}\n {...colorStyles}\n {...otherProps}\n />\n );\n\n const content = baseOrDefaultToBody ? (\n <TypographyFamilyContext.Provider value={typographyFamily}>\n <TypographyTypeContext.Provider value={type}>{text}</TypographyTypeContext.Provider>\n </TypographyFamilyContext.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): ReactNode {\n return <Typography accessibilityRole={null} {...props} />;\n}\n\nfunction TypographyParagraph(props: TypographyTextProps): ReactNode {\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 = TypographyPropsWithoutAccessibilityRole;\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): ReactNode {\n return <Typography accessibilityRole=\"header\" base={defaultBase} {...props} aria-level={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, ReactNode } 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: ViewProps['color'];\n align?: ViewStyle['alignSelf'];\n testID?: ViewProps['testID'];\n}\n\nexport function Icon({ icon, size = 'kitt.icon.defaultSize', align = 'auto', color }: IconProps): ReactNode {\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 { useSx } from 'native-base';\nimport type { ReactNode } from 'react';\nimport type { Except } from 'type-fest';\nimport type { IconProps } from '../Icon/Icon';\nimport { Icon } from '../Icon/Icon';\nimport { KittBreakpointNameEnum } from '../KittBreakpoints';\nimport type { ViewProps } from '../native-base/primitives';\nimport type { TypographyIconConfig } from '../themes/late-ocean/icon';\nimport type { SetNonNullable } from '../utils/typeUtils';\nimport type { TypographyBreakpointType, TypographyProps } from './Typography';\nimport { useTypographyAncestorType, useTypographyColor } from './Typography';\nimport { getTypographyColorValue } from './utils/getTypographyColorValue';\n\nfunction getIconSizeConfigKeyFromTypeName(breakpointName: KittBreakpointNameEnum): keyof TypographyIconConfig {\n return breakpointName === KittBreakpointNameEnum.BASE || breakpointName === KittBreakpointNameEnum.SMALL\n ? 'baseAndSmall'\n : 'mediumAndWide';\n}\n\nfunction createNativeBaseIconSize(type: TypographyBreakpointType): ViewProps['size'] {\n const typeWithMediumForced = {\n ...type,\n medium: type.medium || type.small || type.base,\n };\n\n const iconSizeForNativeBase: ViewProps['size'] = {};\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 iconSizeForNativeBase[typeName] = `kitt.icon.typographySize.${value}.${getIconSizeConfigKeyFromTypeName(\n typeName,\n )}.iconSize`;\n }\n });\n\n return iconSizeForNativeBase;\n}\n\nexport interface TypographyIconProps extends Except<IconProps, 'color'> {\n color?: TypographyProps['color'] | 'inherit';\n}\n\nfunction TypographyIconSpecifiedColor({\n color,\n size,\n ...props\n}: SetNonNullable<TypographyIconProps, 'color'>): ReactNode {\n const ancestorType = useTypographyAncestorType();\n const iconSize = size || (ancestorType ? createNativeBaseIconSize(ancestorType) : undefined);\n const colorValue = getTypographyColorValue(color);\n const sx = useSx();\n\n const { color: colorStyleValue } = sx({ color: colorValue });\n\n return <Icon {...props} size={iconSize} color={colorStyleValue} />;\n}\n\nfunction TypographyIconInheritColor(props: TypographyIconProps): ReactNode {\n const color = useTypographyColor();\n\n return <TypographyIconSpecifiedColor color={color} {...props} />;\n}\n\nexport function TypographyIcon({ color, ...props }: TypographyIconProps): ReactNode {\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 getButtonTextColorByType = (\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 '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 { ReactNode } from 'react';\nimport type { Except } from 'type-fest';\nimport { View } from '../native-base/primitives';\nimport { Typography } from '../typography/Typography';\nimport type { TypographyColor } from '../typography/Typography';\nimport type { TypographyIconProps } from '../typography/TypographyIcon';\nimport { TypographyIcon } from '../typography/TypographyIcon';\nimport type { ButtonProps, ButtonType, ButtonVariant } from './Button';\nimport { getButtonTextColorByType } from './utils/getButtonTextColorByType';\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): ReactNode {\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): ReactNode {\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): ReactNode {\n const color = isDisabled ? 'black-light' : getButtonTextColorByType(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 { 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): ReactNode {\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 { ReactNode } from 'react';\nimport { View } from '../native-base/primitives';\n\nexport function DisabledBorder(): ReactNode {\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 { ReactNode } from 'react';\nimport type { DimensionValue } from 'react-native';\nimport { useTheme } from '../KittThemeContext';\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): ReactNode {\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)` as DimensionValue,\n height: `calc(100% + ${buttonTheme.borderWidth.focus * 2}px)` as DimensionValue,\n transitionProperty: 'opacity',\n transitionDuration: buttonTheme.transition.duration,\n transitionTimingFunction: buttonTheme.transition.timingFunction,\n },\n }}\n opacity={isFocused && !hasPointerInteraction ? 1 : 0}\n position=\"absolute\"\n left={-buttonTheme.borderWidth.focus}\n top={-buttonTheme.borderWidth.focus}\n borderWidth=\"kitt.button.borderWidth.focus\"\n borderColor={`kitt.button.${type}.${variant}.focusBorderColor`}\n borderRadius=\"kitt.button.borderRadius\"\n />\n );\n}\n","import type { NativeAnimation, UseNativeAnimationOptions } from './useNativeAnimation';\n\nexport function useNativeAnimation(options: UseNativeAnimationOptions): NativeAnimation {\n return {\n onPressIn: undefined,\n onPressOut: undefined,\n animatedStyles: {},\n };\n}\n","import type { ButtonProps } from '../Button';\n\nexport const getButtonSize = ({ large, xLarge, size }: Partial<ButtonProps>): ButtonProps['size'] => {\n if (large) return 'large';\n if (xLarge) return 'xLarge';\n return size;\n};\n","import type { ReactElement, ReactNode } from 'react';\nimport { forwardRef } from 'react';\nimport type { Pressable as NativePressable } from 'react-native';\nimport type { PressableProps } 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 | '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 extends Pick<PressableProps, 'onPress' | 'onHoverIn' | 'onHoverOut' | 'onFocus' | 'onBlur'> {\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 NativePressable, 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 onHoverIn,\n onHoverOut,\n onFocus,\n onBlur,\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 onHoverIn={onHoverIn}\n onHoverOut={onHoverOut}\n onFocus={onFocus}\n onBlur={onBlur}\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 { css } from '@linaria/core';\nimport type { ReactNode } from 'react';\nimport { cloneElement } from 'react';\nimport type { SpinningIconProps } from './SpinningIcon';\n\nconst spinningIcon = css`\n display: inline-flex;\n\n & > svg {\n animation: spin 1.1s infinite linear;\n }\n\n @keyframes spin {\n 0% {\n transform: rotate(-1deg);\n }\n\n 100% {\n transform: rotate(359deg);\n }\n }\n`;\n\nexport function SpinningIcon({ icon, color }: SpinningIconProps): ReactNode {\n const clonedIcon = cloneElement(icon, { color });\n return <div className={spinningIcon}>{clonedIcon}</div>;\n}\n","import { ArcIcon } from '@ornikar/kitt-icons';\nimport type { ReactNode } 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): ReactNode {\n return <SpinningIcon color={color} icon={<ArcIcon />} />;\n}\n","import type { ComponentPropsWithRef, ElementType, ForwardedRef, FunctionComponent, ReactNode } from 'react';\nimport { forwardRef, useEffect, useRef, useState } from 'react';\nimport type { Pressable as NativePressable, NativeSyntheticEvent } from 'react-native';\nimport type { Except, Promisable } from 'type-fest';\nimport type { ButtonProps } from '../Button/Button';\nimport { LoaderIcon } from '../LoaderIcon/LoaderIcon';\nimport { View } from '../native-base/primitives';\n\ntype ActionsItemMinimumRequiredProps = Pick<ButtonProps, 'onPress' | 'stretch' | 'disabled' | 'icon'>;\n\ntype ExtendOnPressProp<OnPress> = OnPress extends (...params: infer Params) => infer Result\n ? (...params: Params) => Promisable<Result | false>\n : never;\n\nexport type ExtendActionItemComponentProps<Props> = Props extends { onPress?: infer OnPress }\n ? Except<Props, 'onPress'> & {\n onPress?: OnPress extends null\n ? null | ExtendOnPressProp<NonNullable<OnPress>>\n : ExtendOnPressProp<NonNullable<OnPress>>;\n }\n : { onPress?: (event: NativeSyntheticEvent<any>, ...rest: any[]) => any };\n\nexport type ActionsItemProps<C extends FunctionComponent<ActionsItemMinimumRequiredProps>> = {\n as: C;\n // eslint-disable-next-line @typescript-eslint/ban-types -- we need this because we don't know exactly what the component is\n} & ExtendActionItemComponentProps<Omit<ComponentPropsWithRef<C>, 'as'>> &\n Except<ActionsItemMinimumRequiredProps, 'onPress'>;\n\nexport const ActionsItem = forwardRef<typeof NativePressable, ActionsItemProps<any>>(\n ({ as, onPress, disabled, icon, stretch = { base: true, medium: false }, ...props }, ref): ReactNode => {\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 as any)(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 ref={ref}\n {...props}\n stretch={stretch}\n disabled={isLoading ? true : disabled}\n icon={isLoading ? <LoaderIcon /> : icon}\n onPress={handlePress}\n />\n </View>\n );\n },\n) as <C extends FunctionComponent<ActionsItemMinimumRequiredProps>>(\n props: ActionsItemProps<C> & { ref?: ForwardedRef<typeof NativePressable> },\n) => ReactNode;\n","import type { ReactNode } 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): ReactNode {\n return <ActionsItem as={Button} {...props} />;\n}\n","import type { ReactNode } from 'react';\nimport type { Except } from 'type-fest';\nimport { Stack } from '../native-base/layout';\nimport type { StackProps } from '../native-base/layout';\nimport type { ResponsiveValue } from '../utils/createResponsiveStyleFromProp/createResponsiveStyleFromProp';\nimport { createResponsiveStyleFromProp } from '../utils/createResponsiveStyleFromProp/createResponsiveStyleFromProp';\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\nfunction getCurrentAlignSelf(layout: ActionsLayout | undefined): StackProps['alignSelf'] {\n if (!layout) return { base: 'stretch', medium: undefined };\n\n if (layout === 'column') return 'stretch';\n\n return undefined;\n}\n\nexport interface ActionsProps extends Except<StackProps, 'space' | 'reversed'> {\n layout?: ActionsLayout;\n reversed?: ResponsiveValue<boolean | undefined>;\n}\n\nexport function Actions({ children, layout, reversed, ...props }: ActionsProps): ReactNode {\n const currentAlignItems = getCurrentLayout(layout);\n const currentDirection = getCurrentDirection(layout);\n const currentAlignSelf = getCurrentAlignSelf(layout);\n\n return (\n <Stack\n alignItems={currentAlignItems}\n alignSelf={currentAlignSelf}\n direction={currentDirection}\n flexGrow={1}\n reversed={!!createResponsiveStyleFromProp(reversed, true, false)}\n {...props}\n space=\"kitt.3\"\n >\n {children}\n </Stack>\n );\n}\n\nActions.Button = ActionsButton;\nActions.Item = ActionsItem;\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 { ReactNode } 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({ size, src, firstname, lastname, alt, isLight, sizeVariant }: AvatarContentProps): ReactNode {\n if (src) {\n return <Image source={{ uri: src }} width={size} height={size} alt={alt} aria-label={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): ReactNode {\n const currentSize = getCurrentSize({ size, sizeVariant });\n const currentBorderRadius = getCurrentRadius({ size, sizeVariant, round });\n\n return (\n <View\n overflow=\"hidden\"\n alignItems=\"center\"\n justifyContent=\"center\"\n width={currentSize}\n height={currentSize}\n borderRadius={currentBorderRadius}\n backgroundColor={`kitt.avatar.${light ? 'light' : 'default'}.backgroundColor`}\n >\n <AvatarContent size={currentSize} isLight={light} sizeVariant={sizeVariant} {...props} />\n </View>\n );\n}\n","import type { BottomSheetModalMethods } from '@gorhom/bottom-sheet/lib/typescript/types';\nimport type { ForwardRefExoticComponent, RefAttributes } from 'react';\nimport { forwardRef } from 'react';\nimport type { BottomSheetProps } from './BottomSheet';\n\nfunction BottomSheetComponent(): null {\n // noop\n return null;\n}\n\nexport const BottomSheet = forwardRef(BottomSheetComponent) as ForwardRefExoticComponent<\n Pick<BottomSheetProps, 'children' | 'hasScrollView' | 'hasHandle' | 'hasBackdrop'> &\n RefAttributes<BottomSheetModalMethods>\n> & { View: () => void };\n\nBottomSheet.View = function View(): null {\n return null;\n};\n","import type { BottomSheetModalMethods } from '@gorhom/bottom-sheet/lib/typescript/types';\nimport type { RefObject } from 'react';\nimport { useRef } from 'react';\n\nexport function useBottomSheet(): RefObject<BottomSheetModalMethods> {\n const ref = useRef<BottomSheetModalMethods>(null);\n\n return ref;\n}\n","import type { BottomSheetModalMethods } from '@gorhom/bottom-sheet/lib/typescript/types';\nimport type { ComponentType, 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 ComponentType<P>, P>(\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<P> {...props} ref={bottomSheetRef}>\n {Content}\n </BottomSheet>\n );\n },\n [Content],\n );\n\n return {\n bottomSheetRef,\n BottomSheet: BottomSheetMemoized,\n };\n}\n","import { css } from '@linaria/core';\nimport type { ReactNode } from 'react';\nimport { useEffect } from 'react';\nimport { Portal } from 'react-portal';\nimport type { ModalBehaviourPortalProps } from './ModalBehaviourPortal';\n\nconst overflowHidden = css`\n overflow: hidden;\n`;\n\nfunction useBlockBodyScroll(isScrollBlocked: boolean): void {\n useEffect(() => {\n if (isScrollBlocked) {\n document.body.classList.add(overflowHidden);\n } else {\n document.body.classList.remove(overflowHidden);\n }\n\n return () => {\n document.body.classList.remove(overflowHidden);\n };\n }, [isScrollBlocked]);\n}\n\nexport function ModalBehaviourPortal({ visible, children }: ModalBehaviourPortalProps): ReactNode {\n useBlockBodyScroll(Boolean(visible));\n\n // eslint-disable-next-line react/jsx-no-useless-fragment -- Portal propTypes define a required children, preventing a null children value\n return <Portal>{children || <></>}</Portal>;\n}\n","import type { 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): ReactNode {\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): ReactNode {\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): ReactNode {\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 { ReactNode } from 'react';\nimport type { PressableProps } from 'react-native';\nimport { Pressable } from '../native-base/primitives';\n\ninterface OverlayProps extends Pick<PressableProps, 'onPress'> {}\n\nexport function Overlay({ onPress }: OverlayProps): ReactNode {\n return (\n <Pressable\n accessibilityRole=\"none\"\n position=\"absolute\"\n top=\"0\"\n left=\"0\"\n right=\"0\"\n bottom=\"0\"\n backgroundColor=\"kitt.overlay.dark\"\n onPress={onPress}\n />\n );\n}\n","import type { ReactNode } 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): ReactNode {\n return (\n <View\n paddingX=\"kitt.cardModal.overlayPadding.horizontal\"\n paddingY=\"kitt.cardModal.overlayPadding.vertical\"\n maxWidth=\"kitt.cardModal.maxWidthWithPadding\"\n width=\"100%\"\n {...props}\n />\n );\n}\n","import { css } from '@linaria/core';\nimport type { ReactNode } from 'react';\nimport { CSSTransition } from 'react-transition-group';\nimport { useTheme } from '../../KittThemeContext';\nimport { Overlay } from '../../Overlay/Overlay';\nimport { View } from '../../native-base/primitives';\nimport {\n webAnimationContentDuration,\n webAnimationContentEasing,\n webAnimationOverlayDuration,\n webAnimationOverlayEasing,\n} from '../../themes/late-ocean/cardModal';\nimport type { CardModalAnimationProps } from './CardModalAnimation';\nimport { CardModalRotationContainer } from './CardModalRotationContainer';\n\nconst [x1, y1, x2, y2] = webAnimationContentEasing;\n\nconst cubicBezierSlideIn = `cubic-bezier(${x1}, ${y1}, ${x2}, ${y2})`;\n\nconst contentAnimationEnter = css`\n opacity: 0;\n transform: rotateZ(5deg) scale(0.8);\n`;\n\nconst contentAnimatioEnterActive = css`\n opacity: 1;\n transform: rotateZ(0) scale(1);\n transition: all ${webAnimationContentDuration}ms ${cubicBezierSlideIn};\n`;\n\nconst contentAnimatioExit = css`\n opacity: 1;\n transform: rotateZ(0) scale(1);\n`;\n\nconst contentAnimatioExitActive = css`\n opacity: 0;\n transform: rotateZ(5deg) scale(0.8);\n transition: all ${webAnimationContentDuration}ms ${cubicBezierSlideIn};\n`;\n\nconst contentAnimationClassNames = {\n appear: contentAnimationEnter,\n appearActive: contentAnimatioEnterActive,\n enter: contentAnimationEnter,\n enterActive: contentAnimatioEnterActive,\n exit: contentAnimatioExit,\n exitActive: contentAnimatioExitActive,\n};\n\nconst [xA, yA, xB, yB] = webAnimationOverlayEasing;\n\nconst cubicBezierOverlayEasing = `cubic-bezier(${xA}, ${yA}, ${xB}, ${yB})`;\n\nconst opacityEnter = css`\n opacity: 0;\n`;\n\nconst opacityEnterActive = css`\n opacity: 1;\n transition: opacity ${webAnimationOverlayDuration}ms ${cubicBezierOverlayEasing};\n`;\n\nconst opacityExit = css`\n opacity: 1;\n`;\n\nconst opacityExitActive = css`\n opacity: 0;\n transition: opacity ${webAnimationOverlayDuration}ms ${cubicBezierOverlayEasing};\n`;\n\nconst opacityClassNames = {\n appear: opacityEnter,\n appearActive: opacityEnterActive,\n enter: opacityEnter,\n enterActive: opacityEnterActive,\n exit: opacityExit,\n exitActive: opacityExitActive,\n};\n\nexport function CardModalAnimation({\n children,\n appear = true,\n visible,\n unmountOnExit = true,\n isAnimationEnabled = true,\n onEnter,\n onEntered,\n onExit,\n onExited,\n onClose,\n ...props\n}: CardModalAnimationProps): ReactNode {\n const theme = useTheme();\n const { animation } = theme.kitt.cardModal;\n\n const sharedProps = {\n in: visible,\n appear,\n unmountOnExit,\n };\n\n return (\n <View {...props} height=\"100%\" justifyContent=\"center\">\n <CSSTransition\n {...sharedProps}\n timeout={isAnimationEnabled ? animation.overlay.duration : 0}\n classNames={opacityClassNames}\n >\n <Overlay onPress={onClose} />\n </CSSTransition>\n\n <CSSTransition\n {...sharedProps}\n timeout={isAnimationEnabled ? animation.content.duration : 0}\n classNames={contentAnimationClassNames}\n onEnter={onEnter}\n onEntered={onEntered}\n onExit={onExit}\n onExited={onExited}\n >\n <CardModalRotationContainer alignItems=\"center\" margin=\"auto\">\n {children}\n </CardModalRotationContainer>\n </CSSTransition>\n </View>\n );\n}\n","import type { ReactNode } 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\nexport function CardModalScrollContainer({ children, ...props }: ScrollContainerProps): ReactNode {\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): ReactNode {\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 <CardModalScrollContainer bounces={false} contentContainerStyle={{ flexGrow: 1 }}>\n <CardModalAnimation {...props} visible={visible} onExited={handleExitAnimationDone} onClose={onClose}>\n {children}\n </CardModalAnimation>\n </CardModalScrollContainer>\n </ModalBehaviour>\n );\n}\n","import type { ReactNode } from 'react';\nimport type { ViewProps } from '../native-base/primitives';\nimport { View } from '../native-base/primitives';\n\nexport interface CardModalBodyProps extends ViewProps {\n children: NonNullable<ReactNode>;\n}\n\nexport function CardModalBody({\n children,\n paddingX = { base: 'kitt.4', medium: 'kitt.6' },\n paddingY = 'kitt.4',\n ...props\n}: CardModalBodyProps): ReactNode {\n return (\n <View paddingX={paddingX} paddingY={paddingY} {...props}>\n {children}\n </View>\n );\n}\n","import type { ReactNode } 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): ReactNode {\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 { 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): ReactNode {\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 { ReactNode } from 'react';\nimport type { Except } from 'type-fest';\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\ninterface BaseCardModalProps extends Except<ViewProps, 'children'> {\n withoutShadow?: boolean;\n}\n\ninterface CardModalWithChildren extends BaseCardModalProps {\n children: ReactNode;\n header?: never;\n footer?: never;\n body?: never;\n}\n\ninterface CardModalWithoutChildren extends BaseCardModalProps {\n children?: never;\n header?: ReactNode;\n footer?: ReactNode;\n body: ReactNode;\n}\n\nexport type CardModalProps = CardModalWithChildren | CardModalWithoutChildren;\n\nexport function CardModal({\n backgroundColor = 'kitt.uiBackgroundLight',\n maxWidth = 'kitt.cardModal.maxWidth',\n withoutShadow,\n children,\n header,\n body,\n footer,\n ...props\n}: CardModalProps): ReactNode {\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 maxHeight=\"100%\"\n maxWidth={maxWidth}\n >\n {children || (\n <>\n {header || null}\n {body || null}\n {footer || null}\n </>\n )}\n </View>\n );\n}\n\nCardModal.Body = CardModalBody;\nCardModal.Header = CardModalHeader;\nCardModal.Footer = CardModalFooter;\nCardModal.ModalBehaviour = CardModalBehaviour;\n","interface GetBackgroundColorParams {\n isDisabled?: boolean;\n isSelected?: boolean;\n isHovered?: boolean;\n isPressed?: boolean;\n}\n\nexport function getBackgroundColor({ isDisabled, isSelected, isHovered, isPressed }: GetBackgroundColorParams): string {\n if (isDisabled) return 'kitt.choices.item.disabled.backgroundColor';\n\n if (isSelected && isHovered) return 'kitt.choices.item.hoverWhenSelected.backgroundColor';\n\n if (isPressed) return 'kitt.choices.item.pressed.backgroundColor';\n\n if (isHovered) return 'kitt.choices.item.hover.backgroundColor';\n\n if (isSelected) return 'kitt.choices.item.selected.backgroundColor';\n\n return 'kitt.choices.item.default.backgroundColor';\n}\n","import type { ChoiceItemVariant } from '../ChoiceItem';\n\nexport function getBorderRadius(variant?: ChoiceItemVariant): number | string {\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 return variant === 'rounded' ? Number.MAX_SAFE_INTEGER : 'kitt.choices.item.borderRadius';\n}\n","import type { ReactNode } from 'react';\nimport { useTheme } from '../KittThemeContext';\nimport { View } from '../native-base/primitives';\nimport type { AnimatedChoiceItemViewProps } from './AnimatedChoiceItemView';\nimport { getBackgroundColor } from './utils/getBackgroundColor';\nimport { getBorderRadius } from './utils/getBorderRadius';\n\nexport function AnimatedChoiceItemView({\n children,\n variant,\n size,\n isHovered,\n isPressed,\n isDisabled,\n isSelected,\n}: AnimatedChoiceItemViewProps): ReactNode {\n const theme = useTheme();\n\n return (\n <View\n position=\"relative\"\n borderRadius={getBorderRadius(variant)}\n backgroundColor={getBackgroundColor({ isDisabled, isSelected, isHovered, isPressed })}\n paddingX={size === 'small' ? 'kitt.4' : { base: 'kitt.4', small: 'kitt.6' }}\n paddingY={size === 'small' ? 'kitt.2' : { base: 'kitt.4', small: 'kitt.6' }}\n _web={{\n style: {\n transitionProperty: theme.kitt.choices.item.transition.property,\n transitionDuration: `${theme.kitt.choices.item.transition.duration}ms`,\n transitionTimingFunction: theme.kitt.choices.item.transition.timingFunction,\n },\n }}\n >\n {children}\n </View>\n );\n}\n","import type { ViewStyle } from 'react-native';\n\nexport const useNativeAnimation = (): {\n onPressIn: () => void;\n onPressOut: () => void;\n backgroundStyles?: ViewStyle;\n} => {\n return {\n onPressIn: () => {},\n onPressOut: () => {},\n backgroundStyles: undefined,\n };\n};\n","import type { TypographyColor } from '../../typography/Typography';\n\ninterface GetCurrentTextColorParams {\n isDisabled?: boolean;\n isSelected?: boolean;\n isPressed?: boolean;\n isHovered?: boolean;\n}\n\nexport function 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","import type { ReactNode } from 'react';\nimport type { GestureResponderEvent } from 'react-native';\nimport { Pressable, View } from '../native-base/primitives';\nimport { Typography } from '../typography/Typography';\nimport { AnimatedChoiceItemView } from './AnimatedChoiceItemView';\nimport type { BaseChoicesProps } from './Choices';\nimport { useNativeAnimation } from './hooks/useNativeAnimation';\nimport { getBorderRadius } from './utils/getBorderRadius';\nimport { getCurrentTextColor } from './utils/getCurrentTextColor';\n\nexport type ChoiceItemVariant = 'rounded';\nexport type ChoiceItemSize = BaseChoicesProps<null>['size'];\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>): ReactNode {\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 <AnimatedChoiceItemView\n animatedStyles={backgroundStyles}\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 ? (\n <View\n borderRadius={getBorderRadius(variant)}\n borderWidth=\"kitt.choices.item.disabled.borderWidth\"\n borderColor=\"kitt.choices.item.disabled.borderColor\"\n position=\"absolute\"\n top=\"0\"\n right=\"0\"\n left=\"0\"\n bottom=\"0\"\n />\n ) : null}\n </AnimatedChoiceItemView>\n )}\n </Pressable>\n );\n}\n","import type { ReactNode } from 'react';\nimport { View } from '../native-base/primitives';\nimport type { ChoicesDirection } from './Choices';\n\ninterface ChoiceItemContainerProps {\n children: ReactNode;\n isLast?: boolean;\n direction: ChoicesDirection;\n}\n\nexport function ChoiceItemContainer({ children, direction, isLast }: ChoiceItemContainerProps): ReactNode {\n const currentItemMarginValue = isLast ? undefined : 'kitt.3';\n return (\n <View\n marginRight={direction === 'row' ? currentItemMarginValue : undefined}\n marginBottom={direction === 'column' ? currentItemMarginValue : undefined}\n >\n {children}\n </View>\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): ReactNode {\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>): ReactNode {\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} id={id}>\n {childrenArray.map((child, index) => {\n const element = cloneElement<ChoicesItemPropsFromChoiceType<V, ChoiceType>>(child, {\n selected: isForm ? child.props.value === currentValue : undefined,\n ...sharedProps,\n } as any);\n\n return (\n <ChoiceItemContainer key={child.key} direction={direction} isLast={index === childrenArray.length - 1}>\n {element}\n </ChoiceItemContainer>\n );\n })}\n </ChoicesContainer>\n );\n}\n\nChoices.Item = ChoiceItem;\n\nexport interface CreateChoices<V, ChoiceType extends ChoiceItemType> {\n (props: ChoicesProps<V, ChoiceType>): ReactElement;\n Item: (\n props: SetOptional<\n Except<ChoicesItemPropsFromChoiceType<V, ChoiceType>, OptionalChoiceItemProvidedByChoices>,\n ExcludeChoiceItemProvidedByChoices\n >,\n ) => ReactElement;\n}\n\nexport function createChoicesComponent<V, ChoiceType extends ChoiceItemType>(): CreateChoices<V, ChoiceType> {\n return Choices as CreateChoices<V, ChoiceType>;\n}\n\nconst ButtonChoices = createChoicesComponent<never, 'button'>();\n\nChoices.ButtonChoices = ButtonChoices;\n\nexport const ChoicesElements = {\n Item: ChoiceItem,\n ButtonChoices,\n};\n","import { css } from '@linaria/core';\nimport type { ReactNode } from 'react';\nimport { CSSTransition } from 'react-transition-group';\nimport { useTheme } from '../../KittThemeContext';\nimport { Overlay } from '../../Overlay/Overlay';\nimport { View } from '../../native-base/primitives';\nimport {\n webAnimationContentDuration,\n webAnimationContentEasing,\n webAnimationOverlayDuration,\n webAnimationOverlayEasing,\n} from '../../themes/late-ocean/dialogModal';\nimport type { DialogModalAnimationProps } from './DialogModalAnimation';\n\nconst [x1, y1, x2, y2] = webAnimationContentEasing;\n\nconst cubicBezierSlideIn = `cubic-bezier(${x1}, ${y1}, ${x2}, ${y2})`;\n\nconst contentAnimationEnter = css`\n opacity: 0;\n transform: rotateZ(5deg) scale(0.8);\n`;\n\nconst contentAnimatioEnterActive = css`\n opacity: 1;\n transform: rotateZ(0) scale(1);\n transition: all ${webAnimationContentDuration}ms ${cubicBezierSlideIn};\n`;\n\nconst contentAnimatioExit = css`\n opacity: 1;\n transform: rotateZ(0) scale(1);\n`;\n\nconst contentAnimatioExitActive = css`\n opacity: 0;\n transform: rotateZ(5deg) scale(0.8);\n transition: all ${webAnimationContentDuration}ms ${cubicBezierSlideIn};\n`;\n\nconst contentAnimationClassNames = {\n appear: contentAnimationEnter,\n appearActive: contentAnimatioEnterActive,\n enter: contentAnimationEnter,\n enterActive: contentAnimatioEnterActive,\n exit: contentAnimatioExit,\n exitActive: contentAnimatioExitActive,\n};\n\nconst [xA, yA, xB, yB] = webAnimationOverlayEasing;\n\nconst cubicBezierOverlayEasing = `cubic-bezier(${xA}, ${yA}, ${xB}, ${yB})`;\n\nconst opacityEnter = css`\n opacity: 0;\n`;\n\nconst opacityEnterActive = css`\n opacity: 1;\n transition: opacity ${webAnimationOverlayDuration}ms ${cubicBezierOverlayEasing};\n`;\n\nconst opacityExit = css`\n opacity: 1;\n`;\n\nconst opacityExitActive = css`\n opacity: 0;\n transition: opacity ${webAnimationOverlayDuration}ms ${cubicBezierOverlayEasing};\n`;\n\nconst opacityClassNames = {\n appear: opacityEnter,\n appearActive: opacityEnterActive,\n enter: opacityEnter,\n enterActive: opacityEnterActive,\n exit: opacityExit,\n exitActive: opacityExitActive,\n};\n\nexport function DialogModalAnimation({\n children,\n appear = true,\n visible,\n unmountOnExit = true,\n isAnimationEnabled = true,\n onEnter,\n onEntered,\n onExit,\n onExited,\n onClose,\n ...props\n}: DialogModalAnimationProps): ReactNode {\n const theme = useTheme();\n const { animation } = theme.kitt.dialogModal;\n\n const sharedProps = {\n in: visible,\n appear,\n unmountOnExit,\n };\n\n return (\n <View {...props} height=\"100%\" justifyContent=\"center\">\n <CSSTransition\n {...sharedProps}\n timeout={isAnimationEnabled ? animation.overlay.duration : 0}\n classNames={opacityClassNames}\n >\n <Overlay onPress={onClose} />\n </CSSTransition>\n\n <CSSTransition\n {...sharedProps}\n timeout={isAnimationEnabled ? animation.content.duration : 0}\n classNames={contentAnimationClassNames}\n onEnter={onEnter}\n onEntered={onEntered}\n onExit={onExit}\n onExited={onExited}\n >\n <View\n alignItems=\"center\"\n paddingX=\"kitt.dialogModal.overlayPadding.horizontal\"\n paddingY=\"kitt.dialogModal.overlayPadding.vertical\"\n margin=\"auto\"\n >\n {children}\n </View>\n </CSSTransition>\n </View>\n );\n}\n","import type { ReactNode } 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): ReactNode {\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 { 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?: ReactNode;\n title?: ReactNode;\n children: ReactNode;\n}\n\nexport function DialogModal({ illustration, title, children, actions }: DialogModalProps): ReactNode {\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 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): ReactNode {\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 { ReactNode } 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' | 'testID'> {\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, testID }: EmojiProps): ReactNode {\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 testID={testID}\n size={size}\n alt={emojiData.text}\n aria-label={emojiData.text}\n source={{ uri: emojiData.url }}\n style={style}\n alignSelf={alignSelf}\n _web={_web}\n />\n );\n}\n","import type { ComponentProps, ReactElement, ReactNode, 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>): ReactNode {\n const href = `${appScheme}:${appValue}`;\n\n const handleOnPress = async (e: GestureResponderEvent): Promise<void> => {\n try {\n const canOpen = await Linking.canOpenURL(href);\n\n if (canOpen) {\n if (onPress) {\n onPress(e);\n if (e?.defaultPrevented) return;\n }\n\n Linking.openURL(href).catch((error) => {\n console.error(`An error occurred while opening ${href}`, error);\n\n onOpenAppError?.(`An error occurred while opening ${href}`);\n });\n } else {\n onOpenAppError?.(`Cannot open url: ${href}`);\n }\n } catch {\n onOpenAppError?.('An error occured with Linkinf.canOpenURL');\n }\n };\n\n return <Component href={href} {...(rest as any)} onPress={handleOnPress} />;\n}\n\nExternalAppLink.Sms = function ExternalAppLinkSms<C extends VoidFunctionComponent<any>>({\n phoneNumber,\n children,\n ...rest\n}: ExternalAppLinkPhoneProps<C> & ExternalAppLinkSendableComponentProps<C>): ReactElement {\n return (\n <ExternalAppLink {...(rest as any)} appScheme=\"sms\" appValue={phoneNumber}>\n {children}\n </ExternalAppLink>\n );\n};\n\nExternalAppLink.Tel = function ExternalAppLinkTel<C extends VoidFunctionComponent<any>>({\n phoneNumber,\n children,\n ...rest\n}: ExternalAppLinkPhoneProps<C> & ExternalAppLinkSendableComponentProps<C>): ReactElement {\n return (\n <ExternalAppLink {...(rest as any)} appScheme=\"tel\" appValue={phoneNumber}>\n {children}\n </ExternalAppLink>\n );\n};\n\nExternalAppLink.Mail = function ExternalAppLinkMail<C extends VoidFunctionComponent<any>>({\n emailAddress,\n children,\n ...rest\n}: ExternalAppLinkMailProps<C> & ExternalAppLinkSendableComponentProps<C>): ReactElement {\n return (\n <ExternalAppLink {...(rest as any)} appScheme=\"mailto\" appValue={emailAddress}>\n {children}\n </ExternalAppLink>\n );\n};\n","export interface ExternalLinkOpenLinkBehavior {\n /**\n * @default 'openInModal'\n *\n * @description open link behavior in native\n *\n * \"openInModal\": open via [expo-web-browser](https://docs.expo.dev/versions/latest/sdk/webbrowser/)\n *\n * \"openBrowserApp\": open via [Linking](https://docs.expo.dev/guides/linking/#opening-links-from-your-app)\n */\n native?: 'openInModal' | 'openBrowserApp';\n\n /**\n * @default 'targetBlank'\n *\n * @description open link behavior in native\n *\n * \"targetSelf\": no dom attributes added, behave like `target=\"_self\"`\n *\n * \"targetBlank\": dome attributes: `target=\"_blank\" rel=\"noopener noreferrer\"`\n */\n web?: 'targetSelf' | 'targetBlank';\n}\n\nexport const defaultOpenLinkBehavior: ExternalLinkOpenLinkBehavior = {\n native: 'openInModal',\n web: 'targetBlank',\n};\n","import type { ReactNode, VoidFunctionComponent } from 'react';\nimport type { ExternalLinkProps, ExternalLinkSendableComponentProps } from './ExternalLink';\nimport { defaultOpenLinkBehavior } from './ExternalLinkOpenLinkBehavior';\n\nexport function ExternalLink<C extends VoidFunctionComponent<any>>({\n as: Component,\n href,\n openLinkBehavior = defaultOpenLinkBehavior,\n onPress,\n ...rest\n}: ExternalLinkProps<C> & ExternalLinkSendableComponentProps<C>): ReactNode {\n return (\n <Component\n {...(rest as any)}\n href={href}\n hrefAttrs={openLinkBehavior?.web === 'targetSelf' ? undefined : { target: '_blank', rel: 'noopener noreferrer' }}\n onPress={onPress}\n />\n );\n}\n","import { defaultOpenLinkBehavior } from '../ExternalLinkOpenLinkBehavior';\nimport type { OpenExternalLinkParams } from '../OpenExternalLinkParams';\n\nexport function useOpenExternalLink() {\n return async ({ href, behavior = defaultOpenLinkBehavior }: OpenExternalLinkParams): Promise<void> => {\n switch (behavior.web) {\n case 'targetSelf':\n window.open(href, '_self');\n\n break;\n case 'targetBlank':\n case undefined:\n default:\n window.open(href, '_blank', 'noopener noreferrer');\n }\n };\n}\n","import type { ReactElement, ReactNode } from 'react';\nimport { useTheme } from '../../KittThemeContext';\nimport type { TypographyIconProps } from '../../typography/TypographyIcon';\nimport { TypographyIcon } from '../../typography/TypographyIcon';\nimport type { InputFormState } from '../utils';\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): ReactNode {\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 { ReactNode } 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): ReactNode {\n return <Pressable {...props} />;\n}\n","import { css } from '@linaria/core';\nimport type { ReactNode } from 'react';\nimport { webAnimationDuration, webAnimationProperty, webAnimationTimingFunction } from '../../themes/late-ocean/input';\nimport type { InputTextContainerProps } from './InputTextContainer';\n\nconst inputTextContainer = css`\n display: flex;\n position: relative;\n\n & > *::-ms-clear,\n & > *::-ms-reveal {\n display: none;\n }\n\n & > * {\n transition: ${webAnimationProperty} ${webAnimationDuration} ${webAnimationTimingFunction};\n }\n`;\n\nexport function InputTextContainer(props: InputTextContainerProps): ReactNode {\n return <div className={inputTextContainer} {...props} />;\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 type { Except } from 'type-fest';\nimport { useTheme } from '../../KittThemeContext';\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, 'id'> {\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 inputMode = 'none',\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>\n <Input\n ref={ref as any}\n multiline={multiline}\n id={id}\n isDisabled={internalForceState ? internalForceState === 'disabled' : disabled}\n isHovered={internalForceState ? internalForceState === 'hover' : undefined}\n isFocused={internalForceState ? internalForceState === 'focus' : undefined}\n inputMode={inputMode}\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 { ReactNode } from 'react';\nimport { View } from '../../native-base/primitives';\n\ninterface UIState {\n isSelected?: boolean;\n isHovered?: boolean;\n isFocused?: boolean;\n isPressed?: boolean;\n isHighlighted?: boolean;\n}\n\nfunction getBackgroundColor({ isSelected, isHighlighted, isPressed, isHovered, isFocused }: UIState): string {\n const baseKey = 'kitt.forms.autocomplete.option';\n\n if (isHighlighted) {\n return `${baseKey}.highlighted.backgroundColor`;\n }\n\n if (isPressed) {\n return `${baseKey}.pressed.backgroundColor`;\n }\n\n if (isHovered) {\n return `${baseKey}.hovered.backgroundColor`;\n }\n\n if (isFocused) {\n return `${baseKey}.focused.backgroundColor`;\n }\n\n if (isSelected) {\n return `${baseKey}.selected.backgroundColor`;\n }\n\n return `${baseKey}.default.backgroundColor`;\n}\n\ninterface AutocompleteItemProps<T extends object> {\n item: T;\n children: ReactNode;\n isSelected?: boolean;\n isHighlighted?: boolean;\n isHovered?: boolean;\n isFocused?: boolean;\n isPressed?: boolean;\n}\n\nexport function AutocompleteItem<T extends object>({\n children,\n isSelected,\n isHighlighted,\n isHovered,\n isFocused,\n isPressed,\n}: AutocompleteItemProps<T>): ReactNode {\n return (\n <View\n justifyContent=\"center\"\n width=\"100%\"\n minHeight=\"kitt.forms.autocomplete.option.minHeight\"\n borderRadius=\"kitt.1\"\n padding=\"kitt.1\"\n backgroundColor={getBackgroundColor({ isSelected, isHighlighted, isPressed, isHovered, isFocused })}\n >\n {children}\n </View>\n );\n}\n","import type { ReactNode } from 'react';\nimport type { ViewProps } from '../../native-base/primitives';\nimport { View } from '../../native-base/primitives';\n\ninterface AutocompleteItemsListContainerProps {\n testID: ViewProps['testID'];\n zIndex?: ViewProps['zIndex'];\n children: ReactNode;\n}\n\nexport function AutocompleteItemsListContainer({\n testID,\n children,\n zIndex = 1000,\n}: AutocompleteItemsListContainerProps): ReactNode {\n return (\n <View\n testID={testID}\n zIndex={zIndex}\n top=\"kitt.2\"\n left={0}\n position=\"absolute\"\n flexGrow={1}\n width=\"100%\"\n paddingY=\"kitt.2\"\n borderRadius=\"kitt.forms.autocomplete.optionsContainer.borderRadius\"\n backgroundColor=\"kitt.forms.autocomplete.optionsContainer.backgroundColor\"\n shadow=\"kitt.forms.autocomplete.optionsContainer.shadow\"\n _android={{ style: { elevation: 2 } }}\n >\n {children}\n </View>\n );\n}\n","import type { ReactNode } from 'react';\nimport type { ViewProps } from '../../native-base/primitives';\nimport { View } from '../../native-base/primitives';\n\nexport interface AutocompleteOptionProps extends ViewProps {\n item: unknown;\n children: ReactNode;\n}\n\nexport function AutocompleteOption({ children, ...props }: AutocompleteOptionProps): ReactNode {\n return (\n <View\n paddingX={{ base: 'kitt.2', small: 'kitt.4' }}\n paddingY=\"kitt.forms.autocomplete.option.verticalPadding\"\n {...props}\n >\n {children}\n </View>\n );\n}\n","import { CaretDownFillIcon, CaretUpFillIcon } from '@ornikar/kitt-icons/phosphor';\nimport type { DownshiftProps } from 'downshift';\nimport Downshift from 'downshift';\nimport type { ComponentType, ReactElement, ReactNode } from 'react';\nimport { Children } from 'react';\nimport type { GestureResponderEvent } from 'react-native';\nimport { Platform } from 'react-native';\nimport type { ViewProps } from '../../native-base/primitives';\nimport { Pressable, View } from '../../native-base/primitives';\nimport { InputIcon } from '../InputIcon/InputIcon';\nimport { InputPressable } from '../InputPressable/InputPressable';\nimport type { InputTextProps } from '../InputText/InputText';\nimport { InputText } from '../InputText/InputText';\nimport { AutocompleteItem } from './AutocompleteItem';\nimport { AutocompleteItemsListContainer } from './AutocompleteItemsListContainer';\nimport { AutocompleteOption } from './AutocompleteOption';\n\n// When testing with jest on native, e is undefined, we need to patch it to make it work\nfunction patchNativeEvent(event?: GestureResponderEvent): GestureResponderEvent {\n return event || ({ preventDownshiftDefault: false, preventDefault: () => {} } as unknown as GestureResponderEvent);\n}\n\ninterface BaseItemProps<T> {\n item: T;\n}\n\ntype ComponentWithItemProp<T> = ComponentType<BaseItemProps<T>>;\n\nexport interface AutocompleteProps<T extends object> extends Omit<InputTextProps, 'onChange'> {\n children: ReactElement<ComponentWithItemProp<T>>[];\n isInitialOpen?: DownshiftProps<T>['defaultIsOpen'];\n initialValue?: T;\n containerProps?: Exclude<ViewProps, 'ref'>;\n filterItemBasedOnCurrentInputValue?: (item: T, inputValue: string) => boolean;\n checkSelectedItem: (selectedItem: T | undefined, item: T) => boolean;\n itemToString: (item?: T) => string;\n right?: InputTextProps['right'];\n errorElement?: ReactNode;\n emptyResultsElement?: ReactNode;\n inputTestID?: ViewProps['testID'];\n listContainerTestID?: ViewProps['testID'];\n zIndex?: ViewProps['zIndex'];\n onChange?: DownshiftProps<T>['onChange'];\n onInputChange?: DownshiftProps<T>['onInputValueChange'];\n onSelectItem?: DownshiftProps<T>['onSelect'];\n onOuterPress?: DownshiftProps<T>['onOuterClick'];\n}\n\nfunction isReactElement(element: unknown): element is ReactElement {\n return typeof element === 'object' && element !== null && 'type' in element && 'props' in element;\n}\n\nexport function Autocomplete<T extends object>({\n children,\n name,\n disabled,\n placeholder,\n isInitialOpen,\n initialValue,\n containerProps,\n filterItemBasedOnCurrentInputValue,\n checkSelectedItem,\n itemToString,\n right,\n onChange,\n onFocus,\n onBlur,\n onInputChange,\n onSelectItem,\n /**\n * @description web only callback\n */\n onOuterPress,\n errorElement,\n emptyResultsElement,\n inputTestID = 'kitt.Autocomplete.inputText',\n listContainerTestID = 'kitt.Autocomplete.listContainer',\n zIndex = 1000,\n ...props\n}: AutocompleteProps<T>): ReactNode {\n const childrenArray = Children.toArray(children);\n\n const items: { child: ReactElement; item: T }[] = childrenArray\n .filter(isReactElement)\n .map((child) => ({ child, item: child.props.item }));\n\n const handleItemToString = (item: T | null): string => {\n // Prevents returning null values\n if (!itemToString) return '';\n return itemToString(item || undefined);\n };\n\n return (\n <Downshift\n defaultIsOpen={isInitialOpen}\n initialSelectedItem={initialValue}\n initialInputValue={initialValue ? itemToString(initialValue) : undefined}\n itemToString={handleItemToString}\n stateReducer={(state, changes) => {\n switch (changes.type) {\n case Downshift.stateChangeTypes.changeInput:\n return {\n ...changes,\n selectedItem: null,\n };\n default:\n return changes;\n }\n }}\n onChange={(selectedItem, stateAndHelpers) => {\n if (onChange) {\n onChange(selectedItem, stateAndHelpers);\n }\n }}\n onSelect={onSelectItem}\n onOuterClick={onOuterPress}\n onInputValueChange={onInputChange}\n >\n {({\n getRootProps,\n getInputProps,\n getMenuProps,\n getItemProps,\n getToggleButtonProps,\n isOpen,\n inputValue,\n highlightedIndex,\n selectedItem,\n openMenu,\n }) => {\n const shouldSuppressRefError = Platform.OS !== 'web';\n\n const rootProps = getRootProps(undefined, { suppressRefError: shouldSuppressRefError });\n const menuProps = getMenuProps(undefined, { suppressRefError: shouldSuppressRefError });\n const { onClick: onClickToggle, onPress: onPressToggle, ...toggleProps } = getToggleButtonProps({ disabled });\n\n const {\n onKeyDown,\n onFocus: onSearchInputFocus,\n onBlur: onSearchInputBlur,\n onChange: onSearchInputChange,\n ...inputProps\n } = getInputProps({ placeholder, disabled });\n\n const hasCurrentSearch = inputValue && inputValue.length > 0;\n\n const currentItems =\n hasCurrentSearch && filterItemBasedOnCurrentInputValue\n ? items.filter(({ item }) => {\n if (!filterItemBasedOnCurrentInputValue) return true;\n return filterItemBasedOnCurrentInputValue(item, inputValue || '');\n })\n : items;\n\n // We need to check if the menu is open and if there is at least one item or an error element to prevent displaying an empty container\n const isCurrentlyOpen = isOpen ? currentItems.length > 0 || !!errorElement || !!emptyResultsElement : false;\n\n const handleTogglePress = (e?: GestureResponderEvent): void => {\n if (Platform.OS === 'web') {\n onClickToggle(e);\n return;\n }\n onPressToggle(patchNativeEvent(e));\n };\n\n const canDisplayCollapseButton = currentItems.length > 0 || !!errorElement || !!emptyResultsElement;\n\n return (\n <View {...rootProps} {...containerProps} zIndex={zIndex} position=\"relative\">\n <InputText\n {...inputProps}\n {...props}\n name={name}\n testID={inputTestID}\n right={\n right ||\n (canDisplayCollapseButton ? (\n <InputPressable\n {...toggleProps}\n testID=\"kitt.Autocomplete.listToggle\"\n hitSlop={40}\n onPress={handleTogglePress}\n >\n <InputIcon icon={isCurrentlyOpen ? <CaretUpFillIcon /> : <CaretDownFillIcon />} />\n </InputPressable>\n ) : null)\n }\n onFocus={(e) => {\n openMenu();\n /** @ts-expect-error onFocus wants web events */\n if (Platform.OS !== 'android' && onSearchInputFocus) onSearchInputFocus(e);\n\n if (onFocus) onFocus(e);\n }}\n onBlur={(e) => {\n /** @ts-expect-error onBlur wants web events */\n if (Platform.OS !== 'android' && onSearchInputBlur) onSearchInputBlur(e);\n\n if (onBlur) onBlur(e);\n }}\n /** @ts-expect-error onSearchInputChange wants web events */\n onChange={onSearchInputChange}\n /** @ts-expect-error onKeyDown wants web events */\n onKeyPress={onKeyDown}\n />\n <View {...menuProps} position=\"relative\">\n {isCurrentlyOpen ? (\n <AutocompleteItemsListContainer testID={listContainerTestID}>\n {currentItems.map(({ child, item }, index) => {\n const {\n onClick,\n onPress,\n role,\n 'aria-selected': ariaSelected,\n ...itemProps\n } = getItemProps({ item, index });\n\n return (\n <Pressable\n key={itemProps.id}\n {...itemProps}\n accessibilityRole={Platform.OS === 'android' ? undefined : role}\n accessibilityState={{ selected: ariaSelected }}\n disabled={disabled}\n onPress={(e) => {\n if (Platform.OS === 'web') {\n if (onClick) onClick(e);\n return;\n }\n\n if (onPress) onPress(patchNativeEvent(e));\n }}\n >\n {({ isHovered, isFocused, isPressed }) => (\n <AutocompleteItem<T>\n item={item}\n isHighlighted={highlightedIndex === index}\n isHovered={isHovered}\n isFocused={isFocused}\n isPressed={isPressed}\n isSelected={checkSelectedItem(selectedItem || undefined, item)}\n >\n {child}\n </AutocompleteItem>\n )}\n </Pressable>\n );\n })}\n\n {errorElement}\n {emptyResultsElement}\n </AutocompleteItemsListContainer>\n ) : null}\n </View>\n </View>\n );\n }}\n </Downshift>\n );\n}\n\nAutocomplete.Option = AutocompleteOption;\n/**\n * @description: This is exported for testing purposes only\n */\nAutocomplete.UnsafeInternalItem = AutocompleteItem;\n","<svg fill=\"none\" viewBox=\"0 0 14 14\"><path d=\"M1.895 7.205a.7.7 0 0 0-.99.99l3.5 3.5a.7.7 0 0 0 .99 0l7.7-7.7a.7.7 0 1 0-.99-.99L4.9 10.21 1.895 7.205z\" fill=\"currentColor\"/></svg>","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 type { ReactElement, ReactNode } from 'react';\nimport { forwardRef } from 'react';\nimport type { GestureResponderEvent, PressableProps } from 'react-native';\nimport { Icon } from '../../Icon/Icon';\nimport { useTheme } from '../../KittThemeContext';\nimport { HStack } from '../../native-base/layout';\nimport { Pressable, View } from '../../native-base/primitives';\nimport CheckboxMarkIcon from './checkbox-mark.inline.svg';\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 id={id}\n testID={testID}\n accessibilityRole=\"checkbox\"\n accessibilityState={{ checked: !!checked, disabled }}\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 ? 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={<CheckboxMarkIcon />}\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 getEnterKeyHintForNumericInput(\n enterKeyHint: TextInputProps['enterKeyHint'],\n): TextInputProps['enterKeyHint'] {\n // enterKeyHint is only displayed on number input on iOS if value is done\n if (Platform.OS === 'ios') return 'done';\n\n return enterKeyHint;\n}\n","function prefixWithZero(value: number, maxLength = 2): string {\n return `${value}`.padStart(maxLength, '0');\n}\n\nexport function dayFormatter(day: number): string {\n return prefixWithZero(day);\n}\n\nexport function monthFormatter(month: number): string {\n return prefixWithZero(month);\n}\n\nexport function yearFormatter(year: number): string {\n return prefixWithZero(year, 4);\n}\n","export function getDayInInterval(value: number | undefined): number | undefined {\n const minValue = 1;\n const maxValue = 31;\n\n return value !== undefined ? Math.max(minValue, Math.min(maxValue, value)) : value;\n}\n\nexport function getMonthInInterval(\n value: number | undefined,\n minDate: Date | undefined,\n maxDate: Date | undefined,\n): number | undefined {\n const maxMonthInYear = 12;\n\n const minValue = minDate ? minDate.getMonth() + 1 : 1;\n const maxValue = maxDate ? maxDate.getMonth() + 1 : maxMonthInYear;\n\n return value !== undefined ? Math.max(minValue, Math.min(maxValue, value)) : value;\n}\n\nexport function getYearInInterval(\n value: number | undefined,\n minDate: Date | undefined,\n maxDate: Date | undefined,\n): number | undefined {\n const maxPossibleYear = 9999;\n\n const minValue = minDate ? minDate.getFullYear() : 1;\n const maxValue = maxDate ? maxDate.getFullYear() : maxPossibleYear;\n\n return value !== undefined ? Math.max(minValue, Math.min(maxValue, value)) : value;\n}\n","import type { Reducer } from 'react';\nimport type { DatePickerProps } from '../DatePicker';\nimport { dayFormatter, monthFormatter, yearFormatter } from '../utils/dateFormatter';\nimport { getDayInInterval, getMonthInInterval, getYearInInterval } from '../utils/datePartInInterval';\n\nfunction getValueToDisplayedString(value: number | undefined): string {\n // We exclude the undefined value since 0 is a valid number\n if (value === undefined) return '';\n\n return value.toString();\n}\n\nexport interface State {\n currentValue: DatePickerProps['value'];\n currentDay?: number;\n currentMonth?: number;\n currentYear?: number;\n displayedDay?: string;\n displayedMonth?: string;\n displayedYear?: string;\n minDate: DatePickerProps['minDate'];\n maxDate: DatePickerProps['maxDate'];\n}\n\ninterface DayChangeAction {\n type: 'day-change';\n nextDay?: number;\n}\n\ninterface MonthChangeAction {\n type: 'month-change';\n nextMonth?: number;\n}\n\ninterface YearChangeAction {\n type: 'year-change';\n nextYear?: number;\n}\n\ninterface DayBlurAction {\n type: 'day-blur';\n}\n\ninterface MonthBlurAction {\n type: 'month-blur';\n}\n\ninterface YearBlurAction {\n type: 'year-blur';\n}\n\ntype Actions =\n | DayChangeAction\n | MonthChangeAction\n | YearChangeAction\n | DayBlurAction\n | MonthBlurAction\n | YearBlurAction;\n\nexport const keyboardDatePickerReducer: Reducer<State, Actions> = (state, action) => {\n switch (action.type) {\n case 'day-change': {\n const { nextDay } = action;\n\n return {\n ...state,\n currentDay: nextDay,\n displayedDay: getValueToDisplayedString(nextDay),\n };\n }\n\n case 'month-change': {\n const { nextMonth } = action;\n\n return {\n ...state,\n currentMonth: nextMonth,\n displayedMonth: getValueToDisplayedString(nextMonth),\n };\n }\n\n case 'year-change': {\n const { nextYear } = action;\n\n return {\n ...state,\n currentYear: nextYear,\n displayedYear: getValueToDisplayedString(nextYear),\n };\n }\n\n case 'day-blur': {\n const nextCurrentDay = getDayInInterval(state.currentDay);\n\n return {\n ...state,\n displayedDay: nextCurrentDay ? dayFormatter(nextCurrentDay) : state.displayedDay,\n };\n }\n\n case 'month-blur': {\n const { minDate, maxDate } = state;\n\n const nextCurrentMonth = getMonthInInterval(state.currentMonth, minDate, maxDate);\n\n return {\n ...state,\n currentMonth: nextCurrentMonth,\n displayedMonth: nextCurrentMonth !== undefined ? monthFormatter(nextCurrentMonth) : state.displayedMonth,\n };\n }\n\n case 'year-blur': {\n const { minDate, maxDate } = state;\n\n const nextCurrentYear = getYearInInterval(state.currentYear, minDate, maxDate);\n\n return {\n ...state,\n currentYear: nextCurrentYear,\n displayedYear: nextCurrentYear !== undefined ? yearFormatter(nextCurrentYear) : state.displayedYear,\n };\n }\n\n default:\n return state;\n }\n};\n","export function isNumber(input?: unknown): boolean {\n // Number.isNaN and isNaN are not consistent\n // eslint-disable-next-line no-restricted-globals\n return !isNaN(input as any);\n}\n","interface OnDatePartChangeParams {\n day?: number;\n month?: number;\n year?: number;\n validYearMinLength?: number;\n minDate?: Date;\n maxDate?: Date;\n onChange: (v?: Date) => void;\n onBlur?: () => void;\n onFocus?: () => void;\n}\n\nexport function onDatePartChange({\n day,\n month,\n year,\n validYearMinLength = 4,\n minDate,\n maxDate,\n onChange,\n onBlur,\n onFocus,\n}: OnDatePartChangeParams): void {\n const arrayParts = [day, month, year];\n\n const isEverythingUndefined = arrayParts.every((v) => v === undefined);\n const isEverythingDefined = arrayParts.every(Boolean);\n\n // every parts are undefined\n if (isEverythingUndefined) {\n if (onFocus) onFocus();\n onChange(undefined);\n if (onBlur) onBlur();\n\n return;\n }\n\n // Do nothing if some input parts are empty\n if (!isEverythingDefined) {\n return;\n }\n\n const nextValue = new Date();\n\n const isValidYear = year && year.toString().length >= validYearMinLength;\n\n if (!isValidYear) {\n return;\n }\n\n if (day) nextValue.setDate(day);\n if (month) nextValue.setMonth(month - 1);\n if (year) nextValue.setFullYear(year);\n\n nextValue.setMinutes(0);\n nextValue.setHours(0);\n nextValue.setSeconds(0);\n nextValue.setMilliseconds(0);\n\n if (minDate) {\n minDate.setMinutes(0);\n minDate.setHours(0);\n minDate.setSeconds(0);\n minDate.setMilliseconds(0);\n const isMinDateAfterNextValue = minDate.getTime() > nextValue.getTime();\n\n if (isMinDateAfterNextValue) {\n if (onFocus) onFocus();\n onChange(undefined);\n if (onBlur) onBlur();\n\n return;\n }\n }\n\n if (maxDate) {\n maxDate.setMinutes(0);\n maxDate.setHours(0);\n maxDate.setSeconds(0);\n maxDate.setMilliseconds(0);\n\n const isMaxDateBeforeNextValue = nextValue.getTime() > maxDate.getTime();\n\n if (isMaxDateBeforeNextValue) {\n if (onFocus) onFocus();\n onChange(undefined);\n if (onBlur) onBlur();\n\n return;\n }\n }\n\n if (onFocus) onFocus();\n onChange(nextValue);\n if (onBlur) onBlur();\n}\n","export function stringToNumber(text: string): number | undefined {\n if (text.length === 0) return undefined;\n return parseInt(text, 10);\n}\n","import 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 id?: string;\n value?: string;\n placeholder?: InputTextProps['placeholder'];\n disabled?: boolean;\n isFocusedInternal?: boolean;\n isHoveredInternal?: boolean;\n isPressedInternal?: boolean;\n enterKeyHint?: InputTextProps['enterKeyHint'];\n onChange?: InputTextProps['onChange'];\n onBlur?: () => void;\n onSubmitEditing?: InputTextProps['onSubmitEditing'];\n}\n\nexport const InputPart = forwardRef(\n (\n {\n id,\n value,\n placeholder,\n disabled,\n isFocusedInternal,\n isHoveredInternal,\n isPressedInternal,\n enterKeyHint,\n onChange,\n onBlur,\n onSubmitEditing,\n }: InputPartProps,\n ref: Ref<TextInput>,\n ): ReactElement => {\n return (\n <InputText\n ref={ref}\n id={id}\n internalForceState={getCurrentInternalForcedState({\n isDisabled: disabled,\n isHoveredInternal,\n isFocusedInternal,\n isPressedInternal,\n })}\n value={value}\n placeholder={placeholder}\n disabled={disabled}\n inputMode=\"numeric\"\n enterKeyHint={enterKeyHint}\n textAlign=\"center\"\n onChange={onChange}\n onBlur={onBlur}\n onSubmitEditing={onSubmitEditing}\n />\n );\n },\n);\n","import type { 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): ReactNode {\n return (\n <View\n flexGrow={createResponsiveStyleFromProp(isStretch, 1)}\n flexShrink={createResponsiveStyleFromProp(isStretch, 1)}\n flexBasis={createResponsiveStyleFromProp(isStretch, 0)}\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 { getEnterKeyHintForNumericInput } from '../../../utils/getEnterKeyHintForNumericInput/getEnterKeyHintForNumericInput';\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 id,\n value,\n testID,\n stretch,\n placeholder,\n minDate,\n maxDate,\n disabled,\n isFocusedInternal,\n isHoveredInternal,\n isPressedInternal,\n enterKeyHint,\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} id={id}>\n <HStack space=\"kitt.2\">\n <PartContainer isStretch={stretch} width=\"kitt.forms.datePicker.day.minWidth\">\n <InputPart\n ref={ref}\n id={id ? `${id}-day` : undefined}\n {...sharedInputPartProps}\n placeholder={placeholder?.day}\n value={state.displayedDay}\n enterKeyHint={getEnterKeyHintForNumericInput('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 id={id ? `${id}-month` : undefined}\n {...sharedInputPartProps}\n placeholder={placeholder?.month}\n value={state.displayedMonth}\n enterKeyHint={getEnterKeyHintForNumericInput('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 id={id ? `${id}-year` : undefined}\n {...sharedInputPartProps}\n placeholder={placeholder?.year}\n value={state.displayedYear}\n enterKeyHint={enterKeyHint ? getEnterKeyHintForNumericInput(enterKeyHint) : undefined}\n onChange={(e) => {\n const nextYear = stringToNumber(e.nativeEvent.text);\n\n dispatch({ type: 'year-change', nextYear });\n\n if (nextYear && isNumber(nextYear)) {\n handleDatePartChange(state.currentDay, state.currentMonth, nextYear);\n }\n }}\n onBlur={() => dispatch({ type: 'year-blur' })}\n onSubmitEditing={onSubmitEditing}\n />\n </PartContainer>\n </HStack>\n </View>\n );\n },\n);\n","import type { ReactElement } from 'react';\nimport { forwardRef } from 'react';\nimport type { TextInput as RNTextInput } from 'react-native';\nimport type { DatePickerProps } from './DatePicker';\nimport { KeyboardDatePicker } from './components/KeyboardDatePicker';\n\nexport const DatePicker = forwardRef<RNTextInput, DatePickerProps>(\n ({ value, ...props }: DatePickerProps, ref): ReactElement => {\n // in apps, final-form can give a string value that will break the component\n const currentValue = value || undefined;\n\n return <KeyboardDatePicker ref={ref} {...props} value={currentValue} />;\n },\n);\n","import type { ReactNode } from 'react';\nimport { createContext } from 'react';\n\nexport const GoogleMapsApiKeyContext = createContext<string | undefined>(undefined);\n\nexport interface GoogleMapsApiKeyProviderProps {\n children: ReactNode;\n apiKey: string;\n}\n\nexport function GoogleMapsApiKeyProvider({ children, apiKey }: GoogleMapsApiKeyProviderProps): ReactNode {\n return <GoogleMapsApiKeyContext.Provider value={apiKey}>{children}</GoogleMapsApiKeyContext.Provider>;\n}\n","import { useContext } from 'react';\nimport { GoogleMapsApiKeyContext } from '../GoogleMapsApiKeyProvider';\n\nexport function useGoogleMapApiKey(): string {\n const context = useContext(GoogleMapsApiKeyContext);\n\n if (!context) {\n throw new Error('<GoogleMapsApiKeyContext> missing in the react tree');\n }\n\n return context;\n}\n","import { Loader } from '@googlemaps/js-api-loader';\nimport { useEffect, useRef } from 'react';\nimport { useGoogleMapApiKey } from '../../GoogleMapsApiKeyProvider/hooks/useGoogleMapApiKey';\nimport type { GetDetailsResponse, GetPlacePredictions, UseGooglePlacesServices } from './useGoogleMapsApi';\n\nexport function useGoogleMapsApi(): UseGooglePlacesServices {\n const apiKey = useGoogleMapApiKey();\n\n const autoCompleteServiceInstanceRef = useRef<google.maps.places.AutocompleteService | null>(null);\n const placesServiceInstanceRef = useRef<google.maps.places.PlacesService | null>(null);\n\n useEffect(() => {\n if (autoCompleteServiceInstanceRef.current && placesServiceInstanceRef.current) return;\n\n const loader = new Loader({\n apiKey,\n libraries: ['places'],\n });\n\n async function loadMapsApi(): Promise<void> {\n try {\n const placeApi = await loader.importLibrary('places');\n autoCompleteServiceInstanceRef.current = new placeApi.AutocompleteService();\n placesServiceInstanceRef.current = new placeApi.PlacesService(document.createElement('div'));\n } catch (error) {\n console.error(error);\n }\n }\n\n loadMapsApi();\n }, [apiKey]);\n\n return {\n autoComplete: {\n getPlacePredictions: (input: string): Promise<GetPlacePredictions> => {\n const promise = new Promise<GetPlacePredictions>((resolve) => {\n autoCompleteServiceInstanceRef.current?.getPlacePredictions({ input }, (predictions, status) => {\n if (status !== google.maps.places.PlacesServiceStatus.OK) {\n resolve({ status, results: [] });\n return;\n }\n\n resolve({\n results: predictions,\n status,\n });\n });\n });\n\n return promise;\n },\n },\n placesService: {\n getDetails: (placeId: string): Promise<GetDetailsResponse> => {\n const promise = new Promise<GetDetailsResponse>((resolve) => {\n placesServiceInstanceRef.current?.getDetails({ placeId }, (place, status) => {\n if (status !== google.maps.places.PlacesServiceStatus.OK) {\n resolve({ status, result: undefined });\n return;\n }\n\n resolve({\n result: place,\n status,\n });\n });\n });\n\n return promise;\n },\n },\n };\n}\n","import type { Reducer } from 'react';\n\nexport interface State {\n currentSelectedValue?: google.maps.places.PlaceResult;\n items: google.maps.places.AutocompletePrediction[];\n isLoadingSearch?: boolean;\n hasSearchError?: boolean;\n hasSelectResultError?: boolean;\n isLoadingResultDetails?: boolean;\n shouldDisplayEmptyStateWhenNoResults?: boolean;\n}\n\ninterface SearchChangeAction {\n type: 'search-change';\n}\n\ninterface SearchSuccessAction {\n type: 'search-success';\n payload: {\n results: google.maps.places.AutocompletePrediction[];\n };\n}\n\ninterface SearchErrorAction {\n type: 'search-error';\n}\n\ninterface SelectResultAction {\n type: 'select-result';\n}\n\ninterface SelectResultSuccessAction {\n type: 'select-result-success';\n payload: {\n result: google.maps.places.PlaceResult;\n };\n}\n\ninterface SelectResultErrorAction {\n type: 'select-result-error';\n}\n\ntype Actions =\n | SearchChangeAction\n | SelectResultAction\n | SearchSuccessAction\n | SearchErrorAction\n | SelectResultSuccessAction\n | SelectResultErrorAction;\n\nexport const googleMapsAutocompleteReducer: Reducer<State, Actions> = (state, action) => {\n switch (action.type) {\n case 'search-change': {\n return {\n ...state,\n hasSearchError: false,\n isLoadingSearch: true,\n };\n }\n\n case 'search-success': {\n return {\n ...state,\n hasSearchError: false,\n isLoadingSearch: false,\n items: action.payload.results,\n };\n }\n\n case 'search-error': {\n return {\n ...state,\n hasSearchError: true,\n isLoadingSearch: false,\n items: [],\n };\n }\n\n case 'select-result': {\n return {\n ...state,\n hasSelectResultError: false,\n isLoadingResultDetails: true,\n };\n }\n\n case 'select-result-success': {\n return {\n ...state,\n hasSelectResultError: false,\n isLoadingResultDetails: false,\n currentSelectedValue: action.payload.result,\n };\n }\n\n case 'select-result-error': {\n return {\n ...state,\n hasSelectResultError: true,\n isLoadingResultDetails: false,\n currentSelectedValue: undefined,\n };\n }\n\n default:\n return state;\n }\n};\n","import type { GeocoderAddressComponent } from '../types';\n\nexport function findComponentByType(\n typeName: string,\n components: GeocoderAddressComponent[],\n): GeocoderAddressComponent | undefined {\n return components.find((component) => component.types.includes(typeName));\n}\n\nconst matchStreetNumberWithOriginalAddress = (streetNumber = '', address = ''): string => {\n const regex = / *(\\d*[-/_]{0,1}\\d*) *(bis|ter|quater|quinquies|sexies|septies|octies|novies|decies|[a-z])? /i;\n const [, number = '', extension = ''] = regex.exec(address) || [];\n\n if (number) return `${number}${extension}`;\n\n return streetNumber;\n};\n\ntype GooglePlaceResult = google.maps.places.PlaceResult;\n\nexport interface AutoCompleteAddress {\n source: 'google';\n lat?: number;\n lng?: number;\n streetNumber?: string;\n streetName?: string;\n zipcode?: string;\n locality?: string;\n subLocality?: string;\n country?: string;\n administrativeAreaLevel1?: string;\n administrativeAreaLevel2?: string;\n}\n\nexport const formatAddressFromGoogle = (\n placeResult: GooglePlaceResult,\n originalAddress?: string,\n): AutoCompleteAddress => {\n const { address_components: addressComponents = [] } = placeResult;\n\n return {\n source: 'google',\n lat: placeResult.geometry?.location.lat(),\n lng: placeResult.geometry?.location.lng(),\n locality: findComponentByType('locality', addressComponents)?.long_name,\n subLocality: findComponentByType('sublocality', addressComponents)?.long_name,\n zipcode: findComponentByType('postal_code', addressComponents)?.long_name,\n streetName: findComponentByType('route', addressComponents)?.long_name,\n streetNumber: matchStreetNumberWithOriginalAddress(\n findComponentByType('street_number', addressComponents)?.long_name,\n originalAddress,\n ),\n country: findComponentByType('country', addressComponents)?.long_name,\n administrativeAreaLevel1: findComponentByType('administrative_area_level_1', addressComponents)?.long_name,\n administrativeAreaLevel2: findComponentByType('administrative_area_level_1', addressComponents)?.long_name,\n };\n};\n","import type { ReactElement, ReactNode } from 'react';\nimport { createContext, useCallback, useMemo, useReducer, useRef } from 'react';\nimport { useDebouncedCallback } from 'use-debounce';\nimport { useGoogleMapsApi } from './hooks/useGoogleMapsApi';\nimport { googleMapsAutocompleteReducer } from './reducer/googleMapsAutocompleteReducer';\nimport type { State } from './reducer/googleMapsAutocompleteReducer';\nimport type { AutoCompletePrediction } from './types';\nimport type { AutoCompleteAddress } from './utils/formatAddressFromGoogle';\nimport { formatAddressFromGoogle } from './utils/formatAddressFromGoogle';\n\nexport interface GoogleMapsAutocompleteContextApi {\n state: State;\n onInputChange: (value: string) => Promise<void> | undefined;\n onSelectItem: (item: AutoCompletePrediction | null, onChange: (nextValue?: AutoCompleteAddress) => void) => void;\n}\n\nexport const GoogleMapsAutocompleteContext = createContext<GoogleMapsAutocompleteContextApi>({\n state: {\n items: [],\n currentSelectedValue: undefined,\n isLoadingSearch: false,\n hasSearchError: false,\n hasSelectResultError: false,\n isLoadingResultDetails: false,\n shouldDisplayEmptyStateWhenNoResults: false,\n },\n onInputChange: (value) => {\n return Promise.resolve();\n },\n onSelectItem: (item) => {},\n});\n\nexport interface GoogleMapsAutocompleteProviderProps {\n children: ReactElement;\n minCharsToSearch?: number;\n debounceTimeout?: number;\n}\n\nexport function GoogleMapsAutocompleteProvider({\n children,\n minCharsToSearch = 3,\n debounceTimeout = 950,\n}: GoogleMapsAutocompleteProviderProps): ReactNode {\n const mapsApi = useGoogleMapsApi();\n\n const searchResultsCache = useRef<Record<string, AutoCompletePrediction[]>>({});\n const resultDetailsCache = useRef<Record<string, google.maps.places.PlaceResult>>({});\n\n const [state, dispatch] = useReducer(googleMapsAutocompleteReducer, {\n items: [],\n shouldDisplayEmptyStateWhenNoResults: false,\n });\n\n const handleInputChange = useDebouncedCallback(\n useCallback(\n async (value: string): Promise<void> => {\n if (value.length < minCharsToSearch) return;\n\n dispatch({ type: 'search-change' });\n\n // If the user types the same value as the previous search, we don't need to call the API again\n const predictionsPromise = searchResultsCache.current[value]\n ? Promise.resolve({ results: searchResultsCache.current[value], status: 'OK' })\n : mapsApi.autoComplete.getPlacePredictions(value);\n\n try {\n const { results, status } = await predictionsPromise;\n\n if (status !== 'OK') {\n dispatch({ type: 'search-error' });\n return;\n }\n\n // We cache the results to avoid calling the API again if the user types the same value\n searchResultsCache.current[value] = results;\n\n dispatch({ type: 'search-success', payload: { results } });\n } catch (error) {\n dispatch({ type: 'search-error' });\n }\n },\n [mapsApi.autoComplete, minCharsToSearch],\n ),\n debounceTimeout,\n );\n\n const handleSelectItem = useCallback(\n async (\n item: AutoCompletePrediction | null,\n onChange: (nextValue?: AutoCompleteAddress) => void,\n ): Promise<AutoCompleteAddress | undefined> => {\n // This case should never happen but it's here to avoid a TS error\n if (!item?.place_id) {\n if (onChange) onChange(undefined);\n return;\n }\n\n dispatch({ type: 'select-result' });\n\n try {\n // If we already have the details in cache, we don't need to fetch them again\n const placePromise = resultDetailsCache.current[item.place_id]\n ? Promise.resolve(resultDetailsCache.current[item.place_id])\n : mapsApi.placesService.getDetails(item.place_id).then(({ result }) => result);\n\n const place = await placePromise;\n\n if (!place) {\n dispatch({ type: 'select-result-error' });\n\n if (onChange) onChange(undefined);\n return;\n }\n\n dispatch({\n type: 'select-result-success',\n payload: {\n result: place,\n },\n });\n\n const formattedAddress = formatAddressFromGoogle(place, item.description);\n\n // We cache the result details to avoid fetching them again if the user selects the same item\n resultDetailsCache.current[item.place_id] = place;\n\n if (onChange) onChange(formattedAddress);\n } catch (error) {\n dispatch({ type: 'select-result-error' });\n\n if (onChange) onChange(undefined);\n }\n },\n [mapsApi.placesService],\n );\n\n const api = useMemo(\n () => ({ state, onSelectItem: handleSelectItem, onInputChange: handleInputChange }),\n [handleInputChange, handleSelectItem, state],\n );\n\n return <GoogleMapsAutocompleteContext.Provider value={api}>{children}</GoogleMapsAutocompleteContext.Provider>;\n}\n","import { useContext } from 'react';\nimport type { GoogleMapsAutocompleteContextApi } from '../GoogleMapsAutocompleteProvider';\nimport { GoogleMapsAutocompleteContext } from '../GoogleMapsAutocompleteProvider';\n\nexport function useGoogleMapsAutocomplete(): GoogleMapsAutocompleteContextApi {\n const context = useContext(GoogleMapsAutocompleteContext);\n\n if (!context) {\n throw new Error('<GoogleMapsAutocompleteProvider> missing in the react tree');\n }\n\n return context;\n}\n","import { MapPinIcon } from '@ornikar/kitt-icons';\nimport type { ReactNode } from 'react';\nimport type { AutoCompletePrediction } from '../../GoogleMapsAutocompleteProvider/types';\nimport { HStack } from '../../native-base/layout';\nimport { View } from '../../native-base/primitives';\nimport { Typography } from '../../typography/Typography';\nimport { TypographyIcon } from '../../typography/TypographyIcon';\nimport { Autocomplete } from '../Autocomplete/Autocomplete';\n\nexport interface InputAddressOptionProps {\n item: AutoCompletePrediction;\n}\n\nexport function InputAddressOption({ item }: InputAddressOptionProps): ReactNode {\n const sharedTransform = {\n style: {\n transform: 'translateY(4)',\n },\n };\n\n return (\n <Autocomplete.Option item={item}>\n <HStack space=\"kitt.2\">\n <View _web={sharedTransform} _ios={sharedTransform} _android={sharedTransform}>\n <TypographyIcon icon={<MapPinIcon />} color=\"black\" />\n </View>\n <View flexShrink={1}>\n <Typography.Text>\n <Typography.Text variant=\"bold\">{item.structured_formatting.main_text}</Typography.Text>\n {item.structured_formatting.secondary_text ? (\n <Typography.Text color=\"black-light\" variant=\"bold\">\n {' '}\n {item.structured_formatting.secondary_text}\n </Typography.Text>\n ) : null}\n </Typography.Text>\n </View>\n </HStack>\n </Autocomplete.Option>\n );\n}\n","export function defaultItemToString(item?: google.maps.places.AutocompletePrediction): string {\n if (!item) return '';\n return item.structured_formatting.main_text;\n}\n","import type { AutoCompleteAddress } from '../../../GoogleMapsAutocompleteProvider/utils/formatAddressFromGoogle';\n\n// This function takes AutocompleteAddress and return a valid google AutocompletePrediction\nexport function formatInitialValueToAutocompletePrediction(\n address: AutoCompleteAddress,\n placeId: string,\n): google.maps.places.AutocompletePrediction {\n return {\n place_id: placeId,\n description: '',\n reference: '',\n types: [],\n terms: [],\n matched_substrings: [],\n structured_formatting: {\n main_text: [address.streetName, address.streetNumber].filter(Boolean).join(' '),\n main_text_matched_substrings: [],\n secondary_text: [address.zipcode, address.locality, address.subLocality].filter(Boolean).join(' '),\n },\n };\n}\n","import type { ReactNode } from 'react';\nimport { useGoogleMapsAutocomplete } from '../../GoogleMapsAutocompleteProvider/hooks/useGoogleMapsAutocomplete';\nimport type { AutoCompletePrediction } from '../../GoogleMapsAutocompleteProvider/types';\nimport type { AutoCompleteAddress } from '../../GoogleMapsAutocompleteProvider/utils/formatAddressFromGoogle';\nimport { Icon } from '../../Icon/Icon';\nimport { LoaderIcon } from '../../LoaderIcon/LoaderIcon';\nimport { Autocomplete } from '../Autocomplete/Autocomplete';\nimport type { AutocompleteProps } from '../Autocomplete/Autocomplete';\nimport { InputAddressOption } from './InputAddressOption';\nimport { defaultItemToString } from './utils/defaultItemToString';\nimport { formatInitialValueToAutocompletePrediction } from './utils/formatInitialValueToAutocompletePrediction';\n\nexport interface InputAddressProps<T extends object>\n extends Omit<AutocompleteProps<T>, 'onChange' | 'checkSelectedItem' | 'itemToString' | 'children' | 'initialValue'> {\n initialValue?: AutoCompleteAddress;\n itemToString?: (item?: AutoCompletePrediction) => string;\n onChange: (address: AutoCompleteAddress | undefined) => void;\n}\n\nexport function InputAddress({\n initialValue,\n itemToString = defaultItemToString,\n errorElement,\n emptyResultsElement,\n onChange,\n ...props\n}: InputAddressProps<AutoCompleteAddress>): ReactNode {\n const { state, onInputChange, onSelectItem } = useGoogleMapsAutocomplete();\n\n // place_id is a google field that is not available within an AutoCompleteAddress, so we need to add a fake one when handling initial values\n const formattedInitialValue = initialValue\n ? formatInitialValueToAutocompletePrediction(initialValue, 'initial-value-placeId')\n : undefined;\n\n return (\n <Autocomplete<AutoCompletePrediction>\n {...(props as AutocompleteProps<AutoCompletePrediction>)}\n itemToString={itemToString}\n initialValue={formattedInitialValue}\n checkSelectedItem={(selectedItem, item) => selectedItem?.place_id === item.place_id}\n right={\n state.isLoadingSearch || state.isLoadingResultDetails ? (\n <Icon icon={<LoaderIcon />} color=\"kitt.black\" />\n ) : undefined\n }\n errorElement={state.hasSearchError || state.hasSelectResultError ? errorElement : null}\n emptyResultsElement={state.items.length === 0 ? emptyResultsElement : null}\n onInputChange={(v) => {\n onInputChange(v);\n }}\n onChange={(v) => {\n onSelectItem(v, onChange);\n }}\n >\n {state.items.map((item) => (\n <InputAddressOption key={item.place_id} item={item} />\n ))}\n </Autocomplete>\n );\n}\n\nInputAddress.Option = InputAddressOption;\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 inputMode=\"email\"\n textContentType=\"emailAddress\"\n autoCapitalize=\"none\"\n {...props}\n />\n );\n});\n","import type { ReactNode } from 'react';\nimport { Typography } from '../../typography/Typography';\nimport type { TypographyColor, TypographyProps } 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): ReactNode {\n return (\n <Typography.Text base=\"body-small\" color={getColorFromState(state)} testID={testID}>\n {children}\n </Typography.Text>\n );\n}\n","import type { ReactNode } from 'react';\nimport { useTheme } from '../../KittThemeContext';\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): ReactNode {\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 { forwardRef } from 'react';\nimport type { NativeSyntheticEvent, TextInput as RNTextInput, TextInputChangeEventData } from 'react-native';\nimport type { InputTextProps } from '../InputText/InputText';\nimport { InputText } from '../InputText/InputText';\n\nexport interface InputNumberProps extends InputTextProps {}\n\nexport const InputNumber = forwardRef<RNTextInput, InputNumberProps>(\n ({ onChange, keyboardType = 'numeric', ...props }, ref) => {\n const handleChange = (event: NativeSyntheticEvent<TextInputChangeEventData>): void => {\n if (!onChange) return;\n\n const value = parseFloat(event.nativeEvent.text);\n\n // Number.isNaN and isNaN are not consistent\n // eslint-disable-next-line no-restricted-globals, no-param-reassign\n event.nativeEvent.text = isNaN(value) ? '' : value.toString();\n\n onChange(event);\n };\n return <InputText ref={ref} {...props} keyboardType={keyboardType} onChange={handleChange} />;\n },\n);\n","import { EyeFillIcon, EyeSlashFillIcon } from '@ornikar/kitt-icons/phosphor';\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\n testID=\"kitt.InputPassword.passwordToggle\"\n hitSlop={20}\n accessibilityRole=\"button\"\n onPress={() => setIsVisible((prev) => !prev)}\n >\n <InputIcon icon={isVisible ? <EyeSlashFillIcon /> : <EyeFillIcon />} />\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 { getEnterKeyHintForNumericInput } from '../../utils/getEnterKeyHintForNumericInput/getEnterKeyHintForNumericInput';\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 { enterKeyHint, autoComplete = 'tel', phoneNumberLength = 10, value, onChange, ...props }: InputPhoneProps,\n ref,\n ): ReactElement => {\n const [currentValue, setCurrentValue] = useState(value);\n\n const currentEnterKeyHint = enterKeyHint ? getEnterKeyHintForNumericInput(enterKeyHint) : 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 inputMode=\"tel\"\n enterKeyHint={currentEnterKeyHint}\n autoComplete={autoComplete}\n textContentType=\"telephoneNumber\"\n onChange={handleChange}\n />\n );\n },\n);\n","import type { ReactElement, ReactNode } from 'react';\nimport { useTheme } from '../../KittThemeContext';\nimport { View } from '../../native-base/primitives';\nimport { Typography } from '../../typography/Typography';\nimport type { TypographyColor } from '../../typography/Typography';\nimport { TypographyIcon } from '../../typography/TypographyIcon';\n\ntype InputTagType = 'success' | 'danger';\n\nconst getTypographyColor = (type: InputTagType | undefined): TypographyColor => (type ? 'white' : 'black');\n\nexport interface InputTagProps {\n type?: InputTagType;\n children: ReactNode;\n icon?: ReactElement;\n}\n\nexport function InputTag({ children, type, icon }: InputTagProps): ReactNode {\n const typographyColor = getTypographyColor(type);\n const theme = useTheme();\n\n return (\n <View\n alignItems=\"center\"\n justifyContent=\"center\"\n flexDirection=\"row\"\n alignSelf=\"flex-start\"\n overflow=\"hidden\"\n paddingX=\"kitt.2\"\n backgroundColor={`kitt.forms.inputTag.${type || 'default'}.backgroundColor`}\n borderRadius=\"kitt.forms.inputTag.borderRadius\"\n >\n {icon ? (\n <View marginRight=\"kitt.1\">\n <TypographyIcon icon={icon} size={theme.kitt.forms.inputTag.iconSize} color={typographyColor} />\n </View>\n ) : null}\n <Typography.Text base=\"body-small\" color={typographyColor}>\n {children}\n </Typography.Text>\n </View>\n );\n}\n","import type { ReactNode } from 'react';\nimport { Platform } from 'react-native';\nimport { Typography } from '../../typography/Typography';\n\nexport interface LabelProps {\n id?: string;\n htmlFor: string;\n children: NonNullable<ReactNode>;\n}\n\nexport function Label({ id, htmlFor, children }: LabelProps): ReactNode {\n const isWeb = Platform.OS === 'web';\n return (\n <Typography.Text base=\"body\" id={isWeb ? undefined : id}>\n {isWeb ? (\n <label id={id} htmlFor={htmlFor}>\n {children}\n </label>\n ) : (\n children\n )}\n </Typography.Text>\n );\n}\n","import type { ReactNode } from 'react';\nimport { useTheme } from '../../KittThemeContext';\nimport { View } from '../../native-base/primitives';\n\ninterface InnerCircleProps {\n isChecked?: boolean;\n}\n\nexport function InnerCircle({ isChecked }: InnerCircleProps): ReactNode {\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: `scale(${isChecked ? 1 : 0}))`,\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, ReactNode } from 'react';\nimport { useTheme } from '../../KittThemeContext';\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): ReactNode {\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 { GestureResponderEvent, 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, event: GestureResponderEvent) => 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'] = (event: GestureResponderEvent) => {\n if (onFocus) onFocus();\n if (onChange) onChange(value, event);\n if (onBlur) onBlur();\n };\n\n return (\n <Pressable\n ref={ref}\n testID={testID}\n id={id}\n disabled={disabled}\n accessibilityRole=\"radio\"\n aria-checked={checked}\n focusable={checked && !disabled}\n flexDirection=\"row\"\n alignItems=\"center\"\n onPress={handlePress}\n onFocus={onFocus}\n onBlur={onBlur}\n >\n {({ isHovered, isPressed, isFocused }) => (\n <HStack space={children ? 'kitt.2' : undefined} alignItems=\"center\">\n <OuterCircle\n isChecked={checked}\n isDisabled={disabled}\n isHovered={isHovered}\n isFocused={isFocused}\n isPressed={isPressed}\n >\n <InnerCircle isChecked={checked} />\n </OuterCircle>\n\n {children ? (\n <Typography.SetDefaultColor value={disabled ? 'black-light' : 'black'}>\n <Typography.Text base=\"body\">{children}</Typography.Text>\n </Typography.SetDefaultColor>\n ) : null}\n </HStack>\n )}\n </Pressable>\n );\n },\n);\n","interface GetCurrentBackgroundColorParams {\n isFocused?: boolean;\n isPressed?: boolean;\n isSelected?: boolean;\n isDisabled?: boolean;\n}\n\nexport function getCurrentBackgroundColor({\n isFocused,\n isPressed,\n isSelected,\n isDisabled,\n}: GetCurrentBackgroundColorParams): string {\n if (isDisabled) return 'disabled';\n\n if (isPressed) return 'pressed';\n\n if (isFocused) return 'active';\n\n if (isSelected) return 'active';\n\n return 'default';\n}\n","interface GetCurrentBorderColorParams {\n isFocused?: boolean;\n isSelected?: boolean;\n isPressed?: boolean;\n isDisabled?: boolean;\n}\n\nexport function getCurrentBorderColor({\n isFocused,\n isSelected,\n isPressed,\n isDisabled,\n}: GetCurrentBorderColorParams): string {\n if (isDisabled) return 'disabled';\n\n if (isFocused) return 'hover';\n\n if (isPressed) return 'pressed';\n\n if (isSelected) return 'active';\n\n return 'default';\n}\n","import type { ReactNode } from 'react';\nimport { useTheme } from '../../../KittThemeContext';\nimport { View } from '../../../native-base/primitives';\nimport { getCurrentBackgroundColor } from '../utils/getCurrentBackgroundColor';\nimport { getCurrentBorderColor } from '../utils/getCurrentBorderColor';\nimport type { AnimatedContainerProps } from './AnimatedContainer';\n\nexport function AnimatedContainer({\n children,\n isFocused,\n isPressed,\n isSelected,\n isDisabled,\n isFirst,\n isLast,\n}: AnimatedContainerProps): ReactNode {\n const theme = useTheme();\n\n return (\n <View\n _web={{\n style: {\n transitionProperty: theme.kitt.forms.radioButtonGroup.item.transition.property,\n transitionDuration: theme.kitt.forms.radioButtonGroup.item.transition.duration,\n transitionTimingFunction: theme.kitt.forms.radioButtonGroup.item.transition.timingFunction,\n },\n }}\n borderColor={`kitt.forms.radioButtonGroup.item.borderColor.${getCurrentBorderColor({\n isFocused,\n isPressed,\n isSelected,\n isDisabled,\n })}`}\n borderWidth=\"kitt.forms.radioButtonGroup.item.borderWidth\"\n backgroundColor={`kitt.forms.radioButtonGroup.item.backgroundColor.${getCurrentBackgroundColor({\n isFocused,\n isPressed,\n isSelected,\n isDisabled,\n })}`}\n borderTopLeftRadius={isFirst ? 'kitt.forms.radioButtonGroup.item.borderRadius' : 0}\n borderBottomLeftRadius={isFirst ? 'kitt.forms.radioButtonGroup.item.borderRadius' : 0}\n borderTopRightRadius={isLast ? 'kitt.forms.radioButtonGroup.item.borderRadius' : 0}\n borderBottomRightRadius={isLast ? 'kitt.forms.radioButtonGroup.item.borderRadius' : 0}\n borderLeftWidth={isFirst ? 'kitt.forms.radioButtonGroup.item.borderWidth' : 0}\n >\n {children}\n </View>\n );\n}\n","import type { ReactNode } from 'react';\nimport type { DimensionValue } from 'react-native';\nimport { useTheme } from '../../KittThemeContext';\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): ReactNode {\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)` as DimensionValue,\n height: `calc(100% + ${theme.kitt.forms.radioButtonGroup.item.borderWidth * 2}px)` as DimensionValue,\n transitionProperty: theme.kitt.forms.radioButtonGroup.item.transition.property,\n transitionDuration: theme.kitt.forms.radioButtonGroup.item.transition.duration,\n transitionTimingFunction: theme.kitt.forms.radioButtonGroup.item.transition.timingFunction,\n },\n }}\n opacity={shouldDisplayBorder ? 1 : 0}\n position=\"absolute\"\n top={-theme.kitt.forms.radioButtonGroup.item.borderWidth}\n left={-theme.kitt.forms.radioButtonGroup.item.borderWidth}\n margin={0}\n borderColor={`kitt.forms.radioButtonGroup.item.borderColor.${\n isHovered || isSelected || isFocused ? 'hover' : 'default'\n }`}\n borderWidth=\"kitt.forms.radioButtonGroup.item.borderWidth\"\n borderTopLeftRadius={isFirst ? 'kitt.forms.radioButtonGroup.item.borderRadius' : 0}\n borderBottomLeftRadius={isFirst ? 'kitt.forms.radioButtonGroup.item.borderRadius' : 0}\n borderTopRightRadius={isLast ? 'kitt.forms.radioButtonGroup.item.borderRadius' : 0}\n borderBottomRightRadius={isLast ? 'kitt.forms.radioButtonGroup.item.borderRadius' : 0}\n />\n );\n}\n","import type { NativeAnimation, UseNativeAnimationOptions } from './useNativeAnimation';\n\nexport function useNativeAnimation(options: UseNativeAnimationOptions): NativeAnimation {\n return {\n onPressIn: undefined,\n onPressOut: undefined,\n animatedStyles: {},\n };\n}\n","import type { TypographyColor } from '../../../typography/Typography';\n\ninterface GetCurrentTextColorParams {\n isDisabled?: boolean;\n isSelected?: boolean;\n isPressed?: boolean;\n isHovered?: boolean;\n isFocused?: boolean;\n}\n\nexport function getCurrentTextColor({\n isDisabled,\n isSelected,\n isPressed,\n isHovered,\n isFocused,\n}: GetCurrentTextColorParams): TypographyColor {\n if (isDisabled) return 'black-light';\n\n if (isSelected) return 'white';\n\n if (isPressed) return 'white';\n\n if (isFocused) return 'white';\n\n if (isHovered && !isSelected) return 'black';\n\n return 'black';\n}\n","import type { 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 type { ResponsiveValue } from '../../utils/createResponsiveStyleFromProp/createResponsiveStyleFromProp';\nimport { createResponsiveStyleFromProp } from '../../utils/createResponsiveStyleFromProp/createResponsiveStyleFromProp';\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?: ResponsiveValue<boolean | undefined>;\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>): ReactNode {\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 flexGrow={createResponsiveStyleFromProp(stretch, 1, undefined)}\n flexShrink={createResponsiveStyleFromProp(stretch, 1, undefined)}\n flexBasis={createResponsiveStyleFromProp(stretch, 0)}\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 { ResponsiveValue } from '../../utils/createResponsiveStyleFromProp/createResponsiveStyleFromProp';\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>): ReactNode {\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?: ResponsiveValue<boolean | undefined>;\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>): ReactNode {\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 { ReactNode } from 'react';\nimport type { ViewProps } from 'react-native';\nimport { useSafeAreaInsets } from 'react-native-safe-area-context';\nimport { useTheme } from '../KittThemeContext';\nimport { View } from '../native-base/primitives';\n\nexport interface FullscreenModalBodyProps extends ViewProps {\n children: NonNullable<ReactNode>;\n shouldHandleBottomNotch?: boolean;\n shouldHandleTopNotch?: boolean;\n}\n\nexport function FullscreenModalBody({\n children,\n shouldHandleBottomNotch,\n style,\n shouldHandleTopNotch,\n ...props\n}: FullscreenModalBodyProps): ReactNode {\n const { bottom, top } = useSafeAreaInsets();\n const {\n kitt: {\n fullscreenModal: {\n body: { verticalPadding },\n },\n },\n } = useTheme();\n const paddingBottom = shouldHandleBottomNotch ? Math.max(bottom, verticalPadding) : verticalPadding;\n const paddingTop = shouldHandleTopNotch ? Math.max(top, verticalPadding) : verticalPadding;\n\n return (\n <View\n {...props}\n paddingX=\"kitt.fullscreenModal.horizontalPadding\"\n paddingTop={paddingTop}\n paddingBottom={paddingBottom}\n style={style}\n >\n {children}\n </View>\n );\n}\n","import type { ReactNode } from 'react';\nimport { useSafeAreaInsets } from 'react-native-safe-area-context';\nimport type { ViewProps } from '../native-base/primitives';\nimport { View } from '../native-base/primitives';\n\nexport interface FullscreenModalFooterProps extends ViewProps {\n hasSeparator?: boolean;\n shouldHandleBottomNotch?: boolean;\n}\n\nexport function FullscreenModalFooter({\n shouldHandleBottomNotch = true,\n hasSeparator = true,\n children,\n ...props\n}: FullscreenModalFooterProps): ReactNode {\n const { bottom } = useSafeAreaInsets();\n\n return (\n <View\n borderTopColor=\"kitt.separator\"\n borderTopWidth={hasSeparator ? 1 : undefined}\n paddingTop=\"kitt.fullscreenModal.footer.verticalPadding\"\n paddingBottom={shouldHandleBottomNotch ? bottom : undefined}\n paddingX=\"kitt.fullscreenModal.horizontalPadding\"\n {...props}\n >\n <View paddingBottom=\"kitt.fullscreenModal.footer.verticalPadding\">{children}</View>\n </View>\n );\n}\n","import { css } from '@linaria/core';\nimport type { ReactNode } from 'react';\nimport { CSSTransition } from 'react-transition-group';\nimport { useTheme } from '../KittThemeContext';\nimport { Overlay } from '../Overlay/Overlay';\nimport { View } from '../native-base/primitives';\nimport {\n webAnimationContentDuration,\n webAnimationContentEasing,\n webAnimationOverlayDuration,\n webAnimationOverlayEasing,\n} from '../themes/late-ocean/fullscreenModal';\nimport type { FullscreenModalAnimationProps } from './FullscreenModalAnimation';\n\nconst [x1, y1, x2, y2] = webAnimationContentEasing;\n\nconst cubicBezierSlideIn = `cubic-bezier(${x1}, ${y1}, ${x2}, ${y2})`;\n\nconst slideInFromBottomEnter = css`\n transform: translateY(100%);\n`;\n\nconst slideInFromBottomEnterActive = css`\n transform: translateY(0);\n transition: transform ${webAnimationContentDuration}ms ${cubicBezierSlideIn};\n`;\n\nconst slideInFromBottomExit = css`\n transform: translateY(0);\n`;\n\nconst slideInFromBottomExitActive = css`\n transform: translateY(100%);\n transition: transform ${webAnimationContentDuration}ms ${cubicBezierSlideIn};\n`;\n\nconst slideInClassNames = {\n appear: slideInFromBottomEnter,\n appearActive: slideInFromBottomEnterActive,\n enter: slideInFromBottomEnter,\n enterActive: slideInFromBottomEnterActive,\n exit: slideInFromBottomExit,\n exitActive: slideInFromBottomExitActive,\n};\n\nconst [xA, yA, xB, yB] = webAnimationOverlayEasing;\n\nconst cubicBezierOpacity = `cubic-bezier(${xA}, ${yA}, ${xB}, ${yB})`;\n\nconst opacityEnter = css`\n opacity: 0;\n`;\n\nconst opacityEnterActive = css`\n opacity: 1;\n transition: opacity ${webAnimationOverlayDuration}ms ${cubicBezierOpacity};\n`;\n\nconst opacityExit = css`\n opacity: 1;\n`;\n\nconst opacityExitActive = css`\n opacity: 0;\n transition: opacity ${webAnimationOverlayDuration}ms ${cubicBezierOpacity};\n`;\n\nconst opacityClassNames = {\n appear: opacityEnter,\n appearActive: opacityEnterActive,\n enter: opacityEnter,\n enterActive: opacityEnterActive,\n exit: opacityExit,\n exitActive: opacityExitActive,\n};\n\nexport function FullscreenModalAnimation({\n children,\n appear = true,\n visible,\n unmountOnExit = true,\n isAnimationEnabled = true,\n onEnter,\n onEntered,\n onExit,\n onExited,\n onClose,\n ...props\n}: FullscreenModalAnimationProps): ReactNode {\n const theme = useTheme();\n const { animation } = theme.kitt.fullscreenModal;\n\n const sharedProps = {\n in: visible,\n appear,\n unmountOnExit,\n };\n\n return (\n <View {...props}>\n <CSSTransition\n {...sharedProps}\n timeout={isAnimationEnabled ? animation.overlay.duration : 0}\n classNames={opacityClassNames}\n >\n <Overlay onPress={onClose} />\n </CSSTransition>\n\n <CSSTransition\n {...sharedProps}\n timeout={isAnimationEnabled ? animation.content.duration : 0}\n classNames={slideInClassNames}\n onEnter={onEnter}\n onEntered={onEntered}\n onExit={onExit}\n onExited={onExited}\n >\n {children}\n </CSSTransition>\n </View>\n );\n}\n","import type { ReactNode } from 'react';\nimport { useEffect, useState } from 'react';\nimport type { ModalBehaviourProps } from '../ModalBehaviour/ModalBehaviour';\nimport { ModalBehaviour } from '../ModalBehaviour/ModalBehaviour';\nimport type { FullscreenModalAnimationProps } from './FullscreenModalAnimation';\nimport { FullscreenModalAnimation } from './FullscreenModalAnimation';\n\nexport interface FullscreenModalBehaviourProps extends FullscreenModalAnimationProps {\n onClose: ModalBehaviourProps['onClose'];\n}\n\nexport function FullscreenModalBehaviour({\n children,\n visible,\n onClose,\n onExited,\n ...props\n}: FullscreenModalBehaviourProps): ReactNode {\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 <FullscreenModalAnimation {...props} visible={visible} onExited={handleExitAnimationDone}>\n {children}\n </FullscreenModalAnimation>\n </ModalBehaviour>\n );\n}\n","import type { ReactNode } from 'react';\nimport type { ViewProps } from '../native-base/primitives';\nimport { View } from '../native-base/primitives';\n\nexport interface FullscreenModalContainerProps {\n backgroundColor?: ViewProps['backgroundColor'];\n children?: ReactNode;\n}\n\nexport function FullscreenModalContainer({ children, backgroundColor }: FullscreenModalContainerProps): ReactNode {\n return (\n <View\n position=\"relative\"\n flexGrow={1}\n flexShrink={1}\n flexBasis=\"100%\"\n /*\n Here we are setting the same min and max height because on web the content was overflowing and not scrolling\n minHeight is needed to make the modal fullscreen\n maxHeight limits the height to the viewport when the content is too long, this allows us to scroll inside\n We use svh instead of vh because vh is the total height of the viewport, including the address bar in mobile web browsers\n */\n _web={{ minHeight: '100svh', maxHeight: '100svh' }}\n backgroundColor={backgroundColor ?? 'kitt.uiBackgroundLight'}\n >\n {children}\n </View>\n );\n}\n","import type { ReactNode } from 'react';\nimport { useSafeAreaInsets } from 'react-native-safe-area-context';\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 left?: ReactNode;\n right?: ReactNode;\n hasSeparator?: boolean;\n isTransparent?: boolean;\n shouldHandleTopNotch?: boolean;\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 FullscreenModalHeaderProps = TitledHeaderProps | ComponentHeaderProps;\n\nexport function FullscreenModalHeader({\n hasSeparator = true,\n isTransparent,\n title,\n children,\n right,\n left,\n shouldHandleTopNotch = true,\n ...props\n}: FullscreenModalHeaderProps): ReactNode {\n const { top } = useSafeAreaInsets();\n const hasRight = Boolean(right);\n const hasLeft = Boolean(left);\n const hasContent = Boolean(title || children);\n\n return (\n <View\n backgroundColor={isTransparent ? 'kitt.transparent' : 'kitt.uiBackgroundLight'}\n minHeight=\"kitt.fullscreenModal.header.height\"\n width=\"100%\"\n justifyContent=\"center\"\n paddingTop={shouldHandleTopNotch ? top : undefined}\n paddingRight={hasRight ? 'kitt.2' : 'kitt.fullscreenModal.horizontalPadding'}\n paddingLeft={hasLeft ? 'kitt.2' : 'kitt.fullscreenModal.horizontalPadding'}\n borderBottomColor=\"kitt.separator\"\n borderBottomWidth={hasSeparator ? 1 : undefined}\n {...props}\n >\n <View\n flexDirection=\"row\"\n alignItems=\"center\"\n justifyContent={!hasContent && !hasLeft ? 'flex-end' : 'space-between'}\n >\n {left ? <View width=\"kitt.iconButton.width\">{left}</View> : null}\n\n {title ? (\n <View\n flexGrow={1}\n flexShrink={1}\n paddingLeft={hasLeft ? 'kitt.2' : undefined}\n paddingRight={hasRight ? 'kitt.2' : 0}\n >\n <Typography.Text variant=\"bold\" textAlign={!hasLeft && hasRight ? 'left' : 'center'}>\n {title}\n </Typography.Text>\n </View>\n ) : null}\n\n {children ? (\n <View\n flexGrow={1}\n flexShrink={1}\n alignItems=\"center\"\n paddingLeft={hasLeft ? 'kitt.2' : undefined}\n paddingRight={hasRight ? 'kitt.2' : undefined}\n >\n {children}\n </View>\n ) : null}\n\n {right || left ? <View width=\"kitt.iconButton.width\">{right}</View> : null}\n </View>\n </View>\n );\n}\n","import type { ReactNode } from 'react';\nimport { ScrollView } from 'react-native';\nimport type { ViewProps } from '..';\nimport { View } from '../native-base/primitives';\nimport { FullscreenModalBody } from './Body';\nimport { FullscreenModalFooter } from './Footer';\nimport { FullscreenModalBehaviour } from './FullscreenModalBehaviour';\nimport { FullscreenModalContainer } from './FullscreenModalContainer';\nimport { FullscreenModalHeader } from './Header';\n\nexport interface FullscreenModalProps {\n header?: ReactNode;\n footer?: ReactNode;\n body: ReactNode;\n backgroundColor?: ViewProps['backgroundColor'];\n}\n\nexport function FullscreenModal({ body, header, footer, backgroundColor }: FullscreenModalProps): ReactNode {\n return (\n <FullscreenModalContainer backgroundColor={backgroundColor}>\n {header ? <View>{header}</View> : null}\n <View flexGrow={1} flexShrink={1} justifyContent=\"space-between\">\n <ScrollView bounces={false} contentContainerStyle={{ flexGrow: 1, position: 'relative' }}>\n {body}\n </ScrollView>\n {footer || null}\n </View>\n </FullscreenModalContainer>\n );\n}\n\nFullscreenModal.Header = FullscreenModalHeader;\nFullscreenModal.Footer = FullscreenModalFooter;\nFullscreenModal.Body = FullscreenModalBody;\nFullscreenModal.ModalBehaviour = FullscreenModalBehaviour;\n","import type { ReactNode } from 'react';\nimport { View } from '../native-base/primitives';\n\n/** @deprecated use primary instead */\ntype DeprecatedHighlightVariant = 'regular';\n\ntype HighlightVariant = 'primary' | 'secondary' | 'dark' | DeprecatedHighlightVariant;\n\nexport interface HighlightProps {\n variant?: HighlightVariant;\n children: NonNullable<ReactNode>;\n}\n\nexport function Highlight({ variant = 'regular', children }: HighlightProps): ReactNode {\n return (\n <View\n borderRadius=\"kitt.highlight.borderRadius\"\n padding=\"kitt.highlight.padding\"\n backgroundColor={`kitt.highlight.${variant}.backgroundColor`}\n >\n {children}\n </View>\n );\n}\n","import type { ReactNode } 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 'ghost':\n return 'kitt.iconButton.ghost.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): ReactNode {\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 { ReactNode } from 'react';\nimport { useTheme } from '../KittThemeContext';\nimport type { AnimatedBackgroundProps } from './AnimatedBackground';\nimport { Background } from './Background';\n\nexport function AnimatedBackground({\n color,\n isHovered,\n isPressed,\n isFocused,\n isDisabled,\n}: AnimatedBackgroundProps): ReactNode {\n const theme = useTheme();\n const { duration, timingFunction } = theme.kitt.iconButton.transition;\n\n const shouldDisplayBackground = isHovered || isPressed || isFocused || isDisabled;\n\n return (\n <Background\n position=\"absolute\"\n top=\"0\"\n left=\"0\"\n opacity={shouldDisplayBackground ? 1 : 0}\n color={color}\n isDisabled={isDisabled}\n _web={{\n style: {\n transitionProperty: 'all',\n transitionDuration: duration,\n transitionTimingFunction: timingFunction,\n },\n }}\n />\n );\n}\n","import type { ReactNode } from 'react';\nimport { useTheme } from '../KittThemeContext';\nimport { View } from '../native-base/primitives';\nimport { useBreakpointValue } from '../native-base/utils';\nimport type { AnimatedScaleProps } from './AnimatedScale';\n\nfunction getCurrentScale(isHovered: boolean, scaleHover: number, isPressed: boolean, scalePressed: number): number {\n if (isPressed) {\n return scalePressed;\n }\n\n if (isHovered) {\n return scaleHover;\n }\n\n return 1;\n}\n\nexport function AnimatedScale({ children, isHovered, isPressed, isDisabled }: AnimatedScaleProps): ReactNode {\n const theme = useTheme();\n const { scale } = theme.kitt.iconButton;\n\n const currentHoverScale = useBreakpointValue({\n base: scale.base.hover,\n medium: scale.medium.hover,\n }) as number;\n\n const currentPressedScale = useBreakpointValue({\n base: scale.base.active,\n medium: scale.medium.active,\n }) as number;\n\n const currentScale = getCurrentScale(Boolean(isHovered), currentHoverScale, Boolean(isPressed), currentPressedScale);\n\n const { duration, timingFunction } = theme.kitt.iconButton.transition;\n\n return (\n <View\n position=\"relative\"\n alignItems=\"center\"\n justifyContent=\"center\"\n width=\"100%\"\n height=\"100%\"\n overflow=\"hidden\"\n _web={{\n style: {\n transitionProperty: 'transform',\n transitionDuration: duration,\n transitionTimingFunction: timingFunction,\n /* Simplifies the animation to just the front of the object – avoid blurry scale */\n backfaceVisibility: 'hidden',\n transform: `scale(${isDisabled ? 1 : currentScale})`,\n },\n }}\n >\n {children}\n </View>\n );\n}\n","import type { UseNativeAnimation } from './useNativeAnimation';\n\nexport function useNativeAnimation(): UseNativeAnimation {\n return {\n opacityStyles: undefined,\n scaleStyles: undefined,\n onPressIn: () => {},\n onPressOut: () => {},\n };\n}\n","import type { TypographyColor } from '../../typography/Typography';\nimport type { IconButtonColor } from '../IconButton';\n\nexport const getIconButtonTextColorByColor = (color: IconButtonColor, disabled?: boolean): TypographyColor => {\n if (disabled) {\n return 'black-light';\n }\n\n switch (color) {\n case 'ghost':\n return 'white';\n default:\n return color;\n }\n};\n","import { XRegularIcon } from '@ornikar/kitt-icons/phosphor';\nimport type { ReactElement, ReactNode } from 'react';\nimport type { Except } from 'type-fest';\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';\nimport { getIconButtonTextColorByColor } from './utils/getIconButtonTextColorByColor';\n\nexport type IconButtonColor = 'black' | 'ghost' | 'primary';\n\nexport interface IconButtonProps {\n icon: NonNullable<ReactElement>;\n color?: IconButtonColor;\n disabled?: boolean;\n testID?: string;\n ariaLabel?: PressableProps['aria-label'];\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 ariaLabel,\n accessibilityRole = 'button',\n isHoveredInternal,\n isPressedInternal,\n isFocusedInternal,\n onPress,\n}: IconButtonProps): ReactNode {\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 aria-label={ariaLabel}\n accessibilityRole={accessibilityRole}\n _web={{\n style: {\n backfaceVisibility: 'hidden',\n transform: 'translate3d(0px)',\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={getIconButtonTextColorByColor(color, disabled)} icon={icon} />\n </View>\n </AnimatedScale>\n );\n }}\n </Pressable>\n );\n}\n\nexport function CloseIconButton(props: Except<IconButtonProps, 'icon'>): ReactNode {\n return <IconButton icon={<XRegularIcon />} {...props} />;\n}\n","import type { 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): ReactNode {\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 { ReactNode } from 'react';\nimport type { ViewProps } from 'react-native';\nimport { View } from '../native-base/primitives';\n\nexport interface ListItemContentProps extends ViewProps {\n children: NonNullable<ReactNode>;\n}\n\nexport function ListItemContent({ children, ...rest }: ListItemContentProps): ReactNode {\n return (\n <View alignSelf=\"center\" flexBasis=\"0%\" flexGrow={1} flexShrink={0} {...rest}>\n {children}\n </View>\n );\n}\n","import type { ReactNode } from 'react';\nimport type { ViewProps, ViewStyle } from 'react-native';\nimport { View } from '../native-base/primitives';\n\nexport interface ListItemSideContainerProps extends ViewProps {\n children: NonNullable<ReactNode>;\n side?: 'left' | 'right';\n}\n\n// Handles the vertical alignment of the side elements of the list item\nexport function ListItemSideContainer({ children, side = 'left', ...rest }: ListItemSideContainerProps): ReactNode {\n return (\n <View\n flexDirection=\"row\"\n marginLeft={side === 'right' ? 'kitt.2' : undefined}\n marginRight={side === 'left' ? 'kitt.2' : undefined}\n {...rest}\n >\n {children}\n </View>\n );\n}\n\nexport interface ListItemSideContentProps extends ViewProps {\n children: NonNullable<ReactNode>;\n align?: ViewStyle['alignSelf'];\n}\n\nexport function ListItemSideContent({ children, align = 'auto', ...rest }: ListItemSideContentProps): ReactNode {\n return (\n <View alignSelf={align} {...rest}>\n {children}\n </View>\n );\n}\n","import type { ReactNode } from 'react';\nimport { Fragment } from 'react';\nimport type { PressableProps, ViewProps } from 'react-native';\nimport { Pressable } from 'react-native';\nimport { View } from '../native-base/primitives';\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\nexport function ListItem({ children, withPadding, borders, left, right, onPress, ...rest }: ListItemProps): ReactNode {\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 <View\n flexDirection=\"row\"\n paddingX={withPadding ? 'kitt.listItem.horizontalPadding' : undefined}\n paddingY={withPadding ? 'kitt.listItem.verticalPadding' : undefined}\n borderColor=\"kitt.listItem.borderColor\"\n backgroundColor=\"kitt.uiBackgroundLight\"\n borderTopWidth={borders === 'top' || borders === 'both' ? 'kitt.listItem.borderWidth' : undefined}\n borderBottomWidth={borders === 'bottom' || borders === 'both' ? 'kitt.listItem.borderWidth' : undefined}\n {...containerProps}\n >\n {left ? <ListItemSideContainer side=\"left\">{left}</ListItemSideContainer> : null}\n\n <ListItemContent>{children}</ListItemContent>\n\n {right ? <ListItemSideContainer side=\"right\">{right}</ListItemSideContainer> : null}\n </View>\n </Wrapper>\n );\n}\n\nListItem.Content = ListItemContent;\nListItem.SideContent = ListItemSideContent;\nListItem.SideContainer = ListItemSideContainer;\n","<svg fill=\"currentColor\" viewBox=\"0 0 54 56\" width=\"54\" xmlns=\"http://www.w3.org/2000/svg\"><linearGradient id=\"marker-large_inline_svg__b\" gradientUnits=\"userSpaceOnUse\" x1=\"26.828\" x2=\"7.181\" y1=\"5.072\" y2=\"39.102\"><stop offset=\"0\" stop-opacity=\".01\"/><stop offset=\"1\"/></linearGradient><filter id=\"marker-large_inline_svg__a\" color-interpolation-filters=\"sRGB\" filterUnits=\"userSpaceOnUse\" height=\"48.706\" width=\"42.761\" x=\"10.437\" y=\"5.167\"><feFlood flood-opacity=\"0\" result=\"BackgroundImageFix\"/><feBlend in=\"SourceGraphic\" in2=\"BackgroundImageFix\" result=\"shape\"/><feGaussianBlur result=\"effect1_foregroundBlur_257_3018\" stdDeviation=\"2.718\"/></filter><mask id=\"marker-large_inline_svg__c\" height=\"43\" maskUnits=\"userSpaceOnUse\" width=\"31\" x=\"3\" y=\"3\"><path d=\"M16.303 44.99a3.002 3.002 0 0 0 4.394 0C29.631 35.38 34 26.678 34 18.938 34 10.12 27.04 3 18.5 3S3 10.12 3 18.938c0 7.74 4.369 16.442 13.303 26.052z\" fill=\"#fff\"/></mask><g filter=\"url(#marker-large_inline_svg__a)\" opacity=\".25\"><path d=\"M24.022 48.149c-3.018 1.02-6.128-.775-6.753-3.899-1.372-6.862-2.799-18.548 1.348-25.73C22.966 10.985 32.545 8.374 40 12.678c7.454 4.303 9.982 13.903 5.63 21.44-4.146 7.182-14.98 11.79-21.608 14.032z\" fill=\"url(#marker-large_inline_svg__b)\"/></g><g mask=\"url(#marker-large_inline_svg__c)\"><path d=\"M3 3h31v43H3z\" fill=\"#4c34e0\"/></g><path d=\"M15.677 46.315c-2.682-3.029-6.253-7.443-9.145-12.356C3.622 29.015 1.5 23.735 1.5 18.938 1.5 9.27 9.152 1.5 18.5 1.5c9.349 0 17 7.771 17 17.438 0 4.797-2.122 10.077-5.032 15.02-2.892 4.914-6.463 9.328-9.145 12.357-1.536 1.735-4.11 1.735-5.646 0z\" stroke=\"#fff\" stroke-width=\"3\"/></svg>","<svg viewBox=\"0 0 40 39\" fill=\"currentColor\" xmlns=\"http://www.w3.org/2000/svg\"><path d=\"M16.417 33.38c-2.3.776-4.668-.592-5.146-2.971-1.059-5.274-2.171-14.297 1.027-19.837 3.348-5.798 10.717-7.806 16.452-4.495 5.735 3.31 7.68 10.697 4.333 16.495-3.198 5.54-11.57 9.088-16.666 10.808z\" fill=\"url(#marker_inline_svg__a)\" opacity=\".25\" filter=\"url(#marker_inline_svg__b)\"/><path d=\"M10.89 29.536a2.81 2.81 0 0 0 4.22 0C20.428 23.492 23 18.054 23 13.256 23 7.58 18.507 3 13 3S3 7.58 3 13.256c0 4.798 2.572 10.236 7.89 16.28z\" fill=\"#4C34E0\"/><mask id=\"marker_inline_svg__c\" style=\"mask-type:alpha\" maskUnits=\"userSpaceOnUse\" x=\"3\" y=\"3\" width=\"20\" height=\"28\"><path d=\"M10.89 29.536a2.81 2.81 0 0 0 4.22 0C20.428 23.492 23 18.054 23 13.256 23 7.58 18.507 3 13 3S3 7.58 3 13.256c0 4.798 2.572 10.236 7.89 16.28z\" fill=\"#fff\"/></mask><g mask=\"url(#marker_inline_svg__c)\"><path fill=\"#4C34E0\" d=\"M3 3h20v27H3z\"/></g><path d=\"M10.374 31c-1.884-2.216-4.125-5.144-5.888-8.307C2.71 19.505 1.5 16.22 1.5 13.256 1.5 6.734 6.681 1.5 13 1.5s11.5 5.234 11.5 11.756c0 2.964-1.21 6.249-2.986 9.437-1.763 3.163-4.004 6.091-5.888 8.307-1.414 1.662-3.838 1.662-5.252 0z\" stroke=\"#fff\" stroke-width=\"3\"/><defs><linearGradient id=\"marker_inline_svg__a\" x1=\"18.616\" y1=\".226\" x2=\"3.501\" y2=\"26.405\" gradientUnits=\"userSpaceOnUse\"><stop stop-opacity=\".01\"/><stop offset=\"1\"/></linearGradient><filter id=\"marker_inline_svg__b\" x=\"6.046\" y=\".339\" width=\"32.817\" height=\"37.4\" filterUnits=\"userSpaceOnUse\" color-interpolation-filters=\"sRGB\"><feFlood flood-opacity=\"0\" result=\"BackgroundImageFix\"/><feBlend in=\"SourceGraphic\" in2=\"BackgroundImageFix\" result=\"shape\"/><feGaussianBlur stdDeviation=\"2.071\" result=\"effect1_foregroundBlur_257_3020\"/></filter></defs></svg>","<svg viewBox=\"0 0 47 47\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\"><path fill-rule=\"evenodd\" clip-rule=\"evenodd\" d=\"M23.5 36C30.404 36 36 30.404 36 23.5S30.404 11 23.5 11 11 16.596 11 23.5 16.596 36 23.5 36z\" fill=\"#38836D\" opacity=\".8\" filter=\"url(#position-marker_inline_svg__a)\"/><path d=\"M31 18.5a7.5 7.5 0 1 1-15 0 7.5 7.5 0 0 1 15 0z\" fill=\"#fff\" stroke=\"#38836D\" stroke-width=\"10\"/><circle cx=\"23.5\" cy=\"18.5\" r=\"2.5\" fill=\"#fff\"/><defs><filter id=\"position-marker_inline_svg__a\" x=\".127\" y=\".127\" width=\"46.746\" height=\"46.746\" filterUnits=\"userSpaceOnUse\" color-interpolation-filters=\"sRGB\"><feFlood flood-opacity=\"0\" result=\"BackgroundImageFix\"/><feBlend in=\"SourceGraphic\" in2=\"BackgroundImageFix\" result=\"shape\"/><feGaussianBlur stdDeviation=\"5.437\" result=\"effect1_foregroundBlur_257_3019\"/></filter></defs></svg>","import { useSx } from 'native-base';\nimport type { ColorType } from 'native-base/lib/typescript/components/types';\nimport type { ReactNode } 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\ninterface BaseMarkerWithColorProp {\n color?: ColorType;\n}\n\nexport type MapMarkerProps = BaseMarkerWithSizeProps | BaseMarkerWithoutSizeProps;\n\nexport function MapMarkerSimple({\n width = 40,\n height = 39,\n color = 'kitt.primary',\n}: MapMarkerProps & BaseMarkerWithColorProp): ReactNode {\n const sx = useSx();\n const styles = sx({\n color,\n });\n\n return <DefaultMarkerSvg width={width} height={height} color={styles.color} />;\n}\n\nexport function MapMarkerLarge({\n width = 54,\n height = 56,\n color = 'kitt.primary',\n}: MapMarkerProps & BaseMarkerWithColorProp): ReactNode {\n const sx = useSx();\n const styles = sx({\n color,\n });\n\n return <LargeMarkerSvg width={width} height={height} color={styles.color} />;\n}\n\nexport function MapMarkerPosition({ width = 47, height = 47 }: MapMarkerProps): ReactNode {\n return <PositionMarkerSvg width={width} height={height} />;\n}\n","import { AlertCircleIcon, AlertTriangleIcon, CheckIcon, InfoIcon } from '@ornikar/kitt-icons';\nimport type { ReactNode } 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): ReactNode {\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 'ghost';\n case 'warning':\n default:\n return 'black';\n }\n};\n","import type { ReactNode } from 'react';\nimport type { EdgeInsets } from 'react-native-safe-area-context';\nimport { Icon } from '../Icon/Icon';\nimport { CloseIconButton } 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): ReactNode {\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 flexShrink={1}\n alignSelf=\"center\"\n alignItems=\"flex-start\"\n paddingY=\"kitt.4\"\n paddingX=\"kitt.5\"\n >\n {centeredText ? null : (\n <View marginRight=\"kitt.5\">\n <Icon color={color} icon={<IconContent type={type} color={color} />} />\n </View>\n )}\n <Typography.Text\n flexGrow={1}\n flexShrink={1}\n textAlign={centeredText ? 'center' : 'left'}\n base=\"body\"\n color={color}\n >\n {children}\n </Typography.Text>\n </HStack>\n\n {onDismiss ? (\n <View alignItems=\"center\" marginTop={10} marginRight=\"kitt.2\" marginLeft=\"kitt.5\">\n <CloseIconButton color={getIconButtonColor(type)} onPress={onDismiss} />\n </View>\n ) : null}\n </HStack>\n );\n}\n","import type { ReactNode } 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): ReactNode {\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 { ReactNode } from 'react';\nimport { useMemo } from 'react';\nimport { Platform } from 'react-native';\nimport type { KittTheme } from '..';\nimport { KittBreakpoints } from '../KittBreakpoints';\nimport { KittThemeContext } from '../KittThemeContext';\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 = (theme: Theme): 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] = theme.getSpacing(size);\n sizes.negative[`-kitt.${size}` as KittNegativeSize] = -theme.getSpacing(size);\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);\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 'primary-border-soft': {\n default: {\n backgroundColor: theme.actionCard['primary-border-soft'].default.backgroundColor,\n borderColor: theme.actionCard['primary-border-soft'].default.borderColor,\n },\n disabled: {\n backgroundColor: theme.actionCard['primary-border-soft'].disabled.backgroundColor,\n borderColor: theme.actionCard['primary-border-soft'].disabled.borderColor,\n },\n hovered: {\n backgroundColor: theme.actionCard['primary-border-soft'].hovered.backgroundColor,\n borderColor: theme.actionCard['primary-border-soft'].hovered.borderColor,\n },\n focused: {\n backgroundColor: theme.actionCard['primary-border-soft'].focused.backgroundColor,\n borderColor: theme.actionCard['primary-border-soft'].focused.borderColor,\n },\n pressed: {\n backgroundColor: theme.actionCard['primary-border-soft'].pressed.backgroundColor,\n borderColor: theme.actionCard['primary-border-soft'].pressed.borderColor,\n },\n },\n 'primary-border-hard': {\n default: {\n backgroundColor: theme.actionCard['primary-border-hard'].default.backgroundColor,\n borderColor: theme.actionCard['primary-border-hard'].default.borderColor,\n },\n disabled: {\n backgroundColor: theme.actionCard['primary-border-hard'].disabled.backgroundColor,\n borderColor: theme.actionCard['primary-border-hard'].disabled.borderColor,\n },\n hovered: {\n backgroundColor: theme.actionCard['primary-border-hard'].hovered.backgroundColor,\n borderColor: theme.actionCard['primary-border-hard'].hovered.borderColor,\n },\n focused: {\n backgroundColor: theme.actionCard['primary-border-hard'].focused.backgroundColor,\n borderColor: theme.actionCard['primary-border-hard'].focused.borderColor,\n },\n pressed: {\n backgroundColor: theme.actionCard['primary-border-hard'].pressed.backgroundColor,\n borderColor: theme.actionCard['primary-border-hard'].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 subtle: theme.button.subtle,\n 'subtle-dark': theme.button['subtle-dark'],\n disabled: theme.button.disabled,\n },\n choices: {\n item: {\n default: {\n backgroundColor: theme.choices.item.backgroundColor.default,\n },\n disabled: {\n backgroundColor: theme.choices.item.backgroundColor.disabled,\n borderColor: theme.choices.item.disabled.border.color,\n },\n selected: {\n backgroundColor: theme.choices.item.backgroundColor.selected,\n },\n pressed: {\n backgroundColor: theme.choices.item.backgroundColor.pressed,\n },\n hover: {\n backgroundColor: theme.choices.item.backgroundColor.hover,\n },\n hoverWhenSelected: {\n backgroundColor: theme.choices.item.backgroundColor.hoverWhenSelected,\n },\n },\n },\n tag: {\n primary: {\n fill: {\n backgroundColor: theme.tag.primary.fill.backgroundColor,\n borderColor: theme.tag.primary.fill.borderColor,\n },\n outline: {\n backgroundColor: theme.tag.primary.outline.backgroundColor,\n borderColor: theme.tag.primary.outline.borderColor,\n },\n },\n default: {\n fill: {\n backgroundColor: theme.tag.default.fill.backgroundColor,\n borderColor: theme.tag.default.fill.borderColor,\n },\n outline: {\n backgroundColor: theme.tag.default.outline.backgroundColor,\n borderColor: theme.tag.default.outline.borderColor,\n },\n },\n danger: {\n fill: {\n backgroundColor: theme.tag.danger.fill.backgroundColor,\n borderColor: theme.tag.danger.fill.borderColor,\n },\n outline: {\n backgroundColor: theme.tag.danger.outline.backgroundColor,\n borderColor: theme.tag.danger.outline.borderColor,\n },\n },\n warn: {\n fill: {\n backgroundColor: theme.tag.warn.fill.backgroundColor,\n borderColor: theme.tag.warn.fill.borderColor,\n },\n outline: {\n backgroundColor: theme.tag.warn.outline.backgroundColor,\n borderColor: theme.tag.warn.outline.borderColor,\n },\n },\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 autocomplete: {\n option: {\n default: { backgroundColor: theme.forms.autocomplete.option.default.backgroundColor },\n hovered: { backgroundColor: theme.forms.autocomplete.option.hovered.backgroundColor },\n focused: { backgroundColor: theme.forms.autocomplete.option.focused.backgroundColor },\n selected: { backgroundColor: theme.forms.autocomplete.option.selected.backgroundColor },\n highlighted: { backgroundColor: theme.forms.autocomplete.option.highlighted.backgroundColor },\n pressed: { backgroundColor: theme.forms.autocomplete.option.pressed.backgroundColor },\n },\n optionsContainer: {\n backgroundColor: theme.forms.autocomplete.optionsContainer.backgroundColor,\n },\n },\n input: {\n states: theme.forms.input.states,\n },\n inputTag: {\n danger: {\n backgroundColor: theme.forms.inputTag.danger.backgroundColor,\n },\n default: {\n backgroundColor: theme.forms.inputTag.default.backgroundColor,\n },\n success: {\n backgroundColor: theme.forms.inputTag.success.backgroundColor,\n },\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 ghost: {\n pressed: {\n backgroundColor: theme.iconButton.ghost.pressedBackgroundColor,\n },\n },\n primary: {\n pressed: {\n backgroundColor: theme.iconButton.primary.pressedBackgroundColor,\n },\n },\n },\n highlight: {\n regular: {\n backgroundColor: theme.highlight.regular.backgroundColor,\n },\n primary: {\n backgroundColor: theme.highlight.primary.backgroundColor,\n },\n secondary: {\n backgroundColor: theme.highlight.secondary.backgroundColor,\n },\n dark: {\n backgroundColor: theme.highlight.dark.backgroundColor,\n },\n },\n verticalSteps: {\n active: {\n icon: {\n backgroundColor: theme.verticalSteps.active.icon.backgroundColor,\n textColor: theme.verticalSteps.active.icon.textColor,\n },\n },\n done: {\n icon: {\n backgroundColor: theme.verticalSteps.done.icon.backgroundColor,\n textColor: theme.verticalSteps.done.icon.textColor,\n },\n },\n default: {\n icon: {\n backgroundColor: theme.verticalSteps.default.icon.backgroundColor,\n textColor: theme.verticalSteps.default.icon.textColor,\n },\n },\n },\n listItem: {\n borderColor: theme.listItem.borderColor,\n },\n picker: {\n ios: {\n option: {\n selected: {\n color: theme.picker.ios.selected.color,\n },\n },\n },\n android: {\n option: {\n default: {\n backgroundColor: theme.picker.android.option.default.backgroundColor,\n },\n selected: {\n color: theme.picker.android.option.selected.color,\n backgroundColor: theme.picker.android.option.selected.backgroundColor,\n },\n },\n },\n web: {\n option: {\n default: { backgroundColor: theme.picker.web.option.default.backgroundColor },\n hovered: { backgroundColor: theme.picker.web.option.hovered.backgroundColor },\n focused: { backgroundColor: theme.picker.web.option.focused.backgroundColor },\n selected: { backgroundColor: theme.picker.web.option.selected.backgroundColor },\n highlighted: { backgroundColor: theme.picker.web.option.highlighted.backgroundColor },\n pressed: { backgroundColor: theme.picker.web.option.pressed.backgroundColor },\n },\n optionsContainer: {\n backgroundColor: theme.picker.web.optionsContainer.backgroundColor,\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 choices: {\n item: {\n borderRadius: theme.choices.item.borderRadius,\n },\n },\n dialogModal: {\n borderRadius: theme.dialogModal.borderRadius,\n },\n forms: {\n autocomplete: {\n optionsContainer: {\n borderRadius: theme.forms.autocomplete.optionsContainer.borderRadius,\n },\n },\n input: {\n borderRadius: theme.forms.input.borderRadius,\n },\n inputTag: {\n borderRadius: theme.forms.inputTag.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 highlight: {\n borderRadius: theme.highlight.borderRadius,\n },\n iconButton: {\n borderRadius: theme.iconButton.borderRadius,\n },\n tag: {\n borderRadius: theme.tag.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 picker: {\n web: {\n optionsContainer: {\n borderRadius: theme.picker.web.optionsContainer.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 'primary-border-soft': {\n default: {\n borderWidth: theme.actionCard['primary-border-soft'].default.borderWidth,\n },\n disabled: {\n borderWidth: theme.actionCard['primary-border-soft'].disabled.borderWidth,\n },\n hovered: {\n borderWidth: theme.actionCard['primary-border-soft'].hovered.borderWidth,\n },\n focused: {\n borderWidth: theme.actionCard['primary-border-soft'].focused.borderWidth,\n },\n pressed: {\n borderWidth: theme.actionCard['primary-border-soft'].pressed.borderWidth,\n },\n },\n 'primary-border-hard': {\n default: {\n borderWidth: theme.actionCard['primary-border-hard'].default.borderWidth,\n },\n disabled: {\n borderWidth: theme.actionCard['primary-border-hard'].disabled.borderWidth,\n },\n hovered: {\n borderWidth: theme.actionCard['primary-border-hard'].hovered.borderWidth,\n },\n focused: {\n borderWidth: theme.actionCard['primary-border-hard'].focused.borderWidth,\n },\n pressed: {\n borderWidth: theme.actionCard['primary-border-hard'].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 choices: {\n item: {\n disabled: {\n borderWidth: theme.choices.item.disabled.border.width,\n },\n },\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 listItem: {\n borderWidth: theme.listItem.borderWidth,\n },\n tag: {\n primary: {\n fill: {\n borderWidth: theme.tag.primary.fill.borderWidth,\n },\n outline: {\n borderWidth: theme.tag.primary.outline.borderWidth,\n },\n },\n default: {\n fill: {\n borderWidth: theme.tag.default.fill.borderWidth,\n },\n outline: {\n borderWidth: theme.tag.default.outline.borderWidth,\n },\n },\n danger: {\n fill: {\n borderWidth: theme.tag.danger.fill.borderWidth,\n },\n outline: {\n borderWidth: theme.tag.danger.outline.borderWidth,\n },\n },\n warn: {\n fill: {\n borderWidth: theme.tag.warn.fill.borderWidth,\n },\n outline: {\n borderWidth: theme.tag.warn.outline.borderWidth,\n },\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: theme.icon,\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 autocomplete: {\n option: {\n minHeight: theme.forms.autocomplete.option.minHeight,\n },\n },\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 timePicker: {\n minWidth: theme.forms.timePicker.minWidth,\n },\n },\n\n iconButton: {\n size: theme.iconButton.width - theme.iconButton.borderWidth,\n width: theme.iconButton.width,\n height: theme.iconButton.height,\n },\n fullscreenModal: {\n header: {\n height: theme.fullscreenModal.header.height,\n },\n },\n pageLoader: {\n size: theme.pageLoader.size,\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 picker: {\n ios: {\n default: {\n height: theme.picker.ios.default.height,\n },\n landscape: {\n height: theme.picker.ios.landscape.height,\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 autocomplete: {\n option: {\n verticalPadding: theme.forms.autocomplete.option.verticalPadding,\n },\n },\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 fullscreenModal: {\n horizontalPadding: theme.fullscreenModal.sharedHorizontalPadding,\n body: {\n verticalPadding: theme.fullscreenModal.body.verticalPadding,\n },\n footer: {\n verticalPadding: theme.fullscreenModal.footer.verticalPadding,\n },\n },\n highlight: {\n padding: theme.highlight.padding,\n },\n listItem: {\n verticalPadding: theme.listItem.verticalPadding,\n horizontalPadding: theme.listItem.horizontalPadding,\n },\n tag: {\n verticalPadding: theme.tag.verticalPadding,\n horizontalPadding: theme.tag.horizontalPadding,\n },\n tooltip: {\n horizontalPadding: theme.tooltip.horizontalPadding,\n verticalPadding: theme.tooltip.verticalPadding,\n floatingPadding: theme.tooltip.floatingPadding,\n },\n picker: {\n android: {\n option: {\n verticalPadding: theme.picker.android.option.verticalPadding,\n horizontalPadding: theme.picker.android.option.horizontalPadding,\n },\n },\n web: {\n option: {\n verticalPadding: theme.picker.web.option.verticalPadding,\n horizontalPadding: theme.picker.web.option.horizontalPadding,\n },\n },\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 /* legacy */\n header1: `${theme.typography.types.headings.configs.header1.baseAndSmall.fontSize}px`,\n header2: `${theme.typography.types.headings.configs.header2.baseAndSmall.fontSize}px`,\n header3: `${theme.typography.types.headings.configs.header3.baseAndSmall.fontSize}px`,\n header4: `${theme.typography.types.headings.configs.header4.baseAndSmall.fontSize}px`,\n header5: `${theme.typography.types.headings.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 'header-impact-xxl': `${theme.typography.types['headings-impact'].configs['header-impact-xxl'].baseAndSmall.fontSize}px`,\n 'header-impact-xl': `${theme.typography.types['headings-impact'].configs['header-impact-xl'].baseAndSmall.fontSize}px`,\n 'header-impact-l': `${theme.typography.types['headings-impact'].configs['header-impact-l'].baseAndSmall.fontSize}px`,\n 'header-impact-m': `${theme.typography.types['headings-impact'].configs['header-impact-m'].baseAndSmall.fontSize}px`,\n 'header-impact-s': `${theme.typography.types['headings-impact'].configs['header-impact-s'].baseAndSmall.fontSize}px`,\n 'header-impact-xs': `${theme.typography.types['headings-impact'].configs['header-impact-xs'].baseAndSmall.fontSize}px`,\n 'header-impact-xxs': `${theme.typography.types['headings-impact'].configs['header-impact-xxs'].baseAndSmall.fontSize}px`,\n 'header-impact-xxxs': `${theme.typography.types['headings-impact'].configs['header-impact-xxxs'].baseAndSmall.fontSize}px`,\n /* latest */\n 'heading-impact-xxl': `${theme.typography.types['headings-impact'].configs['heading-impact-xxl'].baseAndSmall.fontSize}px`,\n 'heading-impact-xl': `${theme.typography.types['headings-impact'].configs['heading-impact-xl'].baseAndSmall.fontSize}px`,\n 'heading-impact-l': `${theme.typography.types['headings-impact'].configs['heading-impact-l'].baseAndSmall.fontSize}px`,\n 'heading-impact-m': `${theme.typography.types['headings-impact'].configs['heading-impact-m'].baseAndSmall.fontSize}px`,\n 'heading-impact-s': `${theme.typography.types['headings-impact'].configs['heading-impact-s'].baseAndSmall.fontSize}px`,\n 'heading-impact-xs': `${theme.typography.types['headings-impact'].configs['heading-impact-xs'].baseAndSmall.fontSize}px`,\n 'heading-impact-xxs': `${theme.typography.types['headings-impact'].configs['heading-impact-xxs'].baseAndSmall.fontSize}px`,\n 'heading-impact-xxxs': `${theme.typography.types['headings-impact'].configs['heading-impact-xxxs'].baseAndSmall.fontSize}px`,\n 'heading-xxl': `${theme.typography.types.headings.configs['heading-xxl'].baseAndSmall.fontSize}px`,\n 'heading-xl': `${theme.typography.types.headings.configs['heading-xl'].baseAndSmall.fontSize}px`,\n 'heading-l': `${theme.typography.types.headings.configs['heading-l'].baseAndSmall.fontSize}px`,\n 'heading-m': `${theme.typography.types.headings.configs['heading-m'].baseAndSmall.fontSize}px`,\n 'heading-s': `${theme.typography.types.headings.configs['heading-s'].baseAndSmall.fontSize}px`,\n 'heading-xs': `${theme.typography.types.headings.configs['heading-xs'].baseAndSmall.fontSize}px`,\n 'heading-xxs': `${theme.typography.types.headings.configs['heading-xxs'].baseAndSmall.fontSize}px`,\n 'body-xl': `${theme.typography.types.bodies.configs['body-xl'].baseAndSmall.fontSize}px`,\n 'body-l': `${theme.typography.types.bodies.configs['body-l'].baseAndSmall.fontSize}px`,\n 'body-m': `${theme.typography.types.bodies.configs['body-m'].baseAndSmall.fontSize}px`,\n 'body-s': `${theme.typography.types.bodies.configs['body-s'].baseAndSmall.fontSize}px`,\n 'body-xs': `${theme.typography.types.bodies.configs['body-xs'].baseAndSmall.fontSize}px`,\n },\n mediumAndWide: {\n /* legacy */\n header1: `${theme.typography.types.headings.configs.header1.mediumAndWide.fontSize}px`,\n header2: `${theme.typography.types.headings.configs.header2.mediumAndWide.fontSize}px`,\n header3: `${theme.typography.types.headings.configs.header3.mediumAndWide.fontSize}px`,\n header4: `${theme.typography.types.headings.configs.header4.mediumAndWide.fontSize}px`,\n header5: `${theme.typography.types.headings.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 'header-impact-xxl': `${theme.typography.types['headings-impact'].configs['header-impact-xxl'].mediumAndWide.fontSize}px`,\n 'header-impact-xl': `${theme.typography.types['headings-impact'].configs['header-impact-xl'].mediumAndWide.fontSize}px`,\n 'header-impact-l': `${theme.typography.types['headings-impact'].configs['header-impact-l'].mediumAndWide.fontSize}px`,\n 'header-impact-m': `${theme.typography.types['headings-impact'].configs['header-impact-m'].mediumAndWide.fontSize}px`,\n 'header-impact-s': `${theme.typography.types['headings-impact'].configs['header-impact-s'].mediumAndWide.fontSize}px`,\n 'header-impact-xs': `${theme.typography.types['headings-impact'].configs['header-impact-xs'].mediumAndWide.fontSize}px`,\n 'header-impact-xxs': `${theme.typography.types['headings-impact'].configs['header-impact-xxs'].mediumAndWide.fontSize}px`,\n 'header-impact-xxxs': `${theme.typography.types['headings-impact'].configs['header-impact-xxxs'].mediumAndWide.fontSize}px`,\n /* latest */\n 'heading-impact-xxl': `${theme.typography.types['headings-impact'].configs['heading-impact-xxl'].mediumAndWide.fontSize}px`,\n 'heading-impact-xl': `${theme.typography.types['headings-impact'].configs['heading-impact-xl'].mediumAndWide.fontSize}px`,\n 'heading-impact-l': `${theme.typography.types['headings-impact'].configs['heading-impact-l'].mediumAndWide.fontSize}px`,\n 'heading-impact-m': `${theme.typography.types['headings-impact'].configs['heading-impact-m'].mediumAndWide.fontSize}px`,\n 'heading-impact-s': `${theme.typography.types['headings-impact'].configs['heading-impact-s'].mediumAndWide.fontSize}px`,\n 'heading-impact-xs': `${theme.typography.types['headings-impact'].configs['heading-impact-xs'].mediumAndWide.fontSize}px`,\n 'heading-impact-xxs': `${theme.typography.types['headings-impact'].configs['heading-impact-xxs'].mediumAndWide.fontSize}px`,\n 'heading-impact-xxxs': `${theme.typography.types['headings-impact'].configs['heading-impact-xxxs'].mediumAndWide.fontSize}px`,\n 'heading-xxl': `${theme.typography.types.headings.configs['heading-xxl'].mediumAndWide.fontSize}px`,\n 'heading-xl': `${theme.typography.types.headings.configs['heading-xl'].mediumAndWide.fontSize}px`,\n 'heading-l': `${theme.typography.types.headings.configs['heading-l'].mediumAndWide.fontSize}px`,\n 'heading-m': `${theme.typography.types.headings.configs['heading-m'].mediumAndWide.fontSize}px`,\n 'heading-s': `${theme.typography.types.headings.configs['heading-s'].mediumAndWide.fontSize}px`,\n 'heading-xs': `${theme.typography.types.headings.configs['heading-xs'].mediumAndWide.fontSize}px`,\n 'heading-xxs': `${theme.typography.types.headings.configs['heading-xxs'].mediumAndWide.fontSize}px`,\n 'body-xl': `${theme.typography.types.bodies.configs['body-xl'].mediumAndWide.fontSize}px`,\n 'body-l': `${theme.typography.types.bodies.configs['body-l'].mediumAndWide.fontSize}px`,\n 'body-m': `${theme.typography.types.bodies.configs['body-m'].mediumAndWide.fontSize}px`,\n 'body-s': `${theme.typography.types.bodies.configs['body-s'].mediumAndWide.fontSize}px`,\n 'body-xs': `${theme.typography.types.bodies.configs['body-xs'].mediumAndWide.fontSize}px`,\n },\n },\n lineHeights: {\n baseAndSmall: {\n /* legacy */\n header1: theme.typography.types.headings.configs.header1.baseAndSmall.lineHeight,\n header2: theme.typography.types.headings.configs.header2.baseAndSmall.lineHeight,\n header3: theme.typography.types.headings.configs.header3.baseAndSmall.lineHeight,\n header4: theme.typography.types.headings.configs.header4.baseAndSmall.lineHeight,\n header5: theme.typography.types.headings.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 'header-impact-xxl':\n theme.typography.types['headings-impact'].configs['header-impact-xxl'].baseAndSmall.lineHeight,\n 'header-impact-xl':\n theme.typography.types['headings-impact'].configs['header-impact-xl'].baseAndSmall.lineHeight,\n 'header-impact-l': theme.typography.types['headings-impact'].configs['header-impact-l'].baseAndSmall.lineHeight,\n 'header-impact-m': theme.typography.types['headings-impact'].configs['header-impact-m'].baseAndSmall.lineHeight,\n 'header-impact-s': theme.typography.types['headings-impact'].configs['header-impact-s'].baseAndSmall.lineHeight,\n 'header-impact-xs':\n theme.typography.types['headings-impact'].configs['header-impact-xs'].baseAndSmall.lineHeight,\n 'header-impact-xxs':\n theme.typography.types['headings-impact'].configs['header-impact-xxs'].baseAndSmall.lineHeight,\n 'header-impact-xxxs':\n theme.typography.types['headings-impact'].configs['header-impact-xxxs'].baseAndSmall.lineHeight,\n /* latest */\n 'heading-impact-xxl': `${theme.typography.types['headings-impact'].configs['heading-impact-xxl'].baseAndSmall.lineHeight}px`,\n 'heading-impact-xl': `${theme.typography.types['headings-impact'].configs['heading-impact-xl'].baseAndSmall.lineHeight}px`,\n 'heading-impact-l': `${theme.typography.types['headings-impact'].configs['heading-impact-l'].baseAndSmall.lineHeight}px`,\n 'heading-impact-m': `${theme.typography.types['headings-impact'].configs['heading-impact-m'].baseAndSmall.lineHeight}px`,\n 'heading-impact-s': `${theme.typography.types['headings-impact'].configs['heading-impact-s'].baseAndSmall.lineHeight}px`,\n 'heading-impact-xs': `${theme.typography.types['headings-impact'].configs['heading-impact-xs'].baseAndSmall.lineHeight}px`,\n 'heading-impact-xxs': `${theme.typography.types['headings-impact'].configs['heading-impact-xxs'].baseAndSmall.lineHeight}px`,\n 'heading-impact-xxxs': `${theme.typography.types['headings-impact'].configs['heading-impact-xxxs'].baseAndSmall.lineHeight}px`,\n 'heading-xxl': `${theme.typography.types.headings.configs['heading-xxl'].baseAndSmall.lineHeight}px`,\n 'heading-xl': `${theme.typography.types.headings.configs['heading-xl'].baseAndSmall.lineHeight}px`,\n 'heading-l': `${theme.typography.types.headings.configs['heading-l'].baseAndSmall.lineHeight}px`,\n 'heading-m': `${theme.typography.types.headings.configs['heading-m'].baseAndSmall.lineHeight}px`,\n 'heading-s': `${theme.typography.types.headings.configs['heading-s'].baseAndSmall.lineHeight}px`,\n 'heading-xs': `${theme.typography.types.headings.configs['heading-xs'].baseAndSmall.lineHeight}px`,\n 'heading-xxs': `${theme.typography.types.headings.configs['heading-xxs'].baseAndSmall.lineHeight}px`,\n 'body-xl': `${theme.typography.types.bodies.configs['body-xl'].baseAndSmall.lineHeight}px`,\n 'body-l': `${theme.typography.types.bodies.configs['body-l'].baseAndSmall.lineHeight}px`,\n 'body-m': `${theme.typography.types.bodies.configs['body-m'].baseAndSmall.lineHeight}px`,\n 'body-s': `${theme.typography.types.bodies.configs['body-s'].baseAndSmall.lineHeight}px`,\n 'body-xs': `${theme.typography.types.bodies.configs['body-xs'].baseAndSmall.lineHeight}px`,\n },\n mediumAndWide: {\n /* legacy */\n header1: theme.typography.types.headings.configs.header1.mediumAndWide.lineHeight,\n header2: theme.typography.types.headings.configs.header2.mediumAndWide.lineHeight,\n header3: theme.typography.types.headings.configs.header3.mediumAndWide.lineHeight,\n header4: theme.typography.types.headings.configs.header4.mediumAndWide.lineHeight,\n header5: theme.typography.types.headings.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 'header-impact-xxl':\n theme.typography.types['headings-impact'].configs['header-impact-xxl'].mediumAndWide.lineHeight,\n 'header-impact-xl':\n theme.typography.types['headings-impact'].configs['header-impact-xl'].mediumAndWide.lineHeight,\n 'header-impact-l':\n theme.typography.types['headings-impact'].configs['header-impact-l'].mediumAndWide.lineHeight,\n 'header-impact-m':\n theme.typography.types['headings-impact'].configs['header-impact-m'].mediumAndWide.lineHeight,\n 'header-impact-s':\n theme.typography.types['headings-impact'].configs['header-impact-s'].mediumAndWide.lineHeight,\n 'header-impact-xs':\n theme.typography.types['headings-impact'].configs['header-impact-xs'].mediumAndWide.lineHeight,\n 'header-impact-xxs':\n theme.typography.types['headings-impact'].configs['header-impact-xxs'].mediumAndWide.lineHeight,\n 'header-impact-xxxs':\n theme.typography.types['headings-impact'].configs['header-impact-xxxs'].mediumAndWide.lineHeight,\n /* latest */\n 'heading-impact-xxl': `${theme.typography.types['headings-impact'].configs['heading-impact-xxl'].mediumAndWide.lineHeight}px`,\n 'heading-impact-xl': `${theme.typography.types['headings-impact'].configs['heading-impact-xl'].mediumAndWide.lineHeight}px`,\n 'heading-impact-l': `${theme.typography.types['headings-impact'].configs['heading-impact-l'].mediumAndWide.lineHeight}px`,\n 'heading-impact-m': `${theme.typography.types['headings-impact'].configs['heading-impact-m'].mediumAndWide.lineHeight}px`,\n 'heading-impact-s': `${theme.typography.types['headings-impact'].configs['heading-impact-s'].mediumAndWide.lineHeight}px`,\n 'heading-impact-xs': `${theme.typography.types['headings-impact'].configs['heading-impact-xs'].mediumAndWide.lineHeight}px`,\n 'heading-impact-xxs': `${theme.typography.types['headings-impact'].configs['heading-impact-xxs'].mediumAndWide.lineHeight}px`,\n 'heading-impact-xxxs': `${theme.typography.types['headings-impact'].configs['heading-impact-xxxs'].mediumAndWide.lineHeight}px`,\n 'heading-xxl': `${theme.typography.types.headings.configs['heading-xxl'].mediumAndWide.lineHeight}px`,\n 'heading-xl': `${theme.typography.types.headings.configs['heading-xl'].mediumAndWide.lineHeight}px`,\n 'heading-l': `${theme.typography.types.headings.configs['heading-l'].mediumAndWide.lineHeight}px`,\n 'heading-m': `${theme.typography.types.headings.configs['heading-m'].mediumAndWide.lineHeight}px`,\n 'heading-s': `${theme.typography.types.headings.configs['heading-s'].mediumAndWide.lineHeight}px`,\n 'heading-xs': `${theme.typography.types.headings.configs['heading-xs'].mediumAndWide.lineHeight}px`,\n 'heading-xxs': `${theme.typography.types.headings.configs['heading-xxs'].mediumAndWide.lineHeight}px`,\n 'body-xl': `${theme.typography.types.bodies.configs['body-xl'].mediumAndWide.lineHeight}px`,\n 'body-l': `${theme.typography.types.bodies.configs['body-l'].mediumAndWide.lineHeight}px`,\n 'body-m': `${theme.typography.types.bodies.configs['body-m'].mediumAndWide.lineHeight}px`,\n 'body-s': `${theme.typography.types.bodies.configs['body-s'].mediumAndWide.lineHeight}px`,\n 'body-xs': `${theme.typography.types.bodies.configs['body-xs'].mediumAndWide.lineHeight}px`,\n },\n },\n fontWeights: {\n headings: {\n regular: theme.typography.types.headings.fontWeight.regular,\n bold: theme.typography.types.headings.fontWeight.bold,\n },\n 'headings-impact': {\n regular: theme.typography.types['headings-impact'].fontWeight,\n bold: theme.typography.types['headings-impact'].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 headings:\n Platform.OS === 'web'\n ? theme.typography.types.headings.fontFamily.web\n : theme.typography.types.headings.fontFamily.native,\n 'headings-impact':\n Platform.OS === 'web'\n ? theme.typography.types['headings-impact'].fontFamily.web\n : theme.typography.types['headings-impact'].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 'primary-border-soft': {\n default: {\n shadow: {\n shadowColor: theme.actionCard['primary-border-soft'].default.shadow.color,\n shadowOffset: {\n width: theme.actionCard['primary-border-soft'].default.shadow.offsetX,\n height: theme.actionCard['primary-border-soft'].default.shadow.offsetY,\n },\n shadowOpacity: theme.actionCard['primary-border-soft'].default.shadow.opacity,\n shadowRadius: theme.actionCard['primary-border-soft'].default.shadow.radius,\n },\n },\n hovered: {\n shadow: {\n shadowColor: theme.actionCard['primary-border-soft'].hovered.shadow.color,\n shadowOffset: {\n width: theme.actionCard['primary-border-soft'].hovered.shadow.offsetX,\n height: theme.actionCard['primary-border-soft'].hovered.shadow.offsetY,\n },\n shadowOpacity: theme.actionCard['primary-border-soft'].hovered.shadow.opacity,\n shadowRadius: theme.actionCard['primary-border-soft'].hovered.shadow.radius,\n },\n },\n focused: {\n shadow: {\n shadowColor: theme.actionCard['primary-border-soft'].focused.shadow.color,\n shadowOffset: {\n width: theme.actionCard['primary-border-soft'].focused.shadow.offsetX,\n height: theme.actionCard['primary-border-soft'].focused.shadow.offsetY,\n },\n shadowOpacity: theme.actionCard['primary-border-soft'].focused.shadow.opacity,\n shadowRadius: theme.actionCard['primary-border-soft'].focused.shadow.radius,\n },\n },\n pressed: {\n shadow: {\n shadowColor: theme.actionCard['primary-border-soft'].pressed.shadow.color,\n shadowOffset: {\n width: theme.actionCard['primary-border-soft'].pressed.shadow.offsetX,\n height: theme.actionCard['primary-border-soft'].pressed.shadow.offsetY,\n },\n shadowOpacity: theme.actionCard['primary-border-soft'].pressed.shadow.opacity,\n shadowRadius: theme.actionCard['primary-border-soft'].pressed.shadow.radius,\n },\n },\n },\n 'primary-border-hard': {\n default: {\n shadow: {\n shadowColor: theme.actionCard['primary-border-hard'].default.shadow.color,\n shadowOffset: {\n width: theme.actionCard['primary-border-hard'].default.shadow.offsetX,\n height: theme.actionCard['primary-border-hard'].default.shadow.offsetY,\n },\n shadowOpacity: theme.actionCard['primary-border-hard'].default.shadow.opacity,\n shadowRadius: theme.actionCard['primary-border-hard'].default.shadow.radius,\n },\n },\n hovered: {\n shadow: {\n shadowColor: theme.actionCard['primary-border-hard'].hovered.shadow.color,\n shadowOffset: {\n width: theme.actionCard['primary-border-hard'].hovered.shadow.offsetX,\n height: theme.actionCard['primary-border-hard'].hovered.shadow.offsetY,\n },\n shadowOpacity: theme.actionCard['primary-border-hard'].hovered.shadow.opacity,\n shadowRadius: theme.actionCard['primary-border-hard'].hovered.shadow.radius,\n },\n },\n focused: {\n shadow: {\n shadowColor: theme.actionCard['primary-border-hard'].focused.shadow.color,\n shadowOffset: {\n width: theme.actionCard['primary-border-hard'].focused.shadow.offsetX,\n height: theme.actionCard['primary-border-hard'].focused.shadow.offsetY,\n },\n shadowOpacity: theme.actionCard['primary-border-hard'].focused.shadow.opacity,\n shadowRadius: theme.actionCard['primary-border-hard'].focused.shadow.radius,\n },\n },\n pressed: {\n shadow: {\n shadowColor: theme.actionCard['primary-border-hard'].pressed.shadow.color,\n shadowOffset: {\n width: theme.actionCard['primary-border-hard'].pressed.shadow.offsetX,\n height: theme.actionCard['primary-border-hard'].pressed.shadow.offsetY,\n },\n shadowOpacity: theme.actionCard['primary-border-hard'].pressed.shadow.opacity,\n shadowRadius: theme.actionCard['primary-border-hard'].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 picker: {\n web: {\n optionsContainer: {\n shadow: {\n shadowColor: theme.picker.web.optionsContainer.shadow.color,\n shadowOffset: {\n width: theme.picker.web.optionsContainer.shadow.offsetX,\n height: theme.picker.web.optionsContainer.shadow.offsetY,\n },\n shadowOpacity: theme.picker.web.optionsContainer.shadow.opacity,\n shadowRadius: theme.picker.web.optionsContainer.shadow.radius,\n },\n },\n },\n },\n forms: {\n autocomplete: {\n optionsContainer: {\n shadow: {\n shadowColor: theme.forms.autocomplete.optionsContainer.shadow.color,\n shadowOffset: {\n width: theme.forms.autocomplete.optionsContainer.shadow.offsetX,\n height: theme.forms.autocomplete.optionsContainer.shadow.offsetY,\n },\n shadowOpacity: theme.forms.autocomplete.optionsContainer.shadow.opacity,\n shadowRadius: theme.forms.autocomplete.optionsContainer.shadow.radius,\n },\n },\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({ theme, isSSR, appTheme, children }: KittNativeBaseProviderProps): ReactNode {\n const kittTheme = theme.kitt;\n\n const nativeBaseCustomTheme = useMemo(\n () => createKittNativeBaseCustomTheme(kittTheme, appTheme),\n [kittTheme, appTheme],\n );\n\n const kittInternalTheme = useMemo(() => ({ kitt: kittTheme }), [kittTheme]);\n\n return (\n <NativeBaseProvider theme={nativeBaseCustomTheme} isSSR={isSSR}>\n <KittThemeContext.Provider value={kittInternalTheme}>{children}</KittThemeContext.Provider>\n </NativeBaseProvider>\n );\n}\n","import { ScrollView, View } from 'native-base';\nimport type { ReactNode } from 'react';\nimport type { FlatListProps } from 'react-native';\n\nexport function NativeOnlyFlatList<T>({\n scrollEnabled,\n ListHeaderComponent,\n ListFooterComponent,\n data,\n numColumns,\n ListHeaderComponentStyle,\n ListFooterComponentStyle,\n contentContainerStyle,\n keyExtractor = (item, index) => index.toString(),\n renderItem,\n ...props\n}: FlatListProps<T>): ReactNode {\n return (\n <ScrollView scrollEnabled={scrollEnabled} contentContainerStyle={contentContainerStyle} {...props}>\n <View style={ListHeaderComponentStyle}>{ListHeaderComponent}</View>\n <View\n flexDirection={numColumns === undefined ? 'column' : 'row'}\n flexWrap={numColumns === undefined ? undefined : numColumns === 1 ? 'nowrap' : 'wrap'}\n alignItems=\"stretch\"\n >\n {data && renderItem\n ? Array.prototype.map.call(data, (item, index) => (\n <View key={keyExtractor(item, index)}>\n {renderItem({\n item,\n index,\n get separators(): never {\n throw new Error('separators not supported');\n },\n })}\n </View>\n ))\n : null}\n </View>\n <View style={ListFooterComponentStyle}>{ListFooterComponent}</View>\n </ScrollView>\n );\n}\n","import type { ReactElement, ReactNode } from 'react';\nimport { useEffect, useState } from 'react';\nimport type { CardModalAnimationProps } from '../CardModal/CardModalAnimation/CardModalAnimation';\nimport { CardModalAnimation } from '../CardModal/CardModalAnimation/CardModalAnimation';\nimport { CardModalScrollContainer } from '../CardModal/CardModalBehaviour';\nimport { FullscreenModalAnimation } from '../FullscreenModal/FullscreenModalAnimation';\nimport type { ModalBehaviourProps } from '../ModalBehaviour/ModalBehaviour';\nimport { ModalBehaviour } from '../ModalBehaviour/ModalBehaviour';\nimport type { ModalAnimationComponentProps } from '../ModalBehaviour/type';\nimport { useBreakpointValue } from '../native-base/utils';\n\ninterface SimpleContainerProps extends CardModalAnimationProps {}\n\nfunction SimpleContainer({ children }: SimpleContainerProps): ReactNode {\n return children as ReactElement;\n}\n\ntype AnimationComponentType = typeof CardModalAnimation | typeof FullscreenModalAnimation;\ntype CurrentContainerComponentType = typeof SimpleContainer | typeof CardModalScrollContainer;\n\nexport interface NavigationModalBehaviourProps extends ModalBehaviourProps, ModalAnimationComponentProps {\n onClose: () => void;\n}\n\nexport function NavigationModalBehaviour({\n children,\n visible,\n appear = true,\n onExited,\n onEnter,\n onExit,\n onClose,\n ...props\n}: NavigationModalBehaviourProps): ReactNode {\n const AnimationComponent = useBreakpointValue<AnimationComponentType>({\n base: FullscreenModalAnimation,\n small: CardModalAnimation,\n });\n\n const CurrentContainerComponent = useBreakpointValue<CurrentContainerComponentType>({\n base: SimpleContainer,\n small: CardModalScrollContainer,\n });\n\n const [isModalBehaviourVisible, setIsModalBehaviourVisible] = useState(visible);\n const [shouldAppear, setShouldAppear] = useState(appear);\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 const handleEnter = (): void => {\n if (onEnter) onEnter();\n\n // Once a children as been displayed, we force appear to false in order to avoid replaying animation on breakpoint change\n setShouldAppear(false);\n };\n\n const handleExit = (): void => {\n if (onExit) onExit();\n\n // Reset appear value to its original value for future modal display\n setShouldAppear(appear);\n };\n\n return (\n <ModalBehaviour visible={isModalBehaviourVisible} onClose={onClose}>\n <CurrentContainerComponent bounces={false} contentContainerStyle={{ flexGrow: 1 }}>\n <AnimationComponent\n {...props}\n appear={shouldAppear}\n visible={visible}\n onEnter={handleEnter}\n onExit={handleExit}\n onExited={handleExitAnimationDone}\n onClose={onClose}\n >\n {children}\n </AnimationComponent>\n </CurrentContainerComponent>\n </ModalBehaviour>\n );\n}\n","import type { ReactNode } from 'react';\nimport { CardModal } from '../CardModal/CardModal';\nimport type { CardModalBodyProps } from '../CardModal/CardModalBody';\nimport type { CardModalFooterProps } from '../CardModal/CardModalFooter';\nimport type { CardModalHeaderProps } from '../CardModal/CardModalHeader';\nimport type { FullscreenModalBodyProps } from '../FullscreenModal/Body';\nimport type { FullscreenModalFooterProps } from '../FullscreenModal/Footer';\nimport { FullscreenModal } from '../FullscreenModal/FullscreenModal';\nimport type { FullscreenModalProps } from '../FullscreenModal/FullscreenModal';\nimport type { FullscreenModalHeaderProps } from '../FullscreenModal/Header';\nimport { useBreakpointValue } from '../native-base/utils';\nimport { NavigationModalBehaviour } from './NavigationModalBehaviour';\n\nexport interface NavigationModalProps extends FullscreenModalProps {}\n\nexport function NavigationModal({ body, backgroundColor, footer, header }: NavigationModalProps): ReactNode {\n const Component = useBreakpointValue<typeof FullscreenModal | typeof CardModal>({\n base: FullscreenModal,\n small: CardModal,\n });\n\n return <Component body={body} backgroundColor={backgroundColor} footer={footer} header={header} />;\n}\n\ntype HeaderProps = CardModalHeaderProps | FullscreenModalHeaderProps;\n\nfunction Header(props: HeaderProps): ReactNode {\n const Component: typeof FullscreenModal.Header | typeof CardModal.Header = useBreakpointValue({\n base: FullscreenModal.Header,\n small: CardModal.Header,\n });\n return <Component {...props} />;\n}\n\ntype BodyProps = CardModalBodyProps | FullscreenModalBodyProps;\n\nfunction Body(props: BodyProps): ReactNode {\n const Component: typeof FullscreenModal.Body | typeof CardModal.Body = useBreakpointValue({\n base: FullscreenModal.Body,\n small: CardModal.Body,\n });\n return <Component {...props} />;\n}\n\ntype FooterProps = CardModalFooterProps | FullscreenModalFooterProps;\n\nfunction Footer(props: FooterProps): ReactNode {\n const Component: typeof FullscreenModal.Footer | typeof CardModal.Footer = useBreakpointValue({\n base: FullscreenModal.Footer,\n small: CardModal.Footer,\n });\n return <Component {...props} />;\n}\n\nNavigationModal.Header = Header;\nNavigationModal.Body = Body;\nNavigationModal.Footer = Footer;\nNavigationModal.ModalBehaviour = NavigationModalBehaviour;\n","import type { ReactNode } from 'react';\nimport { BaseMessage } from '../BaseMessage/BaseMessage';\nimport type { BaseMessageProps } from '../BaseMessage/BaseMessage';\n\nexport interface NotificationProps extends BaseMessageProps {}\n\nexport function Notification({ type, children, centeredText, insets, onDismiss }: NotificationProps): ReactNode {\n return (\n <BaseMessage hasNoRadius type={type} centeredText={centeredText} insets={insets} onDismiss={onDismiss}>\n {children}\n </BaseMessage>\n );\n}\n","import { css } from '@linaria/core';\nimport type { ReactNode } from 'react';\nimport { useTheme } from '../KittThemeContext';\nimport {\n fillEasingFunction,\n pageLoaderSize,\n pageLoaderStrokeWidth,\n webAnimationCircleBackgroundFillDuration,\n webAnimationDelay,\n webAnimationFilledCircleFillDuration,\n webAnimationFilledCircleRotationDuration,\n} from '../themes/late-ocean/pageLoader';\n\nconst [x1, y1, x2, y2] = fillEasingFunction;\n\nconst pageLoaderCirclePerimeter = 2 * Math.PI * (pageLoaderSize * 0.5 - pageLoaderStrokeWidth);\n\nconst pageLoaderContainer = css`\n @keyframes PageLoaderInit {\n 0% {\n stroke-dashoffset: ${pageLoaderCirclePerimeter}px;\n }\n\n 100% {\n stroke-dashoffset: 0;\n }\n }\n\n /** Primary circle animation **/\n @keyframes PageLoaderOffset {\n 0% {\n stroke-dashoffset: ${pageLoaderCirclePerimeter}px;\n }\n\n /** 20% of this radius and represent the min offset part of the animated circle */\n 100% {\n stroke-dashoffset: ${pageLoaderCirclePerimeter * 0.2}px;\n }\n }\n\n @keyframes PageLoaderRotation {\n 0% {\n transform: rotate(0deg);\n }\n\n 100% {\n transform: rotate(360deg);\n }\n }\n\n width: ${pageLoaderSize}px;\n height: ${pageLoaderSize}px;\n\n /* Needed to make the animation starting from the top of the circles */\n transform: scale(-1) rotate(90deg);\n\n & circle,\n & g {\n transform-origin: center center;\n }\n\n & g[data-large-loader='base'] circle {\n animation: ${webAnimationCircleBackgroundFillDuration}ms cubic-bezier(${x1}, ${y1}, ${x2}, ${y2})\n ${webAnimationDelay}ms forwards;\n animation-name: PageLoaderInit;\n }\n\n & g[data-large-loader='fill'] {\n animation: ${webAnimationFilledCircleFillDuration}ms linear ${webAnimationDelay}ms infinite;\n animation-name: PageLoaderRotation;\n }\n\n & g[data-large-loader='fill'] circle {\n animation: ${webAnimationFilledCircleFillDuration}ms cubic-bezier(${x1}, ${y1}, ${x2}, ${y2}) ${webAnimationDelay}ms\n infinite alternate,\n ${webAnimationFilledCircleRotationDuration}ms linear ${webAnimationDelay}ms infinite;\n animation-name: PageLoaderOffset, PageLoaderRotation;\n }\n`;\n\nexport function PageLoader(props: Record<string, never>): ReactNode {\n const theme = useTheme();\n const { colors, size, strokeWidth } = theme.kitt.pageLoader;\n\n const center = size * 0.5;\n const radius = center - strokeWidth;\n\n const circlePerimeter = 2 * Math.PI * radius;\n\n const sharedProps = {\n cx: center,\n cy: center,\n r: radius,\n fill: 'none',\n strokeWidth,\n strokeDasharray: circlePerimeter,\n strokeDashoffset: circlePerimeter,\n strokeLinecap: 'round' as const,\n };\n\n return (\n <div className={pageLoaderContainer}>\n <svg width={size} height={size}>\n <g data-large-loader=\"base\">\n <circle {...sharedProps} stroke={colors.base} />\n </g>\n <g data-large-loader=\"fill\">\n <circle {...sharedProps} stroke={colors.fill} />\n </g>\n </svg>\n </div>\n );\n}\n","import type { ReactNode } from 'react';\nimport { View } from '../native-base/primitives';\nimport type { PickerItemProps } from './PickerItem';\n\ninterface UIState {\n isSelected?: boolean;\n isHovered?: boolean;\n isFocused?: boolean;\n isPressed?: boolean;\n isHighlighted?: boolean;\n}\n\nfunction getBackgroundColor({ isSelected, isHighlighted, isPressed, isHovered, isFocused }: UIState): string {\n const baseKey = 'kitt.picker.web.option';\n if (isHighlighted) {\n return `${baseKey}.highlighted.backgroundColor`;\n }\n\n if (isPressed) {\n return `${baseKey}.pressed.backgroundColor`;\n }\n\n if (isHovered) {\n return `${baseKey}.hovered.backgroundColor`;\n }\n\n if (isFocused) {\n return `${baseKey}.focused.backgroundColor`;\n }\n\n if (isSelected) {\n return `${baseKey}.selected.backgroundColor`;\n }\n\n return `${baseKey}.default.backgroundColor`;\n}\n\nexport function PickerItem({\n children,\n isSelected,\n isHighlighted,\n isPressed,\n isHovered,\n isFocused,\n}: PickerItemProps): ReactNode {\n return (\n <View\n justifyContent=\"center\"\n width=\"100%\"\n paddingX=\"kitt.picker.web.option.horizontalPadding\"\n paddingY=\"kitt.picker.web.option.verticalPadding\"\n backgroundColor={getBackgroundColor({ isSelected, isHighlighted, isPressed, isHovered, isFocused })}\n >\n {children}\n </View>\n );\n}\n","import type { PickerItemProps as NativePickerItemProps } from '@react-native-picker/picker';\nimport type { ReactNode } from 'react';\nimport { Typography } from '../typography/Typography';\n\ninterface PickerOptionChildrenProps {\n isHighlighted?: boolean;\n isSelected?: boolean;\n}\n\nexport interface PickerOptionProps<T> extends Pick<NativePickerItemProps<T>, 'label'>, PickerOptionChildrenProps {\n children: ReactNode | ((props: PickerOptionChildrenProps) => ReactNode);\n value: T;\n testID?: string;\n}\n\n// This item is for Android only, iOS uses its own implementation and web is not supported yet\nexport function PickerOption<T>({ children, testID, isHighlighted, isSelected }: PickerOptionProps<T>): ReactNode {\n return (\n <Typography.Text testID={testID} base=\"body\">\n {typeof children === 'function' ? children({ isHighlighted, isSelected }) : children}\n </Typography.Text>\n );\n}\n","import { useSelect } from 'downshift';\nimport type { UseSelectState, UseSelectStateChangeOptions } from 'downshift';\n\nexport function webUseSelectReducer<T>(\n state: UseSelectState<T>,\n actionAndChanges: UseSelectStateChangeOptions<T>,\n options: {\n keepOpenOnChange?: boolean;\n },\n): Partial<UseSelectState<T>> {\n const { type, changes } = actionAndChanges;\n\n switch (type) {\n case useSelect.stateChangeTypes.ItemClick:\n if (!options.keepOpenOnChange) return changes;\n\n return {\n ...changes,\n isOpen: true,\n };\n default:\n return changes;\n }\n}\n","import { css } from '@linaria/core';\nimport { autoUpdate, offset, useFloating } from '@floating-ui/react-dom';\nimport { useSelect } from 'downshift';\nimport type { ReactElement, ReactNode } from 'react';\nimport { Children } from 'react';\nimport { Portal } from 'react-portal';\nimport { CSSTransition } from 'react-transition-group';\nimport { Pressable, View } from '../native-base/primitives';\nimport type { PickerProps } from './Picker';\nimport { PickerItem } from './PickerItem';\nimport type { PickerOptionProps } from './PickerOption';\nimport { PickerOption } from './PickerOption';\nimport { webUseSelectReducer } from './reducer/webUseSelectReducer';\n\nconst enter = css`\n transform: translateY(8px);\n opacity: 0;\n`;\nconst enterActive = css`\n transform: translateY(0);\n opacity: 1;\n transition: all 300ms ease-in-out;\n`;\nconst exit = css`\n transform: translateY(0);\n opacity: 1;\n`;\nconst exitActive = css`\n transform: translateY(8px);\n opacity: 0;\n transition: all 300ms ease-in-out;\n`;\n\nexport function Picker<T>({\n children,\n renderTrigger,\n triggerViewProps,\n isInitialOpen,\n checkSelectedItem,\n initialValue,\n keepOpenOnChange = false,\n testID,\n disabled,\n onChange,\n onClose,\n}: PickerProps<T>): ReactNode {\n const childrenArray = Children.toArray(children);\n\n const items = childrenArray.map((child) => {\n const item = child as ReactElement<PickerOptionProps<T>>;\n return item.props.value as T;\n }) as T[];\n\n const initialValueIndex = initialValue ? items.indexOf(initialValue) : -1;\n\n const { isOpen, selectedItem, getToggleButtonProps, getMenuProps, highlightedIndex, getItemProps } = useSelect<T>({\n items,\n initialSelectedItem: initialValueIndex > -1 ? items[initialValueIndex] : undefined,\n initialIsOpen: isInitialOpen,\n stateReducer: (state, actionAndChanges) => webUseSelectReducer(state, actionAndChanges, { keepOpenOnChange }),\n onIsOpenChange: (changes) => {\n if (changes.isOpen === false) {\n if (onClose) onClose();\n }\n },\n onSelectedItemChange: (changes) => {\n if (!onChange) return;\n\n if (changes.selectedItem === null) {\n onChange(undefined);\n return;\n }\n onChange(changes.selectedItem);\n },\n });\n\n const { onClick: onPressTrigger, ...restToggleProps } = getToggleButtonProps();\n\n const { x, y, reference, floating, strategy } = useFloating({\n placement: 'bottom-start',\n strategy: 'fixed',\n whileElementsMounted: autoUpdate,\n middleware: [offset(8)],\n });\n\n const tooltipY = Math.round(y ?? 0);\n const tooltipX = Math.round(x ?? 0);\n\n const { ref: menuRef, ...menuProps } = getMenuProps();\n\n return (\n <>\n <View width=\"fit-content\" {...triggerViewProps} ref={reference}>\n {renderTrigger({\n onPress: onPressTrigger,\n selectedItem: selectedItem || undefined,\n isOpen,\n disabled,\n ...restToggleProps,\n })}\n </View>\n\n <Portal>\n <View\n ref={(myRef) => {\n const currentRef = myRef as HTMLDivElement;\n floating(currentRef);\n menuRef(currentRef);\n }}\n testID={testID}\n {...menuProps}\n position={strategy}\n top={0}\n left={0}\n width=\"100%\"\n maxWidth={{ base: 350 }}\n paddingY={isOpen ? 'kitt.2' : undefined}\n _web={{\n style: {\n transform: `translate3d(${tooltipX}px, ${tooltipY}px, 0)`,\n visibility: isOpen ? 'visible' : 'hidden',\n transitionDuration: '300ms',\n transitionProperty: 'opacity, padding',\n transitionTimingFunction: 'ease-in-out',\n },\n }}\n >\n <View\n opacity={isOpen ? 1 : 0}\n backgroundColor=\"kitt.picker.web.optionsContainer.backgroundColor\"\n borderRadius=\"kitt.picker.web.optionsContainer.borderRadius\"\n shadow=\"kitt.picker.web.optionsContainer.shadow\"\n _web={{\n style: {\n transform: `translateY(${isOpen ? 0 : 8})`,\n visibility: isOpen ? 'visible' : 'hidden',\n transitionDuration: '300ms',\n transitionTimingFunction: 'ease-in-out',\n },\n }}\n >\n <CSSTransition\n unmountOnExit\n timeout={300}\n in={isOpen}\n classNames={{ enter, enterActive, exit, exitActive }}\n >\n <View paddingY=\"kitt.2\">\n {childrenArray.map((child, index) => {\n const currentValue = items[index];\n\n const {\n onClick,\n 'aria-selected': ariaSelected,\n ...itemProps\n } = getItemProps({ item: currentValue, index, disabled });\n\n return (\n <Pressable\n key={itemProps.id}\n {...itemProps}\n accessibilityState={{ selected: ariaSelected }}\n onPress={onClick}\n >\n {({ isHovered, isFocused, isPressed }) => {\n const isHighlighted = highlightedIndex === index;\n return (\n <PickerItem\n isSelected={checkSelectedItem(selectedItem || undefined, currentValue)}\n isHighlighted={isHighlighted}\n isHovered={isHovered}\n isFocused={isFocused}\n isPressed={isPressed}\n >\n {child}\n </PickerItem>\n );\n }}\n </Pressable>\n );\n })}\n </View>\n </CSSTransition>\n </View>\n </View>\n </Portal>\n </>\n );\n}\n\nPicker.Option = PickerOption;\n\n/**\n * @description: This is exported for testing purposes only\n */\nPicker.UnsafeInternalItem = PickerItem;\n","<svg viewBox=\"0 0 453 71\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\"><path fill=\"#fff\" d=\"m40 0 2.598 1.5-40 69.282L0 69.282zm10 0 2.598 1.5-40 69.282-2.598-1.5zm10 0 2.598 1.5-40 69.282-2.598-1.5zm10 0 2.598 1.5-40 69.282-2.598-1.5zm10 0 2.598 1.5-40 69.282-2.598-1.5zm10 0 2.598 1.5-40 69.282-2.598-1.5zm10 0 2.598 1.5-40 69.282-2.598-1.5zm10 0 2.598 1.5-40 69.282-2.598-1.5zm10 0 2.598 1.5-40 69.282-2.598-1.5zm10 0 2.598 1.5-40 69.282-2.598-1.5zm10 0 2.598 1.5-40 69.282-2.598-1.5zm10 0 2.598 1.5-40 69.282-2.598-1.5zm10 0 2.598 1.5-40 69.282-2.598-1.5zm10 0 2.598 1.5-40 69.282-2.598-1.5zm10 0 2.598 1.5-40 69.282-2.598-1.5zm10 0 2.598 1.5-40 69.282-2.598-1.5zm10 0 2.598 1.5-40 69.282-2.598-1.5zm10 0 2.598 1.5-40 69.282-2.598-1.5zm10 0 2.598 1.5-40 69.282-2.598-1.5zm10 0 2.598 1.5-40 69.282-2.598-1.5zm10 0 2.598 1.5-40 69.282-2.598-1.5zm10 0 2.598 1.5-40 69.282-2.598-1.5zm10 0 2.598 1.5-40 69.282-2.598-1.5zm10 0 2.598 1.5-40 69.282-2.598-1.5zm10 0 2.598 1.5-40 69.282-2.598-1.5zm10 0 2.598 1.5-40 69.282-2.598-1.5zm10 0 2.598 1.5-40 69.282-2.598-1.5zm10 0 2.598 1.5-40 69.282-2.598-1.5zm10 0 2.598 1.5-40 69.282-2.598-1.5zm10 0 2.598 1.5-40 69.282-2.598-1.5zm10 0 2.598 1.5-40 69.282-2.598-1.5zm10 0 2.598 1.5-40 69.282-2.598-1.5zm10 0 2.598 1.5-40 69.282-2.598-1.5zm10 0 2.598 1.5-40 69.282-2.598-1.5zm10 0 2.598 1.5-40 69.282-2.598-1.5zm10 0 2.598 1.5-40 69.282-2.598-1.5zm10 0 2.598 1.5-40 69.282-2.598-1.5zm10 0 2.598 1.5-40 69.282-2.598-1.5zm10 0 2.598 1.5-40 69.282-2.598-1.5zm10 0 2.598 1.5-40 69.282-2.598-1.5zm10 0 2.598 1.5-40 69.282-2.598-1.5zm10 0 2.598 1.5-40 69.282-2.598-1.5z\"/></svg>","import { HStack, View } from 'native-base';\nimport type { ReactNode } from 'react';\nimport Stripes from './assets/stripes.inline.svg';\n\nexport type SegmentedProgressBarSizes = 'small' | 'default';\nexport type SegmentedProgressBarColors = 'primary' | 'validated';\n\ninterface SegmentedProgressBarProps {\n currentStep?: number;\n stepsCount: number;\n size?: SegmentedProgressBarSizes;\n colorVariant?: SegmentedProgressBarColors;\n withCurrentInProgress?: boolean;\n}\n\nexport function SegmentedProgressBar({\n currentStep = 0,\n stepsCount,\n size = 'default',\n colorVariant = 'primary',\n withCurrentInProgress,\n}: SegmentedProgressBarProps): ReactNode {\n const height = size === 'small' ? 'kitt.2' : 'kitt.4';\n const fillColor =\n colorVariant === 'validated' ? 'kitt.palettes.lateOcean.viride' : 'kitt.palettes.lateOcean.lateOceanLight1';\n\n const steps = [...Array.from({ length: stepsCount }).keys()];\n\n return (\n <HStack height={height} space={2} borderRadius={height} overflow=\"hidden\">\n {steps.map((stepNumber) => {\n const isSegmentCurrentInProgress = withCurrentInProgress && stepNumber === currentStep - 1;\n const color = stepNumber < currentStep ? fillColor : 'kitt.palettes.lateOcean.black50';\n\n return (\n <View\n key={stepNumber}\n height=\"100%\"\n flexGrow={1}\n flexShrink={1}\n flexBasis={0}\n backgroundColor={isSegmentCurrentInProgress ? 'kitt.palettes.lateOcean.lateOceanLight3' : color}\n borderRadius={2}\n overflow=\"hidden\"\n alignItems=\"center\"\n justifyContent=\"center\"\n >\n {isSegmentCurrentInProgress ? (\n <View width=\"453\" height=\"71\">\n <Stripes />\n </View>\n ) : null}\n </View>\n );\n })}\n </HStack>\n );\n}\n","import { css } from '@linaria/core';\nimport cx from 'classnames';\nimport type { ReactNode } from 'react';\nimport { skeletonBackgroundColor, skeletonFlareColor } from '../themes/late-ocean/skeleton';\n\nconst skeleton = css`\n background-color: ${skeletonBackgroundColor};\n position: relative;\n overflow: hidden;\n height: 100%;\n width: 100%;\n\n @keyframes flareTranslate {\n from {\n transform: translateX(-100%);\n }\n\n to {\n transform: translateX(100%);\n }\n }\n\n &::after {\n content: '';\n position: absolute;\n width: 100%;\n height: 100%;\n top: 0;\n left: 0;\n background-image: linear-gradient(\n -90deg,\n ${skeletonBackgroundColor},\n ${skeletonFlareColor} 50%,\n ${skeletonBackgroundColor} 100%\n );\n animation: 1s ease-in-out infinite;\n animation-name: flareTranslate;\n }\n`;\n\nconst skeletonWithoutAnimation = css`\n &::after {\n background-image: none;\n animation: none;\n }\n`;\n\ninterface SkeletonProps {\n isLoading: boolean;\n}\n\nexport function SkeletonContent({ isLoading }: SkeletonProps): ReactNode {\n return <div className={cx(skeleton, !isLoading ? skeletonWithoutAnimation : undefined)} />;\n}\n","import type { ReactNode } 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): ReactNode {\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): ReactNode {\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): ReactNode {\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): ReactNode {\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 { ReactNode } 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): ReactNode {\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 { ReactNode } 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): ReactNode {\n return (\n <Image source={{ uri: url }} width={width} height={height} alt={alt} onError={onError} onLoadEnd={onLoadEnd} />\n );\n}\n","import type { ReactNode } from 'react';\nimport { Skeleton } from '../Skeleton/Skeleton';\nimport { View } from '../native-base/primitives';\n\nexport function StaticMapLoader(): ReactNode {\n return (\n <View alignItems=\"center\" justifyContent=\"center\" height=\"100%\">\n <Skeleton isLoading width=\"100%\" height=\"100%\" />\n </View>\n );\n}\n","import type { ReactNode } 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): ReactNode {\n return (\n <View position=\"absolute\" top=\"0\" left=\"0\" width=\"100%\" height=\"100%\">\n <View\n justifyContent=\"center\"\n alignItems=\"center\"\n height=\"100%\"\n style={{\n transform: getMarkerPosition(variant),\n }}\n >\n {variant === 'position' ? <MapMarkerPosition /> : null}\n {variant === 'large' ? <MapMarkerLarge /> : null}\n {variant === 'simple' ? <MapMarkerSimple /> : null}\n </View>\n </View>\n );\n}\n","export function getRangedWidthValue(nextWidth: number, maxValue: number): number {\n const rangedMapWidth = Math.max(1, Math.min(nextWidth, maxValue));\n\n return rangedMapWidth;\n}\n","export function getShouldDisplay2x(): boolean {\n if (typeof window === 'undefined') {\n return true;\n }\n\n // requesting retina picture is up to the device capabilities;\n return window.devicePixelRatio ? window.devicePixelRatio > 1 : false;\n}\n","import type { 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): ReactNode {\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 { ReactNode } from 'react';\nimport type { ViewStyle } from 'react-native';\nimport type { Except } from 'type-fest';\nimport type { ViewProps } from '../native-base/primitives';\nimport { View } from '../native-base/primitives';\n\ninterface FlexProps extends Except<ViewProps, 'display' | 'flexDirection' | 'flexWrap'> {\n direction: ViewStyle['flexDirection'];\n wrap?: ViewStyle['flexWrap'];\n}\n\nexport function Flex({ direction, wrap = 'wrap', ...props }: FlexProps): ReactNode {\n return <View {...props} flexDirection={direction} flexWrap={wrap} />;\n}\n","export const storyPadding = 'kitt.4';\n","import type { ReactNode } from 'react';\nimport { createContext, useContext } from 'react';\nimport type { KittThemeContextValue } from '../KittThemeContext';\nimport { useTheme } from '../KittThemeContext';\nimport { View } from '../native-base/primitives';\nimport type { ExtendedTypographyColor } 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: KittThemeContextValue,\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 = (\n color: StoryBlockProps['background'] = 'transparent',\n): ExtendedTypographyColor => {\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<ExtendedTypographyColor>('black');\n\nexport const useStoryBlockColor = (color?: ExtendedTypographyColor | undefined): ExtendedTypographyColor => {\n const storyBlockColor = useContext(StoryBlockColorContext);\n return color || storyBlockColor;\n};\n\nexport function StoryBlock({ children, background }: StoryBlockProps): ReactNode {\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 { ReactNode } from 'react';\nimport { View } from '../native-base/primitives';\nimport { Typography } from '../typography/Typography';\nimport type { TypographyProps } 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): ReactNode {\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): ReactNode {\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): ReactNode {\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): ReactNode {\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 { 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): ReactNode {\n return (\n <ScrollView background=\"#fff\" padding={storyPadding} contentContainerStyle={contentContainerStyle}>\n <StoryTitle>{title}</StoryTitle>\n {children}\n </ScrollView>\n );\n}\n","import type { 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): ReactNode {\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): ReactNode {\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): ReactNode {\n return (\n <View marginBottom=\"kitt.4\" {...props}>\n <StoryTitle.Level4>{title}</StoryTitle.Level4>\n {children}\n </View>\n );\n}\n\nexport interface DemoSectionProps extends ViewProps {\n children: ReactNode;\n}\n\nfunction DemoSection({ children, ...props }: DemoSectionProps): ReactNode {\n return (\n <View marginBottom=\"kitt.16\" {...props}>\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 { ReactNode } from 'react';\nimport type { StoryContainerProps } from './StoryContainer';\nimport { StorySection } from './StorySection';\n\nexport function StoryContainer({ children, state, title, platform }: StoryContainerProps): ReactNode {\n if (platform === 'native') return null;\n\n return (\n <StorySection.BlockSection testID={state} title={title}>\n <div className={state ? `kitt-${state}` : undefined}>{children}</div>\n </StorySection.BlockSection>\n );\n}\n","import type { DecoratorFunction } from '@storybook/addons';\nimport type { ReactNode } from 'react';\nimport { Story as StoryContainer } from './Story';\n\n// eslint-disable-next-line react/function-component-definition -- this is not a component, it's a decorator for storybook.\nexport const StoryDecorator: DecoratorFunction<ReactNode> = (storyFn, context) => {\n if (context.parameters?.disableStoryContainer) {\n return storyFn();\n }\n return <StoryContainer title={context.name}>{storyFn()}</StoryContainer>;\n};\n","import type { 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): ReactNode {\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): ReactNode {\n const isNative = Platform.OS === 'ios' || Platform.OS === 'android';\n\n if (Platform.OS === 'web' && platform === 'native') {\n return null;\n }\n\n if (isNative && platform === 'web') {\n return null;\n }\n\n return (\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 { ReactNode } from 'react';\nimport { View } from '../native-base/primitives';\nimport { Typography } from '../typography/Typography';\nimport type { TypographyColor } 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\nexport const getLabelColor = (type: TagType, variant: TagVariant): TypographyColor => {\n switch (type) {\n case 'danger': {\n return variant === 'outline' ? 'danger' : 'white';\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): ReactNode {\n return (\n <View\n alignSelf=\"flex-start\"\n borderRadius=\"kitt.tag.borderRadius\"\n paddingX=\"kitt.tag.horizontalPadding\"\n paddingY=\"kitt.tag.verticalPadding\"\n backgroundColor={`kitt.tag.${type}.${variant}.backgroundColor`}\n borderColor={`kitt.tag.${type}.${variant}.borderColor`}\n borderWidth={`kitt.tag.${type}.${variant}.borderWidth`}\n >\n <Typography.Text base=\"body-xsmall\" color={getLabelColor(type, variant)}>\n {label}\n </Typography.Text>\n </View>\n );\n}\n","import type { ReactElement } from 'react';\nimport { forwardRef, useState } from 'react';\nimport type { NativeSyntheticEvent, TextInput as RNTextInput, TextInputChangeEventData } from 'react-native';\nimport { InputText } from '../forms/InputText/InputText';\nimport type { InputUIState } from '../forms/utils';\nimport { View } from '../native-base/primitives';\nimport { createResponsiveStyleFromProp } from '../utils/createResponsiveStyleFromProp/createResponsiveStyleFromProp';\nimport type { TimePickerProps } from './TimePicker';\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' | undefined {\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 undefined;\n}\n\nfunction keepHoursInterval(hours: string): number {\n return Math.min(Math.max(parseInt(hours, 10), 0), 23);\n}\n\nfunction getDisplayedHours(hours: string): string {\n if (hours.length === 0) return '';\n return keepHoursInterval(hours).toString().padStart(2, '0');\n}\n\nfunction keepMinutesInterval(minutes: string): number {\n return Math.min(Math.max(parseInt(minutes, 10), 0), 59);\n}\n\nfunction getDisplayedMinutes(minutes: string): string {\n if (minutes.length === 0) return '';\n\n const minutesWithinInterval = keepMinutesInterval(minutes).toString();\n\n // Handles case such as typing '04'\n // it will result as 4 after parseInt but we want to keep the original string length between casts to display leading '0' in the input\n if (minutes.length > 1) return minutesWithinInterval.padStart(2, '0');\n\n return minutesWithinInterval;\n}\n\nfunction getInitialInputValueFromDateValue(date: Date): string {\n const hours = date.getHours();\n const minutes = date.getMinutes();\n\n return `${getDisplayedHours(hours.toString())}:${getDisplayedMinutes(minutes.toString()).padStart(2, '0')}`;\n}\n\nexport const TimePicker = forwardRef<RNTextInput, TimePickerProps>(\n (\n {\n value,\n disabled,\n stretch,\n placeholder = '--:--',\n isHoveredInternal,\n isFocusedInternal,\n isPressedInternal,\n onChange,\n onBlur,\n\n // native implementation props - ignored\n title,\n validateButtonLabel,\n isDefaultVisible,\n modalTestID,\n pickerTestID,\n ...props\n }: TimePickerProps,\n ref,\n ): ReactElement => {\n const [inputValue, setInputValue] = useState(value ? getInitialInputValueFromDateValue(value) : '');\n\n const handleChange = (currentInputValue = ''): void => {\n if (!onChange) return;\n\n // Format is hh:mm hence 5 characters\n if (currentInputValue.length < 5 || !currentInputValue.includes(':')) return;\n\n const [hours, minutes] = currentInputValue.split(':');\n\n // Prepare the next date. It clones the date value passed as prop if available\n const nextDate = value ? new Date(value) : new Date();\n\n nextDate.setHours(keepHoursInterval(hours), keepMinutesInterval(minutes));\n\n onChange(nextDate);\n };\n\n const handleInputChange = (event: NativeSyntheticEvent<TextInputChangeEventData>): void => {\n const currentValue = event.nativeEvent.text;\n\n if (currentValue.length === 0) {\n setInputValue(currentValue);\n\n if (onChange) onChange(undefined);\n return;\n }\n\n // Allow alphanumerical characters and ':'\n const sanitizedValue = currentValue.replace(/[^0-9:]/g, '');\n\n if (currentValue.length <= inputValue.length) {\n setInputValue(sanitizedValue);\n\n handleChange(sanitizedValue);\n return;\n }\n\n const hasSeparator = sanitizedValue.includes(':');\n\n // When input has a value which is more than ':'\n if (hasSeparator && sanitizedValue.length > 1) {\n const [hours, minutes] = sanitizedValue.split(':');\n\n const currentHours = getDisplayedHours(hours);\n const currentMinutes = getDisplayedMinutes(minutes);\n\n const nextValue = `${currentHours}:${currentMinutes}`;\n\n setInputValue(nextValue);\n\n handleChange(nextValue);\n return;\n }\n\n // Auto suffix hours with ':' when adding characters\n if (sanitizedValue.length === 2 && currentValue.length > inputValue.length) {\n setInputValue(`${getDisplayedHours(sanitizedValue)}:`);\n\n return;\n }\n\n // Handle case like 1212 that should be formatted as 12:12\n // Split hours part from the minutes part and insert ':' between then\n if (sanitizedValue.length > 2) {\n const hours = sanitizedValue.slice(0, 2);\n const minutes = sanitizedValue.slice(2);\n\n const nextValue = `${getDisplayedHours(hours)}:${getDisplayedMinutes(minutes)}`;\n\n setInputValue(nextValue);\n\n handleChange(nextValue);\n return;\n }\n\n setInputValue(sanitizedValue);\n\n handleChange(sanitizedValue);\n };\n\n const handleBlur = (): void => {\n if (inputValue.indexOf(':') === 1) {\n setInputValue(`0${inputValue}`);\n }\n\n if (onBlur) onBlur();\n };\n\n return (\n <View width={createResponsiveStyleFromProp(stretch, '100%', 'kitt.forms.timePicker.minWidth')}>\n <InputText\n ref={ref}\n textAlign=\"center\"\n value={inputValue}\n placeholder={placeholder}\n disabled={disabled}\n internalForceState={getCurrentInternalForcedState({\n isDisabled: disabled,\n isHoveredInternal,\n isFocusedInternal,\n isPressedInternal,\n })}\n onChange={handleInputChange}\n onBlur={handleBlur}\n {...props}\n />\n </View>\n );\n },\n);\n","<svg viewBox=\"0 0 36 9\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\"><path fill=\"currentColor\" fill-rule=\"evenodd\" clip-rule=\"evenodd\" d=\"M22.399 6.128C20.939 7.722 19.767 9 18 9s-2.938-1.278-4.399-2.872C11.187 3.494 7.984 0 0 0h36c-7.984 0-11.187 3.494-13.601 6.128z\"/></svg>","import type { ReactElement } from 'react';\nimport { forwardRef } from 'react';\nimport { useTheme } from '../KittThemeContext';\nimport type { ViewProps } from '../native-base/primitives';\nimport { View } from '../native-base/primitives';\nimport type { TooltipPosition } from './Tooltip';\nimport TooltipArrowImage from './arrow.inline.svg';\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 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: `rotate(${position === 'bottom' ? '180deg' : '0deg'})`,\n }}\n >\n <TooltipArrowImage color={theme.kitt.tooltip.backgroundColor} opacity={theme.kitt.tooltip.opacity} />\n </View>\n );\n },\n);\n","import type { 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): ReactNode {\n return (\n <View\n backgroundColor=\"kitt.tooltip.backgroundColor\"\n borderRadius=\"kitt.tooltip.borderRadius\"\n opacity=\"kitt.tooltip.opacity\"\n paddingY=\"kitt.tooltip.verticalPadding\"\n paddingX=\"kitt.tooltip.horizontalPadding\"\n >\n <Typography.Text base=\"body-small\" color=\"white-light\">\n {children}\n </Typography.Text>\n </View>\n );\n}\n","import { useBreakpointValue } from '../../native-base/utils';\n\ninterface GetShouldDisplayArrowParams {\n isTooltipFullWidth?: boolean;\n isBase?: boolean;\n}\n\nfunction getShouldRenderArrow({ isTooltipFullWidth, isBase }: GetShouldDisplayArrowParams): boolean {\n if (isTooltipFullWidth) return false;\n\n const shouldDisplayArrow = !isBase;\n\n return shouldDisplayArrow;\n}\n\ninterface UseShouldDisplayArrowParams {\n isTooltipFullWidth?: boolean;\n}\n\nexport function useShouldRenderArrow({ isTooltipFullWidth }: UseShouldDisplayArrowParams): boolean {\n const isBase = useBreakpointValue({\n base: true,\n small: false,\n });\n\n return getShouldRenderArrow({ isTooltipFullWidth, isBase });\n}\n","export function getHasArrowEnoughSpace(arrowCenterOffset?: number): boolean {\n return arrowCenterOffset !== undefined ? true : arrowCenterOffset !== 0;\n}\n","import type { MiddlewareData } from '@floating-ui/react-dom';\nimport { arrow, autoPlacement, autoUpdate, offset, shift, useFloating } from '@floating-ui/react-dom';\nimport type { ReactNode, RefObject } from 'react';\nimport { useEffect, useRef, useState } from 'react';\nimport { Portal } from 'react-portal';\nimport type { Except } from 'type-fest';\nimport { useOnClickOutside } from 'usehooks-ts';\nimport { useTheme } from '../KittThemeContext';\nimport { Pressable, View } from '../native-base/primitives';\nimport { useBreakpointValue } from '../native-base/utils';\nimport { Arrow } from './Arrow';\nimport type { TooltipProps, UpdateCallbackParams } from './Tooltip';\nimport { TooltipContent } from './TooltipContent';\nimport { useShouldRenderArrow } from './hooks/useShouldRenderArrow';\nimport { getHasArrowEnoughSpace } from './utils/getHasArrowEnoughSpace';\n\ninterface WebUpdateCallbackParams extends Exclude<UpdateCallbackParams, 'middlewareData'> {\n middlewareData: MiddlewareData;\n refs: {\n reference: RefObject<any>;\n floating: RefObject<any>;\n };\n}\n\n// override the onUpdate callback for web typings.\ntype WebTooltipProps = Except<TooltipProps, 'onUpdate'> & {\n onUpdate: (params: WebUpdateCallbackParams) => void;\n};\n\nexport function Tooltip({\n children,\n alignSelf,\n defaultVisible,\n position = 'top',\n content,\n floatingPadding,\n fullWidth,\n onToggle,\n renderPressable = (pressableProps) => (\n <Pressable accessibilityRole=\"button\" alignSelf=\"baseline\" display=\"inline-flex\" {...pressableProps}>\n {children}\n </Pressable>\n ),\n onUpdate,\n zIndex,\n}: WebTooltipProps): ReactNode {\n const isBase = useBreakpointValue({\n base: true,\n small: false,\n });\n\n const theme = useTheme();\n\n const [isVisible, setIsVisible] = useState(Boolean(defaultVisible));\n\n const [isCursorOnTooltip, setIsCursorOnTooltip] = useState(false);\n\n const arrowRef = useRef<typeof View>(null);\n\n const currentFloatingPadding = floatingPadding || theme.kitt.tooltip.floatingPadding;\n\n const { x, y, reference, floating, strategy, update, refs, middlewareData, placement } = useFloating({\n placement: position,\n strategy: 'fixed',\n whileElementsMounted: autoUpdate,\n middleware: [\n // Order matters\n offset(currentFloatingPadding),\n autoPlacement({\n allowedPlacements: ['top', 'bottom'],\n padding: currentFloatingPadding,\n }),\n shift({ crossAxis: false, padding: currentFloatingPadding }),\n arrow({ element: arrowRef as unknown as HTMLElement }),\n ],\n });\n\n const tooltipY = Math.round(y ?? 0);\n const tooltipX = Math.round(x ?? 0);\n\n const { centerOffset } = middlewareData.arrow || {};\n\n const shouldRenderArrow = useShouldRenderArrow({ isTooltipFullWidth: fullWidth });\n const hasArrowEnoughSpace = getHasArrowEnoughSpace(centerOffset);\n\n const sharedArrowProps = {\n top: Math.round(middlewareData.arrow?.y ?? 0),\n left: Math.round(middlewareData.arrow?.x ?? 0),\n display: hasArrowEnoughSpace ? undefined : 'none',\n };\n\n useEffect(() => {\n if (!onUpdate) return;\n\n onUpdate({\n x: tooltipX,\n y: tooltipY,\n placement,\n strategy,\n update,\n refs,\n middlewareData,\n });\n }, [tooltipX, tooltipY, reference, floating, strategy, update, refs, middlewareData, placement, onUpdate]);\n\n const handlePressOutside = (): void => {\n if (!isVisible || isCursorOnTooltip) return;\n\n if (onToggle) onToggle(false);\n setIsVisible(false);\n };\n\n useOnClickOutside(refs.reference as RefObject<HTMLDivElement>, handlePressOutside);\n\n const handleDisplayTooltip = (): void => {\n if (onToggle) onToggle(true);\n setIsVisible(true);\n };\n\n const handleHideTooltip = (): void => {\n if (onToggle) onToggle(false);\n setIsVisible(false);\n };\n\n const handleMouseEnter = (): void => {\n setIsCursorOnTooltip(true);\n };\n\n const handleMouseLeave = (): void => {\n setIsCursorOnTooltip(false);\n };\n\n const themePart = isVisible ? 'out' : 'in';\n const transitionDuration = theme.kitt.tooltip.transition[themePart].duration;\n const transitionTimingFunction = theme.kitt.tooltip.transition[themePart].timingFunction;\n const transformOrigin = `center ${placement === 'bottom' ? 'top' : 'bottom'}`;\n\n return (\n <View ref={reference as any} position=\"relative\" display=\"inline-flex\" alignSelf={alignSelf}>\n {renderPressable({\n onHoverIn: handleDisplayTooltip,\n onFocus: handleDisplayTooltip,\n onBlur: handleHideTooltip,\n })}\n\n <Portal>\n <View\n ref={floating as any}\n aria-hidden={!isVisible}\n paddingX={{ base: 'kitt.4', small: 0 }}\n width={{ base: '100%', small: 'max-content' }}\n maxWidth={{ base: '100%', small: 'kitt.tooltip.maxWidth' }}\n opacity={isVisible ? 'kitt.tooltip.opacity' : 0}\n style={{\n pointerEvents: isVisible || isCursorOnTooltip ? 'auto' : 'none',\n }}\n position={strategy}\n zIndex={zIndex}\n top={0}\n left={0}\n _web={{\n style: {\n transform: `translate3d(${\n isBase && !fullWidth ? `0, ${tooltipY}px, 0` : `${tooltipX}px, ${tooltipY}px, 0`\n })`,\n visibility: isVisible ? 'visible' : 'hidden',\n transitionDuration,\n transitionProperty: theme.kitt.tooltip.transition[themePart].property,\n transitionTimingFunction,\n },\n }}\n onTouchStart={handleMouseEnter}\n onTouchEnd={handleMouseLeave}\n onMouseEnter={handleMouseEnter}\n onMouseLeave={handleMouseLeave}\n >\n <View\n _web={{\n style: {\n transform: `scale(${isVisible ? 1 : 0.8})`,\n transitionDuration: isVisible ? '0' : transitionDuration,\n transitionProperty: 'all',\n transitionTimingFunction,\n transformOrigin,\n },\n }}\n >\n {shouldRenderArrow && placement === 'bottom' ? (\n <Arrow ref={arrowRef} position=\"bottom\" {...sharedArrowProps} />\n ) : null}\n <TooltipContent>{content}</TooltipContent>\n {shouldRenderArrow && placement === 'top' ? (\n <Arrow ref={arrowRef} position=\"top\" {...sharedArrowProps} />\n ) : null}\n </View>\n </View>\n </Portal>\n </View>\n );\n}\n\nTooltip.Arrow = Arrow;\nTooltip.Content = TooltipContent;\n","import type { ReactNode } from 'react';\nimport { useMemo } from 'react';\nimport type { Entries } from 'type-fest';\nimport type { EmojiProps } from '../Emoji/Emoji';\nimport { Emoji } from '../Emoji/Emoji';\nimport { KittBreakpointNameEnum } from '../KittBreakpoints';\nimport type { KittThemeContextValue } from '../KittThemeContext';\nimport { useTheme } from '../KittThemeContext';\nimport type { TypographyTypeConfig } from '../themes/late-ocean/typography';\nimport type { TypographyBreakpointType, TypographyType } from './Typography';\nimport { getTypographyTypeConfigKeyFromTypeName } from './Typography';\nimport { getTypographyFamily } from './utils/getTypographyFamily';\n\nfunction getTypographyTypeConfig(type: TypographyType, theme: KittThemeContextValue): TypographyTypeConfig {\n const { configs } = theme.kitt.typography.types[getTypographyFamily(type)];\n return (configs as any)[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: KittThemeContextValue): 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): ReactNode {\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 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 { css } from '@linaria/core';\nimport cx from 'classnames';\nimport type { ReactNode } from 'react';\nimport type { TypographyLinkWebWrapperProps } from './TypographyLinkWebWrapper';\n\n// overrides :global(a) in Link styles.module.css\nconst displayUnderline = css`\n & > * {\n text-decoration: underline;\n }\n\n & > *:hover,\n & > *:active,\n .kitt-hover & > * {\n text-decoration: none;\n }\n`;\n\nconst displayUnderlineWhenHovered = css`\n & > * {\n text-decoration: none;\n }\n\n & > *:hover,\n & > *:active,\n .kitt-hover & > * {\n text-decoration: underline;\n }\n`;\n\nexport function TypographyLinkWebWrapper({ children, hasNoUnderline }: TypographyLinkWebWrapperProps): ReactNode {\n return (\n <span className={cx(displayUnderline, hasNoUnderline ? displayUnderlineWhenHovered : undefined)}>{children}</span>\n );\n}\n","import type { ReactNode } from 'react';\nimport type { TextProps } from 'react-native';\nimport type { Except } from 'type-fest';\nimport type { TypographyPropsWithoutAccessibilityRole } from './Typography';\nimport { Typography } from './Typography';\nimport { TypographyLinkWebWrapper } from './TypographyLinkWebWrapper';\n\nexport interface TypographyLinkProps extends Except<TypographyPropsWithoutAccessibilityRole, 'children'> {\n children: NonNullable<ReactNode>;\n disabled?: boolean;\n noUnderline?: boolean;\n variant: NonNullable<TypographyPropsWithoutAccessibilityRole['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): ReactNode {\n return (\n <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 </TypographyLinkWebWrapper>\n );\n}\n","import { useMemo } from 'react';\nimport type { Theme } from './themes/default';\nimport { theme as kittTheme } from './themes/default';\n\nexport interface KittTheme {\n kitt: Theme;\n}\n\nexport function useKittTheme(): KittTheme {\n return useMemo(() => {\n return { kitt: kittTheme };\n }, []);\n}\n","import { makeDecorator } from '@storybook/addons';\nimport type { ReactNode } from 'react';\nimport type { AppTheme, KittNativeBaseProviderProps } from '../../native-base/KittNativeBaseProvider';\nimport { KittNativeBaseProvider } from '../../native-base/KittNativeBaseProvider';\nimport { useKittTheme } from '../../useKittTheme';\n\ninterface KittThemeProviderProps {\n appTheme?: AppTheme;\n isSSR?: KittNativeBaseProviderProps['isSSR'];\n children: ReactNode;\n}\n\nexport function KittThemeProvider({ isSSR, children, appTheme }: KittThemeProviderProps): ReactNode {\n const theme = useKittTheme();\n return (\n <KittNativeBaseProvider theme={theme} isSSR={isSSR} appTheme={appTheme}>\n {children}\n </KittNativeBaseProvider>\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 { 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\n/**\n * @deprecated Use react-native Platform instead\n */\nexport function StyleWebWrapper<T extends ElementType = 'div'>({\n as,\n children,\n ...props\n}: StyleWebWrapperProps<T> & ComponentProps<T>): ReactNode {\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 { useWindowDimensions } from 'react-native';\n\nexport interface WindowDimensions {\n width?: number;\n height?: number;\n}\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 { ReactElement, ReactNode } from 'react';\nimport type { BreakpointValueHookValues } from '../../native-base/utils';\nimport { useBreakpointValue } from '../../native-base/utils';\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: Currently not SSR friendly (but could be).\n */\nexport function MatchWindowSize({ children, ...matchWindowSizeOptions }: MatchWindowSizeProps): ReactNode {\n const match = useMatchWindowSize(matchWindowSizeOptions);\n if (!match) return null;\n return children as ReactElement;\n}\n\ntype SwitchBreakpointsProps = BreakpointValueHookValues<Exclude<ReactNode, null>>;\n\n/**\n * Display based on current breakpoint\n *\n * WARNING: Currently not SSR friendly (but could be).\n */\nexport function SwitchBreakpoints(breakpoints: SwitchBreakpointsProps): ReactNode {\n return useBreakpointValue(breakpoints);\n}\n","import { KittBreakpointNameEnum } from '../../KittBreakpoints';\nimport { useBreakpointValue } from '../../native-base/utils';\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 { CheckIcon } from '@ornikar/kitt-icons';\nimport type { ReactNode } from 'react';\nimport { View } from '../native-base/primitives';\nimport { Typography } from '../typography/Typography';\nimport { TypographyIcon } from '../typography/TypographyIcon';\nimport type { StepState } from './Step';\n\nconst backgroundColors = {\n done: 'kitt.verticalSteps.done.icon.backgroundColor',\n active: 'kitt.verticalSteps.active.icon.backgroundColor',\n default: 'kitt.verticalSteps.default.icon.backgroundColor',\n};\n\nexport interface IconStatusProps {\n state: StepState;\n index: number;\n}\n\nfunction IconStatus({ state, index }: IconStatusProps): ReactNode {\n if (state === 'done') {\n return <TypographyIcon icon={<CheckIcon />} color=\"kitt.verticalSteps.done.icon.textColor\" />;\n }\n\n return (\n // padding aligns the text in the center\n <View paddingBottom={2}>\n <Typography.Text\n textAlign=\"center\"\n variant=\"bold\"\n color={\n state === 'active' ? 'kitt.verticalSteps.active.icon.textColor' : 'kitt.verticalSteps.default.icon.textColor'\n }\n >\n {index + 1}\n </Typography.Text>\n </View>\n );\n}\n\ninterface StepIconProps {\n index: number;\n state?: StepState;\n}\n\nexport function StepIcon({ index, state = 'default' }: StepIconProps): ReactNode {\n return (\n <View\n justifyContent=\"center\"\n alignItems=\"center\"\n width={30}\n height={30}\n borderRadius={15}\n backgroundColor={backgroundColors[state]}\n >\n <IconStatus state={state} index={index} />\n </View>\n );\n}\n","import { HStack } from 'native-base';\nimport type { ReactNode } from 'react';\nimport { ActionCard } from '../ActionCard/ActionCard';\nimport { View } from '../native-base/primitives';\nimport { StepIcon } from './StepIcon';\n\nexport type StepState = 'active' | 'done' | 'default';\n\nexport interface ExternalStepProps {\n children: ReactNode;\n shouldDisableNextLink?: boolean;\n}\n\nexport function ExternalStep(props: ExternalStepProps): ReactNode {\n return null;\n}\n\nexport interface StepProps {\n index?: number;\n children: ReactNode;\n state?: StepState;\n isLast?: boolean;\n shouldDisableNextLink?: boolean;\n}\n\nexport function Step({\n index = 0,\n children,\n state = 'default',\n isLast = false,\n shouldDisableNextLink = false,\n}: StepProps): ReactNode {\n return (\n <HStack space=\"kitt.2\" flexGrow={1}>\n <View marginTop=\"kitt.2\" paddingY=\"kitt.2\" backgroundColor=\"kitt.white\">\n <StepIcon state={state} index={index} />\n {!isLast ? (\n <View\n backgroundColor={\n shouldDisableNextLink ? 'kitt.palettes.lateOcean.black100' : 'kitt.palettes.lateOcean.moonPurple'\n }\n width={1}\n position=\"absolute\"\n top={46}\n left={15}\n zIndex={-1}\n height=\"100%\"\n />\n ) : null}\n </View>\n <View flexGrow={1} flexShrink={1}>\n <ActionCard variant=\"primary\">{children}</ActionCard>\n </View>\n </HStack>\n );\n}\n","import type { StepState } from '../Step';\n\nexport function getStepState(index: number, activeIndex: number): StepState {\n if (index === activeIndex) {\n return 'active';\n }\n if (index < activeIndex) {\n return 'done';\n }\n return 'default';\n}\n","import type { ViewProps } from '@ornikar/kitt-universal';\nimport { VStack } from 'native-base';\nimport type { ReactComponentElement, ReactNode } from 'react';\nimport { Children, createElement } from 'react';\nimport type { StepProps } from './Step';\nimport { ExternalStep, Step } from './Step';\nimport { getStepState } from './utils/getStepState';\n\nexport interface VerticalStepsProps extends ViewProps {\n children: ReactComponentElement<typeof ExternalStep> | ReactComponentElement<typeof ExternalStep>[];\n activeIndex: number;\n}\n\nexport function VerticalSteps({ children, activeIndex, ...props }: VerticalStepsProps): ReactNode {\n return (\n <VStack space=\"kitt.4\" width=\"100%\" {...props}>\n {Children.map(children, (child: ReactComponentElement<typeof ExternalStep>, index) => {\n if (__DEV__ && child.type !== ExternalStep) {\n throw new Error('VerticalSteps only accepts VerticalSteps.Step as children');\n }\n\n const isLast = index === Children.count(children) - 1;\n return createElement<StepProps>(\n Step,\n {\n ...child.props,\n index,\n isLast,\n state: getStepState(index, activeIndex),\n },\n child.props.children,\n );\n })}\n </VStack>\n );\n}\n\nVerticalSteps.Step = ExternalStep;\n"],"names":["View","NativeBaseView","ScrollView","NativeBaseScrollView","Pressable","NativeBasePressable","Image","NativeBaseImage","FlatList","NativeBaseFlatList","SectionList","NativeBaseSectionList","hex2rgba","hex","alpha","r","parseInt","slice","g","b","lateOceanColorPalette","lateOcean","lateOceanLight1","lateOceanLight2","lateOceanLight3","lateOceanDark1","warmEmbrace","warmEmbraceLight1","black1000","black800","black555","black400","black200","black100","black50","black25","white","viride","englishVermillon","goldCrayola","aero","seaShell","transparent","moonPurple","moonPurpleLight1","colors","primary","primaryLight","accent","accentLight","success","correct","danger","info","warning","separator","hover","black","blackDisabled","blackLight","blackAnthracite","uiBackground","uiBackgroundLight","disabled","overlay","dark","light","actionCard","borderRadius","default","backgroundColor","borderColor","borderWidth","shadow","color","offsetX","offsetY","opacity","radius","translateY","hovered","focused","pressed","secondary","highlight","defaultAvatarSize","defaultAvatarIconSize","largeAvatarSize","largeAvatarIconSize","avatar","size","iconSize","large","spacing","bottomSheet","container","padding","handle","button","focus","minHeight","minWidth","maxWidth","scale","base","active","medium","contentPadding","xLarge","horizontal","vertical","transition","duration","timingFunction","pressedBackgroundColor","hoverBackgroundColor","focusBorderColor","ghost","hoverColor","activeColor","subtle","card","webAnimationContentDuration","webAnimationContentEasing","webAnimationOverlayDuration","webAnimationOverlayEasing","overlayHorizontalPadding","cardModal","maxWidthWithPadding","header","height","footer","overlayPadding","animation","easing","content","choices","row","column","item","small","selected","hoverWhenSelected","border","width","property","dialogModal","feedbackMessage","autocomplete","option","verticalPadding","highlighted","optionsContainer","checkbox","markColor","textSpacing","checked","datePicker","day","month","year","calcLineHeight","fontSize","lineHeightMultiplier","Math","round","createLegacyTypographyTypeConfig","lineHeightMultiplierBaseAndSmall","baseAndSmallFontSize","mediumAndWideFontSize","lineHeightMultiplierMediumAndWide","baseAndSmall","lineHeight","mediumAndWide","createTypographyConfig","config","typography","kittColors","types","headings","fontFamily","native","regular","bold","web","fontWeight","fontStyle","configs","header1","header2","header3","header4","header5","bodies","body","link","disabledColor","inputStatesStyle","pending","valid","invalid","webAnimationDuration","webAnimationTimingFunction","webAnimationProperty","input","selection","placeholder","icon","rightContainer","states","inputField","containerPaddingTop","containerPaddingBottom","feedbackPaddingTop","labelContainerPaddingBottom","labelFeedbackMarginLeft","inputTag","labelColor","radio","unchecked","innerSize","innerBackgroundColor","radioButtonGroup","textArea","timePicker","forms","fullscreenModal","sharedHorizontalPadding","getIconSizeFromFontSize","createTypographyIconSizeConfig","baseAndSmallIconSize","mediumAndWideIconSize","defaultSize","typographySize","iconButton","listItem","horizontalPadding","innerMargin","pageLoaderSize","pageLoaderStrokeWidth","webAnimationDelay","webAnimationCircleBackgroundFillDuration","webAnimationFilledCircleFillDuration","webAnimationFilledCircleRotationDuration","fillEasingFunction","pageLoader","strokeWidth","fill","delay","circleBackgroundFillDuration","filledCircleFillDuration","groupFilledCircleRotationDuration","filledCircleRotationDuration","picker","ios","landscape","android","shadows","cards","low","highBase","highMedium","highLarge","navigation","left","right","panel","skeletonBackgroundColor","skeletonFlareColor","skeleton","flareColor","animationDuration","shape","bar","circle","square","tag","outline","warn","tooltip","floatingPadding","in","out","arrow","verticalSteps","textColor","done","breakpoints","values","wide","min","smallBreakpoint","mediumBreakpoint","largeBreakpoint","wideBreakpoint","max","theme","getSpacing","multiplier","palettes","KittThemeContext","createContext","kitt","kittTheme","useTheme","useContext","getStateKey","isHovered","isPressed","isFocused","getThemeName","variant","borderVariant","ActionCardContentWrapper","children","state","__DEV__","Error","sharedTransform","transform","themeName","_jsx","_ios","style","_android","_web","flexGrow","ActionCardDisabled","borderStyle","ActionCard","props","ActionCardPressable","forwardRef","testID","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","message","process","env","NODE_ENV","console","deprecatedMessage","symbol","deprecation","replaceBy","replaceMessage","undefined","deprecatedInComponent","component","useBreakpointValue","useBreakpointValueNativeBaseBadlyTyped","getCurrentBackgroundColorForNativeBaseTheme","type","isDisabled","baseKey","getCurrentScale","hoverScaleValue","pressedScaleValue","AnimatedContainer","isStretch","responsiveHoverScaleValue","currentScale","currentBackgroundColor","transitionProperty","transitionDuration","transitionTimingFunction","backfaceVisibility","alignSelf","KittBreakpoints","BASE","SMALL","MEDIUM","LARGE","WIDE","KittBreakpointsMax","KittBreakpointNameEnum","typographyColors","getNBThemeColorFromColorProps","colorName","isColorTypographyColor","includes","getTypographyColorValue","fromEntries","entries","map","value","isTypeHeadings","startsWith","isTypeHeadingsImpact","getTypographyFamily","getTypographyFamilyWithAncestorValue","typographyFamilyInContext","TypographyFamilyContext","TypographyTypeContext","TypographyColorContext","useTypographyColor","useTypographyAncestorType","TypographyDefaultColorContext","useTypographyDefaultColor","getTypographyTypeConfigKeyFromTypeName","createNativeBaseFontSize","typeWithMediumForced","fontSizeForNativeBase","typeName","Typography","legacyBase","legacySmall","legacyMedium","legacyLarge","legacyWide","otherProps","sx","useSx","defaultColor","hasTypographyAncestor","baseOrDefaultToBody","typographyFamily","nonNullableVariant","currentColor","currentColorValue","colorStyles","textDecorationColor","key","text","NBText","Provider","TypographyText","TypographyParagraph","createHeading","level","defaultBase","TypographyHeading","displayName","SetDefaultColor","Text","Paragraph","Header1","Header2","Header3","Header4","Header5","Header6","h1","h2","h3","h4","h5","Icon","align","clonedIcon","cloneElement","getIconSizeConfigKeyFromTypeName","createNativeBaseIconSize","iconSizeForNativeBase","TypographyIconSpecifiedColor","ancestorType","colorValue","colorStyleValue","TypographyIconInheritColor","TypographyIcon","getButtonTextColorByType","isButtonInteractedWith","ButtonIcon","iconPosition","marginRight","marginLeft","ButtonContentChildren","buttonIconSharedProps","sharedNativeStyle","flexShrink","_jsxs","alignItems","justifyContent","flexDirection","textAlign","ButtonContent","flexBasis","getCurrentPaddingConfig","ButtonPadding","currentPaddingKey","position","paddingX","paddingY","DisabledBorder","top","bottom","FocusBorder","buttonTheme","useNativeAnimation","onPressIn","onPressOut","animatedStyles","getButtonSize","allowedGhostTypes","Button","stretch","sizeProp","onHoverIn","onHoverOut","onFocus","onBlur","deprecatedProp","spinningIcon","SpinningIcon","SpinningIconProps","className","LoaderIcon","ArcIcon","ActionsItem","as","isLoading","setIsLoading","useState","mountedRef","useRef","useEffect","current","e","error","ActionsButton","getCurrentLayout","layout","getCurrentDirection","getCurrentAlignSelf","Actions","reversed","currentAlignItems","currentDirection","currentAlignSelf","direction","space","Item","getCurrentRadius","sizeVariant","getCurrentSize","getIconSize","getInitials","firstname","lastname","toUpperCase","AvatarContent","src","alt","isLight","source","uri","UserIcon","Avatar","currentSize","currentBorderRadius","overflow","BottomSheetComponent","BottomSheet","useBottomSheet","useStaticBottomSheet","Content","bottomSheetRef","BottomSheetMemoized","useMemo","overflowHidden","useBlockBodyScroll","isScrollBlocked","document","classList","add","remove","ModalBehaviourPortal","visible","ModalBehaviourPortalProps","Boolean","Portal","_Fragment","OnCloseContext","OnCloseProvider","onClose","useOnCloseModalBehaviour","CloseButton","onCloseContextCallback","ModalBehaviour","Overlay","CardModalRotationContainer","contentAnimationEnter","contentAnimatioEnterActive","contentAnimatioExit","contentAnimatioExitActive","contentAnimationClassNames","appear","appearActive","enter","enterActive","exit","exitActive","opacityEnter","opacityEnterActive","opacityExit","opacityExitActive","opacityClassNames","CardModalAnimation","unmountOnExit","isAnimationEnabled","onEnter","onEntered","onExit","onExited","CardModalAnimationProps","sharedProps","CSSTransition","timeout","classNames","margin","CardModalScrollContainer","CardModalBehaviour","isModalBehaviourVisible","setIsModalBehaviourVisible","bounces","contentContainerStyle","CardModalBody","CardModalFooter","hasSeparator","marginTop","borderTopWidth","CardModalHeader","title","paddingBottom","defaultContainerPadding","borderBottomWidth","paddingRight","paddingLeft","CardModal","withoutShadow","maxHeight","Body","Header","Footer","getBackgroundColor","isSelected","getBorderRadius","Number","MAX_SAFE_INTEGER","AnimatedChoiceItemView","backgroundStyles","getCurrentTextColor","ChoiceItem","onChange","handleChange","accessibilityState","ChoiceItemContainer","isLast","currentItemMarginValue","marginBottom","ChoicesContainer","Choices","id","currentValue","setCurrentValue","isForm","childrenArray","Children","toArray","newValue","child","index","element","createChoicesComponent","ButtonChoices","ChoicesElements","DialogModalAnimation","DialogModalAnimationProps","DialogModalBehaviour","DialogModal","illustration","actions","paddingTop","DialogModalButton","Emoji","emoji","emojiData","parse","assetType","url","ExternalAppLink","Component","appScheme","appValue","onOpenAppError","rest","canOpen","Linking","canOpenURL","defaultPrevented","openURL","catch","Sms","phoneNumber","Tel","Mail","emailAddress","defaultOpenLinkBehavior","ExternalLink","openLinkBehavior","target","rel","useOpenExternalLink","behavior","window","open","getIconColor","InputIcon","InputPressable","inputTextContainer","InputTextContainer","InputText","formState","internalForceState","autoCorrect","textContentType","autoComplete","inputMode","multiline","onSubmitEditing","Input","py","isHighlighted","AutocompleteItem","AutocompleteItemsListContainer","zIndex","elevation","AutocompleteOption","isReactElement","Autocomplete","name","isInitialOpen","initialValue","containerProps","filterItemBasedOnCurrentInputValue","checkSelectedItem","itemToString","onInputChange","onSelectItem","onOuterPress","errorElement","emptyResultsElement","inputTestID","listContainerTestID","items","filter","Downshift","defaultIsOpen","initialSelectedItem","initialInputValue","stateReducer","changes","stateChangeTypes","changeInput","selectedItem","stateAndHelpers","onSelect","onOuterClick","onInputValueChange","getRootProps","getInputProps","getMenuProps","getItemProps","getToggleButtonProps","isOpen","inputValue","highlightedIndex","openMenu","shouldSuppressRefError","rootProps","suppressRefError","menuProps","onClick","onClickToggle","onPressToggle","toggleProps","onKeyDown","onSearchInputFocus","onSearchInputBlur","onSearchInputChange","inputProps","hasCurrentSearch","currentItems","isCurrentlyOpen","canDisplayCollapseButton","hitSlop","CaretUpFillIcon","CaretDownFillIcon","onKeyPress","role","ariaSelected","itemProps","Option","UnsafeInternalItem","isChecked","getBorderColor","Checkbox","display","CheckboxMarkIcon","getEnterKeyHintForNumericInput","enterKeyHint","prefixWithZero","maxLength","padStart","dayFormatter","monthFormatter","yearFormatter","getDayInInterval","getMonthInInterval","minDate","maxDate","minValue","getMonth","maxValue","getYearInInterval","getFullYear","getValueToDisplayedString","toString","keyboardDatePickerReducer","action","nextDay","currentDay","displayedDay","nextMonth","currentMonth","displayedMonth","nextYear","currentYear","displayedYear","nextCurrentDay","nextCurrentMonth","nextCurrentYear","isNumber","isNaN","onDatePartChange","validYearMinLength","arrayParts","isEverythingUndefined","every","v","isEverythingDefined","nextValue","Date","isValidYear","setDate","setMonth","setFullYear","setMinutes","setHours","setSeconds","setMilliseconds","isMinDateAfterNextValue","getTime","isMaxDateBeforeNextValue","stringToNumber","getCurrentInternalForcedState","InputPart","PartContainer","KeyboardDatePicker","monthRef","yearRef","defaultValue","defaultDay","getDate","defaultMonth","defaultYear","dispatch","useReducer","sharedInputPartProps","handleDatePartChange","handleAutoFocusNextField","currentFieldValue","nextFieldRef","nativeEvent","DatePicker","GoogleMapsApiKeyContext","GoogleMapsApiKeyProvider","apiKey","useGoogleMapApiKey","context","useGoogleMapsApi","autoCompleteServiceInstanceRef","placesServiceInstanceRef","loader","Loader","libraries","placeApi","importLibrary","AutocompleteService","PlacesService","createElement","getPlacePredictions","promise","Promise","resolve","predictions","status","google","maps","places","PlacesServiceStatus","OK","results","placesService","getDetails","placeId","place","result","googleMapsAutocompleteReducer","hasSearchError","isLoadingSearch","payload","hasSelectResultError","isLoadingResultDetails","currentSelectedValue","findComponentByType","components","find","matchStreetNumberWithOriginalAddress","streetNumber","address","number","extension","exec","formatAddressFromGoogle","placeResult","originalAddress","address_components","addressComponents","lat","geometry","location","lng","locality","long_name","subLocality","zipcode","streetName","country","administrativeAreaLevel1","administrativeAreaLevel2","GoogleMapsAutocompleteContext","shouldDisplayEmptyStateWhenNoResults","GoogleMapsAutocompleteProvider","minCharsToSearch","debounceTimeout","mapsApi","searchResultsCache","resultDetailsCache","handleInputChange","useDebouncedCallback","useCallback","predictionsPromise","handleSelectItem","place_id","placePromise","then","formattedAddress","description","api","useGoogleMapsAutocomplete","InputAddressOption","MapPinIcon","structured_formatting","main_text","secondary_text","defaultItemToString","formatInitialValueToAutocompletePrediction","reference","terms","matched_substrings","join","main_text_matched_substrings","InputAddress","formattedInitialValue","InputEmail","autoCapitalize","getColorFromState","InputFeedback","InputField","label","labelFeedback","feedback","InputNumber","keyboardType","event","parseFloat","InputPassword","isPasswordDefaultVisible","isVisible","setIsVisible","secureTextEntry","prev","EyeSlashFillIcon","EyeFillIcon","isPhoneNumberValid","isValidNumber","phoneNumberLength","InputPhone","currentEnterKeyHint","parseNumber","phone","finalPhoneNumber","eventWithoutCountryCode","countryCode","getCountryCallingCode","originalNativeEventText","getTypographyColor","InputTag","typographyColor","Label","htmlFor","InnerCircle","OuterCircle","Radio","focusable","getCurrentBackgroundColor","getCurrentBorderColor","isFirst","borderTopLeftRadius","borderBottomLeftRadius","borderTopRightRadius","borderBottomRightRadius","borderLeftWidth","HoverBorder","shouldDisplayBorder","RadioButton","RadioButtonGroupItem","RadioButtonGroup","flexWrap","clone","TextArea","textAlignVertical","FullscreenModalBody","shouldHandleBottomNotch","shouldHandleTopNotch","useSafeAreaInsets","FullscreenModalFooter","borderTopColor","slideInFromBottomEnter","slideInFromBottomEnterActive","slideInFromBottomExit","slideInFromBottomExitActive","slideInClassNames","FullscreenModalAnimation","FullscreenModalAnimationProps","FullscreenModalBehaviour","FullscreenModalContainer","FullscreenModalHeader","isTransparent","hasRight","hasLeft","hasContent","borderBottomColor","FullscreenModal","Highlight","Background","AnimatedBackground","scaleHover","scalePressed","AnimatedScale","currentHoverScale","currentPressedScale","opacityStyles","scaleStyles","getIconButtonTextColorByColor","IconButton","ariaLabel","isCurrentHovered","isCurrentPressed","CloseIconButton","XRegularIcon","KittMapConfigProviderContext","KittMapConfigProvider","mapId","apiToken","providerValue","useKittMapConfig","ListItemContent","ListItemSideContainer","side","ListItemSideContent","ListItem","withPadding","borders","Wrapper","Fragment","wrapperProps","SideContent","SideContainer","MapMarkerSimple","styles","DefaultMarkerSvg","MapMarkerLarge","LargeMarkerSvg","MapMarkerPosition","PositionMarkerSvg","IconContent","AlertCircleIcon","CheckIcon","AlertTriangleIcon","InfoIcon","getColorByType","getIconButtonColor","messageType","BaseMessage","hasNoRadius","centeredText","insets","onDismiss","Message","createKittSpaces","sizes","positive","negative","overridenNativeBaseSizeandSpaceScale","createKittNativeBaseCustomTheme","appTheme","spaces","appBreakpoints","extendedTheme","extendTheme","innerCircle","app","radii","lg","md","sm","xl","xs","borderWidths","fontSizes","lineHeights","fontWeights","fonts","shadowColor","shadowOffset","shadowOpacity","shadowRadius","baseStyle","px","_disabled","_light","placeholderTextColor","bg","_hover","_focus","_stack","outlineWidth","boxShadow","selectionColor","_invalid","variants","underlined","rounded","filled","unstyled","_dark","KittNativeBaseProvider","isSSR","nativeBaseCustomTheme","kittInternalTheme","NativeBaseProvider","NativeOnlyFlatList","scrollEnabled","ListHeaderComponent","ListFooterComponent","data","numColumns","ListHeaderComponentStyle","ListFooterComponentStyle","keyExtractor","renderItem","Array","prototype","call","separators","SimpleContainer","NavigationModalBehaviour","AnimationComponent","CurrentContainerComponent","shouldAppear","setShouldAppear","NavigationModal","Notification","pageLoaderContainer","PageLoader","center","circlePerimeter","PI","cx","cy","strokeDasharray","strokeDashoffset","strokeLinecap","stroke","PickerItem","PickerOption","webUseSelectReducer","actionAndChanges","options","useSelect","ItemClick","keepOpenOnChange","Picker","renderTrigger","triggerViewProps","initialValueIndex","indexOf","initialIsOpen","onIsOpenChange","onSelectedItemChange","onPressTrigger","restToggleProps","x","y","floating","strategy","useFloating","placement","whileElementsMounted","autoUpdate","middleware","offset","tooltipY","tooltipX","menuRef","myRef","currentRef","visibility","SegmentedProgressBar","currentStep","stepsCount","colorVariant","withCurrentInProgress","fillColor","steps","from","stepNumber","isSegmentCurrentInProgress","Stripes","skeletonWithoutAnimation","SkeletonContent","SkeletonProps","Skeleton","setWidth","onLayout","Bar","Circle","Square","getStaticMapImageUrl","mapWidth","mapHeight","is2x","centerPart","long","zoom","urlParts","mapImageUrl","URL","searchParams","append","useGetStaticMapImageUrl","forceMapId","forceApiToken","currentUrl","setCurrentUrl","currentMapIdRef","currentApiTokenRef","newUrl","StaticMapError","onReload","RotateCCWIcon","StaticMapImage","onLoadEnd","onError","StaticMapLoader","getMarkerPosition","translateX","StaticMapMarker","getRangedWidthValue","nextWidth","rangedMapWidth","getShouldDisplay2x","devicePixelRatio","mapBoxMaxPictureWidth","getPictureWidth","StaticMap","marker","onLoaded","currentWidth","setCurrentWidth","hasError","setHasError","currentMapKey","setCurrentMapKey","shouldDisplay2xImage","mapUrl","KITT_MAP_CHROMATIC_IGNORE","Marker","Flex","wrap","storyPadding","getBackgroundColorFromBlockColor","getTypographyColorFromBlockColor","StoryBlockBackgroundContext","StoryBlockColorContext","useStoryBlockColor","storyBlockColor","StoryBlock","background","marginX","StoryTitle","numberOfLines","StoryTitleLevel2","StoryTitleLevel3","StoryTitleLevel4","Level2","Level3","Level4","Story","StorySection","internalIsDemoSection","SubSection","BlockSection","DemoSection","Demo","DeprecatedSection","StoryContainer","platform","StoryDecorator","storyFn","parameters","disableStoryContainer","StoryGridRow","breakpoint","StoryGridCol","titleColor","StoryGrid","Row","Col","getLabelColor","Tag","keepHoursInterval","hours","getDisplayedHours","keepMinutesInterval","minutes","getDisplayedMinutes","minutesWithinInterval","getInitialInputValueFromDateValue","date","getHours","getMinutes","TimePicker","validateButtonLabel","isDefaultVisible","modalTestID","pickerTestID","setInputValue","currentInputValue","split","nextDate","sanitizedValue","replace","currentHours","currentMinutes","Arrow","TooltipArrowImage","TooltipContent","getShouldRenderArrow","isTooltipFullWidth","isBase","useShouldRenderArrow","getHasArrowEnoughSpace","arrowCenterOffset","Tooltip","defaultVisible","fullWidth","onToggle","renderPressable","pressableProps","onUpdate","isCursorOnTooltip","setIsCursorOnTooltip","arrowRef","currentFloatingPadding","update","refs","middlewareData","autoPlacement","allowedPlacements","shift","crossAxis","centerOffset","shouldRenderArrow","hasArrowEnoughSpace","sharedArrowProps","useOnClickOutside","handleDisplayTooltip","handleMouseEnter","handleMouseLeave","themePart","transformOrigin","pointerEvents","onTouchStart","onTouchEnd","onMouseEnter","onMouseLeave","getTypographyTypeConfig","calcSizesFromType","TypographyEmoji","displayUnderline","displayUnderlineWhenHovered","TypographyLinkWebWrapper","hasNoUnderline","TypographyLinkWebWrapperProps","TypographyLink","noUnderline","underline","dataSet","cursor","useKittTheme","KittThemeProvider","KittThemeDecorator","makeDecorator","parameterName","wrapper","StyleWebWrapper","matchWindowSize","hasWidthMatched","hasHeightMatched","useMatchWindowSize","useWindowDimensions","MatchWindowSize","matchWindowSizeOptions","match","SwitchBreakpoints","useCurrentBreakpointName","backgroundColors","IconStatus","StepIcon","ExternalStep","Step","shouldDisableNextLink","getStepState","activeIndex","VerticalSteps","count"],"mappings":"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"}