@ornikar/kitt-universal 25.2.0 → 25.3.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +9 -0
- package/dist/definitions/ActionCard/ActionCard.d.ts +1 -1
- package/dist/definitions/ActionCard/ActionCard.d.ts.map +1 -1
- package/dist/index-metro.es.android.js +5 -1
- package/dist/index-metro.es.android.js.map +1 -1
- package/dist/index-metro.es.ios.js +5 -1
- package/dist/index-metro.es.ios.js.map +1 -1
- package/dist/index-node-20.10.cjs.js +5 -1
- package/dist/index-node-20.10.cjs.js.map +1 -1
- package/dist/index-node-20.10.cjs.web.js +5 -1
- package/dist/index-node-20.10.cjs.web.js.map +1 -1
- package/dist/index-node-20.10.es.mjs +5 -1
- package/dist/index-node-20.10.es.mjs.map +1 -1
- package/dist/index-node-20.10.es.web.mjs +5 -1
- package/dist/index-node-20.10.es.web.mjs.map +1 -1
- package/dist/index.es.js +5 -1
- package/dist/index.es.js.map +1 -1
- package/dist/index.es.web.js +5 -1
- package/dist/index.es.web.js.map +1 -1
- package/dist/tsbuildinfo +1 -1
- package/package.json +1 -1
package/dist/index.es.web.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.es.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/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/mapMarker.ts","../src/themes/late-ocean/pageLoader.ts","../src/themes/late-ocean/typography.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/forms/DocumentPicker/DocumentPicker.tsx","../src/forms/FilePicker/FilePicker.web.tsx","../src/forms/ImagePicker/ImagePicker.tsx","../src/GoogleMapsApiKeyProvider/GoogleMapsApiKeyProvider.tsx","../src/GoogleMapsApiKeyProvider/hooks/useGoogleMapApiKey.ts","../src/GoogleMapsAutocompleteProvider/hooks/useGoogleMapsApi.web.ts","../src/GoogleMapsAutocompleteProvider/reducer/googleMapsAutocompleteReducer.ts","../src/utils/functions.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/InputIban/InputIban.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/AnimatedCaret/AnimatedCaret.web.tsx","../src/Highlight/AnimatedContainer/AnimatedContainer.web.tsx","../src/Highlight/AnimatedContent/AnimatedContent.web.tsx","../src/Highlight/hooks/useNativeAnimation.web.ts","../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/close-meeting-point-marker.inline.svg","../src/MapMarker/assets/home-marker.inline.svg","../src/MapMarker/assets/meeting-point-marker.inline.svg","../src/MapMarker/assets/shadow.inline.svg","../src/MapMarker/hooks/useNativeAnimation.ts","../src/MapMarker/utils/getBackgroundColor.ts","../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/useKittTheme.tsx","../src/TabBar/TabBarItem.tsx","../src/TabBar/TabBar.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/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/Step.animations.ts","../src/VerticalSteps/BorderlessStep.tsx","../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","import type { IntRange } from 'type-fest';\n\ntype KittColorScaleNumber = IntRange<1, 13>;\ntype KittColorScale = { [K in KittColorScaleNumber]: string };\n\nconst createColorScale = <const T extends KittColorScale>(colorScale: T): T => colorScale;\n\nexport const colorScales = {\n eggshell: createColorScale({\n 1: '#faf9f8',\n 2: '#f4f3ef',\n 3: '#ebe9e5',\n 4: '#dedad2',\n 5: '#d1cdc5',\n 6: '#bab8ae',\n 7: '#aeaba3',\n 8: '#9c9a92',\n 9: '#8e8c83',\n 10: '#74726a',\n 11: '#3e3d3a',\n 12: '#282826',\n }),\n violine: createColorScale({\n 1: '#f8f7ff',\n 2: '#f2f0ff',\n 3: '#ebe8ff',\n 4: '#d5cfff',\n 5: '#bfb5ff',\n 6: '#a99cff',\n 7: '#9180ff',\n 8: '#7b66ff',\n 9: '#624af7',\n 10: '#5139e1',\n 11: '#3a26b5',\n 12: '#0a0428',\n }),\n lavender: createColorScale({\n 1: '#fdf7ff',\n 2: '#fcf2ff',\n 3: '#FAEBFF',\n 4: '#f8e3ff',\n 5: '#f4d6ff',\n 6: '#efc2ff',\n 7: '#d298ff',\n 8: '#b97aff',\n 9: '#ac5ff9',\n 10: '#9d4ced',\n 11: '#6b347e',\n 12: '#290a34',\n }),\n blue: createColorScale({\n 1: '#f7faff',\n 2: '#f0f5ff',\n 3: '#e8f0ff',\n 4: '#d4e0ff',\n 5: '#baceff',\n 6: '#a1bbff',\n 7: '#87a9ff',\n 8: '#6e96ff',\n 9: '#5383ff',\n 10: '#4170eb',\n 11: '#0e4381',\n 12: '#061c36',\n }),\n raspberry: createColorScale({\n 1: '#fff7fa',\n 2: '#fff0f5',\n 3: '#ffe8ef',\n 4: '#f0c7d4',\n 5: '#f0afc4',\n 6: '#f097b3',\n 7: '#f07fa3',\n 8: '#d95d84',\n 9: '#cf2a60',\n 10: '#c12558',\n 11: '#61192e',\n 12: '#29040f',\n }),\n coral: createColorScale({\n 1: '#fff7f7',\n 2: '#fff0f0',\n 3: '#ffe8e8',\n 4: '#ffcfcf',\n 5: '#ffb5b5',\n 6: '#ff9c9c',\n 7: '#f57d7d',\n 8: '#eb6565',\n 9: '#e55050',\n 10: '#da3d3d',\n 11: '#8a2b1e',\n 12: '#330c07',\n }),\n sun: createColorScale({\n 1: '#fffdf7',\n 2: '#fffbf0',\n 3: '#fff6de',\n 4: '#ffefc4',\n 5: '#ffe8ab',\n 6: '#ffe191',\n 7: '#ffda78',\n 8: '#ffd35e',\n 9: '#fdc32d',\n 10: '#f3a40c',\n 11: '#9f5600',\n 12: '#341c00',\n }),\n green: createColorScale({\n 1: '#f9fff9',\n 2: '#e9ffeb',\n 3: '#d3fbd7',\n 4: '#bffbc5',\n 5: '#96f4b0',\n 6: '#7fefac',\n 7: '#21e8a3',\n 8: '#08d48e',\n 9: '#00c381',\n 10: '#00ac72',\n 11: '#0e8159',\n 12: '#03291c',\n }),\n} as const;\n\ntype ColorScaleTokens = {\n [K in keyof typeof colorScales as `${K}.${KittColorScaleNumber}`]: (typeof colorScales)[K][KittColorScaleNumber];\n};\n\nconst transformColorScalesToTokens = (): ColorScaleTokens => {\n return Object.fromEntries(\n Object.entries(colorScales).flatMap(([colorName, colorScale]) => {\n return Object.entries(colorScale).map(([scaleNumber, colorValue]) => {\n return [`${colorName}.${scaleNumber}`, colorValue];\n });\n }),\n ) as ColorScaleTokens;\n};\n\nexport const lateOceanColorPalette = {\n ...transformColorScalesToTokens(),\n\n /** @deprecated use violine.9 instead */\n lateOcean: colorScales.violine[9],\n /** @deprecated use violine.8 instead */\n lateOceanLight1: colorScales.violine[8],\n /** @deprecated use violine.6 instead */\n lateOceanLight2: colorScales.violine[6],\n /** @deprecated use lavender.6 instead */\n lateOceanLight3: colorScales.lavender[6],\n /** @deprecated use violine.12 instead */\n lateOceanDark1: colorScales.violine[12],\n\n /** @deprecated use lavender.5 instead */\n warmEmbrace: colorScales.lavender[5],\n /** @deprecated use lavender.3 instead */\n warmEmbraceLight1: colorScales.lavender[3],\n\n white: '#FFFFFF',\n black: '#000000',\n\n /** @deprecated use black instead */\n black1000: '#000000',\n /** @deprecated use eggshell.11 instead */\n black800: colorScales.eggshell[11],\n /** @deprecated use eggshell.10 instead */\n black555: colorScales.eggshell[10],\n /** @deprecated use eggshell.7 instead */\n black400: colorScales.eggshell[7],\n /** @deprecated use eggshell.4 instead */\n black200: colorScales.eggshell[4],\n /** @deprecated use eggshell.3 instead */\n black100: colorScales.eggshell[3],\n /** @deprecated use eggshell.2 instead */\n black50: colorScales.eggshell[2],\n /** @deprecated use eggshell.1 instead */\n black25: colorScales.eggshell[1],\n\n /** @deprecated use green.8 instead */\n viride: colorScales.green[8],\n /** @deprecated use coral.7 instead */\n englishVermillon: colorScales.coral[7],\n /** @deprecated use sun.8 instead */\n goldCrayola: colorScales.sun[8],\n /** @deprecated use blue.8 instead */\n aero: colorScales.blue[8],\n /** @deprecated use eggshell.1 instead */\n seaShell: colorScales.eggshell[1],\n\n transparent: 'transparent',\n\n /** @deprecated use violine.4 instead */\n moonPurple: colorScales.violine[4],\n /** @deprecated use violine.2 instead */\n moonPurpleLight1: colorScales.violine[2],\n};\n","import { lateOceanColorPalette } from '../palettes/lateOceanColorPalette';\n\nexport const colors = {\n primary: lateOceanColorPalette['violine.9'],\n primaryLight: lateOceanColorPalette['violine.8'],\n accent: lateOceanColorPalette['lavender.5'],\n accentLight: lateOceanColorPalette['lavender.3'],\n success: lateOceanColorPalette['green.8'],\n correct: lateOceanColorPalette['green.8'],\n danger: lateOceanColorPalette['coral.8'],\n info: lateOceanColorPalette['blue.8'],\n warning: lateOceanColorPalette['sun.8'],\n separator: lateOceanColorPalette['eggshell.3'],\n hover: lateOceanColorPalette['eggshell.3'],\n white: lateOceanColorPalette.white,\n black: lateOceanColorPalette.black,\n blackDisabled: lateOceanColorPalette['eggshell.7'],\n blackLight: lateOceanColorPalette['eggshell.10'],\n blackAnthracite: lateOceanColorPalette['eggshell.11'],\n uiBackground: lateOceanColorPalette['eggshell.1'],\n uiBackgroundLight: lateOceanColorPalette.white,\n transparent: lateOceanColorPalette.transparent,\n disabled: lateOceanColorPalette['eggshell.2'],\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['eggshell.2'],\n borderColor: lateOceanColorPalette['eggshell.3'],\n borderWidth: 1,\n shadow: {\n color: lateOceanColorPalette['eggshell.3'],\n offsetX: 0,\n offsetY: 4,\n opacity: 1,\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['eggshell.2'],\n borderColor: lateOceanColorPalette['eggshell.3'],\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: 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['eggshell.2'],\n borderColor: lateOceanColorPalette['eggshell.3'],\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 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['eggshell.2'],\n borderColor: lateOceanColorPalette['eggshell.3'],\n borderWidth: 1,\n shadow: {\n color: lateOceanColorPalette['eggshell.3'],\n offsetX: 0,\n offsetY: 4,\n opacity: 1,\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['eggshell.2'],\n borderColor: lateOceanColorPalette['eggshell.3'],\n borderWidth: 1,\n shadow: {\n color: lateOceanColorPalette['eggshell.3'],\n offsetX: 0,\n offsetY: 4,\n opacity: 1,\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 dark: 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['eggshell.3'],\n },\n dark: {\n backgroundColor: lateOceanColorPalette['eggshell.12'],\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 minHeight: 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 minHeight: 280,\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: 80,\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 type { InputUIState } from '../../forms/utils';\nimport { lateOceanColorPalette } from '../palettes/lateOceanColorPalette';\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: lateOceanColorPalette.white,\n borderColor: lateOceanColorPalette['eggshell.4'],\n color: lateOceanColorPalette.black,\n },\n pending: {\n backgroundColor: lateOceanColorPalette.white,\n borderColor: lateOceanColorPalette['eggshell.3'],\n color: lateOceanColorPalette.black,\n },\n valid: {\n backgroundColor: lateOceanColorPalette.white,\n borderColor: lateOceanColorPalette['eggshell.4'],\n color: lateOceanColorPalette.black,\n },\n hover: {\n backgroundColor: lateOceanColorPalette['eggshell.1'],\n borderColor: lateOceanColorPalette['eggshell.5'],\n color: lateOceanColorPalette.black,\n },\n focus: {\n borderColor: lateOceanColorPalette['violine.9'],\n color: lateOceanColorPalette.black,\n },\n disabled: {\n backgroundColor: lateOceanColorPalette['eggshell.2'],\n borderColor: lateOceanColorPalette['eggshell.4'],\n color: lateOceanColorPalette['eggshell.6'],\n },\n invalid: {\n borderColor: lateOceanColorPalette['eggshell.3'],\n color: lateOceanColorPalette.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 properties: 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 webAnimationProperties = ['border-color', 'background-color'];\n\nexport const input: InputTheme = {\n minHeight: 40,\n color: {\n selection: lateOceanColorPalette['violine.9'],\n placeholder: lateOceanColorPalette['eggshell.9'],\n },\n borderWidth: 1,\n borderRadius: 8,\n icon: {\n size: 20,\n },\n rightContainer: {\n padding: 16,\n },\n padding: {\n horizontal: 16,\n vertical: 6,\n },\n transition: {\n properties: webAnimationProperties,\n duration: webAnimationDuration,\n timingFunction: webAnimationTimingFunction,\n },\n states: inputStatesStyle,\n};\n","export const inputField = {\n containerPaddingTop: 5,\n containerPaddingBottom: 10,\n feedbackPaddingTop: 4,\n labelContainerPaddingBottom: 4,\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 default: {\n backgroundColor: string;\n };\n hover: {\n backgroundColor: string;\n };\n}\n\nexport interface HighlightTheme {\n borderRadius: number;\n padding: {\n medium: number;\n large: number;\n };\n regular: HighlightThemeType;\n primary: HighlightThemeType;\n secondary: HighlightThemeType;\n ghost: HighlightThemeType;\n dark: HighlightThemeType;\n}\n\nexport const highlight: HighlightTheme = {\n borderRadius: spacing * 2,\n /** @deprecated use primary instead */\n regular: {\n default: {\n backgroundColor: colors.accentLight,\n },\n hover: {\n backgroundColor: colors.accentLight,\n },\n },\n primary: {\n default: {\n backgroundColor: lateOceanColorPalette['lavender.3'],\n },\n hover: {\n backgroundColor: lateOceanColorPalette['lavender.5'],\n },\n },\n secondary: {\n default: {\n backgroundColor: lateOceanColorPalette['violine.2'],\n },\n hover: {\n backgroundColor: lateOceanColorPalette['violine.4'],\n },\n },\n ghost: {\n default: {\n backgroundColor: lateOceanColorPalette.white,\n },\n hover: {\n backgroundColor: lateOceanColorPalette['eggshell.2'],\n },\n },\n dark: {\n default: {\n backgroundColor: lateOceanColorPalette['eggshell.3'],\n },\n hover: {\n backgroundColor: lateOceanColorPalette['eggshell.2'],\n },\n },\n padding: {\n medium: spacing * 4,\n large: spacing * 6,\n },\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 MapMarkerTheme {\n home: {\n default: string;\n selected: string;\n container: {\n width: number;\n height: number;\n };\n svg: {\n width: number;\n height: number;\n };\n };\n meetingPoint: {\n default: string;\n selected: string;\n container: {\n width: number;\n height: number;\n };\n svg: {\n width: number;\n height: number;\n };\n };\n shadow: {\n width: number;\n height: number;\n };\n}\n\nexport const mapMarker: MapMarkerTheme = {\n home: {\n default: colors.primaryLight,\n selected: colors.primary,\n svg: {\n width: 33,\n height: 36,\n },\n container: {\n width: 34,\n height: 38,\n },\n },\n meetingPoint: {\n default: colors.black,\n selected: colors.blackAnthracite,\n svg: {\n width: 41,\n height: 43,\n },\n container: {\n width: 40,\n height: 45,\n },\n },\n shadow: {\n width: 12,\n height: 4,\n },\n};\n","import { colors } from './colors';\n\nexport interface PageLoaderTheme {\n size: number;\n strokeWidth: number;\n colors: {\n base: string;\n fill: string;\n };\n animation: {\n delay: number;\n circleBackgroundFillDuration: number;\n filledCircleFillDuration: number;\n groupFilledCircleRotationDuration: number;\n filledCircleRotationDuration: number;\n fillEasingFunction: [number, number, number, number];\n };\n}\n\nexport const 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 { 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-Bold',\n bold: 'Moderat-Bold',\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-Bold',\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 { 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","export interface TagThemeBorderWidth {\n borderWidth: number;\n}\n\nexport interface TagSize {\n paddingRight: number;\n paddingLeft: number;\n height: number;\n}\n\nexport interface TagTheme {\n borderRadius: number;\n fill: TagThemeBorderWidth;\n outline: TagThemeBorderWidth;\n icon: {\n small: number;\n medium: number;\n large: number;\n };\n withIcon: {\n small: TagSize;\n medium: TagSize;\n large: TagSize;\n };\n withoutIcon: {\n small: TagSize;\n medium: TagSize;\n large: TagSize;\n };\n}\n\nexport const tag: TagTheme = {\n borderRadius: 16,\n icon: {\n small: 16,\n medium: 16,\n large: 20,\n },\n withIcon: {\n small: {\n paddingLeft: 2,\n paddingRight: 8,\n height: 20,\n },\n medium: {\n paddingLeft: 4,\n paddingRight: 8,\n height: 24,\n },\n large: {\n paddingLeft: 6,\n paddingRight: 8,\n height: 32,\n },\n },\n withoutIcon: {\n small: {\n paddingLeft: 8,\n paddingRight: 8,\n height: 20,\n },\n medium: {\n paddingLeft: 8,\n paddingRight: 8,\n height: 22,\n },\n large: {\n paddingLeft: 8,\n paddingRight: 8,\n height: 28,\n },\n },\n fill: {\n borderWidth: 0,\n },\n outline: {\n borderWidth: 1,\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 { mapMarker } from './late-ocean/mapMarker';\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 mapMarker,\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 type { ViewProps } from '../native-base/primitives';\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 borderRadius: ViewProps['borderRadius'];\n children: ReactNode;\n}\n\nexport function ActionCardContentWrapper({\n isHovered,\n isPressed,\n isFocused,\n variant,\n borderVariant = 'none',\n borderRadius,\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={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 type { ViewProps } from '../native-base/primitives';\nimport { View } from '../native-base/primitives';\nimport type { ActionCardVariantType } from './types';\n\ninterface ActionCardDisabledProps {\n variant: ActionCardVariantType;\n children: ReactNode;\n borderRadius: ViewProps['borderRadius'];\n}\n\nexport function ActionCardDisabled({ variant, children, borderRadius }: ActionCardDisabledProps): ReactNode {\n return (\n <View\n borderRadius={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 shadow={`kitt.actionCard.${variant}.disabled.shadow`}\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 borderRadius = 'kitt.actionCard.borderRadius',\n disabled,\n isHovered,\n isPressed,\n isFocused,\n ...props\n}: ActionCardProps): ReactNode {\n return (\n <View {...props}>\n {disabled ? (\n <ActionCardDisabled borderRadius={borderRadius} variant={variant}>\n {children}\n </ActionCardDisabled>\n ) : (\n <ActionCardContentWrapper\n borderRadius={borderRadius}\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 borderRadius = 'kitt.actionCard.borderRadius',\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 borderRadius={borderRadius}\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 { SpinnerGapRegularIcon } from '@ornikar/kitt-icons/phosphor';\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={<SpinnerGapRegularIcon />} />;\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 { UserRegularIcon } from '@ornikar/kitt-icons/phosphor';\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 width?: number;\n height?: number;\n isLight?: boolean;\n sizeVariant?: AvatarSizeVariant;\n}\n\nfunction AvatarContent({\n size,\n src,\n firstname,\n lastname,\n alt,\n isLight,\n sizeVariant,\n width,\n height,\n}: AvatarContentProps): ReactNode {\n if (src) {\n return <Image source={{ uri: src }} width={width || size} height={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={<UserRegularIcon />} 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 dark?: boolean;\n sizeVariant?: AvatarSizeVariant;\n width?: number;\n height?: number;\n}\n\nexport function Avatar({ size, round, light, sizeVariant, width, height, dark, ...props }: AvatarProps): ReactNode {\n const currentSize = getCurrentSize({ size, sizeVariant });\n const currentBorderRadius = getCurrentRadius({ size, sizeVariant, round });\n\n let backgroundColor = 'kitt.avatar.default.backgroundColor';\n if (light) {\n backgroundColor = 'kitt.avatar.light.backgroundColor';\n } else if (dark) {\n backgroundColor = 'kitt.avatar.dark.backgroundColor';\n }\n\n return (\n <View\n overflow=\"hidden\"\n alignItems=\"center\"\n justifyContent=\"center\"\n width={width || currentSize}\n height={height || currentSize}\n borderRadius={currentBorderRadius}\n backgroundColor={backgroundColor}\n >\n <AvatarContent\n height={height}\n width={width}\n size={currentSize}\n isLight={light}\n sizeVariant={sizeVariant}\n {...props}\n />\n </View>\n );\n}\n","import type { BottomSheetModalMethods } from '@gorhom/bottom-sheet/lib/typescript/types';\nimport type { ForwardRefExoticComponent, RefAttributes } from 'react';\nimport { forwardRef } from 'react';\nimport type { BottomSheetProps } from './BottomSheet';\n\nfunction BottomSheetComponent(): null {\n // noop\n return null;\n}\n\nexport const BottomSheet = forwardRef(BottomSheetComponent) as ForwardRefExoticComponent<\n Pick<BottomSheetProps, 'children' | 'hasScrollView' | 'hasHandle' | 'hasBackdrop'> &\n RefAttributes<BottomSheetModalMethods>\n> & { View: () => void };\n\nBottomSheet.View = function View(): null {\n return null;\n};\n","import type { BottomSheetModalMethods } from '@gorhom/bottom-sheet/lib/typescript/types';\nimport type { RefObject } from 'react';\nimport { useRef } from 'react';\n\nexport function useBottomSheet(): RefObject<BottomSheetModalMethods> {\n const ref = useRef<BottomSheetModalMethods>(null);\n\n return ref;\n}\n","import type { BottomSheetModalMethods } from '@gorhom/bottom-sheet/lib/typescript/types';\nimport type { ElementType, ReactNode, RefObject } from 'react';\nimport { useMemo, useRef } from 'react';\nimport type { BottomSheetProps } from './BottomSheet';\nimport { BottomSheet } from './BottomSheet';\n\ninterface BottomSheetRef<T> extends BottomSheetModalMethods {\n present: (bottomSheetComponenProps: T) => void;\n}\n\ntype ReducedBottomSheetProps = Pick<BottomSheetProps, 'hasScrollView'>;\n\n// This is used to fix:\n// React.ComponentProps<O> -> if O is a function component without any props it will return unknown but we want to have undefined\ntype IsExact<T, U> = [T] extends [U] ? ([U] extends [T] ? true : false) : false;\n\ntype BottomSheetComponentProps<O extends ElementType> = IsExact<React.ComponentProps<O>, unknown> extends true\n ? undefined\n : React.ComponentProps<O>;\n\nexport function useStaticBottomSheet<T extends ElementType>(\n Content: T,\n): {\n bottomSheetRef: RefObject<BottomSheetRef<BottomSheetComponentProps<T>>>;\n BottomSheet: (props: ReducedBottomSheetProps) => ReactNode;\n} {\n const bottomSheetRef = useRef<BottomSheetRef<BottomSheetComponentProps<T>>>(null);\n\n const BottomSheetMemoized = useMemo(\n () =>\n function renderBottomSheet(props: ReducedBottomSheetProps) {\n return (\n <BottomSheet {...props} ref={bottomSheetRef}>\n {Content as ReactNode}\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, useRef } from 'react';\nimport { Portal } from 'react-portal';\nimport type { ModalBehaviourPortalProps } from './ModalBehaviourPortal';\n\nconst overflowHidden = css`\n overflow: hidden;\n`;\n\nfunction useBlockBodyScroll(shouldBlockScroll: boolean, isInitialRender: boolean): void {\n useEffect(() => {\n if (shouldBlockScroll) {\n document.body.classList.add(overflowHidden);\n } else if (!isInitialRender) {\n document.body.classList.remove(overflowHidden);\n }\n\n return () => {\n document.body.classList.remove(overflowHidden);\n };\n }, [shouldBlockScroll, isInitialRender]);\n}\n\nexport function ModalBehaviourPortal({ visible, children }: ModalBehaviourPortalProps): ReactNode {\n const isInitialRenderRef = useRef(true);\n useBlockBodyScroll(!!visible, isInitialRenderRef.current);\n\n isInitialRenderRef.current = false;\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 flexGrow={1}\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 maxHeight=\"100%\"\n _web={{ maxHeight: '100svh' }}\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 type { ModalBehaviourProps } from '../ModalBehaviour/ModalBehaviour';\nimport { ModalBehaviour } from '../ModalBehaviour/ModalBehaviour';\nimport type { CardModalAnimationProps } from './CardModalAnimation/CardModalAnimation';\nimport { CardModalAnimation } from './CardModalAnimation/CardModalAnimation';\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 <CardModalAnimation {...props} visible={visible} onExited={handleExitAnimationDone} onClose={onClose}>\n {children}\n </CardModalAnimation>\n </ModalBehaviour>\n );\n}\n","import type { ReactNode } from 'react';\nimport type { ScrollViewProps } from '../native-base/primitives';\nimport { ScrollView } from '../native-base/primitives';\n\nexport interface CardModalBodyProps extends ScrollViewProps {\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 <ScrollView showsVerticalScrollIndicator={false} _contentContainerStyle={{ paddingX, paddingY }} {...props}>\n {children}\n </ScrollView>\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 minHeight=\"kitt.cardModal.minHeight\"\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 { parse } from '@twemoji/parser';\nimport 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 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 accessibilityRole=\"link\"\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 {\n webAnimationDuration,\n webAnimationProperties,\n webAnimationTimingFunction,\n} 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: ${webAnimationProperties\n .map((property) => `${property} ${webAnimationDuration} ${webAnimationTimingFunction}`)\n .join(',')};\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 = 'text',\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 height={multiline ? undefined : 'kitt.forms.input.minHeight'}\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 } from 'react';\nimport { forwardRef } from 'react';\nimport type { GestureResponderEvent } from 'react-native';\nimport { Icon } from '../../Icon/Icon';\nimport { useTheme } from '../../KittThemeContext';\nimport { HStack } from '../../native-base/layout';\nimport type { PressableProps } from '../../native-base/primitives';\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 extends PressableProps {\n checked?: boolean;\n disabled?: boolean;\n onChange?: (checked: boolean, e: GestureResponderEvent) => void;\n}\n\nexport const Checkbox = forwardRef<PressableProps, CheckboxProps>(\n (\n { checked, hitSlop = 40, children, disabled, onChange, onBlur, onFocus, ...props }: CheckboxProps,\n ref,\n ): ReactElement => {\n const theme = useTheme();\n\n const handlePress = (e: GestureResponderEvent): void => {\n if (onFocus) onFocus();\n if (onChange) onChange(!checked, e);\n if (onBlur) onBlur();\n };\n\n return (\n <Pressable\n hitSlop={hitSlop}\n {...props}\n ref={ref}\n accessibilityRole=\"checkbox\"\n accessibilityState={{ checked: !!checked, disabled }}\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 ? (\n <View flexBasis=\"auto\" flexGrow={1} flexShrink={1}>\n {children}\n </View>\n ) : 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","import { isNumber } from './isNumber';\n\nexport function stringToNumber(text: string): number | undefined {\n if (text.length === 0) return undefined;\n const parsedText = parseInt(text, 10);\n if (isNumber(parsedText)) return parsedText;\n\n return undefined;\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 { DocumentPickerOptions } from 'expo-document-picker';\nimport { getDocumentAsync } from 'expo-document-picker';\nimport type { ComponentProps, ReactElement, ReactNode } from 'react';\nimport { Children, cloneElement } from 'react';\nimport type { Except } from 'type-fest';\n\ninterface ChildElementProps extends ComponentProps<any> {\n onPress?: () => void;\n}\n\nexport interface DocumentPickerProps {\n children: ReactElement<ChildElementProps>;\n disabled?: boolean;\n onDocumentUpload: (document: File) => void;\n documentPickerOptions?: Except<DocumentPickerOptions, 'multiple'>;\n}\n\nexport function DocumentPicker({\n onDocumentUpload,\n children,\n disabled,\n documentPickerOptions,\n}: DocumentPickerProps): ReactNode {\n const childElement = Children.only(children);\n\n const handlePickDocument = async (): Promise<void> => {\n if (disabled) return;\n\n childElement.props.onPress?.();\n\n const result = await getDocumentAsync({ ...documentPickerOptions, multiple: false });\n\n if (!result.canceled && result.assets[0].file) {\n onDocumentUpload(result.assets[0].file);\n }\n };\n\n return cloneElement(childElement, {\n // ensure that the press event is not prevented by Button component\n // eslint-disable-next-line @typescript-eslint/no-misused-promises\n onPress: handlePickDocument,\n disabled,\n });\n}\n","import type { ReactNode } from 'react';\nimport type { FilePickerProps } from './FilePicker';\n\nexport function FilePicker(props: FilePickerProps): ReactNode {\n throw new Error('FilePicker only works on native');\n}\n","import type { ImagePickerAsset, ImagePickerOptions } from 'expo-image-picker';\nimport { launchImageLibraryAsync } from 'expo-image-picker';\nimport { Children, cloneElement } from 'react';\nimport type { ComponentProps, ReactElement, ReactNode } from 'react';\nimport type { Except } from 'type-fest';\nimport { View } from '../../native-base/primitives';\n\ninterface ChildElementProps extends ComponentProps<any> {\n onPress?: () => void;\n}\n\nexport interface ImagePickerProps {\n children: ReactElement<ChildElementProps>;\n disabled?: boolean;\n onImageSelected: (asset: ImagePickerAsset) => void;\n imagePickerOptions?: Except<ImagePickerOptions, 'allowsMultipleSelection'>;\n}\n\nexport function ImagePicker({ onImageSelected, children, disabled, imagePickerOptions }: ImagePickerProps): ReactNode {\n const childElement = Children.only(children);\n\n const handlePickImage = async (): Promise<void> => {\n if (disabled) return;\n\n childElement.props.onPress?.();\n\n // No permissions request is necessary for launching the image library\n const result = await launchImageLibraryAsync({ ...imagePickerOptions, allowsMultipleSelection: false });\n\n if (!result.canceled) {\n onImageSelected(result.assets[0]);\n }\n };\n\n return (\n <View>\n {/* ensure that the press event is not prevented by Button component */}\n {cloneElement(childElement, {\n // eslint-disable-next-line @typescript-eslint/no-misused-promises\n onPress: handlePickImage,\n disabled,\n })}\n </View>\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","/**\n * Allows to retrieve a value from data or a getter of that data\n */\nexport function getOrCallValue<T>(data: T | (() => T) | undefined): T | undefined {\n if (typeof data === 'function') {\n // @ts-expect-error: we are sure to get a function here, so the error is totaly fine\n return data();\n }\n\n return data;\n}\n","import { getOrCallValue } from '../../utils/functions';\nimport 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: getOrCallValue(placeResult.geometry?.location.lat),\n lng: getOrCallValue(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 { MapPinRegularIcon } from '@ornikar/kitt-icons/phosphor';\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(4px)',\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={<MapPinRegularIcon />} 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' | 'inputMode' | '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 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 InputIbanProps extends Except<InputTextProps, 'autoCapitalize'> {}\n\nexport const InputIban = forwardRef<RNTextInput, InputIbanProps>((props: InputTextProps, ref): ReactElement => {\n return <InputText ref={ref} autoCapitalize=\"none\" {...props} />;\n});\n","import { forwardRef } from 'react';\nimport type { NativeSyntheticEvent, TextInput as RNTextInput, TextInputChangeEventData } from 'react-native';\nimport type { Except } from 'type-fest';\nimport type { InputTextProps } from '../InputText/InputText';\nimport { InputText } from '../InputText/InputText';\n\nexport interface InputNumberProps extends Except<InputTextProps, 'inputMode'> {}\n\nexport const InputNumber = forwardRef<RNTextInput, InputNumberProps>(({ onChange, ...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} inputMode=\"numeric\" onChange={handleChange} />;\n});\n","import { EyeClosedRegularIcon, EyeRegularIcon } 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 ? <EyeClosedRegularIcon /> : <EyeRegularIcon />} />\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, 'inputMode' | '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 { TypographyIcon } from '../../typography/TypographyIcon';\n\ntype InputTagType = 'success' | 'danger';\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 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=\"black\" />\n </View>\n ) : null}\n <Typography.Text base=\"body-small\" color=\"black\">\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 { CheckCircleFillIcon } from '@ornikar/kitt-icons/phosphor';\nimport { HStack, View } from 'native-base';\nimport type { ReactElement } from 'react';\nimport { forwardRef } from 'react';\nimport type { NativeSyntheticEvent, TextInput as RNTextInput, TextInputChangeEventData } from 'react-native';\nimport Animated, { useAnimatedStyle, withSpring, withTiming } from 'react-native-reanimated';\nimport { lateOceanColorPalette } from '../../themes/palettes/lateOceanColorPalette';\nimport { Typography } from '../../typography/Typography';\nimport { TypographyIcon } from '../../typography/TypographyIcon';\nimport type { InputTextProps } from '../InputText/InputText';\nimport { InputText } from '../InputText/InputText';\n\nexport interface TextAreaProps extends InputTextProps {\n limit?: number;\n helper?: string;\n}\n\nexport const TextArea = forwardRef<RNTextInput, TextAreaProps>(\n ({ helper, limit, ...props }: TextAreaProps, ref): ReactElement => {\n const shouldDisplayLimit = limit && limit > 0;\n const isLimitReached = props.value?.length === limit;\n const shouldDisplayLimitOrHelper = shouldDisplayLimit || helper;\n\n const limitContainerAnimatedStyle = useAnimatedStyle(\n () => ({\n transform: [{ translateX: withSpring(isLimitReached ? 0 : 12) }],\n marginLeft: 'auto',\n overflow: 'hidden',\n }),\n [isLimitReached],\n );\n\n const checkIconAnimatedStyle = useAnimatedStyle(\n () => ({\n opacity: withTiming(isLimitReached ? 1 : 0, { duration: 300 }),\n }),\n [isLimitReached],\n );\n\n const handleOnChange = (e: NativeSyntheticEvent<TextInputChangeEventData>): void => {\n if (!limit || e.nativeEvent.text.length <= limit) {\n props.onChange?.(e);\n }\n };\n\n return (\n <View>\n <InputText\n ref={ref}\n multiline\n textAlignVertical=\"top\"\n minHeight=\"kitt.forms.textArea.minHeight\"\n {...props}\n onChange={handleOnChange}\n />\n {shouldDisplayLimitOrHelper ? (\n <HStack marginTop=\"kitt.1\">\n {helper ? (\n <Typography.Text base=\"body-s\" color={lateOceanColorPalette['eggshell.10']}>\n {helper}\n </Typography.Text>\n ) : null}\n {shouldDisplayLimit ? (\n <Animated.View style={limitContainerAnimatedStyle}>\n <HStack alignItems=\"center\" space=\"kitt.1\">\n <Typography.Text base=\"body-xs\" variant=\"bold\" color={lateOceanColorPalette['eggshell.10']}>\n {props.value?.length || 0}/{limit}\n </Typography.Text>\n\n <Animated.View style={checkIconAnimatedStyle}>\n <TypographyIcon\n icon={<CheckCircleFillIcon />}\n size={13}\n color={lateOceanColorPalette['eggshell.10']}\n />\n </Animated.View>\n </HStack>\n </Animated.View>\n ) : null}\n </HStack>\n ) : null}\n </View>\n );\n },\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';\nimport type { AnimatedCaretProps } from './AnimatedCaret';\n\nexport function AnimatedCaret({ children, isHovered, isExpanded }: AnimatedCaretProps): ReactNode {\n return (\n <View\n _web={{\n style: {\n transform: `rotate(${isExpanded ? '180deg' : '0deg'}) translateY(${isHovered ? '2px' : '0'})`,\n transitionDuration: '300ms',\n transitionProperty: 'transform',\n transitionTimingFunction: 'ease',\n },\n }}\n >\n {children}\n </View>\n );\n}\n","import type { ReactNode } from 'react';\nimport { useTheme } from '../../KittThemeContext';\nimport { View } from '../../native-base/primitives';\nimport type { AnimatedContainerProps } from './AnimatedContainer';\n\nexport function AnimatedContainer({ children, size, isHovered, variant }: AnimatedContainerProps): ReactNode {\n const theme = useTheme();\n\n return (\n <View\n _web={{\n style: {\n transitionDuration: '300ms',\n transitionProperty: 'background-color',\n transitionTimingFunction: 'ease',\n },\n }}\n borderRadius=\"kitt.highlight.borderRadius\"\n padding={theme.kitt.highlight.padding[size]}\n backgroundColor={\n isHovered\n ? theme.kitt.highlight[variant].hover.backgroundColor\n : theme.kitt.highlight[variant].default.backgroundColor\n }\n >\n {children}\n </View>\n );\n}\n","import type { ReactNode } from 'react';\nimport type { DimensionValue } from 'react-native';\nimport { View } from '../../native-base/primitives';\nimport type { AnimatedContentProps } from './AnimatedContent';\n\nexport function AnimatedContent({\n children,\n isExpanded,\n isInitialRender,\n contentHeight,\n}: AnimatedContentProps): ReactNode {\n return (\n <View\n _web={{\n style: {\n height: (isExpanded ? `${contentHeight}px` : '0') as DimensionValue,\n transitionDuration: isInitialRender ? '0ms' : '300ms',\n transitionProperty: 'height',\n transitionTimingFunction: 'ease',\n },\n }}\n overflow=\"hidden\"\n >\n {children}\n </View>\n );\n}\n","import type { NativeAnimation } from './useNativeAnimation';\n\nexport function useNativeAnimation(): NativeAnimation {\n return {\n onPressIn: undefined,\n onPressOut: undefined,\n containerAnimatedStyles: {},\n caretAnimatedStyles: {},\n contentAnimatedStyles: {},\n };\n}\n","import { CaretDownRegularIcon } from '@ornikar/kitt-icons/phosphor';\nimport { type ReactNode, useState } from 'react';\nimport type { LayoutChangeEvent } from 'react-native';\nimport { useTheme } from '../KittThemeContext';\nimport { HStack } from '../native-base/layout';\nimport { Pressable, View } from '../native-base/primitives';\nimport { Typography } from '../typography/Typography';\nimport { TypographyIcon } from '../typography/TypographyIcon';\nimport { AnimatedCaret } from './AnimatedCaret/AnimatedCaret';\nimport { AnimatedContainer } from './AnimatedContainer/AnimatedContainer';\nimport { AnimatedContent } from './AnimatedContent/AnimatedContent';\nimport { useNativeAnimation } from './hooks/useNativeAnimation';\n\ntype DeprecatedHighlightVariant = 'regular';\n\nexport type HighlightSize = 'medium' | 'large';\nexport type HighlightVariant = 'primary' | 'secondary' | 'dark' | DeprecatedHighlightVariant | 'ghost';\n\nexport interface HighlightProps {\n variant?: HighlightVariant;\n canCollapse?: boolean;\n isInitialCollapsed?: boolean;\n title?: string;\n icon?: ReactNode;\n size?: HighlightSize;\n children?: ReactNode;\n}\n\nexport function Highlight({\n variant = 'primary',\n canCollapse = false,\n isInitialCollapsed = true,\n title,\n icon = null,\n size = 'medium',\n children,\n}: HighlightProps): ReactNode {\n const theme = useTheme();\n\n const [isExpanded, setIsExpanded] = useState(!isInitialCollapsed);\n const [contentHeight, setContentHeight] = useState(0);\n const [isInitialRender, setIsInitialRender] = useState(true);\n\n const highlightStyle = {\n medium: {\n marginBottom: 'kitt.1',\n spaceBetween: 'kitt.2',\n contentMarginY: 8,\n },\n large: {\n marginBottom: 'kitt.2',\n spaceBetween: 'kitt.4',\n contentMarginY: 16,\n },\n };\n\n const { containerAnimatedStyles, caretAnimatedStyles, contentAnimatedStyles, onPressIn, onPressOut } =\n useNativeAnimation({\n variant,\n isExpanded,\n isInitialRender,\n contentHeight,\n });\n\n const handlePress = (): void => {\n setIsExpanded(!isExpanded);\n setIsInitialRender(false);\n };\n\n const handleLayout = (event: LayoutChangeEvent): void => {\n const layoutHeight = event.nativeEvent.layout.height;\n const newContentHeight = layoutHeight + highlightStyle[size].contentMarginY;\n\n if (layoutHeight > 0 && newContentHeight !== contentHeight) {\n setContentHeight(newContentHeight);\n }\n };\n\n if (!canCollapse) {\n return (\n <View\n borderRadius=\"kitt.highlight.borderRadius\"\n padding={theme.kitt.highlight.padding[size]}\n backgroundColor={`kitt.highlight.${variant}.default.backgroundColor`}\n >\n <HStack space={highlightStyle[size].spaceBetween}>\n {icon && <View>{icon}</View>}\n <View flexGrow={1} flexShrink={1}>\n {title && (\n <View marginBottom={highlightStyle[size].marginBottom}>\n <Typography.Text variant=\"bold\" base=\"body\" ellipsizeMode=\"clip\">\n {title}\n </Typography.Text>\n </View>\n )}\n {children}\n </View>\n </HStack>\n </View>\n );\n }\n\n return (\n <Pressable onPress={handlePress} onPressIn={onPressIn} onPressOut={onPressOut}>\n {({ isHovered }) => {\n return (\n <AnimatedContainer\n isHovered={isHovered}\n size={size}\n variant={variant}\n animatedStyles={containerAnimatedStyles}\n >\n {title && (\n <HStack space={highlightStyle[size].spaceBetween} alignItems=\"center\">\n {icon && <View flexGrow={1}>{icon}</View>}\n <View flexGrow={1} flexShrink={1} width=\"100%\">\n <Typography.Text variant=\"bold\" base=\"body\" ellipsizeMode=\"clip\">\n {title}\n </Typography.Text>\n </View>\n <View flexGrow={2} flexShrink={2} alignItems=\"center\" justifyContent=\"center\">\n <AnimatedCaret isHovered={isHovered} isExpanded={isExpanded} animatedStyles={caretAnimatedStyles}>\n <TypographyIcon icon={<CaretDownRegularIcon />} />\n </AnimatedCaret>\n </View>\n </HStack>\n )}\n <AnimatedContent\n isExpanded={isExpanded}\n isInitialRender={isInitialRender}\n contentHeight={contentHeight}\n animatedStyles={contentAnimatedStyles}\n >\n <View marginTop={highlightStyle[size].contentMarginY} position=\"absolute\" onLayout={handleLayout}>\n {children}\n </View>\n </AnimatedContent>\n </AnimatedContainer>\n );\n }}\n </Pressable>\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 width=\"18\" height=\"18\" viewBox=\"0 0 18 18\" fill=\"currentColor\" xmlns=\"http://www.w3.org/2000/svg\"><path d=\"M10.274 17.405A8.502 8.502 0 0 0 9 .5a8.5 8.5 0 1 0 1.274 16.905Z\" stroke=\"#fff\"/><circle cx=\"9\" cy=\"9\" r=\"3\" fill=\"#fff\"/></svg>","<svg width=\"34\" height=\"36\" viewBox=\"0 0 34 36\" fill=\"currentColor\" xmlns=\"http://www.w3.org/2000/svg\"><path d=\"M19.474 33.316C27.414 32.12 33.5 25.272 33.5 17 33.5 7.887 26.113.5 17 .5S.5 7.887.5 17c0 8.272 6.087 15.121 14.026 16.316.05.007.156.053.336.21.158.137.32.31.505.51l.055.06c.196.21.423.451.662.637.232.181.545.367.916.367s.684-.186.916-.367c.239-.186.465-.426.662-.638l.055-.059a7 7 0 0 1 .505-.51c.18-.157.287-.203.336-.21Z\" stroke=\"#fff\"/><path d=\"M24 22h-1v-5.778a1 1 0 0 0-.323-.737l-5-4.717a1 1 0 0 0-1.352-.007l-.008.007-4.994 4.717a1 1 0 0 0-.323.737V22h-1a.5.5 0 0 0 0 1h14a.5.5 0 0 0 0-1Zm-5.5 0h-3v-3a.5.5 0 0 1 .5-.5h2a.5.5 0 0 1 .5.5v3Z\" fill=\"#fff\"/></svg>","<svg viewBox=\"0 0 42 44\" fill=\"currentColor\" xmlns=\"http://www.w3.org/2000/svg\"><path d=\"M24.074 41.27C33.938 39.788 41.5 31.278 41.5 21 41.5 9.678 32.322.5 21 .5S.5 9.678.5 21c0 10.277 7.562 18.787 17.426 20.27.098.016.254.093.484.293.203.176.409.398.64.646l.069.075c.246.265.523.559.812.784.283.22.647.432 1.069.432.422 0 .786-.212 1.069-.432.289-.225.566-.519.812-.784l.07-.075c.23-.248.437-.47.639-.646.23-.2.386-.277.484-.292Z\" stroke=\"#fff\"/><path d=\"M18.5 13.5a.624.624 0 0 1 .625-.625h3.75a.624.624 0 1 1 0 1.25h-3.75a.624.624 0 0 1-.625-.625Zm11.875 6.875a.624.624 0 0 1-.625.625h-.625v6.25a1.25 1.25 0 0 1-1.25 1.25H26a1.25 1.25 0 0 1-1.25-1.25V26h-7.5v1.25A1.25 1.25 0 0 1 16 28.5h-1.875a1.25 1.25 0 0 1-1.25-1.25V21h-.625a.624.624 0 1 1 0-1.25h.887l2.14-3.745a1.25 1.25 0 0 1 1.086-.63h9.274a1.25 1.25 0 0 1 1.086.63l2.14 3.745h.887a.624.624 0 0 1 .625.625Zm-12.5 2.5a.624.624 0 0 0-.625-.625H16a.624.624 0 1 0 0 1.25h1.25a.624.624 0 0 0 .625-.625Zm8.75 0A.624.624 0 0 0 26 22.25h-1.25a.624.624 0 1 0 0 1.25H26a.624.624 0 0 0 .625-.625Z\" fill=\"#fff\"/></svg>","<svg width=\"12\" height=\"4\" viewBox=\"0 0 12 4\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\"><ellipse cx=\"6\" cy=\"2\" rx=\"6\" ry=\"2\" fill=\"#000\" fill-opacity=\".25\"/></svg>","import type { ViewStyle } from 'react-native';\nimport { Easing, useAnimatedStyle, withTiming } from 'react-native-reanimated';\n\ninterface UseNativeAnimationOptions {\n isHovered?: boolean;\n isSelected?: boolean;\n}\n\nconst SCALE_DURATION = 300;\nconst TRANSLATE_Y_DURATION = 150;\n\nexport const useNativeAnimation = ({ isHovered, isSelected }: UseNativeAnimationOptions): ViewStyle => {\n const animatedStyles = useAnimatedStyle(() => {\n if (isHovered && !isSelected) {\n return {\n transform: [\n { translateY: withTiming(-4, { duration: TRANSLATE_Y_DURATION, easing: Easing.linear }) },\n { scale: withTiming(1, { duration: SCALE_DURATION }) },\n ],\n };\n }\n\n if (isSelected) {\n return {\n transform: [\n { translateY: withTiming(-10, { duration: TRANSLATE_Y_DURATION, easing: Easing.linear }) },\n { scale: withTiming(1.3, { duration: SCALE_DURATION }) },\n ],\n };\n }\n\n return {\n transform: [\n { translateY: withTiming(0, { duration: TRANSLATE_Y_DURATION, easing: Easing.linear }) },\n { scale: withTiming(1, { duration: SCALE_DURATION }) },\n ],\n };\n }, [isHovered, isSelected]);\n\n return animatedStyles;\n};\n","import { theme } from '../../themes/default';\n\ninterface GetBackgroundColorProps {\n isSelected: boolean | undefined;\n isHovered: boolean | undefined;\n variant: 'home' | 'meetingPoint' | 'closeMeetingPoint';\n}\n\nexport const getBackgroundColor = ({ isHovered, isSelected, variant }: GetBackgroundColorProps): string => {\n if (variant === 'home') {\n return isSelected || isHovered ? theme.mapMarker.home.selected : theme.mapMarker.home.default;\n }\n return isSelected || isHovered ? theme.mapMarker.meetingPoint.selected : theme.mapMarker.meetingPoint.default;\n};\n","import { Pressable, VStack, View, useSx } from 'native-base';\nimport type { ReactNode } from 'react';\nimport Animated from 'react-native-reanimated';\nimport { theme } from '../themes/default';\nimport ClosemeetingPointMarkerSvg from './assets/close-meeting-point-marker.inline.svg';\nimport HomeMarkerSvg from './assets/home-marker.inline.svg';\nimport MeetingPointMarkerSvg from './assets/meeting-point-marker.inline.svg';\nimport ShadowSvg from './assets/shadow.inline.svg';\nimport { useNativeAnimation } from './hooks/useNativeAnimation';\nimport { getBackgroundColor } from './utils/getBackgroundColor';\n\nexport enum MapMarkerVariantEnum {\n HOME = 'home',\n MEETING_POINT = 'meetingPoint',\n CLOSE_MEETING_POINT = 'closeMeetingPoint',\n}\n\nexport interface MapMarkerProps extends Omit<StaticMapMarkerProps, 'isHovered'> {\n onPress?: () => void;\n testID?: string;\n}\nexport interface StaticMapMarkerProps {\n isSelected?: boolean;\n isHovered?: boolean;\n variant: MapMarkerVariantEnum;\n}\n\nexport function StaticMapMarker({ variant, isHovered, isSelected }: StaticMapMarkerProps): ReactNode {\n const sx = useSx();\n const animatedStyle = useNativeAnimation({ isHovered, isSelected });\n\n const styles = sx({ color: getBackgroundColor({ isHovered, isSelected, variant }) });\n\n if (variant === MapMarkerVariantEnum.CLOSE_MEETING_POINT) {\n return <ClosemeetingPointMarkerSvg color={styles.color} />;\n }\n\n const svgWidth =\n variant === MapMarkerVariantEnum.HOME ? theme.mapMarker.home.svg.width : theme.mapMarker.meetingPoint.svg.width;\n\n const svgHeight =\n variant === MapMarkerVariantEnum.HOME ? theme.mapMarker.home.svg.height : theme.mapMarker.meetingPoint.svg.height;\n\n const containerWidth =\n variant === MapMarkerVariantEnum.HOME\n ? theme.mapMarker.home.container.width\n : theme.mapMarker.meetingPoint.container.width;\n\n const containerHeight =\n variant === MapMarkerVariantEnum.HOME\n ? theme.mapMarker.home.container.height\n : theme.mapMarker.meetingPoint.container.height;\n\n const { width: shadowWidth, height: shadowHeight } = theme.mapMarker.shadow;\n\n return (\n <VStack alignItems=\"center\" width={containerWidth} height={containerHeight}>\n <Animated.View style={animatedStyle}>\n {variant === MapMarkerVariantEnum.MEETING_POINT ? (\n <MeetingPointMarkerSvg width={svgWidth} height={svgHeight} color={styles.color} />\n ) : (\n <HomeMarkerSvg width={svgWidth} height={svgHeight} color={styles.color} />\n )}\n </Animated.View>\n <View position=\"absolute\" bottom={0} zIndex={-1} width={shadowWidth} height={shadowHeight}>\n <ShadowSvg width={shadowWidth} height={shadowHeight} />\n </View>\n </VStack>\n );\n}\n\nexport function MapMarker({ onPress, testID, ...props }: MapMarkerProps): ReactNode {\n return (\n <Pressable testID={testID} onPress={onPress}>\n {({ isHovered }) => <StaticMapMarker {...props} isHovered={isHovered} />}\n </Pressable>\n );\n}\n","import {\n CheckRegularIcon,\n InfoRegularIcon,\n WarningCircleRegularIcon,\n WarningRegularIcon,\n} from '@ornikar/kitt-icons/phosphor';\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 <WarningCircleRegularIcon color={color} />;\n case 'success':\n return <CheckRegularIcon color={color} />;\n case 'danger':\n return <WarningRegularIcon color={color} />;\n default:\n return <InfoRegularIcon 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 case 'danger':\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 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.avatar.default.backgroundColor,\n },\n light: {\n backgroundColor: theme.avatar.light.backgroundColor,\n },\n dark: {\n backgroundColor: theme.avatar.dark.backgroundColor,\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 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 default: {\n backgroundColor: theme.highlight.regular.default.backgroundColor,\n },\n hover: {\n backgroundColor: theme.highlight.regular.hover.backgroundColor,\n },\n },\n primary: {\n default: {\n backgroundColor: theme.highlight.primary.default.backgroundColor,\n },\n hover: {\n backgroundColor: theme.highlight.primary.hover.backgroundColor,\n },\n },\n secondary: {\n default: {\n backgroundColor: theme.highlight.secondary.default.backgroundColor,\n },\n hover: {\n backgroundColor: theme.highlight.secondary.hover.backgroundColor,\n },\n },\n dark: {\n default: {\n backgroundColor: theme.highlight.dark.default.backgroundColor,\n },\n hover: {\n backgroundColor: theme.highlight.dark.hover.backgroundColor,\n },\n },\n ghost: {\n default: {\n backgroundColor: theme.highlight.ghost.default.backgroundColor,\n },\n hover: {\n backgroundColor: theme.highlight.ghost.hover.backgroundColor,\n },\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 fill: {\n borderWidth: theme.tag.fill.borderWidth,\n },\n outline: {\n borderWidth: theme.tag.outline.borderWidth,\n },\n },\n },\n app: appTheme?.borderWidths,\n },\n sizes: {\n ...spaces.positive,\n ...spaces.negative,\n ...overridenNativeBaseSizeandSpaceScale,\n kitt: {\n avatar: {\n size: theme.avatar.size,\n iconSize: theme.avatar.iconSize,\n large: {\n size: theme.avatar.large.size,\n iconSize: theme.avatar.large.iconSize,\n },\n },\n button: {\n minWidth: theme.button.minWidth,\n maxWidth: theme.button.maxWidth,\n minHeight: theme.button.minHeight,\n },\n icon: theme.icon,\n cardModal: {\n header: {\n height: theme.cardModal.header.height,\n },\n maxWidth: theme.cardModal.maxWidth,\n maxWidthWithPadding: theme.cardModal.maxWidthWithPadding,\n minHeight: theme.cardModal.minHeight,\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 tag: {\n small: {\n iconSize: theme.tag.icon.small,\n },\n medium: {\n iconSize: theme.tag.icon.medium,\n },\n large: {\n iconSize: theme.tag.icon.large,\n },\n withIcon: {\n small: {\n height: theme.tag.withIcon.small.height,\n },\n medium: {\n height: theme.tag.withIcon.medium.height,\n },\n large: {\n height: theme.tag.withIcon.large.height,\n },\n },\n withoutIcon: {\n small: {\n height: theme.tag.withoutIcon.small.height,\n },\n medium: {\n height: theme.tag.withoutIcon.medium.height,\n },\n large: {\n height: theme.tag.withoutIcon.large.height,\n },\n },\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.cardModal.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 medium: {\n padding: theme.highlight.padding.medium,\n },\n large: {\n padding: theme.highlight.padding.large,\n },\n },\n listItem: {\n verticalPadding: theme.listItem.verticalPadding,\n horizontalPadding: theme.listItem.horizontalPadding,\n },\n tag: {\n withoutIcon: {\n small: {\n paddingLeft: theme.tag.withoutIcon.small.paddingLeft,\n paddingRight: theme.tag.withoutIcon.small.paddingRight,\n },\n medium: {\n paddingLeft: theme.tag.withoutIcon.medium.paddingLeft,\n paddingRight: theme.tag.withoutIcon.medium.paddingRight,\n },\n large: {\n paddingLeft: theme.tag.withoutIcon.large.paddingLeft,\n paddingRight: theme.tag.withoutIcon.large.paddingRight,\n },\n },\n withIcon: {\n small: {\n paddingLeft: theme.tag.withIcon.small.paddingLeft,\n paddingRight: theme.tag.withIcon.small.paddingRight,\n },\n medium: {\n paddingLeft: theme.tag.withIcon.medium.paddingLeft,\n paddingRight: theme.tag.withIcon.medium.paddingRight,\n },\n large: {\n paddingLeft: theme.tag.withIcon.large.paddingLeft,\n paddingRight: theme.tag.withIcon.large.paddingRight,\n },\n },\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 disabled: {\n shadow: {\n shadowColor: theme.actionCard.secondary.disabled.shadow.color,\n shadowOffset: {\n width: theme.actionCard.secondary.disabled.shadow.offsetX,\n height: theme.actionCard.secondary.disabled.shadow.offsetY,\n },\n shadowOpacity: theme.actionCard.secondary.disabled.shadow.opacity,\n shadowRadius: theme.actionCard.secondary.disabled.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.primary.pressed.shadow.color,\n shadowOffset: {\n width: theme.actionCard.primary.pressed.shadow.offsetX,\n height: theme.actionCard.primary.pressed.shadow.offsetY,\n },\n shadowOpacity: theme.actionCard.primary.pressed.shadow.opacity,\n shadowRadius: theme.actionCard.primary.pressed.shadow.radius,\n },\n },\n disabled: {\n shadow: {\n shadowColor: theme.actionCard.primary.disabled.shadow.color,\n shadowOffset: {\n width: theme.actionCard.primary.disabled.shadow.offsetX,\n height: theme.actionCard.primary.disabled.shadow.offsetY,\n },\n shadowOpacity: theme.actionCard.primary.disabled.shadow.opacity,\n shadowRadius: theme.actionCard.primary.disabled.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 disabled: {\n shadow: {\n shadowColor: theme.actionCard['primary-border-soft'].disabled.shadow.color,\n shadowOffset: {\n width: theme.actionCard['primary-border-soft'].disabled.shadow.offsetX,\n height: theme.actionCard['primary-border-soft'].disabled.shadow.offsetY,\n },\n shadowOpacity: theme.actionCard['primary-border-soft'].disabled.shadow.opacity,\n shadowRadius: theme.actionCard['primary-border-soft'].disabled.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 disabled: {\n shadow: {\n shadowColor: theme.actionCard['primary-border-hard'].disabled.shadow.color,\n shadowOffset: {\n width: theme.actionCard['primary-border-hard'].disabled.shadow.offsetX,\n height: theme.actionCard['primary-border-hard'].disabled.shadow.offsetY,\n },\n shadowOpacity: theme.actionCard['primary-border-hard'].disabled.shadow.opacity,\n shadowRadius: theme.actionCard['primary-border-hard'].disabled.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 disabled: {\n shadow: {\n shadowColor: theme.actionCard.highlight.disabled.shadow.color,\n shadowOffset: {\n width: theme.actionCard.highlight.disabled.shadow.offsetX,\n height: theme.actionCard.highlight.disabled.shadow.offsetY,\n },\n shadowOpacity: theme.actionCard.highlight.disabled.shadow.opacity,\n shadowRadius: theme.actionCard.highlight.disabled.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 bg: theme.forms.input.states.hover.backgroundColor,\n borderColor: theme.forms.input.states.hover.borderColor,\n color: theme.forms.input.states.hover.color,\n _focus: {\n bg: theme.forms.input.states.default.backgroundColor,\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 { ReactNode } from 'react';\nimport { useEffect, useState } from 'react';\nimport { CardModalAnimation } from '../CardModal/CardModalAnimation/CardModalAnimation';\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\ntype AnimationComponentType = typeof CardModalAnimation | typeof FullscreenModalAnimation;\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 [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 <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 </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 { ArrowCounterClockwiseRegularIcon } from '@ornikar/kitt-icons/phosphor';\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={<ArrowCounterClockwiseRegularIcon />} 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 { MapMarker, MapMarkerVariantEnum } from '../MapMarker/MapMarker';\nimport { View } from '../native-base/primitives';\n\ninterface MarkerProps {\n variant?: MapMarkerVariantEnum;\n}\n\nexport function StaticMapMarker({ variant = MapMarkerVariantEnum.MEETING_POINT }: MarkerProps): ReactNode {\n return (\n <View position=\"absolute\" top=\"0\" left=\"0\" width=\"100%\" height=\"100%\">\n <View justifyContent=\"center\" alignItems=\"center\" height=\"100%\">\n {variant === MapMarkerVariantEnum.HOME ? (\n <MapMarker variant={MapMarkerVariantEnum.HOME} />\n ) : (\n <MapMarker variant={MapMarkerVariantEnum.MEETING_POINT} />\n )}\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 flexWrap?: boolean;\n}\n\nfunction StoryGridRow({ children, breakpoint = 'small', flexWrap }: StoryGridRowProps): ReactNode {\n return (\n <View\n flexDirection={{ base: 'column', [breakpoint]: 'row' }}\n flexWrap={flexWrap ? 'wrap' : undefined}\n marginX={{ [breakpoint]: '-kitt.1' }}\n marginBottom={{ [breakpoint]: 'kitt.4' }}\n >\n {Children.map(children, (child) => (\n <View\n flexGrow={{ [breakpoint]: 1 }}\n flexBasis={flexWrap ? undefined : { [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 { 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 { type ReactNode } from 'react';\nimport { HStack } from '../native-base/layout';\nimport type { PressableProps } from '../native-base/primitives';\nimport { Pressable, View } from '../native-base/primitives';\nimport type { ExtendedTypographyColor } from '../typography/Typography';\nimport { Typography } from '../typography/Typography';\nimport type { TypographyIconProps } from '../typography/TypographyIcon';\nimport { TypographyIcon } from '../typography/TypographyIcon';\nimport { useKittTheme } from '../useKittTheme';\n\nexport type TabBarItemColor = 'black' | 'white';\n\nexport interface TabBarItemProps {\n name: ReactNode;\n icon?: TypographyIconProps['icon'];\n color?: TabBarItemColor;\n testID?: PressableProps['testID'];\n isActive?: boolean;\n onPress?: PressableProps['onPress'];\n}\n\nfunction useTabBarItemColor(color: TabBarItemColor, isActive: boolean): ExtendedTypographyColor {\n const { kitt: kittTheme } = useKittTheme();\n\n switch (color) {\n case 'black': {\n return isActive ? kittTheme.palettes.lateOcean.black : kittTheme.palettes.lateOcean['eggshell.10'];\n }\n case 'white': {\n return kittTheme.palettes.lateOcean.white;\n }\n default: {\n return isActive ? kittTheme.palettes.lateOcean.black : kittTheme.palettes.lateOcean['eggshell.10'];\n }\n }\n}\n\nfunction useTabBarIndicatorColor(color: TabBarItemColor, isActive: boolean): ExtendedTypographyColor {\n const { kitt: kittTheme } = useKittTheme();\n\n switch (color) {\n case 'black': {\n return isActive ? kittTheme.palettes.lateOcean.black : kittTheme.palettes.lateOcean.transparent;\n }\n case 'white': {\n return isActive ? kittTheme.palettes.lateOcean.white : kittTheme.palettes.lateOcean.transparent;\n }\n default: {\n return isActive ? kittTheme.palettes.lateOcean.black : kittTheme.palettes.lateOcean['eggshell.10'];\n }\n }\n}\n\nexport function TabBarItem({\n name,\n icon,\n color = 'black',\n testID,\n isActive = false,\n onPress,\n}: TabBarItemProps): ReactNode {\n const typographyColor = useTabBarItemColor(color, isActive);\n const indicatorColor = useTabBarIndicatorColor(color, isActive);\n\n return (\n <Pressable testID={testID} onPress={onPress}>\n <HStack height={56} alignItems=\"center\" position=\"relative\">\n {/* icon */}\n {icon ? (\n <View marginRight=\"kitt.1\">\n <TypographyIcon color={typographyColor} icon={icon} />\n </View>\n ) : null}\n\n {/* label */}\n <Typography.Text numberOfLines={1} color={typographyColor} variant={isActive ? 'bold' : undefined}>\n {name}\n </Typography.Text>\n\n {/* indicator */}\n <View\n borderRadius={100}\n backgroundColor={indicatorColor}\n position=\"absolute\"\n bottom={-1} // in order to be over tab bar's border bottom\n width=\"100%\"\n height={4}\n />\n </HStack>\n </Pressable>\n );\n}\n","import { useSx } from 'native-base';\nimport type { ReactElement, ReactNode } from 'react';\nimport { Children, cloneElement, useRef, useState } from 'react';\nimport type { GestureResponderEvent } from 'react-native';\nimport { HStack } from '../native-base/layout';\nimport type { ViewProps } from '../native-base/primitives';\nimport { ScrollView, View } from '../native-base/primitives';\nimport { useKittTheme } from '../useKittTheme';\nimport type { TabBarItemColor, TabBarItemProps } from './TabBarItem';\nimport { TabBarItem } from './TabBarItem';\n\ninterface ChangeTabObject<T> {\n tab: T;\n index: number;\n}\n\ninterface RenderTabObject<T> extends ChangeTabObject<T> {\n isActive: boolean;\n}\n\nexport type TabBarAlignment = 'left' | 'center';\n\nexport interface TabBarProps<T> extends ViewProps {\n color?: TabBarItemColor;\n align?: TabBarAlignment;\n tabs: T[];\n initialActiveTabIndex?: number;\n onChangeTab: (values: ChangeTabObject<T>) => void;\n renderTabItem: (values: RenderTabObject<T>) => ReactElement<TabBarItemProps>;\n}\n\nexport function TabBar<T extends { key: string }>({\n tabs,\n color = 'black',\n align = 'left',\n initialActiveTabIndex = 0,\n renderTabItem,\n onChangeTab,\n ...props\n}: TabBarProps<T>): ReactNode {\n const sx = useSx();\n const [activeTabIndex, setActiveTabIndex] = useState<number>(initialActiveTabIndex);\n const { kitt: kittTheme } = useKittTheme();\n const tabItems = tabs.map((tab, index) => renderTabItem({ tab, index, isActive: activeTabIndex === index }));\n // store dynamically all items into the same ref\n const itemsRefs = useRef<Record<string, HTMLElement>>({});\n\n const scrollViewStyles = sx({\n justifyContent: align,\n paddingRight: align === 'center' ? 'kitt.2' : 'kitt.12',\n minWidth: '100%',\n borderBottomWidth: 1,\n borderBottomColor: kittTheme.palettes.lateOcean['eggshell.3'],\n });\n\n return (\n <ScrollView horizontal showsHorizontalScrollIndicator={false} contentContainerStyle={scrollViewStyles}>\n <HStack space={align === 'center' ? 'kitt.16' : 'kitt.4'} {...props}>\n {Children.map(tabItems, (child, index) => {\n const tab = tabs[index];\n return (\n <View\n ref={(\n node?: HTMLElement, // scrollIntoView only works on HTMLElement\n ) => {\n if (node) {\n itemsRefs.current[tab.key] = node;\n }\n }}\n key={tab.key}\n >\n {cloneElement(child, {\n color,\n onPress: (event: GestureResponderEvent) => {\n setActiveTabIndex(index);\n onChangeTab({ tab: tabs[index], index });\n child.props.onPress?.(event);\n\n try {\n itemsRefs.current[tab.key].scrollIntoView({\n inline: 'nearest',\n block: 'nearest',\n behavior: 'smooth',\n });\n } catch (error) {\n itemsRefs.current[tab.key].scrollIntoView();\n }\n },\n })}\n </View>\n );\n })}\n </HStack>\n </ScrollView>\n );\n}\n\nTabBar.Item = TabBarItem;\n","import type { ReactElement, ReactNode } from 'react';\nimport { HStack } from '../native-base/layout';\nimport type { TypographyBodyType } from '../typography/Typography';\nimport { Typography } from '../typography/Typography';\nimport { TypographyIcon } from '../typography/TypographyIcon';\nimport { useKittTheme } from '../useKittTheme';\n\nexport type TagColor = 'eggshell' | 'sun' | 'coral' | 'raspberry' | 'lavender' | 'violine' | 'blue' | 'green';\nexport type TagSize = 'small' | 'medium' | 'large';\nexport type TagVariant = 'outline' | 'fill';\nexport type TagType = 'primary' | 'default' | 'danger' | 'warn';\n\nexport interface TagProps {\n label: ReactNode;\n icon?: ReactElement;\n color?: TagColor;\n size?: TagSize;\n variant?: TagVariant;\n /** @deprecated use `color=` instead */\n type?: TagType;\n}\n\nconst getTypography = (size: TagSize): TypographyBodyType => {\n switch (size) {\n case 'small':\n return 'body-xs';\n case 'medium':\n return 'body-s';\n case 'large':\n default:\n return 'body-m';\n }\n};\n\nconst typeToColor = (color?: TagColor, type?: TagType): TagColor => {\n if (color) return color;\n switch (type) {\n case 'primary':\n return 'violine';\n case 'warn':\n return 'sun';\n case 'danger':\n return 'coral';\n case 'default':\n default:\n return 'eggshell';\n }\n};\n\nexport function Tag({ label, icon, color, type, size = 'medium', variant = 'fill' }: TagProps): ReactNode {\n const kittTheme = useKittTheme();\n\n const tagColor = typeToColor(color, type);\n return (\n <HStack\n alignSelf=\"flex-start\"\n borderRadius=\"kitt.tag.borderRadius\"\n height={`kitt.tag.${icon ? 'withIcon' : 'withoutIcon'}.${size}.height`}\n paddingLeft={`kitt.tag.${icon ? 'withIcon' : 'withoutIcon'}.${size}.paddingLeft`}\n paddingRight={`kitt.tag.${icon ? 'withIcon' : 'withoutIcon'}.${size}.paddingRight`}\n backgroundColor={variant === 'fill' ? kittTheme.kitt.palettes.lateOcean[`${tagColor}.4`] : 'kitt.transparent'}\n borderColor={kittTheme.kitt.palettes.lateOcean[`${tagColor}.6`]}\n borderWidth={`kitt.tag.${variant}.borderWidth`}\n space=\"kitt.1\"\n alignItems=\"center\"\n >\n {icon ? <TypographyIcon icon={icon} size={`kitt.tag.${size}.iconSize`} /> : null}\n <Typography.Text base={getTypography(size)} color=\"black\">\n {label}\n </Typography.Text>\n </HStack>\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/jdecked/twemoji?tab=readme-ov-file#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 { 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<ReactNode>;\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 { useEffect } from 'react';\nimport type { ViewStyle } from 'react-native';\nimport type { AnimateStyle } from 'react-native-reanimated';\nimport { interpolate, useAnimatedStyle, useSharedValue, withDelay, withSpring } from 'react-native-reanimated';\n\ninterface StepAnimations {\n checkmarkAnimatedStyles: AnimateStyle<ViewStyle>;\n progressBarAnimatedStyles: AnimateStyle<ViewStyle>;\n}\n\ninterface StepAnimationsProps {\n isDone: boolean;\n animated: boolean;\n position: number;\n isNextDone: boolean;\n}\n\nexport function useStepAnimations({ isDone, position, animated, isNextDone }: StepAnimationsProps): StepAnimations {\n const checkmarkAnimatedValue = useSharedValue(animated ? 0 : 1);\n const progressBarAnimatedValue = useSharedValue(animated ? 0 : 1);\n\n const STAGGER_DELAY = 70;\n\n useEffect(() => {\n if (isDone) {\n if (isNextDone) {\n progressBarAnimatedValue.value = animated\n ? withDelay(STAGGER_DELAY + position * STAGGER_DELAY, withSpring(1))\n : 1;\n }\n checkmarkAnimatedValue.value = animated ? withDelay(position * STAGGER_DELAY, withSpring(1)) : 1;\n } else {\n checkmarkAnimatedValue.value = 0;\n progressBarAnimatedValue.value = 0;\n }\n }, [checkmarkAnimatedValue, progressBarAnimatedValue, isDone, position, animated, isNextDone]);\n\n const checkmarkAnimatedStyles = useAnimatedStyle(() => {\n return {\n transform: [{ scale: checkmarkAnimatedValue.value }],\n };\n }, [checkmarkAnimatedValue]);\n\n const progressBarAnimatedStyles = useAnimatedStyle(() => {\n return {\n transform: [\n {\n scaleY: interpolate(progressBarAnimatedValue.value, [0, 1], [0, 2]),\n },\n ],\n };\n }, [progressBarAnimatedValue]);\n\n return {\n checkmarkAnimatedStyles,\n progressBarAnimatedStyles,\n };\n}\n","import { CheckRegularIcon } from '@ornikar/kitt-icons/phosphor';\nimport type { ReactNode } from 'react';\nimport Animated from 'react-native-reanimated';\nimport { HStack } from '../native-base/layout';\nimport { View } from '../native-base/primitives';\nimport { Typography } from '../typography/Typography';\nimport { TypographyIcon } from '../typography/TypographyIcon';\nimport { useStepAnimations } from './Step.animations';\n\nexport interface BorderlessStepProps {\n title: ReactNode;\n description?: ReactNode;\n position?: number;\n isLast?: boolean;\n animated?: boolean;\n currentStep?: number;\n}\n\nconst AnimatedView = Animated.createAnimatedComponent(View);\n\nexport function BorderlessStep({\n description,\n title,\n position = 1,\n isLast,\n animated,\n currentStep = 1,\n}: BorderlessStepProps): ReactNode {\n const isDone = position <= currentStep;\n const isNextDone = position + 1 <= currentStep;\n const { checkmarkAnimatedStyles, progressBarAnimatedStyles } = useStepAnimations({\n isDone,\n isNextDone,\n position,\n animated: !!animated,\n });\n\n return (\n <HStack paddingBottom={isLast ? 0 : 'kitt.6'} width=\"100%\">\n <View\n zIndex={1}\n width=\"kitt.8\"\n height=\"kitt.8\"\n borderRadius={16}\n backgroundColor=\"kitt.palettes.lateOcean.black50\"\n alignItems=\"center\"\n justifyContent=\"center\"\n marginRight=\"kitt.3\"\n >\n <Typography.Paragraph variant=\"bold\" color=\"black-light\">\n {position}\n </Typography.Paragraph>\n\n {isDone ? (\n <AnimatedView\n style={checkmarkAnimatedStyles}\n position=\"absolute\"\n left={0}\n top={0}\n width=\"kitt.8\"\n height=\"kitt.8\"\n borderRadius={16}\n backgroundColor=\"kitt.primary\"\n alignItems=\"center\"\n justifyContent=\"center\"\n marginRight=\"kitt.3\"\n >\n <TypographyIcon color=\"white\" icon={<CheckRegularIcon />} />\n </AnimatedView>\n ) : null}\n </View>\n\n <View flexGrow={1} flexShrink={1} marginTop=\"kitt.1\">\n <Typography.Paragraph color={isDone ? 'primary' : 'black-light'} variant=\"bold\">\n {title}\n </Typography.Paragraph>\n\n {description ? (\n <Typography.Paragraph color={isDone ? 'black' : 'black-light'} variant=\"regular\">\n {description}\n </Typography.Paragraph>\n ) : null}\n </View>\n\n {!isLast && (\n <View\n left={15}\n top={36}\n bottom={4}\n width={2}\n borderRadius={2}\n position=\"absolute\"\n backgroundColor=\"kitt.palettes.lateOcean.black50\"\n overflow=\"hidden\"\n >\n {isNextDone ? (\n <AnimatedView\n style={progressBarAnimatedStyles}\n position=\"absolute\"\n width={2}\n top={0}\n bottom={0}\n left={0}\n backgroundColor=\"kitt.primary\"\n />\n ) : null}\n </View>\n )}\n </HStack>\n );\n}\n","import { CheckRegularIcon } from '@ornikar/kitt-icons/phosphor';\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={<CheckRegularIcon />} 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 isFirst?: boolean;\n shouldDisableNextLink?: boolean;\n}\n\nexport function Step({\n index = 0,\n children,\n state = 'default',\n isLast = false,\n isFirst = false,\n shouldDisableNextLink = false,\n}: StepProps): ReactNode {\n return (\n <HStack space=\"kitt.2\" flexGrow={1} marginTop={isFirst ? undefined : 'kitt.4'}>\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 { View } from 'native-base';\nimport type { ReactElement, ReactNode } from 'react';\nimport { Children, cloneElement } from 'react';\nimport { BorderlessStep } from './BorderlessStep';\nimport { Step } from './Step';\nimport { getStepState } from './utils/getStepState';\n\nexport enum StepVariationEnum {\n default = 'default',\n borderless = 'borderless',\n}\n\nexport interface VerticalStepsProps extends ViewProps {\n children: ReactNode;\n activeIndex: number;\n animated?: boolean;\n}\n\nexport function VerticalSteps({ children, activeIndex, animated, ...props }: VerticalStepsProps): ReactNode {\n const childrenArray = Children.toArray(children) as ReactElement[];\n\n const clonedArray = childrenArray.map((aChild, index) => {\n if (__DEV__ && aChild.type !== Step && aChild.type !== BorderlessStep) {\n throw new Error('VerticalSteps only accepts VerticalSteps.Step or VerticalSteps.BorderlessStep as children');\n }\n\n const step = index + 1;\n const isLast = step === childrenArray.length;\n const isFirst = index === 0;\n const newProps: Record<string, unknown> = {\n ...aChild.props,\n position: step,\n animated,\n isLast,\n isFirst,\n currentStep: activeIndex,\n state: getStepState(index, activeIndex),\n index,\n };\n\n return cloneElement(aChild, newProps, aChild.props.children as ReactNode);\n });\n\n return (\n <View width=\"100%\" {...props}>\n {clonedArray}\n </View>\n );\n}\n\nVerticalSteps.Step = Step;\nVerticalSteps.BorderlessStep = BorderlessStep;\n"],"names":["View","NativeBaseView","ScrollView","NativeBaseScrollView","Pressable","NativeBasePressable","Image","NativeBaseImage","FlatList","NativeBaseFlatList","SectionList","NativeBaseSectionList","hex2rgba","hex","alpha","arguments","length","undefined","r","parseInt","slice","g","b","concat","createColorScale","colorScale","colorScales","eggshell","violine","lavender","blue","raspberry","coral","sun","green","transformColorScalesToTokens","Object","fromEntries","entries","flatMap","_ref","_ref2","_slicedToArray","colorName","map","_ref3","_ref4","scaleNumber","colorValue","lateOceanColorPalette","_objectSpread","lateOcean","lateOceanLight1","lateOceanLight2","lateOceanLight3","lateOceanDark1","warmEmbrace","warmEmbraceLight1","white","black","black1000","black800","black555","black400","black200","black100","black50","black25","viride","englishVermillon","goldCrayola","aero","seaShell","transparent","moonPurple","moonPurpleLight1","colors","primary","primaryLight","accent","accentLight","success","correct","danger","info","warning","separator","hover","blackDisabled","blackLight","blackAnthracite","uiBackground","uiBackgroundLight","disabled","overlay","dark","light","actionCard","borderRadius","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","inputStatesStyle","pending","valid","invalid","webAnimationDuration","webAnimationTimingFunction","webAnimationProperties","input","selection","placeholder","icon","rightContainer","properties","states","inputField","containerPaddingTop","containerPaddingBottom","feedbackPaddingTop","labelContainerPaddingBottom","labelFeedbackMarginLeft","inputTag","labelColor","radio","unchecked","innerSize","innerBackgroundColor","radioButtonGroup","textArea","timePicker","forms","fullscreenModal","sharedHorizontalPadding","body","regular","getIconSizeFromFontSize","fontSize","createTypographyIconSizeConfig","baseAndSmallFontSize","mediumAndWideFontSize","baseAndSmallIconSize","mediumAndWideIconSize","baseAndSmall","mediumAndWide","defaultSize","typographySize","header1","header2","header3","header4","header5","iconButton","listItem","horizontalPadding","innerMargin","mapMarker","home","svg","meetingPoint","pageLoaderSize","pageLoaderStrokeWidth","webAnimationDelay","webAnimationCircleBackgroundFillDuration","webAnimationFilledCircleFillDuration","webAnimationFilledCircleRotationDuration","fillEasingFunction","pageLoader","strokeWidth","fill","delay","circleBackgroundFillDuration","filledCircleFillDuration","groupFilledCircleRotationDuration","filledCircleRotationDuration","calcLineHeight","lineHeightMultiplier","Math","round","createLegacyTypographyTypeConfig","lineHeightMultiplierBaseAndSmall","lineHeightMultiplierMediumAndWide","lineHeight","createTypographyConfig","config","typography","kittColors","types","headings","fontFamily","bold","web","fontWeight","fontStyle","configs","bodies","link","disabledColor","picker","ios","landscape","android","shadows","cards","low","highBase","highMedium","highLarge","navigation","left","right","panel","skeletonBackgroundColor","skeletonFlareColor","skeleton","flareColor","animationDuration","shape","bar","circle","square","tag","withIcon","paddingLeft","paddingRight","withoutIcon","outline","tooltip","floatingPadding","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","_ref$borderVariant","children","state","__DEV__","Error","sharedTransform","transform","themeName","_jsx","_ios","style","_android","_web","flexGrow","ActionCardDisabled","borderStyle","ActionCard","_ref$variant","_ref$borderRadius","props","_objectWithoutProperties","_excluded","ActionCardPressable","forwardRef","ref","_ref2$variant","_ref2$borderVariant","_ref2$borderRadius","testID","href","hrefAttrs","_ref2$accessibilityRo","accessibilityRole","isHoveredInternal","isPressedInternal","isFocusedInternal","onPress","Stack","NativeBaseStack","VStack","NativeBaseVStack","HStack","NativeBaseHStack","Center","NativeBaseCenter","createResponsiveStyleFromProp","responsiveBooleanValue","valueIfTrue","valueIfFalse","keys","responsiveValue","forEach","breakpointName","warn","message","process","env","NODE_ENV","console","deprecatedMessage","symbol","deprecation","replaceBy","replaceMessage","deprecatedInComponent","component","useBreakpointValue","useBreakpointValueNativeBaseBadlyTyped","getCurrentBackgroundColorForNativeBaseTheme","type","isDisabled","baseKey","getCurrentScale","hoverScaleValue","pressedScaleValue","AnimatedContainer","isStretch","_theme$kitt$button","_theme$kitt$button$tr","responsiveHoverScaleValue","currentScale","currentBackgroundColor","transitionProperty","transitionDuration","transitionTimingFunction","backfaceVisibility","alignSelf","KittBreakpoints","BASE","SMALL","MEDIUM","LARGE","WIDE","KittBreakpointsMax","KittBreakpointNameEnum","typographyColors","getNBThemeColorFromColorProps","isColorTypographyColor","includes","getTypographyColorValue","_typeof","value","isTypeHeadings","startsWith","isTypeHeadingsImpact","getTypographyFamily","getTypographyFamilyWithAncestorValue","typographyFamilyInContext","TypographyFamilyContext","TypographyTypeContext","TypographyColorContext","useTypographyColor","useTypographyAncestorType","TypographyDefaultColorContext","useTypographyDefaultColor","getTypographyTypeConfigKeyFromTypeName","createNativeBaseFontSize","typeWithMediumForced","fontSizeForNativeBase","typeName","Typography","_type$base","legacyBase","legacySmall","legacyMedium","legacyLarge","legacyWide","_ref$type","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","_ref$size","_ref$align","align","clonedIcon","cloneElement","getIconSizeConfigKeyFromTypeName","createNativeBaseIconSize","iconSizeForNativeBase","TypographyIconSpecifiedColor","ancestorType","_sx","colorStyleValue","TypographyIconInheritColor","TypographyIcon","_excluded2","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","_useTheme","buttonTheme","useNativeAnimation","onPressIn","onPressOut","animatedStyles","getButtonSize","allowedGhostTypes","Button","stretch","sizeProp","_ref$iconPosition","_ref$accessibilityRol","onHoverIn","onHoverOut","onFocus","onBlur","_useNativeAnimation","deprecatedProp","spinningIcon","SpinningIcon","className","LoaderIcon","SpinnerGapRegularIcon","ActionsItem","as","_ref$stretch","_useState","useState","_useState2","isLoading","setIsLoading","mountedRef","useRef","useEffect","current","handlePress","e","callPressAndUpdateLoadingState","_asyncToGenerator","_regeneratorRuntime","mark","_callee","wrap","_context","prev","next","abrupt","t0","stop","apply","ActionsButton","_extends","_objectDestructuringEmpty","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","UserRegularIcon","Avatar","currentSize","currentBorderRadius","overflow","BottomSheetComponent","BottomSheet","useBottomSheet","useStaticBottomSheet","Content","bottomSheetRef","BottomSheetMemoized","useMemo","overflowHidden","useBlockBodyScroll","shouldBlockScroll","isInitialRender","document","classList","add","remove","ModalBehaviourPortal","visible","isInitialRenderRef","Portal","_Fragment","OnCloseContext","OnCloseProvider","onClose","useOnCloseModalBehaviour","CloseButton","onCloseContextCallback","handleClose","ModalBehaviour","Overlay","CardModalRotationContainer","maxHeight","contentAnimationEnter","contentAnimatioEnterActive","contentAnimatioExit","contentAnimatioExitActive","contentAnimationClassNames","appear","appearActive","enter","enterActive","exit","exitActive","opacityEnter","opacityEnterActive","opacityExit","opacityExitActive","opacityClassNames","CardModalAnimation","_ref$appear","_ref$unmountOnExit","unmountOnExit","_ref$isAnimationEnabl","isAnimationEnabled","onEnter","onEntered","onExit","onExited","sharedProps","in","CSSTransition","timeout","classNames","margin","CardModalBehaviour","isModalBehaviourVisible","setIsModalBehaviourVisible","handleExitAnimationDone","CardModalBody","_ref$paddingX","_ref$paddingY","showsVerticalScrollIndicator","_contentContainerStyle","CardModalFooter","_ref$padding","_ref$hasSeparator","hasSeparator","marginTop","borderTopWidth","CardModalHeader","title","_ref$paddingBottom","paddingBottom","defaultContainerPadding","borderBottomWidth","CardModal","_ref$backgroundColor","_ref$maxWidth","withoutShadow","Body","Header","Footer","getBackgroundColor","isSelected","getBorderRadius","Number","MAX_SAFE_INTEGER","AnimatedChoiceItemView","backgroundStyles","getCurrentTextColor","ChoiceItem","onChange","handleChange","accessibilityState","ChoiceItemContainer","isLast","currentItemMarginValue","marginBottom","ChoicesContainer","Choices","id","_ref2$direction","currentValue","setCurrentValue","isForm","childrenArray","Children","toArray","newValue","child","index","element","createChoicesComponent","ButtonChoices","ChoicesElements","DialogModalAnimation","DialogModalBehaviour","bounces","contentContainerStyle","DialogModal","illustration","actions","paddingTop","DialogModalButton","_ref2$stretch","Emoji","emoji","_useMemo","parse","assetType","_useMemo2","emojiData","url","ExternalAppLink","Component","appScheme","appValue","onOpenAppError","rest","handleOnPress","canOpen","Linking","canOpenURL","sent","defaultPrevented","openURL","error","Sms","phoneNumber","Tel","_excluded3","Mail","_ref5","emailAddress","_excluded4","defaultOpenLinkBehavior","ExternalLink","_ref$openLinkBehavior","openLinkBehavior","target","rel","useOpenExternalLink","_ref$behavior","behavior","window","open","getIconColor","InputIcon","InputPressable","inputTextContainer","InputTextContainer","InputText","internalForceState","_ref$disabled","_ref$autoCorrect","autoCorrect","_ref$textContentType","textContentType","_ref$autoComplete","autoComplete","_ref$inputMode","inputMode","multiline","onSubmitEditing","Input","py","isHighlighted","AutocompleteItem","AutocompleteItemsListContainer","_ref$zIndex","zIndex","elevation","AutocompleteOption","isReactElement","Autocomplete","name","isInitialOpen","initialValue","containerProps","filterItemBasedOnCurrentInputValue","checkSelectedItem","itemToString","onInputChange","onSelectItem","onOuterPress","errorElement","emptyResultsElement","_ref$inputTestID","inputTestID","_ref$listContainerTes","listContainerTestID","items","filter","Downshift","defaultIsOpen","initialSelectedItem","initialInputValue","handleItemToString","stateReducer","changes","stateChangeTypes","changeInput","selectedItem","stateAndHelpers","onSelect","onOuterClick","onInputValueChange","getRootProps","getInputProps","getMenuProps","getItemProps","getToggleButtonProps","isOpen","inputValue","highlightedIndex","openMenu","shouldSuppressRefError","rootProps","suppressRefError","menuProps","_getToggleButtonProps","onClickToggle","onClick","toggleProps","_getInputProps","onKeyDown","onSearchInputFocus","onSearchInputBlur","onSearchInputChange","inputProps","hasCurrentSearch","currentItems","isCurrentlyOpen","canDisplayCollapseButton","hitSlop","handleTogglePress","CaretUpFillIcon","CaretDownFillIcon","onKeyPress","_getItemProps","role","ariaSelected","itemProps","Option","UnsafeInternalItem","isChecked","getBorderColor","Checkbox","_ref$hitSlop","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","_ref$validYearMinLeng","validYearMinLength","arrayParts","isEverythingUndefined","every","v","isEverythingDefined","Boolean","nextValue","Date","isValidYear","setDate","setMonth","setFullYear","setMinutes","setHours","setSeconds","setMilliseconds","isMinDateAfterNextValue","getTime","isMaxDateBeforeNextValue","stringToNumber","parsedText","getCurrentInternalForcedState","InputPart","PartContainer","KeyboardDatePicker","monthRef","yearRef","defaultValue","defaultDay","getDate","defaultMonth","defaultYear","_useReducer","useReducer","_useReducer2","dispatch","sharedInputPartProps","handleDatePartChange","handleAutoFocusNextField","currentFieldValue","nextFieldRef","nativeEvent","_monthRef$current","_yearRef$current","DatePicker","DocumentPicker","onDocumentUpload","documentPickerOptions","childElement","only","handlePickDocument","_childElement$props$o","_childElement$props","result","call","getDocumentAsync","multiple","canceled","assets","file","FilePicker","ImagePicker","onImageSelected","imagePickerOptions","handlePickImage","launchImageLibraryAsync","allowsMultipleSelection","GoogleMapsApiKeyContext","GoogleMapsApiKeyProvider","apiKey","useGoogleMapApiKey","context","useGoogleMapsApi","autoCompleteServiceInstanceRef","placesServiceInstanceRef","loader","Loader","libraries","loadMapsApi","_loadMapsApi","placeApi","_callee$","importLibrary","AutocompleteService","PlacesService","createElement","getPlacePredictions","promise","Promise","resolve","_autoCompleteServiceI","predictions","status","google","maps","places","PlacesServiceStatus","OK","results","placesService","getDetails","placeId","_placesServiceInstanc","place","googleMapsAutocompleteReducer","hasSearchError","isLoadingSearch","payload","hasSelectResultError","isLoadingResultDetails","currentSelectedValue","getOrCallValue","data","findComponentByType","components","find","matchStreetNumberWithOriginalAddress","streetNumber","address","exec","_ref2$","number","_ref2$2","extension","formatAddressFromGoogle","placeResult","originalAddress","_placeResult$geometry","_placeResult$geometry2","_findComponentByType","_findComponentByType2","_findComponentByType3","_findComponentByType4","_findComponentByType5","_findComponentByType6","_findComponentByType7","_findComponentByType8","_placeResult$address_","address_components","addressComponents","lat","geometry","location","lng","locality","long_name","subLocality","zipcode","streetName","country","administrativeAreaLevel1","administrativeAreaLevel2","GoogleMapsAutocompleteContext","shouldDisplayEmptyStateWhenNoResults","GoogleMapsAutocompleteProvider","_ref$minCharsToSearch","minCharsToSearch","_ref$debounceTimeout","debounceTimeout","mapsApi","searchResultsCache","resultDetailsCache","handleInputChange","useDebouncedCallback","useCallback","predictionsPromise","_yield$predictionsPro","handleSelectItem","_callee2","placePromise","formattedAddress","_context2","place_id","then","description","api","useGoogleMapsAutocomplete","InputAddressOption","MapPinRegularIcon","structured_formatting","main_text","secondary_text","defaultItemToString","formatInitialValueToAutocompletePrediction","reference","terms","matched_substrings","join","main_text_matched_substrings","InputAddress","_ref$itemToString","_useGoogleMapsAutocom","formattedInitialValue","InputEmail","autoCapitalize","getColorFromState","InputFeedback","InputField","label","labelFeedback","feedback","InputIban","InputNumber","event","parseFloat","InputPassword","isPasswordDefaultVisible","isVisible","setIsVisible","secureTextEntry","EyeClosedRegularIcon","EyeRegularIcon","isPhoneNumberValid","isValidNumber","phoneNumberLength","InputPhone","_ref$phoneNumberLengt","currentEnterKeyHint","parseNumber","phone","finalPhoneNumber","eventWithoutCountryCode","countryCode","getCountryCallingCode","originalNativeEventText","InputTag","Label","htmlFor","InnerCircle","OuterCircle","Radio","focusable","getCurrentBackgroundColor","getCurrentBorderColor","isFirst","borderTopLeftRadius","borderBottomLeftRadius","borderTopRightRadius","borderBottomRightRadius","borderLeftWidth","HoverBorder","shouldDisplayBorder","RadioButton","RadioButtonGroupItem","RadioButtonGroup","flexWrap","clone","TextArea","_props$value","_props$value2","helper","limit","shouldDisplayLimit","isLimitReached","limitContainerAnimatedStyle","useAnimatedStyle","translateX","withSpring","checkIconAnimatedStyle","withTiming","textAlignVertical","handleOnChange","_props$onChange","Animated","CheckCircleFillIcon","FullscreenModalBody","shouldHandleBottomNotch","shouldHandleTopNotch","_useSafeAreaInsets","useSafeAreaInsets","FullscreenModalFooter","_ref$shouldHandleBott","borderTopColor","slideInFromBottomEnter","slideInFromBottomEnterActive","slideInFromBottomExit","slideInFromBottomExitActive","slideInClassNames","FullscreenModalAnimation","FullscreenModalBehaviour","FullscreenModalContainer","FullscreenModalHeader","isTransparent","_ref$shouldHandleTopN","hasRight","hasLeft","hasContent","borderBottomColor","FullscreenModal","AnimatedCaret","isExpanded","AnimatedContent","contentHeight","containerAnimatedStyles","caretAnimatedStyles","contentAnimatedStyles","Highlight","_ref$canCollapse","canCollapse","_ref$isInitialCollaps","isInitialCollapsed","_ref$icon","setIsExpanded","_useState3","_useState4","setContentHeight","_useState5","_useState6","setIsInitialRender","highlightStyle","spaceBetween","contentMarginY","handleLayout","layoutHeight","newContentHeight","ellipsizeMode","CaretDownRegularIcon","onLayout","Background","AnimatedBackground","_theme$kitt$iconButto","scaleHover","scalePressed","AnimatedScale","currentHoverScale","currentPressedScale","opacityStyles","scaleStyles","getIconButtonTextColorByColor","IconButton","_ref$color","ariaLabel","isCurrentHovered","isCurrentPressed","CloseIconButton","XRegularIcon","KittMapConfigProviderContext","KittMapConfigProvider","mapId","apiToken","providerValue","useKittMapConfig","ListItemContent","ListItemSideContainer","_ref$side","side","ListItemSideContent","_ref2$align","ListItem","withPadding","borders","Wrapper","Fragment","wrapperProps","SideContent","SideContainer","SCALE_DURATION","TRANSLATE_Y_DURATION","Easing","linear","MapMarkerVariantEnum","StaticMapMarker","animatedStyle","styles","CLOSE_MEETING_POINT","ClosemeetingPointMarkerSvg","svgWidth","HOME","svgHeight","containerWidth","containerHeight","_theme$mapMarker$shad","shadowWidth","shadowHeight","MEETING_POINT","MeetingPointMarkerSvg","HomeMarkerSvg","ShadowSvg","MapMarker","IconContent","WarningCircleRegularIcon","CheckRegularIcon","WarningRegularIcon","InfoRegularIcon","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","numColumns","ListHeaderComponentStyle","ListFooterComponentStyle","_ref$keyExtractor","keyExtractor","renderItem","Array","prototype","separators","NavigationModalBehaviour","AnimationComponent","shouldAppear","setShouldAppear","handleEnter","handleExit","NavigationModal","Notification","pageLoaderContainer","PageLoader","_theme$kitt$pageLoade","center","circlePerimeter","PI","cx","cy","strokeDasharray","strokeDashoffset","strokeLinecap","stroke","PickerItem","PickerOption","webUseSelectReducer","actionAndChanges","options","useSelect","ItemClick","keepOpenOnChange","Picker","renderTrigger","triggerViewProps","_ref$keepOpenOnChange","initialValueIndex","indexOf","_useSelect","initialIsOpen","onIsOpenChange","onSelectedItemChange","onPressTrigger","restToggleProps","_useFloating","useFloating","placement","strategy","whileElementsMounted","autoUpdate","middleware","offset","x","y","floating","tooltipY","tooltipX","_getMenuProps","menuRef","myRef","currentRef","visibility","SegmentedProgressBar","_ref$currentStep","currentStep","stepsCount","_ref$colorVariant","colorVariant","withCurrentInProgress","fillColor","steps","_toConsumableArray","from","stepNumber","isSegmentCurrentInProgress","Stripes","skeletonWithoutAnimation","SkeletonContent","Skeleton","_ref$isLoading","setWidth","Bar","Circle","Square","getStaticMapImageUrl","mapWidth","mapHeight","is2x","centerPart","zoom","sizePart","urlParts","mapImageUrl","URL","searchParams","append","useGetStaticMapImageUrl","forceMapId","forceApiToken","_useKittMapConfig","currentUrl","setCurrentUrl","currentMapIdRef","currentApiTokenRef","newUrl","StaticMapError","onReload","ArrowCounterClockwiseRegularIcon","StaticMapImage","onLoadEnd","onError","StaticMapLoader","getRangedWidthValue","nextWidth","rangedMapWidth","getShouldDisplay2x","devicePixelRatio","mapBoxMaxPictureWidth","getPictureWidth","StaticMap","_ref$width","marker","onLoaded","currentWidth","setCurrentWidth","hasError","setHasError","_useState7","_useState8","currentMapKey","setCurrentMapKey","shouldDisplay2xImage","mapUrl","handleParentLayout","KITT_MAP_CHROMATIC_IGNORE","handleImageLoadEnd","handleError","handleReload","Marker","Flex","_ref$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","_ref$breakpoint","breakpoint","_defineProperty","StoryGridCol","_ref10","titleColor","_ref10$platform","StoryGrid","Row","Col","useKittTheme","useTabBarItemColor","isActive","_useKittTheme","useTabBarIndicatorColor","_useKittTheme2","TabBarItem","_ref$isActive","typographyColor","indicatorColor","TabBar","tabs","_ref$initialActiveTab","initialActiveTabIndex","renderTabItem","onChangeTab","activeTabIndex","setActiveTabIndex","tabItems","tab","itemsRefs","scrollViewStyles","showsHorizontalScrollIndicator","node","_child$props$onPress","_child$props","scrollIntoView","inline","block","getTypography","typeToColor","Tag","tagColor","keepHoursInterval","hours","getDisplayedHours","keepMinutesInterval","minutes","getDisplayedMinutes","minutesWithinInterval","getInitialInputValueFromDateValue","date","getHours","getMinutes","TimePicker","_ref2$placeholder","validateButtonLabel","isDefaultVisible","modalTestID","pickerTestID","setInputValue","currentInputValue","_currentInputValue$sp","split","_currentInputValue$sp2","nextDate","sanitizedValue","replace","_sanitizedValue$split","_sanitizedValue$split2","currentHours","currentMinutes","handleBlur","Arrow","TooltipArrowImage","TooltipContent","getShouldRenderArrow","isTooltipFullWidth","isBase","useShouldRenderArrow","getHasArrowEnoughSpace","arrowCenterOffset","Tooltip","_middlewareData$arrow","_middlewareData$arrow2","_middlewareData$arrow3","_middlewareData$arrow4","defaultVisible","_ref$position","fullWidth","onToggle","_ref$renderPressable","renderPressable","pressableProps","onUpdate","isCursorOnTooltip","setIsCursorOnTooltip","arrowRef","currentFloatingPadding","autoPlacement","allowedPlacements","shift","crossAxis","update","refs","middlewareData","centerOffset","shouldRenderArrow","hasArrowEnoughSpace","sharedArrowProps","useOnClickOutside","handlePressOutside","handleDisplayTooltip","handleMouseEnter","handleMouseLeave","themePart","transformOrigin","handleHideTooltip","pointerEvents","onTouchStart","onTouchEnd","onMouseEnter","onMouseLeave","getTypographyTypeConfig","calcSizesFromType","TypographyEmoji","_ref3$type","displayUnderline","displayUnderlineWhenHovered","TypographyLinkWebWrapper","hasNoUnderline","TypographyLink","noUnderline","underline","dataSet","cursor","KittThemeProvider","KittThemeDecorator","makeDecorator","parameterName","wrapper","_parameters$isSSR","_ref2$options","_ref2$parameters","StyleWebWrapper","matchWindowSize","hasWidthMatched","hasHeightMatched","useMatchWindowSize","_useWindowDimensions","useWindowDimensions","MatchWindowSize","matchWindowSizeOptions","match","SwitchBreakpoints","useCurrentBreakpointName","useStepAnimations","isDone","animated","isNextDone","checkmarkAnimatedValue","useSharedValue","progressBarAnimatedValue","STAGGER_DELAY","withDelay","checkmarkAnimatedStyles","progressBarAnimatedStyles","scaleY","interpolate","AnimatedView","createAnimatedComponent","BorderlessStep","_useStepAnimations","backgroundColors","IconStatus","StepIcon","_ref2$state","Step","_ref$index","_ref$state","_ref$isLast","_ref$isFirst","_ref$shouldDisableNex","shouldDisableNextLink","getStepState","activeIndex","VerticalSteps","clonedArray","aChild","step","newProps"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.es.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/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/mapMarker.ts","../src/themes/late-ocean/pageLoader.ts","../src/themes/late-ocean/typography.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/forms/DocumentPicker/DocumentPicker.tsx","../src/forms/FilePicker/FilePicker.web.tsx","../src/forms/ImagePicker/ImagePicker.tsx","../src/GoogleMapsApiKeyProvider/GoogleMapsApiKeyProvider.tsx","../src/GoogleMapsApiKeyProvider/hooks/useGoogleMapApiKey.ts","../src/GoogleMapsAutocompleteProvider/hooks/useGoogleMapsApi.web.ts","../src/GoogleMapsAutocompleteProvider/reducer/googleMapsAutocompleteReducer.ts","../src/utils/functions.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/InputIban/InputIban.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/AnimatedCaret/AnimatedCaret.web.tsx","../src/Highlight/AnimatedContainer/AnimatedContainer.web.tsx","../src/Highlight/AnimatedContent/AnimatedContent.web.tsx","../src/Highlight/hooks/useNativeAnimation.web.ts","../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/close-meeting-point-marker.inline.svg","../src/MapMarker/assets/home-marker.inline.svg","../src/MapMarker/assets/meeting-point-marker.inline.svg","../src/MapMarker/assets/shadow.inline.svg","../src/MapMarker/hooks/useNativeAnimation.ts","../src/MapMarker/utils/getBackgroundColor.ts","../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/useKittTheme.tsx","../src/TabBar/TabBarItem.tsx","../src/TabBar/TabBar.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/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/Step.animations.ts","../src/VerticalSteps/BorderlessStep.tsx","../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","import type { IntRange } from 'type-fest';\n\ntype KittColorScaleNumber = IntRange<1, 13>;\ntype KittColorScale = { [K in KittColorScaleNumber]: string };\n\nconst createColorScale = <const T extends KittColorScale>(colorScale: T): T => colorScale;\n\nexport const colorScales = {\n eggshell: createColorScale({\n 1: '#faf9f8',\n 2: '#f4f3ef',\n 3: '#ebe9e5',\n 4: '#dedad2',\n 5: '#d1cdc5',\n 6: '#bab8ae',\n 7: '#aeaba3',\n 8: '#9c9a92',\n 9: '#8e8c83',\n 10: '#74726a',\n 11: '#3e3d3a',\n 12: '#282826',\n }),\n violine: createColorScale({\n 1: '#f8f7ff',\n 2: '#f2f0ff',\n 3: '#ebe8ff',\n 4: '#d5cfff',\n 5: '#bfb5ff',\n 6: '#a99cff',\n 7: '#9180ff',\n 8: '#7b66ff',\n 9: '#624af7',\n 10: '#5139e1',\n 11: '#3a26b5',\n 12: '#0a0428',\n }),\n lavender: createColorScale({\n 1: '#fdf7ff',\n 2: '#fcf2ff',\n 3: '#FAEBFF',\n 4: '#f8e3ff',\n 5: '#f4d6ff',\n 6: '#efc2ff',\n 7: '#d298ff',\n 8: '#b97aff',\n 9: '#ac5ff9',\n 10: '#9d4ced',\n 11: '#6b347e',\n 12: '#290a34',\n }),\n blue: createColorScale({\n 1: '#f7faff',\n 2: '#f0f5ff',\n 3: '#e8f0ff',\n 4: '#d4e0ff',\n 5: '#baceff',\n 6: '#a1bbff',\n 7: '#87a9ff',\n 8: '#6e96ff',\n 9: '#5383ff',\n 10: '#4170eb',\n 11: '#0e4381',\n 12: '#061c36',\n }),\n raspberry: createColorScale({\n 1: '#fff7fa',\n 2: '#fff0f5',\n 3: '#ffe8ef',\n 4: '#f0c7d4',\n 5: '#f0afc4',\n 6: '#f097b3',\n 7: '#f07fa3',\n 8: '#d95d84',\n 9: '#cf2a60',\n 10: '#c12558',\n 11: '#61192e',\n 12: '#29040f',\n }),\n coral: createColorScale({\n 1: '#fff7f7',\n 2: '#fff0f0',\n 3: '#ffe8e8',\n 4: '#ffcfcf',\n 5: '#ffb5b5',\n 6: '#ff9c9c',\n 7: '#f57d7d',\n 8: '#eb6565',\n 9: '#e55050',\n 10: '#da3d3d',\n 11: '#8a2b1e',\n 12: '#330c07',\n }),\n sun: createColorScale({\n 1: '#fffdf7',\n 2: '#fffbf0',\n 3: '#fff6de',\n 4: '#ffefc4',\n 5: '#ffe8ab',\n 6: '#ffe191',\n 7: '#ffda78',\n 8: '#ffd35e',\n 9: '#fdc32d',\n 10: '#f3a40c',\n 11: '#9f5600',\n 12: '#341c00',\n }),\n green: createColorScale({\n 1: '#f9fff9',\n 2: '#e9ffeb',\n 3: '#d3fbd7',\n 4: '#bffbc5',\n 5: '#96f4b0',\n 6: '#7fefac',\n 7: '#21e8a3',\n 8: '#08d48e',\n 9: '#00c381',\n 10: '#00ac72',\n 11: '#0e8159',\n 12: '#03291c',\n }),\n} as const;\n\ntype ColorScaleTokens = {\n [K in keyof typeof colorScales as `${K}.${KittColorScaleNumber}`]: (typeof colorScales)[K][KittColorScaleNumber];\n};\n\nconst transformColorScalesToTokens = (): ColorScaleTokens => {\n return Object.fromEntries(\n Object.entries(colorScales).flatMap(([colorName, colorScale]) => {\n return Object.entries(colorScale).map(([scaleNumber, colorValue]) => {\n return [`${colorName}.${scaleNumber}`, colorValue];\n });\n }),\n ) as ColorScaleTokens;\n};\n\nexport const lateOceanColorPalette = {\n ...transformColorScalesToTokens(),\n\n /** @deprecated use violine.9 instead */\n lateOcean: colorScales.violine[9],\n /** @deprecated use violine.8 instead */\n lateOceanLight1: colorScales.violine[8],\n /** @deprecated use violine.6 instead */\n lateOceanLight2: colorScales.violine[6],\n /** @deprecated use lavender.6 instead */\n lateOceanLight3: colorScales.lavender[6],\n /** @deprecated use violine.12 instead */\n lateOceanDark1: colorScales.violine[12],\n\n /** @deprecated use lavender.5 instead */\n warmEmbrace: colorScales.lavender[5],\n /** @deprecated use lavender.3 instead */\n warmEmbraceLight1: colorScales.lavender[3],\n\n white: '#FFFFFF',\n black: '#000000',\n\n /** @deprecated use black instead */\n black1000: '#000000',\n /** @deprecated use eggshell.11 instead */\n black800: colorScales.eggshell[11],\n /** @deprecated use eggshell.10 instead */\n black555: colorScales.eggshell[10],\n /** @deprecated use eggshell.7 instead */\n black400: colorScales.eggshell[7],\n /** @deprecated use eggshell.4 instead */\n black200: colorScales.eggshell[4],\n /** @deprecated use eggshell.3 instead */\n black100: colorScales.eggshell[3],\n /** @deprecated use eggshell.2 instead */\n black50: colorScales.eggshell[2],\n /** @deprecated use eggshell.1 instead */\n black25: colorScales.eggshell[1],\n\n /** @deprecated use green.8 instead */\n viride: colorScales.green[8],\n /** @deprecated use coral.7 instead */\n englishVermillon: colorScales.coral[7],\n /** @deprecated use sun.8 instead */\n goldCrayola: colorScales.sun[8],\n /** @deprecated use blue.8 instead */\n aero: colorScales.blue[8],\n /** @deprecated use eggshell.1 instead */\n seaShell: colorScales.eggshell[1],\n\n transparent: 'transparent',\n\n /** @deprecated use violine.4 instead */\n moonPurple: colorScales.violine[4],\n /** @deprecated use violine.2 instead */\n moonPurpleLight1: colorScales.violine[2],\n};\n","import { lateOceanColorPalette } from '../palettes/lateOceanColorPalette';\n\nexport const colors = {\n primary: lateOceanColorPalette['violine.9'],\n primaryLight: lateOceanColorPalette['violine.8'],\n accent: lateOceanColorPalette['lavender.5'],\n accentLight: lateOceanColorPalette['lavender.3'],\n success: lateOceanColorPalette['green.8'],\n correct: lateOceanColorPalette['green.8'],\n danger: lateOceanColorPalette['coral.8'],\n info: lateOceanColorPalette['blue.8'],\n warning: lateOceanColorPalette['sun.8'],\n separator: lateOceanColorPalette['eggshell.3'],\n hover: lateOceanColorPalette['eggshell.3'],\n white: lateOceanColorPalette.white,\n black: lateOceanColorPalette.black,\n blackDisabled: lateOceanColorPalette['eggshell.7'],\n blackLight: lateOceanColorPalette['eggshell.10'],\n blackAnthracite: lateOceanColorPalette['eggshell.11'],\n uiBackground: lateOceanColorPalette['eggshell.1'],\n uiBackgroundLight: lateOceanColorPalette.white,\n transparent: lateOceanColorPalette.transparent,\n disabled: lateOceanColorPalette['eggshell.2'],\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['eggshell.2'],\n borderColor: lateOceanColorPalette['eggshell.3'],\n borderWidth: 1,\n shadow: {\n color: lateOceanColorPalette['eggshell.3'],\n offsetX: 0,\n offsetY: 4,\n opacity: 1,\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['eggshell.2'],\n borderColor: lateOceanColorPalette['eggshell.3'],\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: 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['eggshell.2'],\n borderColor: lateOceanColorPalette['eggshell.3'],\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 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['eggshell.2'],\n borderColor: lateOceanColorPalette['eggshell.3'],\n borderWidth: 1,\n shadow: {\n color: lateOceanColorPalette['eggshell.3'],\n offsetX: 0,\n offsetY: 4,\n opacity: 1,\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['eggshell.2'],\n borderColor: lateOceanColorPalette['eggshell.3'],\n borderWidth: 1,\n shadow: {\n color: lateOceanColorPalette['eggshell.3'],\n offsetX: 0,\n offsetY: 4,\n opacity: 1,\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 dark: 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['eggshell.3'],\n },\n dark: {\n backgroundColor: lateOceanColorPalette['eggshell.12'],\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 minHeight: 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 minHeight: 280,\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: 80,\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 type { InputUIState } from '../../forms/utils';\nimport { lateOceanColorPalette } from '../palettes/lateOceanColorPalette';\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: lateOceanColorPalette.white,\n borderColor: lateOceanColorPalette['eggshell.4'],\n color: lateOceanColorPalette.black,\n },\n pending: {\n backgroundColor: lateOceanColorPalette.white,\n borderColor: lateOceanColorPalette['eggshell.3'],\n color: lateOceanColorPalette.black,\n },\n valid: {\n backgroundColor: lateOceanColorPalette.white,\n borderColor: lateOceanColorPalette['eggshell.4'],\n color: lateOceanColorPalette.black,\n },\n hover: {\n backgroundColor: lateOceanColorPalette['eggshell.1'],\n borderColor: lateOceanColorPalette['eggshell.5'],\n color: lateOceanColorPalette.black,\n },\n focus: {\n borderColor: lateOceanColorPalette['violine.9'],\n color: lateOceanColorPalette.black,\n },\n disabled: {\n backgroundColor: lateOceanColorPalette['eggshell.2'],\n borderColor: lateOceanColorPalette['eggshell.4'],\n color: lateOceanColorPalette['eggshell.6'],\n },\n invalid: {\n borderColor: lateOceanColorPalette['eggshell.3'],\n color: lateOceanColorPalette.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 properties: 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 webAnimationProperties = ['border-color', 'background-color'];\n\nexport const input: InputTheme = {\n minHeight: 40,\n color: {\n selection: lateOceanColorPalette['violine.9'],\n placeholder: lateOceanColorPalette['eggshell.9'],\n },\n borderWidth: 1,\n borderRadius: 8,\n icon: {\n size: 20,\n },\n rightContainer: {\n padding: 16,\n },\n padding: {\n horizontal: 16,\n vertical: 6,\n },\n transition: {\n properties: webAnimationProperties,\n duration: webAnimationDuration,\n timingFunction: webAnimationTimingFunction,\n },\n states: inputStatesStyle,\n};\n","export const inputField = {\n containerPaddingTop: 5,\n containerPaddingBottom: 10,\n feedbackPaddingTop: 4,\n labelContainerPaddingBottom: 4,\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 default: {\n backgroundColor: string;\n };\n hover: {\n backgroundColor: string;\n };\n}\n\nexport interface HighlightTheme {\n borderRadius: number;\n padding: {\n medium: number;\n large: number;\n };\n regular: HighlightThemeType;\n primary: HighlightThemeType;\n secondary: HighlightThemeType;\n ghost: HighlightThemeType;\n dark: HighlightThemeType;\n}\n\nexport const highlight: HighlightTheme = {\n borderRadius: spacing * 2,\n /** @deprecated use primary instead */\n regular: {\n default: {\n backgroundColor: colors.accentLight,\n },\n hover: {\n backgroundColor: colors.accentLight,\n },\n },\n primary: {\n default: {\n backgroundColor: lateOceanColorPalette['lavender.3'],\n },\n hover: {\n backgroundColor: lateOceanColorPalette['lavender.5'],\n },\n },\n secondary: {\n default: {\n backgroundColor: lateOceanColorPalette['violine.2'],\n },\n hover: {\n backgroundColor: lateOceanColorPalette['violine.4'],\n },\n },\n ghost: {\n default: {\n backgroundColor: lateOceanColorPalette.white,\n },\n hover: {\n backgroundColor: lateOceanColorPalette['eggshell.2'],\n },\n },\n dark: {\n default: {\n backgroundColor: lateOceanColorPalette['eggshell.3'],\n },\n hover: {\n backgroundColor: lateOceanColorPalette['eggshell.2'],\n },\n },\n padding: {\n medium: spacing * 4,\n large: spacing * 6,\n },\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 MapMarkerTheme {\n home: {\n default: string;\n selected: string;\n container: {\n width: number;\n height: number;\n };\n svg: {\n width: number;\n height: number;\n };\n };\n meetingPoint: {\n default: string;\n selected: string;\n container: {\n width: number;\n height: number;\n };\n svg: {\n width: number;\n height: number;\n };\n };\n shadow: {\n width: number;\n height: number;\n };\n}\n\nexport const mapMarker: MapMarkerTheme = {\n home: {\n default: colors.primaryLight,\n selected: colors.primary,\n svg: {\n width: 33,\n height: 36,\n },\n container: {\n width: 34,\n height: 38,\n },\n },\n meetingPoint: {\n default: colors.black,\n selected: colors.blackAnthracite,\n svg: {\n width: 41,\n height: 43,\n },\n container: {\n width: 40,\n height: 45,\n },\n },\n shadow: {\n width: 12,\n height: 4,\n },\n};\n","import { colors } from './colors';\n\nexport interface PageLoaderTheme {\n size: number;\n strokeWidth: number;\n colors: {\n base: string;\n fill: string;\n };\n animation: {\n delay: number;\n circleBackgroundFillDuration: number;\n filledCircleFillDuration: number;\n groupFilledCircleRotationDuration: number;\n filledCircleRotationDuration: number;\n fillEasingFunction: [number, number, number, number];\n };\n}\n\nexport const 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 { 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-Bold',\n bold: 'Moderat-Bold',\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-Bold',\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 { 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","export interface TagThemeBorderWidth {\n borderWidth: number;\n}\n\nexport interface TagSize {\n paddingRight: number;\n paddingLeft: number;\n height: number;\n}\n\nexport interface TagTheme {\n borderRadius: number;\n fill: TagThemeBorderWidth;\n outline: TagThemeBorderWidth;\n icon: {\n small: number;\n medium: number;\n large: number;\n };\n withIcon: {\n small: TagSize;\n medium: TagSize;\n large: TagSize;\n };\n withoutIcon: {\n small: TagSize;\n medium: TagSize;\n large: TagSize;\n };\n}\n\nexport const tag: TagTheme = {\n borderRadius: 16,\n icon: {\n small: 16,\n medium: 16,\n large: 20,\n },\n withIcon: {\n small: {\n paddingLeft: 2,\n paddingRight: 8,\n height: 20,\n },\n medium: {\n paddingLeft: 4,\n paddingRight: 8,\n height: 24,\n },\n large: {\n paddingLeft: 6,\n paddingRight: 8,\n height: 32,\n },\n },\n withoutIcon: {\n small: {\n paddingLeft: 8,\n paddingRight: 8,\n height: 20,\n },\n medium: {\n paddingLeft: 8,\n paddingRight: 8,\n height: 22,\n },\n large: {\n paddingLeft: 8,\n paddingRight: 8,\n height: 28,\n },\n },\n fill: {\n borderWidth: 0,\n },\n outline: {\n borderWidth: 1,\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 { mapMarker } from './late-ocean/mapMarker';\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 mapMarker,\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 type { ViewProps } from '../native-base/primitives';\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 borderRadius: ViewProps['borderRadius'];\n children: ReactNode;\n}\n\nexport function ActionCardContentWrapper({\n isHovered,\n isPressed,\n isFocused,\n variant,\n borderVariant = 'none',\n borderRadius,\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={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 type { ViewProps } from '../native-base/primitives';\nimport { View } from '../native-base/primitives';\nimport type { ActionCardVariantType } from './types';\n\ninterface ActionCardDisabledProps {\n variant: ActionCardVariantType;\n children: ReactNode;\n borderRadius: ViewProps['borderRadius'];\n}\n\nexport function ActionCardDisabled({ variant, children, borderRadius }: ActionCardDisabledProps): ReactNode {\n return (\n <View\n borderRadius={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 shadow={`kitt.actionCard.${variant}.disabled.shadow`}\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 borderRadius = 'kitt.actionCard.borderRadius',\n disabled,\n isHovered,\n isPressed,\n isFocused,\n ...props\n}: ActionCardProps): ReactNode {\n return (\n <View {...props}>\n {disabled ? (\n <ActionCardDisabled borderRadius={borderRadius} variant={variant}>\n {children}\n </ActionCardDisabled>\n ) : (\n <ActionCardContentWrapper\n borderRadius={borderRadius}\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<\n PressableProps,\n 'testID' | 'href' | 'hrefAttrs' | 'accessibilityRole' | 'onPress' | 'onHoverIn' | 'onHoverOut' | 'onFocus'\n > {\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 borderRadius = 'kitt.actionCard.borderRadius',\n disabled,\n testID,\n href,\n hrefAttrs,\n accessibilityRole = 'button',\n isHoveredInternal,\n isPressedInternal,\n isFocusedInternal,\n onPress,\n onHoverIn,\n onHoverOut,\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 onHoverIn={onHoverIn}\n onHoverOut={onHoverOut}\n >\n {({ isHovered, isPressed, isFocused }) => (\n <ActionCard\n variant={variant}\n borderVariant={borderVariant}\n borderRadius={borderRadius}\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 { SpinnerGapRegularIcon } from '@ornikar/kitt-icons/phosphor';\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={<SpinnerGapRegularIcon />} />;\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 { UserRegularIcon } from '@ornikar/kitt-icons/phosphor';\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 width?: number;\n height?: number;\n isLight?: boolean;\n sizeVariant?: AvatarSizeVariant;\n}\n\nfunction AvatarContent({\n size,\n src,\n firstname,\n lastname,\n alt,\n isLight,\n sizeVariant,\n width,\n height,\n}: AvatarContentProps): ReactNode {\n if (src) {\n return <Image source={{ uri: src }} width={width || size} height={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={<UserRegularIcon />} 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 dark?: boolean;\n sizeVariant?: AvatarSizeVariant;\n width?: number;\n height?: number;\n}\n\nexport function Avatar({ size, round, light, sizeVariant, width, height, dark, ...props }: AvatarProps): ReactNode {\n const currentSize = getCurrentSize({ size, sizeVariant });\n const currentBorderRadius = getCurrentRadius({ size, sizeVariant, round });\n\n let backgroundColor = 'kitt.avatar.default.backgroundColor';\n if (light) {\n backgroundColor = 'kitt.avatar.light.backgroundColor';\n } else if (dark) {\n backgroundColor = 'kitt.avatar.dark.backgroundColor';\n }\n\n return (\n <View\n overflow=\"hidden\"\n alignItems=\"center\"\n justifyContent=\"center\"\n width={width || currentSize}\n height={height || currentSize}\n borderRadius={currentBorderRadius}\n backgroundColor={backgroundColor}\n >\n <AvatarContent\n height={height}\n width={width}\n size={currentSize}\n isLight={light}\n sizeVariant={sizeVariant}\n {...props}\n />\n </View>\n );\n}\n","import type { BottomSheetModalMethods } from '@gorhom/bottom-sheet/lib/typescript/types';\nimport type { ForwardRefExoticComponent, RefAttributes } from 'react';\nimport { forwardRef } from 'react';\nimport type { BottomSheetProps } from './BottomSheet';\n\nfunction BottomSheetComponent(): null {\n // noop\n return null;\n}\n\nexport const BottomSheet = forwardRef(BottomSheetComponent) as ForwardRefExoticComponent<\n Pick<BottomSheetProps, 'children' | 'hasScrollView' | 'hasHandle' | 'hasBackdrop'> &\n RefAttributes<BottomSheetModalMethods>\n> & { View: () => void };\n\nBottomSheet.View = function View(): null {\n return null;\n};\n","import type { BottomSheetModalMethods } from '@gorhom/bottom-sheet/lib/typescript/types';\nimport type { RefObject } from 'react';\nimport { useRef } from 'react';\n\nexport function useBottomSheet(): RefObject<BottomSheetModalMethods> {\n const ref = useRef<BottomSheetModalMethods>(null);\n\n return ref;\n}\n","import type { BottomSheetModalMethods } from '@gorhom/bottom-sheet/lib/typescript/types';\nimport type { ElementType, ReactNode, RefObject } from 'react';\nimport { useMemo, useRef } from 'react';\nimport type { BottomSheetProps } from './BottomSheet';\nimport { BottomSheet } from './BottomSheet';\n\ninterface BottomSheetRef<T> extends BottomSheetModalMethods {\n present: (bottomSheetComponenProps: T) => void;\n}\n\ntype ReducedBottomSheetProps = Pick<BottomSheetProps, 'hasScrollView'>;\n\n// This is used to fix:\n// React.ComponentProps<O> -> if O is a function component without any props it will return unknown but we want to have undefined\ntype IsExact<T, U> = [T] extends [U] ? ([U] extends [T] ? true : false) : false;\n\ntype BottomSheetComponentProps<O extends ElementType> = IsExact<React.ComponentProps<O>, unknown> extends true\n ? undefined\n : React.ComponentProps<O>;\n\nexport function useStaticBottomSheet<T extends ElementType>(\n Content: T,\n): {\n bottomSheetRef: RefObject<BottomSheetRef<BottomSheetComponentProps<T>>>;\n BottomSheet: (props: ReducedBottomSheetProps) => ReactNode;\n} {\n const bottomSheetRef = useRef<BottomSheetRef<BottomSheetComponentProps<T>>>(null);\n\n const BottomSheetMemoized = useMemo(\n () =>\n function renderBottomSheet(props: ReducedBottomSheetProps) {\n return (\n <BottomSheet {...props} ref={bottomSheetRef}>\n {Content as ReactNode}\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, useRef } from 'react';\nimport { Portal } from 'react-portal';\nimport type { ModalBehaviourPortalProps } from './ModalBehaviourPortal';\n\nconst overflowHidden = css`\n overflow: hidden;\n`;\n\nfunction useBlockBodyScroll(shouldBlockScroll: boolean, isInitialRender: boolean): void {\n useEffect(() => {\n if (shouldBlockScroll) {\n document.body.classList.add(overflowHidden);\n } else if (!isInitialRender) {\n document.body.classList.remove(overflowHidden);\n }\n\n return () => {\n document.body.classList.remove(overflowHidden);\n };\n }, [shouldBlockScroll, isInitialRender]);\n}\n\nexport function ModalBehaviourPortal({ visible, children }: ModalBehaviourPortalProps): ReactNode {\n const isInitialRenderRef = useRef(true);\n useBlockBodyScroll(!!visible, isInitialRenderRef.current);\n\n isInitialRenderRef.current = false;\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 flexGrow={1}\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 maxHeight=\"100%\"\n _web={{ maxHeight: '100svh' }}\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 type { ModalBehaviourProps } from '../ModalBehaviour/ModalBehaviour';\nimport { ModalBehaviour } from '../ModalBehaviour/ModalBehaviour';\nimport type { CardModalAnimationProps } from './CardModalAnimation/CardModalAnimation';\nimport { CardModalAnimation } from './CardModalAnimation/CardModalAnimation';\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 <CardModalAnimation {...props} visible={visible} onExited={handleExitAnimationDone} onClose={onClose}>\n {children}\n </CardModalAnimation>\n </ModalBehaviour>\n );\n}\n","import type { ReactNode } from 'react';\nimport type { ScrollViewProps } from '../native-base/primitives';\nimport { ScrollView } from '../native-base/primitives';\n\nexport interface CardModalBodyProps extends ScrollViewProps {\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 <ScrollView showsVerticalScrollIndicator={false} _contentContainerStyle={{ paddingX, paddingY }} {...props}>\n {children}\n </ScrollView>\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 minHeight=\"kitt.cardModal.minHeight\"\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 { parse } from '@twemoji/parser';\nimport 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 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 accessibilityRole=\"link\"\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 {\n webAnimationDuration,\n webAnimationProperties,\n webAnimationTimingFunction,\n} 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: ${webAnimationProperties\n .map((property) => `${property} ${webAnimationDuration} ${webAnimationTimingFunction}`)\n .join(',')};\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 = 'text',\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 height={multiline ? undefined : 'kitt.forms.input.minHeight'}\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 } from 'react';\nimport { forwardRef } from 'react';\nimport type { GestureResponderEvent } from 'react-native';\nimport { Icon } from '../../Icon/Icon';\nimport { useTheme } from '../../KittThemeContext';\nimport { HStack } from '../../native-base/layout';\nimport type { PressableProps } from '../../native-base/primitives';\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 extends PressableProps {\n checked?: boolean;\n disabled?: boolean;\n onChange?: (checked: boolean, e: GestureResponderEvent) => void;\n}\n\nexport const Checkbox = forwardRef<PressableProps, CheckboxProps>(\n (\n { checked, hitSlop = 40, children, disabled, onChange, onBlur, onFocus, ...props }: CheckboxProps,\n ref,\n ): ReactElement => {\n const theme = useTheme();\n\n const handlePress = (e: GestureResponderEvent): void => {\n if (onFocus) onFocus();\n if (onChange) onChange(!checked, e);\n if (onBlur) onBlur();\n };\n\n return (\n <Pressable\n hitSlop={hitSlop}\n {...props}\n ref={ref}\n accessibilityRole=\"checkbox\"\n accessibilityState={{ checked: !!checked, disabled }}\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 ? (\n <View flexBasis=\"auto\" flexGrow={1} flexShrink={1}>\n {children}\n </View>\n ) : 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","import { isNumber } from './isNumber';\n\nexport function stringToNumber(text: string): number | undefined {\n if (text.length === 0) return undefined;\n const parsedText = parseInt(text, 10);\n if (isNumber(parsedText)) return parsedText;\n\n return undefined;\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 { DocumentPickerOptions } from 'expo-document-picker';\nimport { getDocumentAsync } from 'expo-document-picker';\nimport type { ComponentProps, ReactElement, ReactNode } from 'react';\nimport { Children, cloneElement } from 'react';\nimport type { Except } from 'type-fest';\n\ninterface ChildElementProps extends ComponentProps<any> {\n onPress?: () => void;\n}\n\nexport interface DocumentPickerProps {\n children: ReactElement<ChildElementProps>;\n disabled?: boolean;\n onDocumentUpload: (document: File) => void;\n documentPickerOptions?: Except<DocumentPickerOptions, 'multiple'>;\n}\n\nexport function DocumentPicker({\n onDocumentUpload,\n children,\n disabled,\n documentPickerOptions,\n}: DocumentPickerProps): ReactNode {\n const childElement = Children.only(children);\n\n const handlePickDocument = async (): Promise<void> => {\n if (disabled) return;\n\n childElement.props.onPress?.();\n\n const result = await getDocumentAsync({ ...documentPickerOptions, multiple: false });\n\n if (!result.canceled && result.assets[0].file) {\n onDocumentUpload(result.assets[0].file);\n }\n };\n\n return cloneElement(childElement, {\n // ensure that the press event is not prevented by Button component\n // eslint-disable-next-line @typescript-eslint/no-misused-promises\n onPress: handlePickDocument,\n disabled,\n });\n}\n","import type { ReactNode } from 'react';\nimport type { FilePickerProps } from './FilePicker';\n\nexport function FilePicker(props: FilePickerProps): ReactNode {\n throw new Error('FilePicker only works on native');\n}\n","import type { ImagePickerAsset, ImagePickerOptions } from 'expo-image-picker';\nimport { launchImageLibraryAsync } from 'expo-image-picker';\nimport { Children, cloneElement } from 'react';\nimport type { ComponentProps, ReactElement, ReactNode } from 'react';\nimport type { Except } from 'type-fest';\nimport { View } from '../../native-base/primitives';\n\ninterface ChildElementProps extends ComponentProps<any> {\n onPress?: () => void;\n}\n\nexport interface ImagePickerProps {\n children: ReactElement<ChildElementProps>;\n disabled?: boolean;\n onImageSelected: (asset: ImagePickerAsset) => void;\n imagePickerOptions?: Except<ImagePickerOptions, 'allowsMultipleSelection'>;\n}\n\nexport function ImagePicker({ onImageSelected, children, disabled, imagePickerOptions }: ImagePickerProps): ReactNode {\n const childElement = Children.only(children);\n\n const handlePickImage = async (): Promise<void> => {\n if (disabled) return;\n\n childElement.props.onPress?.();\n\n // No permissions request is necessary for launching the image library\n const result = await launchImageLibraryAsync({ ...imagePickerOptions, allowsMultipleSelection: false });\n\n if (!result.canceled) {\n onImageSelected(result.assets[0]);\n }\n };\n\n return (\n <View>\n {/* ensure that the press event is not prevented by Button component */}\n {cloneElement(childElement, {\n // eslint-disable-next-line @typescript-eslint/no-misused-promises\n onPress: handlePickImage,\n disabled,\n })}\n </View>\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","/**\n * Allows to retrieve a value from data or a getter of that data\n */\nexport function getOrCallValue<T>(data: T | (() => T) | undefined): T | undefined {\n if (typeof data === 'function') {\n // @ts-expect-error: we are sure to get a function here, so the error is totaly fine\n return data();\n }\n\n return data;\n}\n","import { getOrCallValue } from '../../utils/functions';\nimport 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: getOrCallValue(placeResult.geometry?.location.lat),\n lng: getOrCallValue(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 { MapPinRegularIcon } from '@ornikar/kitt-icons/phosphor';\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(4px)',\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={<MapPinRegularIcon />} 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' | 'inputMode' | '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 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 InputIbanProps extends Except<InputTextProps, 'autoCapitalize'> {}\n\nexport const InputIban = forwardRef<RNTextInput, InputIbanProps>((props: InputTextProps, ref): ReactElement => {\n return <InputText ref={ref} autoCapitalize=\"none\" {...props} />;\n});\n","import { forwardRef } from 'react';\nimport type { NativeSyntheticEvent, TextInput as RNTextInput, TextInputChangeEventData } from 'react-native';\nimport type { Except } from 'type-fest';\nimport type { InputTextProps } from '../InputText/InputText';\nimport { InputText } from '../InputText/InputText';\n\nexport interface InputNumberProps extends Except<InputTextProps, 'inputMode'> {}\n\nexport const InputNumber = forwardRef<RNTextInput, InputNumberProps>(({ onChange, ...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} inputMode=\"numeric\" onChange={handleChange} />;\n});\n","import { EyeClosedRegularIcon, EyeRegularIcon } 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 ? <EyeClosedRegularIcon /> : <EyeRegularIcon />} />\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, 'inputMode' | '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 { TypographyIcon } from '../../typography/TypographyIcon';\n\ntype InputTagType = 'success' | 'danger';\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 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=\"black\" />\n </View>\n ) : null}\n <Typography.Text base=\"body-small\" color=\"black\">\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 { CheckCircleFillIcon } from '@ornikar/kitt-icons/phosphor';\nimport { HStack, View } from 'native-base';\nimport type { ReactElement } from 'react';\nimport { forwardRef } from 'react';\nimport type { NativeSyntheticEvent, TextInput as RNTextInput, TextInputChangeEventData } from 'react-native';\nimport Animated, { useAnimatedStyle, withSpring, withTiming } from 'react-native-reanimated';\nimport { lateOceanColorPalette } from '../../themes/palettes/lateOceanColorPalette';\nimport { Typography } from '../../typography/Typography';\nimport { TypographyIcon } from '../../typography/TypographyIcon';\nimport type { InputTextProps } from '../InputText/InputText';\nimport { InputText } from '../InputText/InputText';\n\nexport interface TextAreaProps extends InputTextProps {\n limit?: number;\n helper?: string;\n}\n\nexport const TextArea = forwardRef<RNTextInput, TextAreaProps>(\n ({ helper, limit, ...props }: TextAreaProps, ref): ReactElement => {\n const shouldDisplayLimit = limit && limit > 0;\n const isLimitReached = props.value?.length === limit;\n const shouldDisplayLimitOrHelper = shouldDisplayLimit || helper;\n\n const limitContainerAnimatedStyle = useAnimatedStyle(\n () => ({\n transform: [{ translateX: withSpring(isLimitReached ? 0 : 12) }],\n marginLeft: 'auto',\n overflow: 'hidden',\n }),\n [isLimitReached],\n );\n\n const checkIconAnimatedStyle = useAnimatedStyle(\n () => ({\n opacity: withTiming(isLimitReached ? 1 : 0, { duration: 300 }),\n }),\n [isLimitReached],\n );\n\n const handleOnChange = (e: NativeSyntheticEvent<TextInputChangeEventData>): void => {\n if (!limit || e.nativeEvent.text.length <= limit) {\n props.onChange?.(e);\n }\n };\n\n return (\n <View>\n <InputText\n ref={ref}\n multiline\n textAlignVertical=\"top\"\n minHeight=\"kitt.forms.textArea.minHeight\"\n {...props}\n onChange={handleOnChange}\n />\n {shouldDisplayLimitOrHelper ? (\n <HStack marginTop=\"kitt.1\">\n {helper ? (\n <Typography.Text base=\"body-s\" color={lateOceanColorPalette['eggshell.10']}>\n {helper}\n </Typography.Text>\n ) : null}\n {shouldDisplayLimit ? (\n <Animated.View style={limitContainerAnimatedStyle}>\n <HStack alignItems=\"center\" space=\"kitt.1\">\n <Typography.Text base=\"body-xs\" variant=\"bold\" color={lateOceanColorPalette['eggshell.10']}>\n {props.value?.length || 0}/{limit}\n </Typography.Text>\n\n <Animated.View style={checkIconAnimatedStyle}>\n <TypographyIcon\n icon={<CheckCircleFillIcon />}\n size={13}\n color={lateOceanColorPalette['eggshell.10']}\n />\n </Animated.View>\n </HStack>\n </Animated.View>\n ) : null}\n </HStack>\n ) : null}\n </View>\n );\n },\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';\nimport type { AnimatedCaretProps } from './AnimatedCaret';\n\nexport function AnimatedCaret({ children, isHovered, isExpanded }: AnimatedCaretProps): ReactNode {\n return (\n <View\n _web={{\n style: {\n transform: `rotate(${isExpanded ? '180deg' : '0deg'}) translateY(${isHovered ? '2px' : '0'})`,\n transitionDuration: '300ms',\n transitionProperty: 'transform',\n transitionTimingFunction: 'ease',\n },\n }}\n >\n {children}\n </View>\n );\n}\n","import type { ReactNode } from 'react';\nimport { useTheme } from '../../KittThemeContext';\nimport { View } from '../../native-base/primitives';\nimport type { AnimatedContainerProps } from './AnimatedContainer';\n\nexport function AnimatedContainer({ children, size, isHovered, variant }: AnimatedContainerProps): ReactNode {\n const theme = useTheme();\n\n return (\n <View\n _web={{\n style: {\n transitionDuration: '300ms',\n transitionProperty: 'background-color',\n transitionTimingFunction: 'ease',\n },\n }}\n borderRadius=\"kitt.highlight.borderRadius\"\n padding={theme.kitt.highlight.padding[size]}\n backgroundColor={\n isHovered\n ? theme.kitt.highlight[variant].hover.backgroundColor\n : theme.kitt.highlight[variant].default.backgroundColor\n }\n >\n {children}\n </View>\n );\n}\n","import type { ReactNode } from 'react';\nimport type { DimensionValue } from 'react-native';\nimport { View } from '../../native-base/primitives';\nimport type { AnimatedContentProps } from './AnimatedContent';\n\nexport function AnimatedContent({\n children,\n isExpanded,\n isInitialRender,\n contentHeight,\n}: AnimatedContentProps): ReactNode {\n return (\n <View\n _web={{\n style: {\n height: (isExpanded ? `${contentHeight}px` : '0') as DimensionValue,\n transitionDuration: isInitialRender ? '0ms' : '300ms',\n transitionProperty: 'height',\n transitionTimingFunction: 'ease',\n },\n }}\n overflow=\"hidden\"\n >\n {children}\n </View>\n );\n}\n","import type { NativeAnimation } from './useNativeAnimation';\n\nexport function useNativeAnimation(): NativeAnimation {\n return {\n onPressIn: undefined,\n onPressOut: undefined,\n containerAnimatedStyles: {},\n caretAnimatedStyles: {},\n contentAnimatedStyles: {},\n };\n}\n","import { CaretDownRegularIcon } from '@ornikar/kitt-icons/phosphor';\nimport { type ReactNode, useState } from 'react';\nimport type { LayoutChangeEvent } from 'react-native';\nimport { useTheme } from '../KittThemeContext';\nimport { HStack } from '../native-base/layout';\nimport { Pressable, View } from '../native-base/primitives';\nimport { Typography } from '../typography/Typography';\nimport { TypographyIcon } from '../typography/TypographyIcon';\nimport { AnimatedCaret } from './AnimatedCaret/AnimatedCaret';\nimport { AnimatedContainer } from './AnimatedContainer/AnimatedContainer';\nimport { AnimatedContent } from './AnimatedContent/AnimatedContent';\nimport { useNativeAnimation } from './hooks/useNativeAnimation';\n\ntype DeprecatedHighlightVariant = 'regular';\n\nexport type HighlightSize = 'medium' | 'large';\nexport type HighlightVariant = 'primary' | 'secondary' | 'dark' | DeprecatedHighlightVariant | 'ghost';\n\nexport interface HighlightProps {\n variant?: HighlightVariant;\n canCollapse?: boolean;\n isInitialCollapsed?: boolean;\n title?: string;\n icon?: ReactNode;\n size?: HighlightSize;\n children?: ReactNode;\n}\n\nexport function Highlight({\n variant = 'primary',\n canCollapse = false,\n isInitialCollapsed = true,\n title,\n icon = null,\n size = 'medium',\n children,\n}: HighlightProps): ReactNode {\n const theme = useTheme();\n\n const [isExpanded, setIsExpanded] = useState(!isInitialCollapsed);\n const [contentHeight, setContentHeight] = useState(0);\n const [isInitialRender, setIsInitialRender] = useState(true);\n\n const highlightStyle = {\n medium: {\n marginBottom: 'kitt.1',\n spaceBetween: 'kitt.2',\n contentMarginY: 8,\n },\n large: {\n marginBottom: 'kitt.2',\n spaceBetween: 'kitt.4',\n contentMarginY: 16,\n },\n };\n\n const { containerAnimatedStyles, caretAnimatedStyles, contentAnimatedStyles, onPressIn, onPressOut } =\n useNativeAnimation({\n variant,\n isExpanded,\n isInitialRender,\n contentHeight,\n });\n\n const handlePress = (): void => {\n setIsExpanded(!isExpanded);\n setIsInitialRender(false);\n };\n\n const handleLayout = (event: LayoutChangeEvent): void => {\n const layoutHeight = event.nativeEvent.layout.height;\n const newContentHeight = layoutHeight + highlightStyle[size].contentMarginY;\n\n if (layoutHeight > 0 && newContentHeight !== contentHeight) {\n setContentHeight(newContentHeight);\n }\n };\n\n if (!canCollapse) {\n return (\n <View\n borderRadius=\"kitt.highlight.borderRadius\"\n padding={theme.kitt.highlight.padding[size]}\n backgroundColor={`kitt.highlight.${variant}.default.backgroundColor`}\n >\n <HStack space={highlightStyle[size].spaceBetween}>\n {icon && <View>{icon}</View>}\n <View flexGrow={1} flexShrink={1}>\n {title && (\n <View marginBottom={highlightStyle[size].marginBottom}>\n <Typography.Text variant=\"bold\" base=\"body\" ellipsizeMode=\"clip\">\n {title}\n </Typography.Text>\n </View>\n )}\n {children}\n </View>\n </HStack>\n </View>\n );\n }\n\n return (\n <Pressable onPress={handlePress} onPressIn={onPressIn} onPressOut={onPressOut}>\n {({ isHovered }) => {\n return (\n <AnimatedContainer\n isHovered={isHovered}\n size={size}\n variant={variant}\n animatedStyles={containerAnimatedStyles}\n >\n {title && (\n <HStack space={highlightStyle[size].spaceBetween} alignItems=\"center\">\n {icon && <View flexGrow={1}>{icon}</View>}\n <View flexGrow={1} flexShrink={1} width=\"100%\">\n <Typography.Text variant=\"bold\" base=\"body\" ellipsizeMode=\"clip\">\n {title}\n </Typography.Text>\n </View>\n <View flexGrow={2} flexShrink={2} alignItems=\"center\" justifyContent=\"center\">\n <AnimatedCaret isHovered={isHovered} isExpanded={isExpanded} animatedStyles={caretAnimatedStyles}>\n <TypographyIcon icon={<CaretDownRegularIcon />} />\n </AnimatedCaret>\n </View>\n </HStack>\n )}\n <AnimatedContent\n isExpanded={isExpanded}\n isInitialRender={isInitialRender}\n contentHeight={contentHeight}\n animatedStyles={contentAnimatedStyles}\n >\n <View marginTop={highlightStyle[size].contentMarginY} position=\"absolute\" onLayout={handleLayout}>\n {children}\n </View>\n </AnimatedContent>\n </AnimatedContainer>\n );\n }}\n </Pressable>\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 width=\"18\" height=\"18\" viewBox=\"0 0 18 18\" fill=\"currentColor\" xmlns=\"http://www.w3.org/2000/svg\"><path d=\"M10.274 17.405A8.502 8.502 0 0 0 9 .5a8.5 8.5 0 1 0 1.274 16.905Z\" stroke=\"#fff\"/><circle cx=\"9\" cy=\"9\" r=\"3\" fill=\"#fff\"/></svg>","<svg width=\"34\" height=\"36\" viewBox=\"0 0 34 36\" fill=\"currentColor\" xmlns=\"http://www.w3.org/2000/svg\"><path d=\"M19.474 33.316C27.414 32.12 33.5 25.272 33.5 17 33.5 7.887 26.113.5 17 .5S.5 7.887.5 17c0 8.272 6.087 15.121 14.026 16.316.05.007.156.053.336.21.158.137.32.31.505.51l.055.06c.196.21.423.451.662.637.232.181.545.367.916.367s.684-.186.916-.367c.239-.186.465-.426.662-.638l.055-.059a7 7 0 0 1 .505-.51c.18-.157.287-.203.336-.21Z\" stroke=\"#fff\"/><path d=\"M24 22h-1v-5.778a1 1 0 0 0-.323-.737l-5-4.717a1 1 0 0 0-1.352-.007l-.008.007-4.994 4.717a1 1 0 0 0-.323.737V22h-1a.5.5 0 0 0 0 1h14a.5.5 0 0 0 0-1Zm-5.5 0h-3v-3a.5.5 0 0 1 .5-.5h2a.5.5 0 0 1 .5.5v3Z\" fill=\"#fff\"/></svg>","<svg viewBox=\"0 0 42 44\" fill=\"currentColor\" xmlns=\"http://www.w3.org/2000/svg\"><path d=\"M24.074 41.27C33.938 39.788 41.5 31.278 41.5 21 41.5 9.678 32.322.5 21 .5S.5 9.678.5 21c0 10.277 7.562 18.787 17.426 20.27.098.016.254.093.484.293.203.176.409.398.64.646l.069.075c.246.265.523.559.812.784.283.22.647.432 1.069.432.422 0 .786-.212 1.069-.432.289-.225.566-.519.812-.784l.07-.075c.23-.248.437-.47.639-.646.23-.2.386-.277.484-.292Z\" stroke=\"#fff\"/><path d=\"M18.5 13.5a.624.624 0 0 1 .625-.625h3.75a.624.624 0 1 1 0 1.25h-3.75a.624.624 0 0 1-.625-.625Zm11.875 6.875a.624.624 0 0 1-.625.625h-.625v6.25a1.25 1.25 0 0 1-1.25 1.25H26a1.25 1.25 0 0 1-1.25-1.25V26h-7.5v1.25A1.25 1.25 0 0 1 16 28.5h-1.875a1.25 1.25 0 0 1-1.25-1.25V21h-.625a.624.624 0 1 1 0-1.25h.887l2.14-3.745a1.25 1.25 0 0 1 1.086-.63h9.274a1.25 1.25 0 0 1 1.086.63l2.14 3.745h.887a.624.624 0 0 1 .625.625Zm-12.5 2.5a.624.624 0 0 0-.625-.625H16a.624.624 0 1 0 0 1.25h1.25a.624.624 0 0 0 .625-.625Zm8.75 0A.624.624 0 0 0 26 22.25h-1.25a.624.624 0 1 0 0 1.25H26a.624.624 0 0 0 .625-.625Z\" fill=\"#fff\"/></svg>","<svg width=\"12\" height=\"4\" viewBox=\"0 0 12 4\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\"><ellipse cx=\"6\" cy=\"2\" rx=\"6\" ry=\"2\" fill=\"#000\" fill-opacity=\".25\"/></svg>","import type { ViewStyle } from 'react-native';\nimport { Easing, useAnimatedStyle, withTiming } from 'react-native-reanimated';\n\ninterface UseNativeAnimationOptions {\n isHovered?: boolean;\n isSelected?: boolean;\n}\n\nconst SCALE_DURATION = 300;\nconst TRANSLATE_Y_DURATION = 150;\n\nexport const useNativeAnimation = ({ isHovered, isSelected }: UseNativeAnimationOptions): ViewStyle => {\n const animatedStyles = useAnimatedStyle(() => {\n if (isHovered && !isSelected) {\n return {\n transform: [\n { translateY: withTiming(-4, { duration: TRANSLATE_Y_DURATION, easing: Easing.linear }) },\n { scale: withTiming(1, { duration: SCALE_DURATION }) },\n ],\n };\n }\n\n if (isSelected) {\n return {\n transform: [\n { translateY: withTiming(-10, { duration: TRANSLATE_Y_DURATION, easing: Easing.linear }) },\n { scale: withTiming(1.3, { duration: SCALE_DURATION }) },\n ],\n };\n }\n\n return {\n transform: [\n { translateY: withTiming(0, { duration: TRANSLATE_Y_DURATION, easing: Easing.linear }) },\n { scale: withTiming(1, { duration: SCALE_DURATION }) },\n ],\n };\n }, [isHovered, isSelected]);\n\n return animatedStyles;\n};\n","import { theme } from '../../themes/default';\n\ninterface GetBackgroundColorProps {\n isSelected: boolean | undefined;\n isHovered: boolean | undefined;\n variant: 'home' | 'meetingPoint' | 'closeMeetingPoint';\n}\n\nexport const getBackgroundColor = ({ isHovered, isSelected, variant }: GetBackgroundColorProps): string => {\n if (variant === 'home') {\n return isSelected || isHovered ? theme.mapMarker.home.selected : theme.mapMarker.home.default;\n }\n return isSelected || isHovered ? theme.mapMarker.meetingPoint.selected : theme.mapMarker.meetingPoint.default;\n};\n","import { Pressable, VStack, View, useSx } from 'native-base';\nimport type { ReactNode } from 'react';\nimport Animated from 'react-native-reanimated';\nimport { theme } from '../themes/default';\nimport ClosemeetingPointMarkerSvg from './assets/close-meeting-point-marker.inline.svg';\nimport HomeMarkerSvg from './assets/home-marker.inline.svg';\nimport MeetingPointMarkerSvg from './assets/meeting-point-marker.inline.svg';\nimport ShadowSvg from './assets/shadow.inline.svg';\nimport { useNativeAnimation } from './hooks/useNativeAnimation';\nimport { getBackgroundColor } from './utils/getBackgroundColor';\n\nexport enum MapMarkerVariantEnum {\n HOME = 'home',\n MEETING_POINT = 'meetingPoint',\n CLOSE_MEETING_POINT = 'closeMeetingPoint',\n}\n\nexport interface MapMarkerProps extends Omit<StaticMapMarkerProps, 'isHovered'> {\n onPress?: () => void;\n testID?: string;\n}\nexport interface StaticMapMarkerProps {\n isSelected?: boolean;\n isHovered?: boolean;\n variant: MapMarkerVariantEnum;\n}\n\nexport function StaticMapMarker({ variant, isHovered, isSelected }: StaticMapMarkerProps): ReactNode {\n const sx = useSx();\n const animatedStyle = useNativeAnimation({ isHovered, isSelected });\n\n const styles = sx({ color: getBackgroundColor({ isHovered, isSelected, variant }) });\n\n if (variant === MapMarkerVariantEnum.CLOSE_MEETING_POINT) {\n return <ClosemeetingPointMarkerSvg color={styles.color} />;\n }\n\n const svgWidth =\n variant === MapMarkerVariantEnum.HOME ? theme.mapMarker.home.svg.width : theme.mapMarker.meetingPoint.svg.width;\n\n const svgHeight =\n variant === MapMarkerVariantEnum.HOME ? theme.mapMarker.home.svg.height : theme.mapMarker.meetingPoint.svg.height;\n\n const containerWidth =\n variant === MapMarkerVariantEnum.HOME\n ? theme.mapMarker.home.container.width\n : theme.mapMarker.meetingPoint.container.width;\n\n const containerHeight =\n variant === MapMarkerVariantEnum.HOME\n ? theme.mapMarker.home.container.height\n : theme.mapMarker.meetingPoint.container.height;\n\n const { width: shadowWidth, height: shadowHeight } = theme.mapMarker.shadow;\n\n return (\n <VStack alignItems=\"center\" width={containerWidth} height={containerHeight}>\n <Animated.View style={animatedStyle}>\n {variant === MapMarkerVariantEnum.MEETING_POINT ? (\n <MeetingPointMarkerSvg width={svgWidth} height={svgHeight} color={styles.color} />\n ) : (\n <HomeMarkerSvg width={svgWidth} height={svgHeight} color={styles.color} />\n )}\n </Animated.View>\n <View position=\"absolute\" bottom={0} zIndex={-1} width={shadowWidth} height={shadowHeight}>\n <ShadowSvg width={shadowWidth} height={shadowHeight} />\n </View>\n </VStack>\n );\n}\n\nexport function MapMarker({ onPress, testID, ...props }: MapMarkerProps): ReactNode {\n return (\n <Pressable testID={testID} onPress={onPress}>\n {({ isHovered }) => <StaticMapMarker {...props} isHovered={isHovered} />}\n </Pressable>\n );\n}\n","import {\n CheckRegularIcon,\n InfoRegularIcon,\n WarningCircleRegularIcon,\n WarningRegularIcon,\n} from '@ornikar/kitt-icons/phosphor';\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 <WarningCircleRegularIcon color={color} />;\n case 'success':\n return <CheckRegularIcon color={color} />;\n case 'danger':\n return <WarningRegularIcon color={color} />;\n default:\n return <InfoRegularIcon 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 case 'danger':\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 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.avatar.default.backgroundColor,\n },\n light: {\n backgroundColor: theme.avatar.light.backgroundColor,\n },\n dark: {\n backgroundColor: theme.avatar.dark.backgroundColor,\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 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 default: {\n backgroundColor: theme.highlight.regular.default.backgroundColor,\n },\n hover: {\n backgroundColor: theme.highlight.regular.hover.backgroundColor,\n },\n },\n primary: {\n default: {\n backgroundColor: theme.highlight.primary.default.backgroundColor,\n },\n hover: {\n backgroundColor: theme.highlight.primary.hover.backgroundColor,\n },\n },\n secondary: {\n default: {\n backgroundColor: theme.highlight.secondary.default.backgroundColor,\n },\n hover: {\n backgroundColor: theme.highlight.secondary.hover.backgroundColor,\n },\n },\n dark: {\n default: {\n backgroundColor: theme.highlight.dark.default.backgroundColor,\n },\n hover: {\n backgroundColor: theme.highlight.dark.hover.backgroundColor,\n },\n },\n ghost: {\n default: {\n backgroundColor: theme.highlight.ghost.default.backgroundColor,\n },\n hover: {\n backgroundColor: theme.highlight.ghost.hover.backgroundColor,\n },\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 fill: {\n borderWidth: theme.tag.fill.borderWidth,\n },\n outline: {\n borderWidth: theme.tag.outline.borderWidth,\n },\n },\n },\n app: appTheme?.borderWidths,\n },\n sizes: {\n ...spaces.positive,\n ...spaces.negative,\n ...overridenNativeBaseSizeandSpaceScale,\n kitt: {\n avatar: {\n size: theme.avatar.size,\n iconSize: theme.avatar.iconSize,\n large: {\n size: theme.avatar.large.size,\n iconSize: theme.avatar.large.iconSize,\n },\n },\n button: {\n minWidth: theme.button.minWidth,\n maxWidth: theme.button.maxWidth,\n minHeight: theme.button.minHeight,\n },\n icon: theme.icon,\n cardModal: {\n header: {\n height: theme.cardModal.header.height,\n },\n maxWidth: theme.cardModal.maxWidth,\n maxWidthWithPadding: theme.cardModal.maxWidthWithPadding,\n minHeight: theme.cardModal.minHeight,\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 tag: {\n small: {\n iconSize: theme.tag.icon.small,\n },\n medium: {\n iconSize: theme.tag.icon.medium,\n },\n large: {\n iconSize: theme.tag.icon.large,\n },\n withIcon: {\n small: {\n height: theme.tag.withIcon.small.height,\n },\n medium: {\n height: theme.tag.withIcon.medium.height,\n },\n large: {\n height: theme.tag.withIcon.large.height,\n },\n },\n withoutIcon: {\n small: {\n height: theme.tag.withoutIcon.small.height,\n },\n medium: {\n height: theme.tag.withoutIcon.medium.height,\n },\n large: {\n height: theme.tag.withoutIcon.large.height,\n },\n },\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.cardModal.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 medium: {\n padding: theme.highlight.padding.medium,\n },\n large: {\n padding: theme.highlight.padding.large,\n },\n },\n listItem: {\n verticalPadding: theme.listItem.verticalPadding,\n horizontalPadding: theme.listItem.horizontalPadding,\n },\n tag: {\n withoutIcon: {\n small: {\n paddingLeft: theme.tag.withoutIcon.small.paddingLeft,\n paddingRight: theme.tag.withoutIcon.small.paddingRight,\n },\n medium: {\n paddingLeft: theme.tag.withoutIcon.medium.paddingLeft,\n paddingRight: theme.tag.withoutIcon.medium.paddingRight,\n },\n large: {\n paddingLeft: theme.tag.withoutIcon.large.paddingLeft,\n paddingRight: theme.tag.withoutIcon.large.paddingRight,\n },\n },\n withIcon: {\n small: {\n paddingLeft: theme.tag.withIcon.small.paddingLeft,\n paddingRight: theme.tag.withIcon.small.paddingRight,\n },\n medium: {\n paddingLeft: theme.tag.withIcon.medium.paddingLeft,\n paddingRight: theme.tag.withIcon.medium.paddingRight,\n },\n large: {\n paddingLeft: theme.tag.withIcon.large.paddingLeft,\n paddingRight: theme.tag.withIcon.large.paddingRight,\n },\n },\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 disabled: {\n shadow: {\n shadowColor: theme.actionCard.secondary.disabled.shadow.color,\n shadowOffset: {\n width: theme.actionCard.secondary.disabled.shadow.offsetX,\n height: theme.actionCard.secondary.disabled.shadow.offsetY,\n },\n shadowOpacity: theme.actionCard.secondary.disabled.shadow.opacity,\n shadowRadius: theme.actionCard.secondary.disabled.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.primary.pressed.shadow.color,\n shadowOffset: {\n width: theme.actionCard.primary.pressed.shadow.offsetX,\n height: theme.actionCard.primary.pressed.shadow.offsetY,\n },\n shadowOpacity: theme.actionCard.primary.pressed.shadow.opacity,\n shadowRadius: theme.actionCard.primary.pressed.shadow.radius,\n },\n },\n disabled: {\n shadow: {\n shadowColor: theme.actionCard.primary.disabled.shadow.color,\n shadowOffset: {\n width: theme.actionCard.primary.disabled.shadow.offsetX,\n height: theme.actionCard.primary.disabled.shadow.offsetY,\n },\n shadowOpacity: theme.actionCard.primary.disabled.shadow.opacity,\n shadowRadius: theme.actionCard.primary.disabled.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 disabled: {\n shadow: {\n shadowColor: theme.actionCard['primary-border-soft'].disabled.shadow.color,\n shadowOffset: {\n width: theme.actionCard['primary-border-soft'].disabled.shadow.offsetX,\n height: theme.actionCard['primary-border-soft'].disabled.shadow.offsetY,\n },\n shadowOpacity: theme.actionCard['primary-border-soft'].disabled.shadow.opacity,\n shadowRadius: theme.actionCard['primary-border-soft'].disabled.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 disabled: {\n shadow: {\n shadowColor: theme.actionCard['primary-border-hard'].disabled.shadow.color,\n shadowOffset: {\n width: theme.actionCard['primary-border-hard'].disabled.shadow.offsetX,\n height: theme.actionCard['primary-border-hard'].disabled.shadow.offsetY,\n },\n shadowOpacity: theme.actionCard['primary-border-hard'].disabled.shadow.opacity,\n shadowRadius: theme.actionCard['primary-border-hard'].disabled.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 disabled: {\n shadow: {\n shadowColor: theme.actionCard.highlight.disabled.shadow.color,\n shadowOffset: {\n width: theme.actionCard.highlight.disabled.shadow.offsetX,\n height: theme.actionCard.highlight.disabled.shadow.offsetY,\n },\n shadowOpacity: theme.actionCard.highlight.disabled.shadow.opacity,\n shadowRadius: theme.actionCard.highlight.disabled.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 bg: theme.forms.input.states.hover.backgroundColor,\n borderColor: theme.forms.input.states.hover.borderColor,\n color: theme.forms.input.states.hover.color,\n _focus: {\n bg: theme.forms.input.states.default.backgroundColor,\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 { ReactNode } from 'react';\nimport { useEffect, useState } from 'react';\nimport { CardModalAnimation } from '../CardModal/CardModalAnimation/CardModalAnimation';\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\ntype AnimationComponentType = typeof CardModalAnimation | typeof FullscreenModalAnimation;\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 [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 <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 </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 { ArrowCounterClockwiseRegularIcon } from '@ornikar/kitt-icons/phosphor';\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={<ArrowCounterClockwiseRegularIcon />} 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 { MapMarker, MapMarkerVariantEnum } from '../MapMarker/MapMarker';\nimport { View } from '../native-base/primitives';\n\ninterface MarkerProps {\n variant?: MapMarkerVariantEnum;\n}\n\nexport function StaticMapMarker({ variant = MapMarkerVariantEnum.MEETING_POINT }: MarkerProps): ReactNode {\n return (\n <View position=\"absolute\" top=\"0\" left=\"0\" width=\"100%\" height=\"100%\">\n <View justifyContent=\"center\" alignItems=\"center\" height=\"100%\">\n {variant === MapMarkerVariantEnum.HOME ? (\n <MapMarker variant={MapMarkerVariantEnum.HOME} />\n ) : (\n <MapMarker variant={MapMarkerVariantEnum.MEETING_POINT} />\n )}\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 flexWrap?: boolean;\n}\n\nfunction StoryGridRow({ children, breakpoint = 'small', flexWrap }: StoryGridRowProps): ReactNode {\n return (\n <View\n flexDirection={{ base: 'column', [breakpoint]: 'row' }}\n flexWrap={flexWrap ? 'wrap' : undefined}\n marginX={{ [breakpoint]: '-kitt.1' }}\n marginBottom={{ [breakpoint]: 'kitt.4' }}\n >\n {Children.map(children, (child) => (\n <View\n flexGrow={{ [breakpoint]: 1 }}\n flexBasis={flexWrap ? undefined : { [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 { 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 { type ReactNode } from 'react';\nimport { HStack } from '../native-base/layout';\nimport type { PressableProps } from '../native-base/primitives';\nimport { Pressable, View } from '../native-base/primitives';\nimport type { ExtendedTypographyColor } from '../typography/Typography';\nimport { Typography } from '../typography/Typography';\nimport type { TypographyIconProps } from '../typography/TypographyIcon';\nimport { TypographyIcon } from '../typography/TypographyIcon';\nimport { useKittTheme } from '../useKittTheme';\n\nexport type TabBarItemColor = 'black' | 'white';\n\nexport interface TabBarItemProps {\n name: ReactNode;\n icon?: TypographyIconProps['icon'];\n color?: TabBarItemColor;\n testID?: PressableProps['testID'];\n isActive?: boolean;\n onPress?: PressableProps['onPress'];\n}\n\nfunction useTabBarItemColor(color: TabBarItemColor, isActive: boolean): ExtendedTypographyColor {\n const { kitt: kittTheme } = useKittTheme();\n\n switch (color) {\n case 'black': {\n return isActive ? kittTheme.palettes.lateOcean.black : kittTheme.palettes.lateOcean['eggshell.10'];\n }\n case 'white': {\n return kittTheme.palettes.lateOcean.white;\n }\n default: {\n return isActive ? kittTheme.palettes.lateOcean.black : kittTheme.palettes.lateOcean['eggshell.10'];\n }\n }\n}\n\nfunction useTabBarIndicatorColor(color: TabBarItemColor, isActive: boolean): ExtendedTypographyColor {\n const { kitt: kittTheme } = useKittTheme();\n\n switch (color) {\n case 'black': {\n return isActive ? kittTheme.palettes.lateOcean.black : kittTheme.palettes.lateOcean.transparent;\n }\n case 'white': {\n return isActive ? kittTheme.palettes.lateOcean.white : kittTheme.palettes.lateOcean.transparent;\n }\n default: {\n return isActive ? kittTheme.palettes.lateOcean.black : kittTheme.palettes.lateOcean['eggshell.10'];\n }\n }\n}\n\nexport function TabBarItem({\n name,\n icon,\n color = 'black',\n testID,\n isActive = false,\n onPress,\n}: TabBarItemProps): ReactNode {\n const typographyColor = useTabBarItemColor(color, isActive);\n const indicatorColor = useTabBarIndicatorColor(color, isActive);\n\n return (\n <Pressable testID={testID} onPress={onPress}>\n <HStack height={56} alignItems=\"center\" position=\"relative\">\n {/* icon */}\n {icon ? (\n <View marginRight=\"kitt.1\">\n <TypographyIcon color={typographyColor} icon={icon} />\n </View>\n ) : null}\n\n {/* label */}\n <Typography.Text numberOfLines={1} color={typographyColor} variant={isActive ? 'bold' : undefined}>\n {name}\n </Typography.Text>\n\n {/* indicator */}\n <View\n borderRadius={100}\n backgroundColor={indicatorColor}\n position=\"absolute\"\n bottom={-1} // in order to be over tab bar's border bottom\n width=\"100%\"\n height={4}\n />\n </HStack>\n </Pressable>\n );\n}\n","import { useSx } from 'native-base';\nimport type { ReactElement, ReactNode } from 'react';\nimport { Children, cloneElement, useRef, useState } from 'react';\nimport type { GestureResponderEvent } from 'react-native';\nimport { HStack } from '../native-base/layout';\nimport type { ViewProps } from '../native-base/primitives';\nimport { ScrollView, View } from '../native-base/primitives';\nimport { useKittTheme } from '../useKittTheme';\nimport type { TabBarItemColor, TabBarItemProps } from './TabBarItem';\nimport { TabBarItem } from './TabBarItem';\n\ninterface ChangeTabObject<T> {\n tab: T;\n index: number;\n}\n\ninterface RenderTabObject<T> extends ChangeTabObject<T> {\n isActive: boolean;\n}\n\nexport type TabBarAlignment = 'left' | 'center';\n\nexport interface TabBarProps<T> extends ViewProps {\n color?: TabBarItemColor;\n align?: TabBarAlignment;\n tabs: T[];\n initialActiveTabIndex?: number;\n onChangeTab: (values: ChangeTabObject<T>) => void;\n renderTabItem: (values: RenderTabObject<T>) => ReactElement<TabBarItemProps>;\n}\n\nexport function TabBar<T extends { key: string }>({\n tabs,\n color = 'black',\n align = 'left',\n initialActiveTabIndex = 0,\n renderTabItem,\n onChangeTab,\n ...props\n}: TabBarProps<T>): ReactNode {\n const sx = useSx();\n const [activeTabIndex, setActiveTabIndex] = useState<number>(initialActiveTabIndex);\n const { kitt: kittTheme } = useKittTheme();\n const tabItems = tabs.map((tab, index) => renderTabItem({ tab, index, isActive: activeTabIndex === index }));\n // store dynamically all items into the same ref\n const itemsRefs = useRef<Record<string, HTMLElement>>({});\n\n const scrollViewStyles = sx({\n justifyContent: align,\n paddingRight: align === 'center' ? 'kitt.2' : 'kitt.12',\n minWidth: '100%',\n borderBottomWidth: 1,\n borderBottomColor: kittTheme.palettes.lateOcean['eggshell.3'],\n });\n\n return (\n <ScrollView horizontal showsHorizontalScrollIndicator={false} contentContainerStyle={scrollViewStyles}>\n <HStack space={align === 'center' ? 'kitt.16' : 'kitt.4'} {...props}>\n {Children.map(tabItems, (child, index) => {\n const tab = tabs[index];\n return (\n <View\n ref={(\n node?: HTMLElement, // scrollIntoView only works on HTMLElement\n ) => {\n if (node) {\n itemsRefs.current[tab.key] = node;\n }\n }}\n key={tab.key}\n >\n {cloneElement(child, {\n color,\n onPress: (event: GestureResponderEvent) => {\n setActiveTabIndex(index);\n onChangeTab({ tab: tabs[index], index });\n child.props.onPress?.(event);\n\n try {\n itemsRefs.current[tab.key].scrollIntoView({\n inline: 'nearest',\n block: 'nearest',\n behavior: 'smooth',\n });\n } catch (error) {\n itemsRefs.current[tab.key].scrollIntoView();\n }\n },\n })}\n </View>\n );\n })}\n </HStack>\n </ScrollView>\n );\n}\n\nTabBar.Item = TabBarItem;\n","import type { ReactElement, ReactNode } from 'react';\nimport { HStack } from '../native-base/layout';\nimport type { TypographyBodyType } from '../typography/Typography';\nimport { Typography } from '../typography/Typography';\nimport { TypographyIcon } from '../typography/TypographyIcon';\nimport { useKittTheme } from '../useKittTheme';\n\nexport type TagColor = 'eggshell' | 'sun' | 'coral' | 'raspberry' | 'lavender' | 'violine' | 'blue' | 'green';\nexport type TagSize = 'small' | 'medium' | 'large';\nexport type TagVariant = 'outline' | 'fill';\nexport type TagType = 'primary' | 'default' | 'danger' | 'warn';\n\nexport interface TagProps {\n label: ReactNode;\n icon?: ReactElement;\n color?: TagColor;\n size?: TagSize;\n variant?: TagVariant;\n /** @deprecated use `color=` instead */\n type?: TagType;\n}\n\nconst getTypography = (size: TagSize): TypographyBodyType => {\n switch (size) {\n case 'small':\n return 'body-xs';\n case 'medium':\n return 'body-s';\n case 'large':\n default:\n return 'body-m';\n }\n};\n\nconst typeToColor = (color?: TagColor, type?: TagType): TagColor => {\n if (color) return color;\n switch (type) {\n case 'primary':\n return 'violine';\n case 'warn':\n return 'sun';\n case 'danger':\n return 'coral';\n case 'default':\n default:\n return 'eggshell';\n }\n};\n\nexport function Tag({ label, icon, color, type, size = 'medium', variant = 'fill' }: TagProps): ReactNode {\n const kittTheme = useKittTheme();\n\n const tagColor = typeToColor(color, type);\n return (\n <HStack\n alignSelf=\"flex-start\"\n borderRadius=\"kitt.tag.borderRadius\"\n height={`kitt.tag.${icon ? 'withIcon' : 'withoutIcon'}.${size}.height`}\n paddingLeft={`kitt.tag.${icon ? 'withIcon' : 'withoutIcon'}.${size}.paddingLeft`}\n paddingRight={`kitt.tag.${icon ? 'withIcon' : 'withoutIcon'}.${size}.paddingRight`}\n backgroundColor={variant === 'fill' ? kittTheme.kitt.palettes.lateOcean[`${tagColor}.4`] : 'kitt.transparent'}\n borderColor={kittTheme.kitt.palettes.lateOcean[`${tagColor}.6`]}\n borderWidth={`kitt.tag.${variant}.borderWidth`}\n space=\"kitt.1\"\n alignItems=\"center\"\n >\n {icon ? <TypographyIcon icon={icon} size={`kitt.tag.${size}.iconSize`} /> : null}\n <Typography.Text base={getTypography(size)} color=\"black\">\n {label}\n </Typography.Text>\n </HStack>\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/jdecked/twemoji?tab=readme-ov-file#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 { 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<ReactNode>;\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 { useEffect } from 'react';\nimport type { ViewStyle } from 'react-native';\nimport type { AnimateStyle } from 'react-native-reanimated';\nimport { interpolate, useAnimatedStyle, useSharedValue, withDelay, withSpring } from 'react-native-reanimated';\n\ninterface StepAnimations {\n checkmarkAnimatedStyles: AnimateStyle<ViewStyle>;\n progressBarAnimatedStyles: AnimateStyle<ViewStyle>;\n}\n\ninterface StepAnimationsProps {\n isDone: boolean;\n animated: boolean;\n position: number;\n isNextDone: boolean;\n}\n\nexport function useStepAnimations({ isDone, position, animated, isNextDone }: StepAnimationsProps): StepAnimations {\n const checkmarkAnimatedValue = useSharedValue(animated ? 0 : 1);\n const progressBarAnimatedValue = useSharedValue(animated ? 0 : 1);\n\n const STAGGER_DELAY = 70;\n\n useEffect(() => {\n if (isDone) {\n if (isNextDone) {\n progressBarAnimatedValue.value = animated\n ? withDelay(STAGGER_DELAY + position * STAGGER_DELAY, withSpring(1))\n : 1;\n }\n checkmarkAnimatedValue.value = animated ? withDelay(position * STAGGER_DELAY, withSpring(1)) : 1;\n } else {\n checkmarkAnimatedValue.value = 0;\n progressBarAnimatedValue.value = 0;\n }\n }, [checkmarkAnimatedValue, progressBarAnimatedValue, isDone, position, animated, isNextDone]);\n\n const checkmarkAnimatedStyles = useAnimatedStyle(() => {\n return {\n transform: [{ scale: checkmarkAnimatedValue.value }],\n };\n }, [checkmarkAnimatedValue]);\n\n const progressBarAnimatedStyles = useAnimatedStyle(() => {\n return {\n transform: [\n {\n scaleY: interpolate(progressBarAnimatedValue.value, [0, 1], [0, 2]),\n },\n ],\n };\n }, [progressBarAnimatedValue]);\n\n return {\n checkmarkAnimatedStyles,\n progressBarAnimatedStyles,\n };\n}\n","import { CheckRegularIcon } from '@ornikar/kitt-icons/phosphor';\nimport type { ReactNode } from 'react';\nimport Animated from 'react-native-reanimated';\nimport { HStack } from '../native-base/layout';\nimport { View } from '../native-base/primitives';\nimport { Typography } from '../typography/Typography';\nimport { TypographyIcon } from '../typography/TypographyIcon';\nimport { useStepAnimations } from './Step.animations';\n\nexport interface BorderlessStepProps {\n title: ReactNode;\n description?: ReactNode;\n position?: number;\n isLast?: boolean;\n animated?: boolean;\n currentStep?: number;\n}\n\nconst AnimatedView = Animated.createAnimatedComponent(View);\n\nexport function BorderlessStep({\n description,\n title,\n position = 1,\n isLast,\n animated,\n currentStep = 1,\n}: BorderlessStepProps): ReactNode {\n const isDone = position <= currentStep;\n const isNextDone = position + 1 <= currentStep;\n const { checkmarkAnimatedStyles, progressBarAnimatedStyles } = useStepAnimations({\n isDone,\n isNextDone,\n position,\n animated: !!animated,\n });\n\n return (\n <HStack paddingBottom={isLast ? 0 : 'kitt.6'} width=\"100%\">\n <View\n zIndex={1}\n width=\"kitt.8\"\n height=\"kitt.8\"\n borderRadius={16}\n backgroundColor=\"kitt.palettes.lateOcean.black50\"\n alignItems=\"center\"\n justifyContent=\"center\"\n marginRight=\"kitt.3\"\n >\n <Typography.Paragraph variant=\"bold\" color=\"black-light\">\n {position}\n </Typography.Paragraph>\n\n {isDone ? (\n <AnimatedView\n style={checkmarkAnimatedStyles}\n position=\"absolute\"\n left={0}\n top={0}\n width=\"kitt.8\"\n height=\"kitt.8\"\n borderRadius={16}\n backgroundColor=\"kitt.primary\"\n alignItems=\"center\"\n justifyContent=\"center\"\n marginRight=\"kitt.3\"\n >\n <TypographyIcon color=\"white\" icon={<CheckRegularIcon />} />\n </AnimatedView>\n ) : null}\n </View>\n\n <View flexGrow={1} flexShrink={1} marginTop=\"kitt.1\">\n <Typography.Paragraph color={isDone ? 'primary' : 'black-light'} variant=\"bold\">\n {title}\n </Typography.Paragraph>\n\n {description ? (\n <Typography.Paragraph color={isDone ? 'black' : 'black-light'} variant=\"regular\">\n {description}\n </Typography.Paragraph>\n ) : null}\n </View>\n\n {!isLast && (\n <View\n left={15}\n top={36}\n bottom={4}\n width={2}\n borderRadius={2}\n position=\"absolute\"\n backgroundColor=\"kitt.palettes.lateOcean.black50\"\n overflow=\"hidden\"\n >\n {isNextDone ? (\n <AnimatedView\n style={progressBarAnimatedStyles}\n position=\"absolute\"\n width={2}\n top={0}\n bottom={0}\n left={0}\n backgroundColor=\"kitt.primary\"\n />\n ) : null}\n </View>\n )}\n </HStack>\n );\n}\n","import { CheckRegularIcon } from '@ornikar/kitt-icons/phosphor';\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={<CheckRegularIcon />} 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 isFirst?: boolean;\n shouldDisableNextLink?: boolean;\n}\n\nexport function Step({\n index = 0,\n children,\n state = 'default',\n isLast = false,\n isFirst = false,\n shouldDisableNextLink = false,\n}: StepProps): ReactNode {\n return (\n <HStack space=\"kitt.2\" flexGrow={1} marginTop={isFirst ? undefined : 'kitt.4'}>\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 { View } from 'native-base';\nimport type { ReactElement, ReactNode } from 'react';\nimport { Children, cloneElement } from 'react';\nimport { BorderlessStep } from './BorderlessStep';\nimport { Step } from './Step';\nimport { getStepState } from './utils/getStepState';\n\nexport enum StepVariationEnum {\n default = 'default',\n borderless = 'borderless',\n}\n\nexport interface VerticalStepsProps extends ViewProps {\n children: ReactNode;\n activeIndex: number;\n animated?: boolean;\n}\n\nexport function VerticalSteps({ children, activeIndex, animated, ...props }: VerticalStepsProps): ReactNode {\n const childrenArray = Children.toArray(children) as ReactElement[];\n\n const clonedArray = childrenArray.map((aChild, index) => {\n if (__DEV__ && aChild.type !== Step && aChild.type !== BorderlessStep) {\n throw new Error('VerticalSteps only accepts VerticalSteps.Step or VerticalSteps.BorderlessStep as children');\n }\n\n const step = index + 1;\n const isLast = step === childrenArray.length;\n const isFirst = index === 0;\n const newProps: Record<string, unknown> = {\n ...aChild.props,\n position: step,\n animated,\n isLast,\n isFirst,\n currentStep: activeIndex,\n state: getStepState(index, activeIndex),\n index,\n };\n\n return cloneElement(aChild, newProps, aChild.props.children as ReactNode);\n });\n\n return (\n <View width=\"100%\" {...props}>\n {clonedArray}\n </View>\n );\n}\n\nVerticalSteps.Step = Step;\nVerticalSteps.BorderlessStep = BorderlessStep;\n"],"names":["View","NativeBaseView","ScrollView","NativeBaseScrollView","Pressable","NativeBasePressable","Image","NativeBaseImage","FlatList","NativeBaseFlatList","SectionList","NativeBaseSectionList","hex2rgba","hex","alpha","arguments","length","undefined","r","parseInt","slice","g","b","concat","createColorScale","colorScale","colorScales","eggshell","violine","lavender","blue","raspberry","coral","sun","green","transformColorScalesToTokens","Object","fromEntries","entries","flatMap","_ref","_ref2","_slicedToArray","colorName","map","_ref3","_ref4","scaleNumber","colorValue","lateOceanColorPalette","_objectSpread","lateOcean","lateOceanLight1","lateOceanLight2","lateOceanLight3","lateOceanDark1","warmEmbrace","warmEmbraceLight1","white","black","black1000","black800","black555","black400","black200","black100","black50","black25","viride","englishVermillon","goldCrayola","aero","seaShell","transparent","moonPurple","moonPurpleLight1","colors","primary","primaryLight","accent","accentLight","success","correct","danger","info","warning","separator","hover","blackDisabled","blackLight","blackAnthracite","uiBackground","uiBackgroundLight","disabled","overlay","dark","light","actionCard","borderRadius","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","inputStatesStyle","pending","valid","invalid","webAnimationDuration","webAnimationTimingFunction","webAnimationProperties","input","selection","placeholder","icon","rightContainer","properties","states","inputField","containerPaddingTop","containerPaddingBottom","feedbackPaddingTop","labelContainerPaddingBottom","labelFeedbackMarginLeft","inputTag","labelColor","radio","unchecked","innerSize","innerBackgroundColor","radioButtonGroup","textArea","timePicker","forms","fullscreenModal","sharedHorizontalPadding","body","regular","getIconSizeFromFontSize","fontSize","createTypographyIconSizeConfig","baseAndSmallFontSize","mediumAndWideFontSize","baseAndSmallIconSize","mediumAndWideIconSize","baseAndSmall","mediumAndWide","defaultSize","typographySize","header1","header2","header3","header4","header5","iconButton","listItem","horizontalPadding","innerMargin","mapMarker","home","svg","meetingPoint","pageLoaderSize","pageLoaderStrokeWidth","webAnimationDelay","webAnimationCircleBackgroundFillDuration","webAnimationFilledCircleFillDuration","webAnimationFilledCircleRotationDuration","fillEasingFunction","pageLoader","strokeWidth","fill","delay","circleBackgroundFillDuration","filledCircleFillDuration","groupFilledCircleRotationDuration","filledCircleRotationDuration","calcLineHeight","lineHeightMultiplier","Math","round","createLegacyTypographyTypeConfig","lineHeightMultiplierBaseAndSmall","lineHeightMultiplierMediumAndWide","lineHeight","createTypographyConfig","config","typography","kittColors","types","headings","fontFamily","bold","web","fontWeight","fontStyle","configs","bodies","link","disabledColor","picker","ios","landscape","android","shadows","cards","low","highBase","highMedium","highLarge","navigation","left","right","panel","skeletonBackgroundColor","skeletonFlareColor","skeleton","flareColor","animationDuration","shape","bar","circle","square","tag","withIcon","paddingLeft","paddingRight","withoutIcon","outline","tooltip","floatingPadding","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","_ref$borderVariant","children","state","__DEV__","Error","sharedTransform","transform","themeName","_jsx","_ios","style","_android","_web","flexGrow","ActionCardDisabled","borderStyle","ActionCard","_ref$variant","_ref$borderRadius","props","_objectWithoutProperties","_excluded","ActionCardPressable","forwardRef","ref","_ref2$variant","_ref2$borderVariant","_ref2$borderRadius","testID","href","hrefAttrs","_ref2$accessibilityRo","accessibilityRole","isHoveredInternal","isPressedInternal","isFocusedInternal","onPress","onHoverIn","onHoverOut","Stack","NativeBaseStack","VStack","NativeBaseVStack","HStack","NativeBaseHStack","Center","NativeBaseCenter","createResponsiveStyleFromProp","responsiveBooleanValue","valueIfTrue","valueIfFalse","keys","responsiveValue","forEach","breakpointName","warn","message","process","env","NODE_ENV","console","deprecatedMessage","symbol","deprecation","replaceBy","replaceMessage","deprecatedInComponent","component","useBreakpointValue","useBreakpointValueNativeBaseBadlyTyped","getCurrentBackgroundColorForNativeBaseTheme","type","isDisabled","baseKey","getCurrentScale","hoverScaleValue","pressedScaleValue","AnimatedContainer","isStretch","_theme$kitt$button","_theme$kitt$button$tr","responsiveHoverScaleValue","currentScale","currentBackgroundColor","transitionProperty","transitionDuration","transitionTimingFunction","backfaceVisibility","alignSelf","KittBreakpoints","BASE","SMALL","MEDIUM","LARGE","WIDE","KittBreakpointsMax","KittBreakpointNameEnum","typographyColors","getNBThemeColorFromColorProps","isColorTypographyColor","includes","getTypographyColorValue","_typeof","value","isTypeHeadings","startsWith","isTypeHeadingsImpact","getTypographyFamily","getTypographyFamilyWithAncestorValue","typographyFamilyInContext","TypographyFamilyContext","TypographyTypeContext","TypographyColorContext","useTypographyColor","useTypographyAncestorType","TypographyDefaultColorContext","useTypographyDefaultColor","getTypographyTypeConfigKeyFromTypeName","createNativeBaseFontSize","typeWithMediumForced","fontSizeForNativeBase","typeName","Typography","_type$base","legacyBase","legacySmall","legacyMedium","legacyLarge","legacyWide","_ref$type","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","_ref$size","_ref$align","align","clonedIcon","cloneElement","getIconSizeConfigKeyFromTypeName","createNativeBaseIconSize","iconSizeForNativeBase","TypographyIconSpecifiedColor","ancestorType","_sx","colorStyleValue","TypographyIconInheritColor","TypographyIcon","_excluded2","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","_useTheme","buttonTheme","useNativeAnimation","onPressIn","onPressOut","animatedStyles","getButtonSize","allowedGhostTypes","Button","stretch","sizeProp","_ref$iconPosition","_ref$accessibilityRol","onFocus","onBlur","_useNativeAnimation","deprecatedProp","spinningIcon","SpinningIcon","className","LoaderIcon","SpinnerGapRegularIcon","ActionsItem","as","_ref$stretch","_useState","useState","_useState2","isLoading","setIsLoading","mountedRef","useRef","useEffect","current","handlePress","e","callPressAndUpdateLoadingState","_asyncToGenerator","_regeneratorRuntime","mark","_callee","wrap","_context","prev","next","abrupt","t0","stop","apply","ActionsButton","_extends","_objectDestructuringEmpty","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","UserRegularIcon","Avatar","currentSize","currentBorderRadius","overflow","BottomSheetComponent","BottomSheet","useBottomSheet","useStaticBottomSheet","Content","bottomSheetRef","BottomSheetMemoized","useMemo","overflowHidden","useBlockBodyScroll","shouldBlockScroll","isInitialRender","document","classList","add","remove","ModalBehaviourPortal","visible","isInitialRenderRef","Portal","_Fragment","OnCloseContext","OnCloseProvider","onClose","useOnCloseModalBehaviour","CloseButton","onCloseContextCallback","handleClose","ModalBehaviour","Overlay","CardModalRotationContainer","maxHeight","contentAnimationEnter","contentAnimatioEnterActive","contentAnimatioExit","contentAnimatioExitActive","contentAnimationClassNames","appear","appearActive","enter","enterActive","exit","exitActive","opacityEnter","opacityEnterActive","opacityExit","opacityExitActive","opacityClassNames","CardModalAnimation","_ref$appear","_ref$unmountOnExit","unmountOnExit","_ref$isAnimationEnabl","isAnimationEnabled","onEnter","onEntered","onExit","onExited","sharedProps","in","CSSTransition","timeout","classNames","margin","CardModalBehaviour","isModalBehaviourVisible","setIsModalBehaviourVisible","handleExitAnimationDone","CardModalBody","_ref$paddingX","_ref$paddingY","showsVerticalScrollIndicator","_contentContainerStyle","CardModalFooter","_ref$padding","_ref$hasSeparator","hasSeparator","marginTop","borderTopWidth","CardModalHeader","title","_ref$paddingBottom","paddingBottom","defaultContainerPadding","borderBottomWidth","CardModal","_ref$backgroundColor","_ref$maxWidth","withoutShadow","Body","Header","Footer","getBackgroundColor","isSelected","getBorderRadius","Number","MAX_SAFE_INTEGER","AnimatedChoiceItemView","backgroundStyles","getCurrentTextColor","ChoiceItem","onChange","handleChange","accessibilityState","ChoiceItemContainer","isLast","currentItemMarginValue","marginBottom","ChoicesContainer","Choices","id","_ref2$direction","currentValue","setCurrentValue","isForm","childrenArray","Children","toArray","newValue","child","index","element","createChoicesComponent","ButtonChoices","ChoicesElements","DialogModalAnimation","DialogModalBehaviour","bounces","contentContainerStyle","DialogModal","illustration","actions","paddingTop","DialogModalButton","_ref2$stretch","Emoji","emoji","_useMemo","parse","assetType","_useMemo2","emojiData","url","ExternalAppLink","Component","appScheme","appValue","onOpenAppError","rest","handleOnPress","canOpen","Linking","canOpenURL","sent","defaultPrevented","openURL","error","Sms","phoneNumber","Tel","_excluded3","Mail","_ref5","emailAddress","_excluded4","defaultOpenLinkBehavior","ExternalLink","_ref$openLinkBehavior","openLinkBehavior","target","rel","useOpenExternalLink","_ref$behavior","behavior","window","open","getIconColor","InputIcon","InputPressable","inputTextContainer","InputTextContainer","InputText","internalForceState","_ref$disabled","_ref$autoCorrect","autoCorrect","_ref$textContentType","textContentType","_ref$autoComplete","autoComplete","_ref$inputMode","inputMode","multiline","onSubmitEditing","Input","py","isHighlighted","AutocompleteItem","AutocompleteItemsListContainer","_ref$zIndex","zIndex","elevation","AutocompleteOption","isReactElement","Autocomplete","name","isInitialOpen","initialValue","containerProps","filterItemBasedOnCurrentInputValue","checkSelectedItem","itemToString","onInputChange","onSelectItem","onOuterPress","errorElement","emptyResultsElement","_ref$inputTestID","inputTestID","_ref$listContainerTes","listContainerTestID","items","filter","Downshift","defaultIsOpen","initialSelectedItem","initialInputValue","handleItemToString","stateReducer","changes","stateChangeTypes","changeInput","selectedItem","stateAndHelpers","onSelect","onOuterClick","onInputValueChange","getRootProps","getInputProps","getMenuProps","getItemProps","getToggleButtonProps","isOpen","inputValue","highlightedIndex","openMenu","shouldSuppressRefError","rootProps","suppressRefError","menuProps","_getToggleButtonProps","onClickToggle","onClick","toggleProps","_getInputProps","onKeyDown","onSearchInputFocus","onSearchInputBlur","onSearchInputChange","inputProps","hasCurrentSearch","currentItems","isCurrentlyOpen","canDisplayCollapseButton","hitSlop","handleTogglePress","CaretUpFillIcon","CaretDownFillIcon","onKeyPress","_getItemProps","role","ariaSelected","itemProps","Option","UnsafeInternalItem","isChecked","getBorderColor","Checkbox","_ref$hitSlop","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","_ref$validYearMinLeng","validYearMinLength","arrayParts","isEverythingUndefined","every","v","isEverythingDefined","Boolean","nextValue","Date","isValidYear","setDate","setMonth","setFullYear","setMinutes","setHours","setSeconds","setMilliseconds","isMinDateAfterNextValue","getTime","isMaxDateBeforeNextValue","stringToNumber","parsedText","getCurrentInternalForcedState","InputPart","PartContainer","KeyboardDatePicker","monthRef","yearRef","defaultValue","defaultDay","getDate","defaultMonth","defaultYear","_useReducer","useReducer","_useReducer2","dispatch","sharedInputPartProps","handleDatePartChange","handleAutoFocusNextField","currentFieldValue","nextFieldRef","nativeEvent","_monthRef$current","_yearRef$current","DatePicker","DocumentPicker","onDocumentUpload","documentPickerOptions","childElement","only","handlePickDocument","_childElement$props$o","_childElement$props","result","call","getDocumentAsync","multiple","canceled","assets","file","FilePicker","ImagePicker","onImageSelected","imagePickerOptions","handlePickImage","launchImageLibraryAsync","allowsMultipleSelection","GoogleMapsApiKeyContext","GoogleMapsApiKeyProvider","apiKey","useGoogleMapApiKey","context","useGoogleMapsApi","autoCompleteServiceInstanceRef","placesServiceInstanceRef","loader","Loader","libraries","loadMapsApi","_loadMapsApi","placeApi","_callee$","importLibrary","AutocompleteService","PlacesService","createElement","getPlacePredictions","promise","Promise","resolve","_autoCompleteServiceI","predictions","status","google","maps","places","PlacesServiceStatus","OK","results","placesService","getDetails","placeId","_placesServiceInstanc","place","googleMapsAutocompleteReducer","hasSearchError","isLoadingSearch","payload","hasSelectResultError","isLoadingResultDetails","currentSelectedValue","getOrCallValue","data","findComponentByType","components","find","matchStreetNumberWithOriginalAddress","streetNumber","address","exec","_ref2$","number","_ref2$2","extension","formatAddressFromGoogle","placeResult","originalAddress","_placeResult$geometry","_placeResult$geometry2","_findComponentByType","_findComponentByType2","_findComponentByType3","_findComponentByType4","_findComponentByType5","_findComponentByType6","_findComponentByType7","_findComponentByType8","_placeResult$address_","address_components","addressComponents","lat","geometry","location","lng","locality","long_name","subLocality","zipcode","streetName","country","administrativeAreaLevel1","administrativeAreaLevel2","GoogleMapsAutocompleteContext","shouldDisplayEmptyStateWhenNoResults","GoogleMapsAutocompleteProvider","_ref$minCharsToSearch","minCharsToSearch","_ref$debounceTimeout","debounceTimeout","mapsApi","searchResultsCache","resultDetailsCache","handleInputChange","useDebouncedCallback","useCallback","predictionsPromise","_yield$predictionsPro","handleSelectItem","_callee2","placePromise","formattedAddress","_context2","place_id","then","description","api","useGoogleMapsAutocomplete","InputAddressOption","MapPinRegularIcon","structured_formatting","main_text","secondary_text","defaultItemToString","formatInitialValueToAutocompletePrediction","reference","terms","matched_substrings","join","main_text_matched_substrings","InputAddress","_ref$itemToString","_useGoogleMapsAutocom","formattedInitialValue","InputEmail","autoCapitalize","getColorFromState","InputFeedback","InputField","label","labelFeedback","feedback","InputIban","InputNumber","event","parseFloat","InputPassword","isPasswordDefaultVisible","isVisible","setIsVisible","secureTextEntry","EyeClosedRegularIcon","EyeRegularIcon","isPhoneNumberValid","isValidNumber","phoneNumberLength","InputPhone","_ref$phoneNumberLengt","currentEnterKeyHint","parseNumber","phone","finalPhoneNumber","eventWithoutCountryCode","countryCode","getCountryCallingCode","originalNativeEventText","InputTag","Label","htmlFor","InnerCircle","OuterCircle","Radio","focusable","getCurrentBackgroundColor","getCurrentBorderColor","isFirst","borderTopLeftRadius","borderBottomLeftRadius","borderTopRightRadius","borderBottomRightRadius","borderLeftWidth","HoverBorder","shouldDisplayBorder","RadioButton","RadioButtonGroupItem","RadioButtonGroup","flexWrap","clone","TextArea","_props$value","_props$value2","helper","limit","shouldDisplayLimit","isLimitReached","limitContainerAnimatedStyle","useAnimatedStyle","translateX","withSpring","checkIconAnimatedStyle","withTiming","textAlignVertical","handleOnChange","_props$onChange","Animated","CheckCircleFillIcon","FullscreenModalBody","shouldHandleBottomNotch","shouldHandleTopNotch","_useSafeAreaInsets","useSafeAreaInsets","FullscreenModalFooter","_ref$shouldHandleBott","borderTopColor","slideInFromBottomEnter","slideInFromBottomEnterActive","slideInFromBottomExit","slideInFromBottomExitActive","slideInClassNames","FullscreenModalAnimation","FullscreenModalBehaviour","FullscreenModalContainer","FullscreenModalHeader","isTransparent","_ref$shouldHandleTopN","hasRight","hasLeft","hasContent","borderBottomColor","FullscreenModal","AnimatedCaret","isExpanded","AnimatedContent","contentHeight","containerAnimatedStyles","caretAnimatedStyles","contentAnimatedStyles","Highlight","_ref$canCollapse","canCollapse","_ref$isInitialCollaps","isInitialCollapsed","_ref$icon","setIsExpanded","_useState3","_useState4","setContentHeight","_useState5","_useState6","setIsInitialRender","highlightStyle","spaceBetween","contentMarginY","handleLayout","layoutHeight","newContentHeight","ellipsizeMode","CaretDownRegularIcon","onLayout","Background","AnimatedBackground","_theme$kitt$iconButto","scaleHover","scalePressed","AnimatedScale","currentHoverScale","currentPressedScale","opacityStyles","scaleStyles","getIconButtonTextColorByColor","IconButton","_ref$color","ariaLabel","isCurrentHovered","isCurrentPressed","CloseIconButton","XRegularIcon","KittMapConfigProviderContext","KittMapConfigProvider","mapId","apiToken","providerValue","useKittMapConfig","ListItemContent","ListItemSideContainer","_ref$side","side","ListItemSideContent","_ref2$align","ListItem","withPadding","borders","Wrapper","Fragment","wrapperProps","SideContent","SideContainer","SCALE_DURATION","TRANSLATE_Y_DURATION","Easing","linear","MapMarkerVariantEnum","StaticMapMarker","animatedStyle","styles","CLOSE_MEETING_POINT","ClosemeetingPointMarkerSvg","svgWidth","HOME","svgHeight","containerWidth","containerHeight","_theme$mapMarker$shad","shadowWidth","shadowHeight","MEETING_POINT","MeetingPointMarkerSvg","HomeMarkerSvg","ShadowSvg","MapMarker","IconContent","WarningCircleRegularIcon","CheckRegularIcon","WarningRegularIcon","InfoRegularIcon","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","numColumns","ListHeaderComponentStyle","ListFooterComponentStyle","_ref$keyExtractor","keyExtractor","renderItem","Array","prototype","separators","NavigationModalBehaviour","AnimationComponent","shouldAppear","setShouldAppear","handleEnter","handleExit","NavigationModal","Notification","pageLoaderContainer","PageLoader","_theme$kitt$pageLoade","center","circlePerimeter","PI","cx","cy","strokeDasharray","strokeDashoffset","strokeLinecap","stroke","PickerItem","PickerOption","webUseSelectReducer","actionAndChanges","options","useSelect","ItemClick","keepOpenOnChange","Picker","renderTrigger","triggerViewProps","_ref$keepOpenOnChange","initialValueIndex","indexOf","_useSelect","initialIsOpen","onIsOpenChange","onSelectedItemChange","onPressTrigger","restToggleProps","_useFloating","useFloating","placement","strategy","whileElementsMounted","autoUpdate","middleware","offset","x","y","floating","tooltipY","tooltipX","_getMenuProps","menuRef","myRef","currentRef","visibility","SegmentedProgressBar","_ref$currentStep","currentStep","stepsCount","_ref$colorVariant","colorVariant","withCurrentInProgress","fillColor","steps","_toConsumableArray","from","stepNumber","isSegmentCurrentInProgress","Stripes","skeletonWithoutAnimation","SkeletonContent","Skeleton","_ref$isLoading","setWidth","Bar","Circle","Square","getStaticMapImageUrl","mapWidth","mapHeight","is2x","centerPart","zoom","sizePart","urlParts","mapImageUrl","URL","searchParams","append","useGetStaticMapImageUrl","forceMapId","forceApiToken","_useKittMapConfig","currentUrl","setCurrentUrl","currentMapIdRef","currentApiTokenRef","newUrl","StaticMapError","onReload","ArrowCounterClockwiseRegularIcon","StaticMapImage","onLoadEnd","onError","StaticMapLoader","getRangedWidthValue","nextWidth","rangedMapWidth","getShouldDisplay2x","devicePixelRatio","mapBoxMaxPictureWidth","getPictureWidth","StaticMap","_ref$width","marker","onLoaded","currentWidth","setCurrentWidth","hasError","setHasError","_useState7","_useState8","currentMapKey","setCurrentMapKey","shouldDisplay2xImage","mapUrl","handleParentLayout","KITT_MAP_CHROMATIC_IGNORE","handleImageLoadEnd","handleError","handleReload","Marker","Flex","_ref$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","_ref$breakpoint","breakpoint","_defineProperty","StoryGridCol","_ref10","titleColor","_ref10$platform","StoryGrid","Row","Col","useKittTheme","useTabBarItemColor","isActive","_useKittTheme","useTabBarIndicatorColor","_useKittTheme2","TabBarItem","_ref$isActive","typographyColor","indicatorColor","TabBar","tabs","_ref$initialActiveTab","initialActiveTabIndex","renderTabItem","onChangeTab","activeTabIndex","setActiveTabIndex","tabItems","tab","itemsRefs","scrollViewStyles","showsHorizontalScrollIndicator","node","_child$props$onPress","_child$props","scrollIntoView","inline","block","getTypography","typeToColor","Tag","tagColor","keepHoursInterval","hours","getDisplayedHours","keepMinutesInterval","minutes","getDisplayedMinutes","minutesWithinInterval","getInitialInputValueFromDateValue","date","getHours","getMinutes","TimePicker","_ref2$placeholder","validateButtonLabel","isDefaultVisible","modalTestID","pickerTestID","setInputValue","currentInputValue","_currentInputValue$sp","split","_currentInputValue$sp2","nextDate","sanitizedValue","replace","_sanitizedValue$split","_sanitizedValue$split2","currentHours","currentMinutes","handleBlur","Arrow","TooltipArrowImage","TooltipContent","getShouldRenderArrow","isTooltipFullWidth","isBase","useShouldRenderArrow","getHasArrowEnoughSpace","arrowCenterOffset","Tooltip","_middlewareData$arrow","_middlewareData$arrow2","_middlewareData$arrow3","_middlewareData$arrow4","defaultVisible","_ref$position","fullWidth","onToggle","_ref$renderPressable","renderPressable","pressableProps","onUpdate","isCursorOnTooltip","setIsCursorOnTooltip","arrowRef","currentFloatingPadding","autoPlacement","allowedPlacements","shift","crossAxis","update","refs","middlewareData","centerOffset","shouldRenderArrow","hasArrowEnoughSpace","sharedArrowProps","useOnClickOutside","handlePressOutside","handleDisplayTooltip","handleMouseEnter","handleMouseLeave","themePart","transformOrigin","handleHideTooltip","pointerEvents","onTouchStart","onTouchEnd","onMouseEnter","onMouseLeave","getTypographyTypeConfig","calcSizesFromType","TypographyEmoji","_ref3$type","displayUnderline","displayUnderlineWhenHovered","TypographyLinkWebWrapper","hasNoUnderline","TypographyLink","noUnderline","underline","dataSet","cursor","KittThemeProvider","KittThemeDecorator","makeDecorator","parameterName","wrapper","_parameters$isSSR","_ref2$options","_ref2$parameters","StyleWebWrapper","matchWindowSize","hasWidthMatched","hasHeightMatched","useMatchWindowSize","_useWindowDimensions","useWindowDimensions","MatchWindowSize","matchWindowSizeOptions","match","SwitchBreakpoints","useCurrentBreakpointName","useStepAnimations","isDone","animated","isNextDone","checkmarkAnimatedValue","useSharedValue","progressBarAnimatedValue","STAGGER_DELAY","withDelay","checkmarkAnimatedStyles","progressBarAnimatedStyles","scaleY","interpolate","AnimatedView","createAnimatedComponent","BorderlessStep","_useStepAnimations","backgroundColors","IconStatus","StepIcon","_ref2$state","Step","_ref$index","_ref$state","_ref$isLast","_ref$isFirst","_ref$shouldDisableNex","shouldDisableNextLink","getStepState","activeIndex","VerticalSteps","clonedArray","aChild","step","newProps"],"mappings":"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"}
|