@ornikar/kitt-universal 11.2.0 → 12.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.vscode/settings.json +3 -0
- package/babel-plugin-csf-to-jest.js +15 -1
- package/dist/definitions/BottomSheet/BottomSheet.d.ts +1 -1
- package/dist/definitions/Choices/AnimatedChoiceItemView.d.ts +15 -0
- package/dist/definitions/Choices/AnimatedChoiceItemView.d.ts.map +1 -0
- package/dist/definitions/Choices/AnimatedChoiceItemView.web.d.ts +4 -0
- package/dist/definitions/Choices/AnimatedChoiceItemView.web.d.ts.map +1 -0
- package/dist/definitions/Choices/ChoiceItem.d.ts +2 -3
- package/dist/definitions/Choices/ChoiceItem.d.ts.map +1 -1
- package/dist/definitions/Choices/ChoiceItemContainer.d.ts +5 -5
- package/dist/definitions/Choices/ChoiceItemContainer.d.ts.map +1 -1
- package/dist/definitions/Choices/utils/getBackgroundColor.d.ts +9 -0
- package/dist/definitions/Choices/utils/getBackgroundColor.d.ts.map +1 -0
- package/dist/definitions/Choices/utils/getBorderRadius.d.ts +3 -0
- package/dist/definitions/Choices/utils/getBorderRadius.d.ts.map +1 -0
- package/dist/definitions/Choices/utils/getCurrentTextColor.d.ts +10 -0
- package/dist/definitions/Choices/utils/getCurrentTextColor.d.ts.map +1 -0
- package/dist/definitions/ListItem/ListItem.d.ts.map +1 -1
- package/dist/definitions/ListItem/ListItemContent.d.ts.map +1 -1
- package/dist/definitions/ListItem/ListItemSideContent.d.ts.map +1 -1
- package/dist/definitions/Overlay/Overlay.d.ts.map +1 -1
- package/dist/definitions/PageLoader/PageLoader.d.ts.map +1 -1
- package/dist/definitions/Picker/Picker.d.ts.map +1 -1
- package/dist/definitions/Picker/PickerItem.d.ts.map +1 -1
- package/dist/definitions/Skeleton/SkeletonContent.d.ts.map +1 -1
- package/dist/definitions/Tag/Tag.d.ts.map +1 -1
- package/dist/definitions/TimePicker/ModalDateTimePicker.d.ts +7 -3
- package/dist/definitions/TimePicker/ModalDateTimePicker.d.ts.map +1 -1
- package/dist/definitions/TimePicker/TimePicker.d.ts +19 -8
- package/dist/definitions/TimePicker/TimePicker.d.ts.map +1 -1
- package/dist/definitions/TimePicker/TimePicker.web.d.ts +2 -1
- package/dist/definitions/TimePicker/TimePicker.web.d.ts.map +1 -1
- package/dist/definitions/TimePicker/TimePickerPressable.d.ts +20 -0
- package/dist/definitions/TimePicker/TimePickerPressable.d.ts.map +1 -0
- package/dist/definitions/TimePicker/utils/formatDateToTimeString.d.ts +2 -0
- package/dist/definitions/TimePicker/utils/formatDateToTimeString.d.ts.map +1 -0
- package/dist/definitions/TimePicker/utils/getCurrentInternalForcedState.d.ts +10 -0
- package/dist/definitions/TimePicker/utils/getCurrentInternalForcedState.d.ts.map +1 -0
- package/dist/definitions/VerticalSteps/Step.d.ts +16 -0
- package/dist/definitions/VerticalSteps/Step.d.ts.map +1 -0
- package/dist/definitions/VerticalSteps/StepIcon.d.ts +13 -0
- package/dist/definitions/VerticalSteps/StepIcon.d.ts.map +1 -0
- package/dist/definitions/VerticalSteps/VerticalSteps.d.ts +12 -0
- package/dist/definitions/VerticalSteps/VerticalSteps.d.ts.map +1 -0
- package/dist/definitions/VerticalSteps/utils/getStepState.d.ts +3 -0
- package/dist/definitions/VerticalSteps/utils/getStepState.d.ts.map +1 -0
- package/dist/definitions/forms/InputTag/InputTag.d.ts.map +1 -1
- package/dist/definitions/forms/InputText/InputTextContainer.d.ts +2 -4
- package/dist/definitions/forms/InputText/InputTextContainer.d.ts.map +1 -1
- package/dist/definitions/forms/RadioButtonGroup/AnimatedContainer/AnimatedContainer.d.ts +1 -1
- package/dist/definitions/forms/RadioButtonGroup/AnimatedContainer/AnimatedContainer.d.ts.map +1 -1
- package/dist/definitions/index.d.ts +1 -1
- package/dist/definitions/index.d.ts.map +1 -1
- package/dist/definitions/native-base/KittNativeBaseProvider.d.ts +190 -0
- package/dist/definitions/native-base/KittNativeBaseProvider.d.ts.map +1 -1
- package/dist/definitions/story-components/Flex.d.ts +6 -4
- package/dist/definitions/story-components/Flex.d.ts.map +1 -1
- package/dist/definitions/themes/default.d.ts +2 -0
- package/dist/definitions/themes/default.d.ts.map +1 -1
- package/dist/definitions/themes/late-ocean/choices.d.ts +2 -0
- package/dist/definitions/themes/late-ocean/choices.d.ts.map +1 -1
- package/dist/definitions/themes/late-ocean/forms.d.ts +1 -0
- package/dist/definitions/themes/late-ocean/forms.d.ts.map +1 -1
- package/dist/definitions/themes/late-ocean/listItem.d.ts +3 -0
- package/dist/definitions/themes/late-ocean/listItem.d.ts.map +1 -1
- package/dist/definitions/themes/late-ocean/picker.d.ts +3 -0
- package/dist/definitions/themes/late-ocean/picker.d.ts.map +1 -1
- package/dist/definitions/themes/late-ocean/tag.d.ts +3 -0
- package/dist/definitions/themes/late-ocean/tag.d.ts.map +1 -1
- package/dist/definitions/themes/late-ocean/timePicker.d.ts +5 -0
- package/dist/definitions/themes/late-ocean/timePicker.d.ts.map +1 -0
- package/dist/definitions/themes/late-ocean/verticalSteps.d.ts +14 -0
- package/dist/definitions/themes/late-ocean/verticalSteps.d.ts.map +1 -0
- package/dist/index-browser-all.es.android.js +923 -656
- package/dist/index-browser-all.es.android.js.map +1 -1
- package/dist/index-browser-all.es.ios.js +923 -656
- package/dist/index-browser-all.es.ios.js.map +1 -1
- package/dist/index-browser-all.es.js +922 -655
- package/dist/index-browser-all.es.js.map +1 -1
- package/dist/index-browser-all.es.web.js +726 -383
- package/dist/index-browser-all.es.web.js.map +1 -1
- package/dist/index-node-14.17.cjs.js +764 -486
- package/dist/index-node-14.17.cjs.js.map +1 -1
- package/dist/index-node-14.17.cjs.web.js +599 -245
- package/dist/index-node-14.17.cjs.web.js.map +1 -1
- package/dist/linaria-themes-browser-all.es.android.js +35 -2
- package/dist/linaria-themes-browser-all.es.android.js.map +1 -1
- package/dist/linaria-themes-browser-all.es.ios.js +35 -2
- package/dist/linaria-themes-browser-all.es.ios.js.map +1 -1
- package/dist/linaria-themes-browser-all.es.js +35 -2
- package/dist/linaria-themes-browser-all.es.js.map +1 -1
- package/dist/linaria-themes-browser-all.es.web.js +35 -2
- package/dist/linaria-themes-browser-all.es.web.js.map +1 -1
- package/dist/linaria-themes-node-14.17.cjs.js +35 -2
- package/dist/linaria-themes-node-14.17.cjs.js.map +1 -1
- package/dist/linaria-themes-node-14.17.cjs.web.js +35 -2
- package/dist/linaria-themes-node-14.17.cjs.web.js.map +1 -1
- package/dist/tsbuildinfo +1 -1
- package/package.json +5 -5
- package/typings/react-native-web.d.ts +2 -0
- package/dist/definitions/TimePicker/useTimePicker.d.ts +0 -14
- package/dist/definitions/TimePicker/useTimePicker.d.ts.map +0 -1
- package/dist/definitions/forms/styledTextInputMixin.d.ts +0 -8
- package/dist/definitions/forms/styledTextInputMixin.d.ts.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index-browser-all.es.android.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/checkbox.ts","../src/themes/late-ocean/datePicker.ts","../src/themes/late-ocean/typography.ts","../src/themes/late-ocean/input.ts","../src/themes/late-ocean/inputField.ts","../src/themes/late-ocean/inputTag.ts","../src/themes/late-ocean/radio.ts","../src/themes/late-ocean/radioButtonGroup.ts","../src/themes/late-ocean/textArea.ts","../src/themes/late-ocean/forms.ts","../src/themes/late-ocean/fullscreenModal.ts","../src/themes/late-ocean/highlight.ts","../src/themes/late-ocean/iconButton.ts","../src/themes/late-ocean/listItem.ts","../src/themes/late-ocean/pageLoader.ts","../src/themes/late-ocean/picker.ts","../src/themes/late-ocean/shadows.ts","../src/themes/late-ocean/skeleton.ts","../src/themes/late-ocean/tag.ts","../src/themes/late-ocean/tooltip.ts","../src/themes/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/Button/utils/getCurrentBackgroundColorForNativeBaseTheme.ts","../src/Button/AnimatedContainer.tsx","../src/KittBreakpoints.ts","../src/typography/typographyColors.ts","../src/typography/utils/getNBThemeColorFromColorProps.ts","../src/typography/utils/getTypographyColorValue.ts","../src/typography/utils/isTypeHeader.ts","../src/typography/utils/isTypographyHeader.ts","../src/typography/Typography.tsx","../src/Icon/Icon.tsx","../src/typography/TypographyIcon.tsx","../src/Button/utils/getTextColorByType.ts","../src/Button/ButtonContent.tsx","../src/Button/ButtonPadding.tsx","../src/Button/DisabledBorder.tsx","../src/Button/FocusBorder.tsx","../src/Button/getVariantValuesIfExist.ts","../src/Button/hooks/useNativeAnimation.ts","../src/Button/utils/getButtonSize.ts","../src/Button/Button.tsx","../src/Icon/SpinningIcon.tsx","../src/LoaderIcon/LoaderIcon.tsx","../src/utils/windowSize/useMatchWindowSize.ts","../src/Actions/ActionsItem.tsx","../src/Actions/ActionsButton.tsx","../src/Actions/Actions.tsx","../src/Avatar/utils/getCurrentRadius.ts","../src/Avatar/utils/getCurrentSize.ts","../src/Avatar/utils/getIconSize.ts","../src/Avatar/utils/getInitials.ts","../src/Avatar/Avatar.tsx","../src/BottomSheet/BottomSheet.tsx","../src/BottomSheet/useBottomSheet.ts","../src/BottomSheet/useStaticBottomSheet.tsx","../src/ModalBehaviour/ModalBehaviourPortal.tsx","../src/ModalBehaviour/OnCloseContext.tsx","../src/ModalBehaviour/ModalBehaviour.tsx","../src/Overlay/Overlay.tsx","../src/CardModal/CardModalAnimation/CardModalRotationContainer.tsx","../src/CardModal/CardModalAnimation/NativeOpacityAnimation.tsx","../src/CardModal/CardModalAnimation/NativeRotationAnimation.tsx","../src/CardModal/CardModalAnimation/CardModalAnimation.tsx","../src/CardModal/CardModalBehaviour.tsx","../src/CardModal/CardModalBody.tsx","../src/CardModal/CardModalFooter.tsx","../src/CardModal/CardModalHeader.tsx","../src/CardModal/CardModal.tsx","../src/Choices/hooks/useNativeAnimation.tsx","../src/Choices/ChoiceItem.tsx","../src/Choices/ChoiceItemContainer.tsx","../src/Choices/Choices.tsx","../src/DialogModal/DialogModalAnimation/NativeOpacityAnimation.tsx","../src/DialogModal/DialogModalAnimation/NativeRotationAnimation.tsx","../src/DialogModal/DialogModalAnimation/DialogModalAnimation.tsx","../src/DialogModal/DialogModalBehaviour.tsx","../src/DialogModal/DialogModal.tsx","../src/Emoji/Emoji.tsx","../src/ExternalAppLink/ExternalAppLink.tsx","../src/ExternalLink/ExternalLinkOpenLinkBehavior.ts","../src/ExternalLink/ExternalLink.tsx","../src/forms/Checkbox/utils/getBackgroundColor.ts","../src/forms/Checkbox/utils/getBorderColor.ts","../src/forms/Checkbox/Checkbox.tsx","../src/utils/getReturnKeyTypeForNumericInput/getReturnKeyTypeForNumericInput.ts","../src/forms/DatePicker/utils/dateFormatter.ts","../src/forms/DatePicker/utils/datePartInInterval.ts","../src/forms/DatePicker/reducers/keyboardDatePickerReducer.ts","../src/forms/DatePicker/utils/isNumber.ts","../src/forms/DatePicker/utils/onDatePartChange.ts","../src/forms/DatePicker/utils/stringToNumber.ts","../src/forms/InputText/InputTextContainer.tsx","../src/forms/InputText/InputText.tsx","../src/forms/DatePicker/components/InputPart.tsx","../src/forms/DatePicker/components/PartContainer.tsx","../src/forms/DatePicker/components/KeyboardDatePicker.tsx","../src/forms/DatePicker/components/PressableDateInputs.tsx","../src/forms/DatePicker/components/NativeUIDatePicker/DatePickerAndroid.tsx","../src/Modal/Body.tsx","../src/Modal/Footer.tsx","../src/IconButton/Background.tsx","../src/IconButton/AnimatedBackground.tsx","../src/IconButton/AnimatedScale.tsx","../src/IconButton/hooks/useNativeAnimation.ts","../src/IconButton/IconButton.tsx","../src/Modal/OnCloseContext.ts","../src/Modal/Header.tsx","../src/Modal/Modal.tsx","../src/forms/DatePicker/components/NativeUIDatePicker/PlatformDateTimePicker.tsx","../src/forms/DatePicker/components/NativeUIDatePicker/ModalPlatformDateTimePicker.tsx","../src/forms/DatePicker/components/NativeUIDatePicker/DefaultNativeUIDatePicker.tsx","../src/forms/DatePicker/components/NativeUIDatePicker/NativeUIDatePicker.tsx","../src/forms/DatePicker/DatePicker.tsx","../src/forms/InputEmail/InputEmail.tsx","../src/forms/InputFeedback/InputFeedback.tsx","../src/forms/InputField/InputField.tsx","../src/forms/InputIcon/InputIcon.tsx","../src/forms/InputPressable/InputPressable.tsx","../src/forms/InputPassword/InputPassword.tsx","../src/forms/InputPhone/InputPhone.tsx","../src/forms/InputTag/InputTag.tsx","../src/forms/Label/Label.tsx","../src/forms/Radio/InnerCircle.tsx","../src/forms/Radio/utils/getBackgroundColor.ts","../src/forms/Radio/utils/getBorderColor.ts","../src/forms/Radio/OuterCircle.tsx","../src/forms/Radio/Radio.tsx","../src/forms/RadioButtonGroup/AnimatedContainer/AnimatedContainer.tsx","../src/forms/RadioButtonGroup/HoverBorder.tsx","../src/forms/RadioButtonGroup/hooks/useNativeAnimation.ts","../src/forms/RadioButtonGroup/utils/getCurrentTextColor.ts","../src/forms/RadioButtonGroup/RadioButton.tsx","../src/forms/RadioButtonGroup/RadioButtonGroup.tsx","../src/forms/TextArea/TextArea.tsx","../src/FullscreenModal/Body.tsx","../src/FullscreenModal/Footer.tsx","../src/FullscreenModal/components/NativeOpacityAnimation.tsx","../src/FullscreenModal/components/NativeSlideInAnimation.tsx","../src/FullscreenModal/FullscreenModalAnimation.tsx","../src/FullscreenModal/FullscreenModalBehaviour.tsx","../src/FullscreenModal/FullscreenModalContainer.tsx","../src/FullscreenModal/Header.tsx","../src/FullscreenModal/FullscreenModal.tsx","../src/Highlight/Highlight.tsx","../src/KittMapConfigProvider/KittMapConfigProvider.tsx","../src/KittMapConfigProvider/hooks/useKittMapConfig.ts","../src/ListItem/ListItemContent.tsx","../src/ListItem/ListItemSideContent.tsx","../src/ListItem/ListItem.tsx","../src/MapMarker/assets/marker-large.inline.svg","../src/MapMarker/assets/marker.inline.svg","../src/MapMarker/assets/position-marker.inline.svg","../src/MapMarker/MapMarker.tsx","../src/BaseMessage/IconContent.tsx","../src/BaseMessage/helper.ts","../src/BaseMessage/BaseMessage.tsx","../src/Message/Message.tsx","../src/native-base/KittNativeBaseProvider.tsx","../src/NavigationModal/NavigationModalBehaviour.tsx","../src/NavigationModal/NavigationModal.tsx","../src/Notification/Notification.tsx","../src/PageLoader/AnimatedLoaderCircle.tsx","../src/PageLoader/AnimatedBackgroundCircle.tsx","../src/PageLoader/AnimatedFillCircleContainer.tsx","../src/PageLoader/AnimatedFillCircle.tsx","../src/PageLoader/PageLoader.tsx","../src/Picker/PickerItem.tsx","../src/Picker/Picker.tsx","../src/SegmentedProgressBar/assets/stripes.inline.svg","../src/SegmentedProgressBar/SegmentedProgressBar.tsx","../src/Skeleton/SkeletonContent.tsx","../src/Skeleton/Skeleton.tsx","../src/StaticMap/utils/getStaticMapImageUrl.ts","../src/StaticMap/hooks/useGetStaticMapImageUrl.ts","../src/StaticMap/StaticMapError.tsx","../src/StaticMap/StaticMapImage.tsx","../src/StaticMap/StaticMapLoader.tsx","../src/StaticMap/StaticMapMarker.tsx","../src/StaticMap/utils/getRangedWidthValue.ts","../src/StaticMap/utils/getShouldDisplay2x.ts","../src/StaticMap/StaticMap.tsx","../src/story-components/Flex.tsx","../src/story-components/theme.ts","../src/story-components/StoryBlock.tsx","../src/story-components/StoryTitle.tsx","../src/story-components/Story.tsx","../src/story-components/StorySection.tsx","../src/story-components/StoryContainer.tsx","../src/story-components/StoryDecorator.tsx","../src/story-components/StoryGrid.tsx","../src/Tag/Tag.tsx","../src/forms/styledTextInputMixin.ts","../src/TimePicker/ModalDateTimePicker.tsx","../src/TimePicker/useTimePicker.ts","../src/TimePicker/TimePicker.tsx","../src/Tooltip/Arrow.tsx","../src/Tooltip/TooltipContent.tsx","../src/Tooltip/hooks/useCustomShift.ts","../src/Tooltip/Tooltip.tsx","../src/typography/TypographyEmoji.tsx","../src/utils/StyleWebWrapper.tsx","../src/typography/TypographyLink.tsx","../src/utils/windowSize/createWindowSizeHelper.ts","../src/useKittTheme.tsx","../src/utils/storybook/KittThemeDecorator.tsx","../src/utils/windowSize/MatchWindowSize.tsx","../src/utils/windowSize/useCurrentBreakpointName.ts","../src/utils/withTheme.tsx"],"sourcesContent":["import type { IImageProps, IPressableProps, IScrollViewProps } from 'native-base';\nimport {\n FlatList as NativeBaseFlatList,\n Image as NativeBaseImage,\n Pressable as NativeBasePressable,\n ScrollView as NativeBaseScrollView,\n SectionList as NativeBaseSectionList,\n View as NativeBaseView,\n} from 'native-base';\nimport type {\n IFlatListProps,\n InterfaceFlatListProps,\n} from 'native-base/lib/typescript/components/basic/FlatList/types';\nimport type { InterfaceScrollViewProps } from 'native-base/lib/typescript/components/basic/ScrollView/types';\nimport type {\n ISectionListProps,\n InterfaceSectionListProps,\n} from 'native-base/lib/typescript/components/basic/SectionList/types';\nimport type { IViewProps, InterfaceViewProps } from 'native-base/lib/typescript/components/basic/View/types';\nimport type { InterfacePressableProps } from 'native-base/lib/typescript/components/primitives/Pressable/types';\nimport type { ForwardedRef, MutableRefObject } from 'react';\nimport type {\n FlatList as NativeFlatList,\n FlatListProps as NativeFlatListProps,\n PressableProps as NativePressableProps,\n ScrollViewProps as NativeScrollViewProps,\n SectionList as NativeSectionList,\n SectionListProps as NativeSectionListProps,\n ViewProps as NativeViewProps,\n} from 'react-native';\nimport type {\n ForwardRefComponent,\n NativeBaseAcceptedBorderProps,\n NativeBaseAcceptedBorderRadiusProps,\n NativeBaseAcceptedColorsProps,\n NativeBaseAcceptedFlexboxProps,\n NativeBaseAcceptedLayoutProps,\n NativeBaseAcceptedPositionProps,\n NativeBaseAcceptedShadowProps,\n NativeBaseAcceptedSpaceProps,\n} from './acceptable-native-base-props';\n\ntype NativeBaseAcceptedViewProps = Extract<keyof InterfaceViewProps, 'children' | keyof NativeViewProps>;\n\nexport interface ViewProps\n extends Pick<\n IViewProps,\n | NativeBaseAcceptedViewProps\n | NativeBaseAcceptedSpaceProps\n | NativeBaseAcceptedColorsProps\n | NativeBaseAcceptedBorderProps\n | NativeBaseAcceptedBorderRadiusProps\n | NativeBaseAcceptedPositionProps\n | NativeBaseAcceptedShadowProps\n | NativeBaseAcceptedLayoutProps\n | NativeBaseAcceptedFlexboxProps\n > {}\n\nexport const View = NativeBaseView as ForwardRefComponent<ViewProps>;\n\ntype NativeBaseAcceptedScrollViewProps = Extract<\n keyof InterfaceScrollViewProps,\n 'children' | '_contentContainerStyle' | keyof NativeScrollViewProps\n>;\nexport interface ScrollViewProps\n extends Pick<\n IScrollViewProps,\n | NativeBaseAcceptedScrollViewProps\n | NativeBaseAcceptedSpaceProps\n | NativeBaseAcceptedColorsProps\n | NativeBaseAcceptedBorderProps\n | NativeBaseAcceptedBorderRadiusProps\n | NativeBaseAcceptedPositionProps\n | NativeBaseAcceptedShadowProps\n | NativeBaseAcceptedLayoutProps\n | NativeBaseAcceptedFlexboxProps\n > {}\n\nexport const ScrollView = NativeBaseScrollView as ForwardRefComponent<ScrollViewProps>;\n\ntype NativeBaseAcceptedPressableProps = Extract<\n keyof InterfacePressableProps,\n | 'children'\n | 'onHoverIn'\n | 'onHoverOut'\n | 'onFocus'\n | 'onBlur'\n | '_hover'\n | '_pressed'\n | '_focus'\n | '_disabled'\n | 'isDisabled'\n | 'isHovered'\n | 'isPressed'\n | 'isFocused'\n | 'isFocusVisible'\n | '_focusVisible'\n | keyof NativePressableProps\n>;\nexport interface PressableProps\n extends Pick<\n IPressableProps,\n | NativeBaseAcceptedPressableProps\n | NativeBaseAcceptedSpaceProps\n | NativeBaseAcceptedColorsProps\n | NativeBaseAcceptedBorderProps\n | NativeBaseAcceptedBorderRadiusProps\n | NativeBaseAcceptedPositionProps\n | NativeBaseAcceptedShadowProps\n | NativeBaseAcceptedLayoutProps\n | NativeBaseAcceptedFlexboxProps\n > {}\n\nexport const Pressable = NativeBasePressable as ForwardRefComponent<PressableProps>;\n\nexport const Image = NativeBaseImage as ForwardRefComponent<IImageProps>;\n\ntype NativeBaseAcceptedFlatListProps<ItemT> = Extract<\n keyof InterfaceFlatListProps<ItemT>,\n 'ref' | '_contentContainerStyle' | keyof NativeFlatListProps<ItemT>\n>;\nexport interface FlatListProps<ItemT>\n extends Pick<\n IFlatListProps<ItemT>,\n | NativeBaseAcceptedFlatListProps<ItemT>\n | NativeBaseAcceptedSpaceProps\n | NativeBaseAcceptedColorsProps\n | NativeBaseAcceptedBorderProps\n | NativeBaseAcceptedBorderRadiusProps\n | NativeBaseAcceptedPositionProps\n | NativeBaseAcceptedShadowProps\n | NativeBaseAcceptedLayoutProps\n | NativeBaseAcceptedFlexboxProps\n > {}\n\n// See: https://fettblog.eu/typescript-react-generic-forward-refs/\nexport const FlatList = NativeBaseFlatList as <ItemT>(\n props: FlatListProps<ItemT> & { ref?: MutableRefObject<NativeFlatList<ItemT> | undefined> },\n) => ReturnType<typeof NativeBaseFlatList>;\n\ntype NativeBaseAcceptedSectionListProps<ItemT, SectionT> = Extract<\n keyof InterfaceSectionListProps<ItemT, SectionT>,\n 'ref' | keyof NativeSectionListProps<ItemT, SectionT>\n>;\nexport interface SectionListProps<ItemT, SectionT>\n extends Pick<\n ISectionListProps<ItemT, SectionT>,\n | NativeBaseAcceptedSectionListProps<ItemT, SectionT>\n | NativeBaseAcceptedSpaceProps\n | NativeBaseAcceptedColorsProps\n | NativeBaseAcceptedBorderProps\n | NativeBaseAcceptedBorderRadiusProps\n | NativeBaseAcceptedPositionProps\n | NativeBaseAcceptedShadowProps\n | NativeBaseAcceptedLayoutProps\n | NativeBaseAcceptedFlexboxProps\n > {}\n\n// See: https://fettblog.eu/typescript-react-generic-forward-refs/\nexport const SectionList = NativeBaseSectionList as <ItemT, SectionT>(\n props: SectionListProps<ItemT, SectionT> & { ref?: ForwardedRef<NativeSectionList<ItemT, SectionT> | undefined> },\n) => ReturnType<typeof NativeBaseSectionList>;\n","export const hex2rgba = (hex: string, alpha = 1): string => {\n const r = parseInt(hex.slice(1, 3), 16);\n const g = parseInt(hex.slice(3, 5), 16);\n const b = parseInt(hex.slice(5, 7), 16);\n\n return `rgba(${r}, ${g}, ${b}, ${alpha})`;\n};\n","export const lateOceanColorPalette = {\n lateOcean: '#4C34E0',\n lateOceanLight1: '#705DE6',\n lateOceanLight2: '#9485EC',\n lateOceanLight3: '#D6BAF9',\n\n warmEmbrace: '#F4D3CE',\n warmEmbraceLight1: '#FFEDE6',\n\n black1000: '#000000',\n black800: '#333333',\n black555: '#737373',\n black400: '#999999',\n black200: '#CCCCCC',\n black100: '#E5E5E5',\n black50: '#F2F2F2',\n black25: '#F9F9F9',\n white: '#FFFFFF',\n\n viride: '#38836D',\n englishVermillon: '#D44148',\n goldCrayola: '#F8C583',\n aero: '#89BDDD',\n seaShell: '#FFF9F3',\n\n transparent: 'transparent',\n\n moonPurple: '#DBD6F9',\n moonPurpleLight1: '#EDEBFC',\n};\n","import { lateOceanColorPalette } from '../palettes/lateOceanColorPalette';\n\nexport const colors = {\n primary: lateOceanColorPalette.lateOcean,\n primaryLight: lateOceanColorPalette.lateOceanLight1,\n accent: lateOceanColorPalette.warmEmbrace,\n accentLight: lateOceanColorPalette.warmEmbraceLight1,\n success: lateOceanColorPalette.viride,\n correct: lateOceanColorPalette.viride,\n danger: lateOceanColorPalette.englishVermillon,\n info: lateOceanColorPalette.aero,\n warning: lateOceanColorPalette.goldCrayola,\n separator: lateOceanColorPalette.black100,\n hover: lateOceanColorPalette.black100,\n white: lateOceanColorPalette.white,\n black: lateOceanColorPalette.black1000,\n blackDisabled: lateOceanColorPalette.black400,\n blackLight: lateOceanColorPalette.black555,\n blackAnthracite: lateOceanColorPalette.black800,\n uiBackground: lateOceanColorPalette.black25,\n uiBackgroundLight: lateOceanColorPalette.white,\n transparent: lateOceanColorPalette.transparent,\n disabled: lateOceanColorPalette.black50,\n overlay: {\n dark: 'rgba(41, 48, 51, 0.25)',\n light: 'rgba(255, 255, 255, 0.90)',\n },\n};\n","import { hex2rgba } from '../../utils/hexToRgba';\nimport { lateOceanColorPalette } from '../palettes/lateOceanColorPalette';\nimport { colors } from './colors';\n\nexport interface ActionCardState {\n backgroundColor: string;\n borderColor?: string;\n borderWidth: number;\n shadow: {\n color: string;\n offsetX: number;\n offsetY: number;\n opacity: number;\n radius: number;\n };\n translateY: number;\n}\n\nexport interface ActionCardVariant {\n default: ActionCardState;\n disabled: ActionCardState;\n hovered: ActionCardState;\n pressed: ActionCardState;\n focused: ActionCardState;\n}\n\nexport interface ActionCardTheme {\n borderRadius: number;\n primary: ActionCardVariant;\n 'primary-border-soft': ActionCardVariant;\n 'primary-border-hard': ActionCardVariant;\n secondary: ActionCardVariant;\n highlight: ActionCardVariant;\n}\n\nexport const actionCard: ActionCardTheme = {\n borderRadius: 20,\n primary: {\n default: {\n backgroundColor: colors.uiBackgroundLight,\n borderColor: lateOceanColorPalette.black100,\n borderWidth: 1,\n shadow: {\n color: lateOceanColorPalette.black100,\n offsetX: 0,\n offsetY: 4,\n opacity: 1,\n radius: 0,\n },\n translateY: 0,\n },\n hovered: {\n backgroundColor: lateOceanColorPalette.black50,\n borderColor: lateOceanColorPalette.black100,\n borderWidth: 1,\n shadow: {\n color: lateOceanColorPalette.black100,\n offsetX: 0,\n offsetY: 4,\n opacity: 1,\n radius: 0,\n },\n translateY: 0,\n },\n disabled: {\n backgroundColor: lateOceanColorPalette.white,\n borderColor: lateOceanColorPalette.black100,\n borderWidth: 1,\n shadow: {\n color: '',\n offsetX: 0,\n offsetY: 0,\n opacity: 0,\n radius: 0,\n },\n translateY: 0,\n },\n focused: {\n backgroundColor: lateOceanColorPalette.black50,\n borderColor: lateOceanColorPalette.black100,\n borderWidth: 1,\n shadow: {\n color: lateOceanColorPalette.black100,\n offsetX: 0,\n offsetY: 4,\n opacity: 1,\n radius: 0,\n },\n translateY: 0,\n },\n pressed: {\n backgroundColor: lateOceanColorPalette.black50,\n borderColor: lateOceanColorPalette.black100,\n borderWidth: 1,\n shadow: {\n color: '',\n offsetX: 0,\n offsetY: 0,\n opacity: 0,\n radius: 0,\n },\n translateY: 3,\n },\n },\n 'primary-border-soft': {\n default: {\n backgroundColor: colors.uiBackgroundLight,\n borderColor: lateOceanColorPalette.moonPurple,\n borderWidth: 1,\n shadow: {\n color: lateOceanColorPalette.moonPurple,\n offsetX: 0,\n offsetY: 4,\n opacity: 1,\n radius: 0,\n },\n translateY: 0,\n },\n hovered: {\n backgroundColor: lateOceanColorPalette.black50,\n borderColor: lateOceanColorPalette.moonPurple,\n borderWidth: 1,\n shadow: {\n color: lateOceanColorPalette.moonPurple,\n offsetX: 0,\n offsetY: 4,\n opacity: 1,\n radius: 0,\n },\n translateY: 0,\n },\n disabled: {\n backgroundColor: lateOceanColorPalette.white,\n borderColor: lateOceanColorPalette.moonPurple,\n borderWidth: 1,\n shadow: {\n color: '',\n offsetX: 0,\n offsetY: 0,\n opacity: 0,\n radius: 0,\n },\n translateY: 0,\n },\n focused: {\n backgroundColor: lateOceanColorPalette.black50,\n borderColor: lateOceanColorPalette.moonPurple,\n borderWidth: 1,\n shadow: {\n color: lateOceanColorPalette.moonPurple,\n offsetX: 0,\n offsetY: 4,\n opacity: 1,\n radius: 0,\n },\n translateY: 0,\n },\n pressed: {\n backgroundColor: lateOceanColorPalette.black50,\n borderColor: lateOceanColorPalette.moonPurple,\n borderWidth: 1,\n shadow: {\n color: '',\n offsetX: 0,\n offsetY: 0,\n opacity: 0,\n radius: 0,\n },\n translateY: 3,\n },\n },\n 'primary-border-hard': {\n default: {\n backgroundColor: colors.uiBackgroundLight,\n borderColor: lateOceanColorPalette.lateOcean,\n borderWidth: 1,\n shadow: {\n color: lateOceanColorPalette.lateOcean,\n offsetX: 0,\n offsetY: 4,\n opacity: 1,\n radius: 0,\n },\n translateY: 0,\n },\n hovered: {\n backgroundColor: lateOceanColorPalette.black50,\n borderColor: lateOceanColorPalette.lateOcean,\n borderWidth: 1,\n shadow: {\n color: lateOceanColorPalette.lateOcean,\n offsetX: 0,\n offsetY: 4,\n opacity: 1,\n radius: 0,\n },\n translateY: 0,\n },\n disabled: {\n backgroundColor: lateOceanColorPalette.white,\n borderColor: lateOceanColorPalette.lateOcean,\n borderWidth: 1,\n shadow: {\n color: '',\n offsetX: 0,\n offsetY: 0,\n opacity: 0,\n radius: 0,\n },\n translateY: 0,\n },\n focused: {\n backgroundColor: lateOceanColorPalette.black50,\n borderColor: lateOceanColorPalette.lateOcean,\n borderWidth: 1,\n shadow: {\n color: lateOceanColorPalette.lateOcean,\n offsetX: 0,\n offsetY: 4,\n opacity: 1,\n radius: 0,\n },\n translateY: 0,\n },\n pressed: {\n backgroundColor: lateOceanColorPalette.black50,\n borderColor: lateOceanColorPalette.lateOcean,\n borderWidth: 1,\n shadow: {\n color: '',\n offsetX: 0,\n offsetY: 0,\n opacity: 0,\n radius: 0,\n },\n translateY: 3,\n },\n },\n secondary: {\n default: {\n backgroundColor: lateOceanColorPalette.black50,\n borderColor: lateOceanColorPalette.transparent,\n borderWidth: 0,\n shadow: {\n color: '',\n offsetX: 0,\n offsetY: 0,\n opacity: 0,\n radius: 0,\n },\n translateY: 0,\n },\n disabled: {\n backgroundColor: lateOceanColorPalette.white,\n borderColor: lateOceanColorPalette.black100,\n borderWidth: 1,\n shadow: {\n color: '',\n offsetX: 0,\n offsetY: 0,\n opacity: 0,\n radius: 0,\n },\n translateY: 0,\n },\n hovered: {\n backgroundColor: lateOceanColorPalette.black100,\n borderColor: lateOceanColorPalette.transparent,\n borderWidth: 0,\n shadow: {\n color: '',\n offsetX: 0,\n offsetY: 0,\n opacity: 0,\n radius: 0,\n },\n translateY: 0,\n },\n focused: {\n backgroundColor: lateOceanColorPalette.black100,\n borderColor: lateOceanColorPalette.transparent,\n borderWidth: 0,\n shadow: {\n color: '',\n offsetX: 0,\n offsetY: 0,\n opacity: 0,\n radius: 0,\n },\n translateY: 0,\n },\n pressed: {\n backgroundColor: lateOceanColorPalette.black100,\n borderColor: lateOceanColorPalette.transparent,\n borderWidth: 0,\n shadow: {\n color: '',\n offsetX: 0,\n offsetY: 0,\n opacity: 0,\n radius: 0,\n },\n translateY: 0,\n },\n },\n highlight: {\n default: {\n backgroundColor: lateOceanColorPalette.moonPurpleLight1,\n borderColor: lateOceanColorPalette.moonPurple,\n borderWidth: 1,\n shadow: {\n color: lateOceanColorPalette.moonPurple,\n offsetX: 0,\n offsetY: 4,\n opacity: 1,\n radius: 0,\n },\n translateY: 0,\n },\n disabled: {\n backgroundColor: lateOceanColorPalette.white,\n borderColor: lateOceanColorPalette.black100,\n borderWidth: 1,\n shadow: {\n color: '',\n offsetX: 0,\n offsetY: 0,\n opacity: 0,\n radius: 0,\n },\n translateY: 0,\n },\n hovered: {\n backgroundColor: hex2rgba(lateOceanColorPalette.moonPurpleLight1, 0.6),\n borderColor: lateOceanColorPalette.moonPurple,\n borderWidth: 1,\n shadow: {\n color: lateOceanColorPalette.moonPurple,\n offsetX: 0,\n offsetY: 4,\n opacity: 1,\n radius: 0,\n },\n translateY: 0,\n },\n focused: {\n backgroundColor: hex2rgba(lateOceanColorPalette.moonPurpleLight1, 0.6),\n borderColor: lateOceanColorPalette.moonPurple,\n borderWidth: 1,\n shadow: {\n color: lateOceanColorPalette.moonPurple,\n offsetX: 0,\n offsetY: 4,\n opacity: 1,\n radius: 0,\n },\n translateY: 0,\n },\n pressed: {\n backgroundColor: hex2rgba(lateOceanColorPalette.moonPurpleLight1, 0.6),\n borderColor: lateOceanColorPalette.moonPurple,\n borderWidth: 1,\n shadow: {\n color: '',\n offsetX: 0,\n offsetY: 0,\n opacity: 0,\n radius: 0,\n },\n translateY: 3,\n },\n },\n};\n","import { lateOceanColorPalette } from '../palettes/lateOceanColorPalette';\nimport { colors } from './colors';\n\nexport const defaultAvatarSize = 40;\nexport const defaultAvatarIconSize = 20;\n\nexport const largeAvatarSize = 120;\nexport const largeAvatarIconSize = 30;\n\nexport interface AvatarThemeColorVariant {\n backgroundColor: string;\n}\n\nexport interface AvatarThemeSizeVariant {\n borderRadius: number;\n size: number;\n iconSize: number;\n}\n\nexport interface AvatarTheme {\n borderRadius: number;\n size: number;\n iconSize: number;\n default: AvatarThemeColorVariant;\n light: AvatarThemeColorVariant;\n large: AvatarThemeSizeVariant;\n}\n\nexport const avatar: AvatarTheme = {\n borderRadius: 10,\n size: defaultAvatarSize,\n iconSize: defaultAvatarIconSize,\n default: {\n backgroundColor: colors.primary,\n },\n light: {\n backgroundColor: lateOceanColorPalette.black100,\n },\n large: {\n borderRadius: 30,\n size: largeAvatarSize,\n iconSize: largeAvatarIconSize,\n },\n};\n","export const spacing = 4;\n","import { lateOceanColorPalette } from '../palettes/lateOceanColorPalette';\nimport { spacing } from './spacing';\n\nexport interface BottomSheetTheme {\n container: {\n padding: number;\n };\n handle: {\n backgroundColor: string;\n };\n}\n\nexport const bottomSheet: BottomSheetTheme = {\n container: {\n padding: spacing * 4,\n },\n handle: {\n backgroundColor: lateOceanColorPalette.black200,\n },\n};\n","import { lateOceanColorPalette } from '../palettes/lateOceanColorPalette';\nimport { colors } from './colors';\n\nexport interface BaseVariantTheme {\n backgroundColor: string;\n pressedBackgroundColor: string;\n hoverBackgroundColor: string;\n focusBorderColor: string;\n}\n\nexport interface GhostVariantTheme extends BaseVariantTheme {\n color: string;\n hoverColor: string;\n activeColor: string;\n}\nexport interface BaseButtonTheme {\n default: BaseVariantTheme;\n}\n\nexport interface BaseButtonWithVariant extends BaseButtonTheme {\n ghost: GhostVariantTheme;\n}\n\nexport interface SubtleBaseVariantTheme extends BaseVariantTheme {\n color: string;\n hoverColor: string;\n activeColor: string;\n}\n\nexport interface SubtleButtonTheme extends BaseButtonTheme {\n default: SubtleBaseVariantTheme;\n}\n\nexport interface DisabledBaseVariantTheme extends BaseVariantTheme {\n borderColor: string;\n}\n\nexport interface DisabledButtonTheme extends BaseButtonTheme {\n default: DisabledBaseVariantTheme;\n}\n\ninterface ButtonPadding {\n horizontal: number;\n vertical: number;\n}\n\nexport interface ButtonTheme {\n borderRadius: number;\n borderWidth: {\n disabled: number;\n focus: number;\n };\n minHeight: number;\n minWidth: number;\n maxWidth: number;\n scale: {\n base: {\n default: number;\n hover: number;\n active: number;\n };\n medium: {\n hover: number;\n };\n };\n /**\n * @deprecated use `padding` instead\n */\n contentPadding: {\n default: string;\n large: string;\n xLarge: string;\n disabled: string;\n };\n padding: {\n default: ButtonPadding;\n large: ButtonPadding;\n xLarge: ButtonPadding;\n disabled: ButtonPadding;\n };\n transition: {\n duration: string;\n timingFunction: string;\n };\n default: BaseButtonWithVariant;\n primary: BaseButtonWithVariant;\n danger: BaseButtonWithVariant;\n white: BaseButtonTheme;\n subtle: SubtleButtonTheme;\n 'subtle-dark': SubtleButtonTheme;\n disabled: DisabledButtonTheme;\n}\n\nexport const button: ButtonTheme = {\n borderRadius: 30,\n borderWidth: {\n disabled: 2,\n focus: 3,\n },\n minHeight: 40,\n minWidth: 40,\n maxWidth: 335,\n scale: {\n base: {\n default: 1,\n hover: 0.95,\n active: 0.95,\n },\n medium: {\n hover: 1.05,\n },\n },\n contentPadding: {\n default: '7px 16px 7px',\n large: '11px 24px 11px',\n xLarge: '15px 24px 15px',\n disabled: '5px 14px 5px',\n },\n padding: {\n default: {\n horizontal: 16,\n vertical: 7,\n },\n large: {\n horizontal: 24,\n vertical: 11,\n },\n xLarge: {\n horizontal: 24,\n vertical: 15,\n },\n disabled: {\n horizontal: 14,\n vertical: 5,\n },\n },\n transition: {\n duration: '200ms',\n timingFunction: 'cubic-bezier(0.645, 0.045, 0.355, 1)',\n },\n default: {\n default: {\n backgroundColor: 'rgba(0, 0, 0, 0.05)',\n pressedBackgroundColor: 'rgba(0, 0, 0, 0.1)',\n hoverBackgroundColor: 'rgba(0, 0, 0, 0.1)',\n focusBorderColor: 'rgba(0, 0, 0, 0.1)',\n },\n ghost: {\n backgroundColor: 'rgba(255, 255, 255, 0.1)',\n pressedBackgroundColor: 'rgba(255, 255, 255, 0.05)',\n hoverBackgroundColor: 'rgba(255, 255, 255, 0.05)',\n focusBorderColor: 'rgba(255, 255, 255, 0.4)',\n color: lateOceanColorPalette.white,\n hoverColor: lateOceanColorPalette.white,\n activeColor: lateOceanColorPalette.white,\n },\n },\n primary: {\n default: {\n backgroundColor: colors.primary,\n pressedBackgroundColor: colors.primaryLight,\n hoverBackgroundColor: colors.primaryLight,\n focusBorderColor: 'rgba(76, 52, 224, 0.2)',\n },\n ghost: {\n backgroundColor: colors.uiBackgroundLight,\n pressedBackgroundColor: colors.uiBackground,\n hoverBackgroundColor: colors.hover,\n focusBorderColor: 'rgba(255,255,255, 0.4)',\n color: colors.primary,\n hoverColor: colors.hover,\n activeColor: colors.hover,\n },\n },\n white: {\n default: {\n backgroundColor: 'rgba(255, 255, 255, 0.05)',\n pressedBackgroundColor: 'rgba(255, 255, 255, 0.1)',\n hoverBackgroundColor: 'rgba(255, 255, 255, 0.1)',\n focusBorderColor: 'rgba(255, 255, 255, 0.1)',\n },\n },\n danger: {\n default: {\n backgroundColor: lateOceanColorPalette.warmEmbraceLight1,\n pressedBackgroundColor: lateOceanColorPalette.warmEmbrace,\n hoverBackgroundColor: lateOceanColorPalette.warmEmbrace,\n focusBorderColor: lateOceanColorPalette.warmEmbrace,\n },\n ghost: {\n backgroundColor: colors.uiBackgroundLight,\n pressedBackgroundColor: 'rgba(255, 255, 255, 0.75)',\n hoverBackgroundColor: 'rgba(255, 255, 255, 0.75)',\n focusBorderColor: 'rgba(255, 255, 255, 0.5)',\n color: lateOceanColorPalette.englishVermillon,\n hoverColor: lateOceanColorPalette.englishVermillon,\n activeColor: lateOceanColorPalette.englishVermillon,\n },\n },\n subtle: {\n default: {\n backgroundColor: colors.transparent,\n pressedBackgroundColor: colors.transparent,\n hoverBackgroundColor: colors.transparent,\n focusBorderColor: 'rgba(76, 52, 224, 0.2)',\n color: colors.primary,\n hoverColor: 'rgba(76, 52, 224, 0.8)',\n activeColor: 'rgba(76, 52, 224, 0.8)',\n },\n },\n 'subtle-dark': {\n default: {\n backgroundColor: colors.transparent,\n pressedBackgroundColor: colors.transparent,\n hoverBackgroundColor: colors.transparent,\n focusBorderColor: 'rgba(0, 0, 0, 0.1)',\n color: colors.black,\n hoverColor: 'rgba(0, 0, 0, 0.8)',\n activeColor: 'rgba(0, 0, 0, 0.8)',\n },\n },\n disabled: {\n default: {\n backgroundColor: colors.disabled,\n pressedBackgroundColor: colors.disabled,\n hoverBackgroundColor: colors.disabled,\n focusBorderColor: lateOceanColorPalette.black100,\n borderColor: lateOceanColorPalette.black100,\n },\n },\n};\n","import { lateOceanColorPalette } from '../palettes/lateOceanColorPalette';\nimport { colors } from './colors';\n\nexport interface CardThemeType {\n backgroundColor: string;\n borderColor: string;\n}\nexport interface CardTheme {\n borderRadius: number;\n borderWidth: number;\n primary: CardThemeType;\n secondary: CardThemeType;\n subtle: CardThemeType;\n}\n\nexport const card: CardTheme = {\n borderRadius: 20,\n borderWidth: 2,\n primary: {\n backgroundColor: colors.uiBackgroundLight,\n borderColor: colors.primary,\n },\n secondary: {\n backgroundColor: colors.uiBackgroundLight,\n borderColor: colors.separator,\n },\n subtle: {\n backgroundColor: lateOceanColorPalette.black50,\n borderColor: colors.separator,\n },\n};\n","import { colors } from './colors';\n\nexport interface CardModalTheme {\n borderRadius: number;\n maxWidth: number;\n maxWidthWithPadding: number;\n shadow: {\n color: string;\n offsetX: number;\n offsetY: number;\n opacity: number;\n radius: number;\n };\n header: {\n height: number;\n borderWidth: number;\n borderColor: string;\n };\n footer: {\n borderWidth: number;\n borderColor: string;\n };\n overlayPadding: {\n horizontal: number;\n vertical: number;\n };\n animation: {\n overlay: {\n duration: number;\n easing: number[];\n };\n content: {\n duration: number;\n easing: number[];\n };\n };\n}\n\nexport const webAnimationContentDuration = 400;\nexport const webAnimationContentEasing = [0.77, 0, 0.175, 1];\n\nexport const webAnimationOverlayDuration = 250;\nexport const webAnimationOverlayEasing = [0.42, 0, 1, 1];\n\nconst maxWidth = 540;\nconst overlayHorizontalPadding = 24;\n\nexport const cardModal: CardModalTheme = {\n borderRadius: 20,\n maxWidth,\n maxWidthWithPadding: maxWidth + overlayHorizontalPadding * 2,\n shadow: {\n color: colors.black,\n offsetX: 0,\n offsetY: 10,\n opacity: 0.15,\n radius: 20,\n },\n header: {\n height: 56,\n borderWidth: 1,\n borderColor: colors.separator,\n },\n footer: {\n borderWidth: 1,\n borderColor: colors.separator,\n },\n overlayPadding: {\n horizontal: 24,\n vertical: 32,\n },\n animation: {\n overlay: {\n duration: webAnimationOverlayDuration,\n easing: webAnimationOverlayEasing,\n },\n content: {\n duration: webAnimationContentDuration,\n easing: webAnimationContentEasing,\n },\n },\n};\n","import { lateOceanColorPalette } from '../palettes/lateOceanColorPalette';\nimport { colors } from './colors';\n\nexport interface ChoicesItemTheme {\n borderRadius: number;\n padding: {\n base: number;\n small: number;\n };\n backgroundColor: {\n default: string;\n disabled: string;\n selected: string;\n pressed: string;\n hover: string;\n hoverWhenSelected: string;\n };\n disabled: {\n border: {\n width: number;\n color: string;\n };\n };\n transition: {\n property: string;\n duration: number;\n timingFunction: string;\n };\n}\n\nexport interface ChoicesTheme {\n spacing: {\n row: number;\n column: number;\n };\n item: ChoicesItemTheme;\n}\n\nexport const choices: ChoicesTheme = {\n spacing: {\n row: 12,\n column: 12,\n },\n item: {\n borderRadius: 10,\n padding: {\n base: 16,\n small: 24,\n },\n backgroundColor: {\n default: lateOceanColorPalette.black50,\n disabled: colors.disabled,\n selected: colors.primary,\n pressed: lateOceanColorPalette.lateOceanLight1,\n hover: lateOceanColorPalette.black100,\n hoverWhenSelected: lateOceanColorPalette.lateOceanLight1,\n },\n disabled: {\n border: {\n width: 2,\n color: lateOceanColorPalette.black100,\n },\n },\n transition: {\n property: 'all',\n duration: 300,\n timingFunction: 'cubic-bezier(0.645, 0.045, 0.355, 1)',\n },\n },\n};\n","import { colors } from './colors';\n\nexport interface DialogModalTheme {\n borderRadius: number;\n maxWidth: number;\n overlayPadding: {\n horizontal: number;\n vertical: number;\n };\n shadow: {\n color: string;\n offsetX: number;\n offsetY: number;\n opacity: number;\n radius: number;\n };\n animation: {\n overlay: {\n duration: number;\n easing: number[];\n };\n content: {\n duration: number;\n easing: number[];\n };\n };\n}\n\nexport const webAnimationContentDuration = 400;\nexport const webAnimationContentEasing = [0.77, 0, 0.175, 1];\n\nexport const webAnimationOverlayDuration = 250;\nexport const webAnimationOverlayEasing = [0.42, 0, 1, 1];\n\nexport const dialogModal: DialogModalTheme = {\n borderRadius: 20,\n maxWidth: 540,\n overlayPadding: {\n horizontal: 24,\n vertical: 32,\n },\n shadow: {\n color: colors.black,\n offsetX: 0,\n offsetY: 10,\n opacity: 0.15,\n radius: 20,\n },\n animation: {\n overlay: {\n duration: webAnimationOverlayDuration,\n easing: webAnimationOverlayEasing,\n },\n content: {\n duration: webAnimationContentDuration,\n easing: webAnimationContentEasing,\n },\n },\n};\n","import { colors } from './colors';\n\nexport interface FeedbackMessageVariantTheme {\n backgroundColor: string;\n}\n\nexport interface FeedbackMessageTheme {\n minHeight: number;\n danger: FeedbackMessageVariantTheme;\n info: FeedbackMessageVariantTheme;\n success: FeedbackMessageVariantTheme;\n warning: FeedbackMessageVariantTheme;\n}\n\nexport const feedbackMessage: FeedbackMessageTheme = {\n minHeight: 60,\n danger: {\n backgroundColor: colors.danger,\n },\n success: {\n backgroundColor: colors.success,\n },\n info: {\n backgroundColor: colors.info,\n },\n warning: {\n backgroundColor: colors.warning,\n },\n};\n","import { colors } from './colors';\n\nexport const checkbox = {\n borderWidth: 2,\n borderRadius: 5,\n height: 20,\n width: 20,\n iconSize: 14,\n markColor: colors.uiBackgroundLight,\n textSpacing: 10,\n default: {\n borderColor: colors.separator,\n backgroundColor: colors.uiBackgroundLight,\n },\n checked: {\n borderColor: colors.primary,\n backgroundColor: colors.primary,\n },\n focus: {\n borderColor: colors.primary,\n backgroundColor: colors.uiBackgroundLight,\n },\n hover: {\n borderColor: colors.primary,\n backgroundColor: colors.uiBackgroundLight,\n },\n pressed: {\n borderColor: colors.primary,\n backgroundColor: colors.uiBackgroundLight,\n },\n disabled: {\n borderColor: colors.separator,\n backgroundColor: colors.disabled,\n },\n transition: {\n duration: '200ms',\n timingFunction: 'ease-out',\n },\n};\n","interface DatePickerPartTheme {\n minWidth: number;\n}\n\nexport interface DatePickerTheme {\n day: DatePickerPartTheme;\n month: DatePickerPartTheme;\n year: DatePickerPartTheme;\n}\n\nexport const datePicker: DatePickerTheme = {\n day: {\n minWidth: 64,\n },\n month: {\n minWidth: 64,\n },\n year: {\n minWidth: 82,\n },\n};\n","import { lateOceanColorPalette } from '../palettes/lateOceanColorPalette';\nimport { colors as kittColors } from './colors';\n\nexport const calcLineHeight = (fontSize: number, lineHeightMultiplier: number): number =>\n Math.round(fontSize * lineHeightMultiplier);\n\nexport interface TypographyTypeBreakpointRangeConfig {\n fontSize: number;\n lineHeight: number;\n}\n\nexport interface TypographyTypeConfig {\n baseAndSmall: TypographyTypeBreakpointRangeConfig;\n mediumAndWide: TypographyTypeBreakpointRangeConfig;\n}\n\nexport const createTypographyTypeConfig = (\n lineHeightMultiplier: number,\n baseAndSmallFontSize: number,\n mediumAndWideFontSize: number,\n): TypographyTypeConfig => ({\n baseAndSmall: {\n fontSize: baseAndSmallFontSize,\n lineHeight: calcLineHeight(baseAndSmallFontSize, lineHeightMultiplier),\n },\n mediumAndWide: {\n fontSize: mediumAndWideFontSize,\n lineHeight: calcLineHeight(mediumAndWideFontSize, lineHeightMultiplier),\n },\n});\n\nexport const typography = {\n colors: {\n black: kittColors.black,\n 'black-anthracite': kittColors.blackAnthracite,\n 'black-disabled': lateOceanColorPalette.black400,\n 'black-light': lateOceanColorPalette.black555,\n white: kittColors.white,\n 'white-light': kittColors.white,\n primary: kittColors.primary,\n 'primary-light': kittColors.primaryLight,\n accent: kittColors.accent,\n success: kittColors.success,\n danger: kittColors.danger,\n warning: kittColors.warning,\n },\n types: {\n headers: {\n fontFamily: {\n native: {\n regular: 'Moderat-Black',\n bold: 'Moderat-Black',\n },\n web: {\n regular: 'Moderat',\n bold: 'Moderat',\n },\n },\n fontWeight: 400,\n fontStyle: 'normal',\n configs: {\n // also known as xxlarge\n header1: createTypographyTypeConfig(1.3, 38, 62),\n // also known as xlarge\n header2: createTypographyTypeConfig(1.3, 32, 48),\n // also known as medium\n header3: createTypographyTypeConfig(1.3, 24, 36),\n // also known as xsmall\n header4: createTypographyTypeConfig(1.3, 18, 24),\n // also known as xxsmall\n header5: createTypographyTypeConfig(1.3, 18, 18),\n },\n },\n bodies: {\n fontFamily: {\n web: {\n regular: 'Noto Sans',\n bold: 'Noto Sans',\n },\n native: {\n regular: 'NotoSans',\n bold: 'NotoSans-Bold',\n },\n },\n fontWeight: {\n regular: 400,\n bold: 700,\n },\n fontStyle: {\n regular: 'normal',\n bold: 'normal',\n },\n configs: {\n 'body-large': createTypographyTypeConfig(1.6, 18, 24),\n 'body-medium': createTypographyTypeConfig(1.6, 18, 18),\n body: createTypographyTypeConfig(1.6, 16, 16),\n 'body-small': createTypographyTypeConfig(1.6, 14, 14),\n 'body-xsmall': createTypographyTypeConfig(1.6, 12, 12),\n },\n },\n },\n link: {\n /** @deprecated not used in kitt anymore, use Typography instead */\n disabledColor: kittColors.blackDisabled,\n },\n};\n","import type { InputUIState } from '../../forms/utils';\nimport { lateOceanColorPalette } from '../palettes/lateOceanColorPalette';\nimport { colors } from './colors';\nimport { typography } from './typography';\n\nexport interface InputStateStyle {\n backgroundColor?: string;\n borderColor: string;\n color: string;\n}\n\nexport type InputStateTheme = Record<InputUIState, InputStateStyle>;\n\nconst inputStatesStyle: InputStateTheme = {\n default: {\n backgroundColor: colors.uiBackgroundLight,\n borderColor: colors.separator,\n color: colors.black,\n },\n pending: {\n backgroundColor: colors.uiBackgroundLight,\n borderColor: colors.separator,\n color: colors.black,\n },\n valid: {\n backgroundColor: colors.uiBackgroundLight,\n borderColor: lateOceanColorPalette.black100,\n color: colors.black,\n },\n hover: {\n borderColor: lateOceanColorPalette.black200,\n color: colors.black,\n },\n focus: {\n borderColor: colors.primary,\n color: colors.black,\n },\n disabled: {\n backgroundColor: colors.disabled,\n borderColor: colors.separator,\n color: colors.blackDisabled,\n },\n invalid: {\n borderColor: colors.separator,\n color: colors.black,\n },\n};\n\nexport interface InputTheme {\n minHeight: number;\n color: {\n selection: string;\n placeholder: string;\n };\n borderWidth: number;\n borderRadius: number;\n icon: {\n size: number;\n };\n padding: {\n horizontal: number;\n vertical: number;\n };\n rightContainer: {\n padding: number;\n };\n transition: {\n property: string;\n duration: string;\n timingFunction: string;\n };\n states: InputStateTheme;\n}\n\nexport const input: InputTheme = {\n minHeight: 40,\n color: {\n selection: colors.primary,\n placeholder: typography.colors['black-light'],\n },\n borderWidth: 2,\n borderRadius: 10,\n icon: {\n size: 20,\n },\n rightContainer: {\n padding: 10,\n },\n padding: {\n horizontal: 16,\n vertical: 5,\n },\n transition: {\n property: 'border-color',\n duration: '200ms',\n timingFunction: 'ease-in-out',\n },\n states: inputStatesStyle,\n};\n","export const inputField = {\n containerPaddingTop: 5,\n containerPaddingBottom: 10,\n feedbackPaddingTop: { base: 5, small: 10 },\n labelContainerPaddingBottom: 5,\n labelFeedbackMarginLeft: 6,\n};\n","import { lateOceanColorPalette } from '../palettes/lateOceanColorPalette';\nimport { colors } from './colors';\n\ninterface InputTagTypeTheme {\n backgroundColor: string;\n labelColor: string;\n}\nexport interface InputTagTheme {\n borderRadius: number;\n iconSize: number;\n default: InputTagTypeTheme;\n success: InputTagTypeTheme;\n danger: InputTagTypeTheme;\n}\n\nexport const inputTag: InputTagTheme = {\n success: {\n backgroundColor: colors.success,\n labelColor: colors.uiBackgroundLight,\n },\n danger: {\n backgroundColor: colors.danger,\n labelColor: colors.uiBackgroundLight,\n },\n default: {\n backgroundColor: lateOceanColorPalette.black50,\n labelColor: colors.black,\n },\n borderRadius: 10,\n iconSize: 13.5,\n};\n","import { lateOceanColorPalette } from '../palettes/lateOceanColorPalette';\nimport { colors } from './colors';\n\nexport interface RadioTheme {\n size: number;\n unchecked: {\n backgroundColor: string;\n borderColor: string;\n borderWidth: number;\n };\n checked: {\n backgroundColor: string;\n borderColor: string;\n innerBackgroundColor: string;\n innerSize: number;\n };\n hover: {\n backgroundColor: string;\n borderColor: string;\n };\n pressed: {\n backgroundColor: string;\n borderColor: string;\n };\n disabled: {\n backgroundColor: string;\n borderColor: string;\n };\n transition: {\n duration: string;\n timingFunction: string;\n };\n}\n\nexport const radio: RadioTheme = {\n size: 18,\n unchecked: {\n borderWidth: 2,\n backgroundColor: colors.uiBackgroundLight,\n borderColor: lateOceanColorPalette.black200,\n },\n checked: {\n backgroundColor: colors.primary,\n borderColor: colors.transparent,\n innerSize: 5,\n innerBackgroundColor: colors.uiBackgroundLight,\n },\n hover: {\n backgroundColor: colors.uiBackgroundLight,\n borderColor: colors.primary,\n },\n pressed: {\n backgroundColor: colors.uiBackgroundLight,\n borderColor: colors.primary,\n },\n disabled: {\n backgroundColor: colors.disabled,\n borderColor: colors.separator,\n },\n transition: {\n duration: '200ms',\n timingFunction: 'ease-out',\n },\n};\n","import { colors } from './colors';\n\nexport interface RadioButtonGroupTheme {\n item: {\n minHeight: number;\n borderWidth: number;\n borderColor: {\n default: string;\n hover: string;\n pressed: string;\n active: string;\n disabled: string;\n [key: string]: string;\n };\n backgroundColor: {\n default: string;\n hover: string;\n pressed: string;\n active: string;\n disabled: string;\n };\n borderRadius: number;\n padding: {\n horizontal: number;\n vertical: number;\n };\n transition: {\n property: string;\n duration: string;\n timingFunction: string;\n };\n };\n}\n\nexport const radioButtonGroup: RadioButtonGroupTheme = {\n item: {\n minHeight: 40,\n borderWidth: 2,\n borderRadius: 20,\n borderColor: {\n default: colors.separator,\n hover: colors.primary,\n pressed: colors.primary,\n active: colors.primary,\n disabled: colors.separator,\n },\n backgroundColor: {\n default: colors.uiBackgroundLight,\n hover: colors.white,\n pressed: colors.primary,\n active: colors.primary,\n disabled: colors.disabled,\n },\n padding: {\n horizontal: 18,\n vertical: 6,\n },\n transition: {\n property: 'all',\n duration: '200ms',\n timingFunction: 'ease-in-out',\n },\n },\n};\n","export interface TextAreaTheme {\n minHeight: number;\n}\n\nexport const textArea: TextAreaTheme = {\n minHeight: 120,\n};\n","import { checkbox } from './checkbox';\nimport { datePicker } from './datePicker';\nimport { input } from './input';\nimport { inputField } from './inputField';\nimport { inputTag } from './inputTag';\nimport { radio } from './radio';\nimport { radioButtonGroup } from './radioButtonGroup';\nimport { textArea } from './textArea';\n\nexport const forms = {\n datePicker,\n input,\n radio,\n inputField,\n textArea,\n checkbox,\n inputTag,\n radioButtonGroup,\n};\n","export interface FullscreenModalTheme {\n header: {\n height: number;\n };\n footer: {\n verticalPadding: number;\n };\n sharedHorizontalPadding: number;\n body: {\n verticalPadding: number;\n };\n animation: {\n overlay: {\n duration: number;\n easing: number[];\n };\n content: {\n duration: number;\n easing: number[];\n };\n };\n}\n\nexport const webAnimationContentDuration = 600;\nexport const webAnimationContentEasing = [0.77, 0, 0.175, 1];\n\nexport const webAnimationOverlayDuration = 250;\nexport const webAnimationOverlayEasing = [0.42, 0, 1, 1];\n\nexport const fullscreenModal: FullscreenModalTheme = {\n header: {\n height: 56,\n },\n sharedHorizontalPadding: 16,\n footer: {\n verticalPadding: 12,\n },\n body: {\n verticalPadding: 24,\n },\n animation: {\n overlay: {\n duration: webAnimationOverlayDuration,\n easing: webAnimationOverlayEasing,\n },\n content: {\n duration: webAnimationContentDuration,\n easing: webAnimationContentEasing,\n },\n },\n};\n","import { lateOceanColorPalette } from '../palettes/lateOceanColorPalette';\nimport { colors } from './colors';\nimport { spacing } from './spacing';\n\nexport interface HighlightThemeType {\n backgroundColor: string;\n}\n\nexport interface HighlightTheme {\n borderRadius: number;\n padding: number;\n regular: HighlightThemeType;\n primary: HighlightThemeType;\n secondary: HighlightThemeType;\n dark: HighlightThemeType;\n}\n\nexport const highlight: HighlightTheme = {\n borderRadius: spacing * 5,\n /** @deprecated use primary instead */\n regular: {\n backgroundColor: colors.accentLight,\n },\n primary: {\n backgroundColor: colors.accentLight,\n },\n secondary: {\n backgroundColor: lateOceanColorPalette.moonPurple,\n },\n dark: {\n backgroundColor: lateOceanColorPalette.black100,\n },\n padding: spacing * 5,\n};\n","import { lateOceanColorPalette } from '../palettes/lateOceanColorPalette';\nimport { button } from './button';\n\ninterface IconButtonVariationValues {\n pressedBackgroundColor: string;\n}\n\nexport interface IconButtonTheme {\n backgroundColor: string;\n width: number;\n height: number;\n borderRadius: number;\n borderWidth: number;\n borderColor: string;\n transition: {\n property: string;\n duration: string;\n timingFunction: string;\n };\n scale: {\n base: {\n default: number;\n hover: number;\n active: number;\n };\n medium: {\n default: number;\n hover: number;\n active: number;\n };\n };\n disabled: {\n scale: number;\n backgroundColor: string;\n borderColor: string;\n };\n default: IconButtonVariationValues;\n white: IconButtonVariationValues;\n primary: IconButtonVariationValues;\n}\n\nexport const iconButton: IconButtonTheme = {\n backgroundColor: 'transparent',\n width: 40,\n height: 40,\n borderRadius: 20,\n borderWidth: 2,\n borderColor: 'transparent',\n transition: {\n property: 'all',\n duration: '200ms',\n timingFunction: 'cubic-bezier(0.645, 0.045, 0.355, 1)',\n },\n scale: {\n base: {\n default: 1,\n hover: 0.95,\n active: 0.95,\n },\n medium: {\n default: 1,\n hover: 1.05,\n active: 0.95,\n },\n },\n disabled: {\n scale: 1,\n backgroundColor: button.disabled.default.backgroundColor,\n borderColor: button.disabled.default.borderColor,\n },\n default: {\n pressedBackgroundColor: button.default.default.pressedBackgroundColor,\n },\n white: {\n pressedBackgroundColor: button.white.default.hoverBackgroundColor,\n },\n primary: {\n pressedBackgroundColor: lateOceanColorPalette.moonPurpleLight1,\n },\n};\n","import { colors } from './colors';\n\nexport interface ListItemTheme {\n padding: string;\n borderColor: string;\n borderWidth: number;\n innerMargin: number;\n}\n\nexport const listItem: ListItemTheme = {\n padding: '12px 16px',\n borderColor: colors.separator,\n borderWidth: 1,\n innerMargin: 8,\n};\n","import { colors } from './colors';\n\nexport interface PageLoaderTheme {\n size: number;\n strokeWidth: number;\n colors: {\n base: string;\n fill: string;\n };\n animation: {\n delay: number;\n circleBackgroundFillDuration: number;\n filledCircleFillDuration: number;\n groupFilledCircleRotationDuration: number;\n filledCircleRotationDuration: number;\n fillEasingFunction: [number, number, number, number];\n };\n}\n\nexport const pageLoader: PageLoaderTheme = {\n size: 60,\n strokeWidth: 3,\n colors: {\n base: colors.separator,\n fill: colors.primary,\n },\n animation: {\n delay: 500,\n circleBackgroundFillDuration: 1000,\n filledCircleFillDuration: 1800,\n groupFilledCircleRotationDuration: 1800,\n filledCircleRotationDuration: 2160,\n fillEasingFunction: [0.39, 0.575, 0.565, 1],\n },\n};\n","import type { TextStyle } from 'react-native';\nimport { colors } from './colors';\nimport { typography } from './typography';\n\nexport interface PickerTheme {\n ios: {\n default: TextStyle;\n landscape: TextStyle;\n selected: {\n color: string;\n };\n };\n android: {\n padding: string;\n default: {\n backgroundColor: string;\n };\n selected: {\n backgroundColor: string;\n color: string;\n };\n };\n}\n\nexport const picker: PickerTheme = {\n ios: {\n default: {\n fontFamily: typography.types.bodies.fontFamily.native.regular,\n ...typography.types.bodies.configs.body.baseAndSmall,\n fontSize: 16,\n color: typography.colors['black-light'],\n // 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 android: {\n padding: '12px 24px',\n default: {\n backgroundColor: colors.transparent,\n },\n selected: {\n backgroundColor: colors.primary,\n color: typography.colors.white,\n },\n },\n};\n","import { colors } from './colors';\n\ninterface ShadowShapeTheme {\n color: string;\n offsetX: number;\n offsetY: number;\n opacity: number;\n radius: number;\n}\n\nexport interface ShadowsTheme {\n medium: string;\n cards: Record<string, ShadowShapeTheme>;\n navigation: Record<string, ShadowShapeTheme>;\n panel: ShadowShapeTheme;\n}\n\nexport const shadows: ShadowsTheme = {\n /** @deprecated: use cards.medium instead - shorthand shadow doesnt work with Native Base */\n medium: '0px 10px 20px rgba(41, 48, 51, 0.25)',\n cards: {\n low: {\n color: colors.black,\n offsetX: 0,\n offsetY: 5,\n opacity: 0.1,\n radius: 20,\n },\n medium: {\n color: colors.black,\n offsetX: 0,\n offsetY: 10,\n opacity: 0.15,\n radius: 20,\n },\n highBase: {\n color: colors.black,\n offsetX: 0,\n offsetY: 10,\n opacity: 0.15,\n radius: 20,\n },\n highMedium: {\n color: colors.black,\n offsetX: 0,\n offsetY: 60,\n opacity: 0.08,\n radius: 40,\n },\n highLarge: {\n color: colors.black,\n offsetX: 0,\n offsetY: 80,\n opacity: 0.08,\n radius: 60,\n },\n },\n navigation: {\n left: {\n color: colors.black,\n offsetX: 10,\n offsetY: 0,\n opacity: 0.15,\n radius: 30,\n },\n right: {\n color: colors.black,\n offsetX: -10,\n offsetY: 0,\n opacity: 0.15,\n radius: 30,\n },\n },\n panel: {\n color: colors.black,\n offsetX: 0,\n offsetY: 20,\n opacity: 1,\n radius: 40,\n },\n};\n","import { lateOceanColorPalette } from '../palettes/lateOceanColorPalette';\n\ninterface SkeletonShapeTheme {\n size: number;\n borderRadius: number;\n}\nexport interface SkeletonTheme {\n backgroundColor: string;\n flareColor: string;\n animationDuration: number;\n shape: Record<string, SkeletonShapeTheme>;\n}\n\nexport const skeleton: SkeletonTheme = {\n backgroundColor: lateOceanColorPalette.black100,\n flareColor: lateOceanColorPalette.black200,\n animationDuration: 1000,\n shape: {\n bar: {\n size: 8,\n borderRadius: 4,\n },\n circle: {\n size: 48,\n borderRadius: 24,\n },\n square: {\n size: 48,\n borderRadius: 6,\n },\n },\n};\n","import { lateOceanColorPalette } from '../palettes/lateOceanColorPalette';\nimport { colors } from './colors';\n\nexport interface TagVariantTheme {\n borderWidth: number;\n backgroundColor: string;\n borderColor: string;\n}\n\nexport interface TagTypeTheme {\n fill: TagVariantTheme;\n outline: TagVariantTheme;\n}\n\nexport interface TagTheme {\n borderRadius: number;\n padding: string;\n primary: TagTypeTheme;\n default: TagTypeTheme;\n danger: TagTypeTheme;\n warn: TagTypeTheme;\n}\n\nexport const tag: TagTheme = {\n borderRadius: 10,\n padding: '2px 12px',\n primary: {\n fill: {\n backgroundColor: lateOceanColorPalette.moonPurpleLight1,\n borderWidth: 0,\n borderColor: colors.transparent,\n },\n outline: {\n backgroundColor: colors.transparent,\n borderWidth: 1,\n borderColor: colors.primary,\n },\n },\n default: {\n fill: {\n backgroundColor: lateOceanColorPalette.black50,\n borderWidth: 0,\n borderColor: colors.transparent,\n },\n outline: {\n backgroundColor: colors.transparent,\n borderWidth: 1,\n borderColor: colors.black,\n },\n },\n danger: {\n fill: {\n backgroundColor: colors.danger,\n borderWidth: 0,\n borderColor: colors.transparent,\n },\n outline: {\n backgroundColor: colors.transparent,\n borderWidth: 1,\n borderColor: colors.danger,\n },\n },\n warn: {\n fill: {\n backgroundColor: colors.warning,\n borderWidth: 0,\n borderColor: colors.transparent,\n },\n outline: {\n backgroundColor: colors.transparent,\n borderWidth: 1,\n borderColor: colors.warning,\n },\n },\n};\n","import { hex2rgba } from '../../utils/hexToRgba';\nimport { colors } from './colors';\n\ninterface TooltipTransition {\n duration: string;\n timingFunction: string;\n property: string;\n}\n\nexport interface TooltipTheme {\n backgroundColor: string;\n borderRadius: number;\n opacity: number;\n horizontalPadding: number;\n verticalPadding: number;\n floatingPadding: number;\n maxWidth: number;\n transition: {\n in: TooltipTransition;\n out: TooltipTransition;\n };\n arrow: {\n width: number;\n height: number;\n };\n}\n\nexport const tooltip: TooltipTheme = {\n backgroundColor: hex2rgba(colors.black, 0.95),\n borderRadius: 10,\n opacity: 0.95,\n horizontalPadding: 16,\n verticalPadding: 8,\n floatingPadding: 8,\n maxWidth: 328,\n transition: {\n in: {\n duration: '150ms',\n timingFunction: 'ease-out',\n property: 'opacity',\n },\n out: {\n duration: '75ms',\n timingFunction: 'ease-out',\n property: 'opacity',\n },\n },\n arrow: {\n width: 39,\n height: 9,\n },\n};\n","import { 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 { iconButton } from './late-ocean/iconButton';\nimport { listItem } from './late-ocean/listItem';\nimport { pageLoader } from './late-ocean/pageLoader';\nimport { picker } from './late-ocean/picker';\nimport { shadows } from './late-ocean/shadows';\nimport { skeleton } from './late-ocean/skeleton';\nimport { spacing } from './late-ocean/spacing';\nimport { tag } from './late-ocean/tag';\nimport { tooltip } from './late-ocean/tooltip';\nimport { typography } from './late-ocean/typography';\nimport { lateOceanColorPalette } from './palettes/lateOceanColorPalette';\n\nconst breakpoints = {\n values: {\n base: 0,\n small: 480,\n medium: 768,\n large: 1024,\n wide: 1280,\n },\n min: {\n smallBreakpoint: 'min-width: 480px',\n mediumBreakpoint: 'min-width: 768px',\n largeBreakpoint: 'min-width: 1024px',\n wideBreakpoint: 'min-width: 1280px',\n },\n max: {\n smallBreakpoint: 'max-width: 479px',\n mediumBreakpoint: 'max-width: 767px',\n largeBreakpoint: 'max-width: 1023px',\n wideBreakpoint: 'max-width: 1279px',\n },\n};\n\n// eslint-disable-next-line unicorn/expiring-todo-comments\n// TODO : seperate brand color usage definition from proper theme definition and add typings - https://ornikar.atlassian.net/browse/CME-156\nexport const theme = {\n spacing,\n colors,\n palettes: { lateOcean: lateOceanColorPalette },\n avatar,\n breakpoints,\n button,\n bottomSheet,\n card,\n cardModal,\n choices,\n dialogModal,\n feedbackMessage,\n forms,\n highlight,\n iconButton,\n listItem,\n pageLoader,\n picker,\n shadows,\n skeleton,\n tag,\n tooltip,\n typography,\n fullscreenModal,\n actionCard,\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 { ActionCardBorderVariantType, ActionCardVariantType } from 'ActionCard/types';\nimport type { ActionCardTheme } from 'themes/late-ocean/actionCard';\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 { ReactElement, ReactNode } from 'react';\nimport { useTheme } from '../KittThemeContext';\nimport { View } from '../native-base/primitives';\nimport type { ActionCardBorderVariantType, ActionCardVariantType } from './types';\nimport { getStateKey } from './utils/getStateKey';\nimport { getThemeName } from './utils/getThemeName';\n\ninterface ActionCardContentWrapperProps {\n isHovered?: boolean;\n isPressed?: boolean;\n isFocused?: boolean;\n variant: ActionCardVariantType;\n borderVariant?: ActionCardBorderVariantType;\n children: ReactNode;\n}\n\nexport function ActionCardContentWrapper({\n isHovered,\n isPressed,\n isFocused,\n variant,\n borderVariant = 'none',\n children,\n}: ActionCardContentWrapperProps): ReactElement {\n const theme = useTheme();\n const state = getStateKey(isHovered, isPressed, isFocused);\n\n if (__DEV__ && borderVariant !== 'none' && variant !== 'primary') {\n throw new Error(`borderVariant=${borderVariant} is only allowed with variant=primary`);\n }\n\n const { translateY } = theme.kitt.actionCard[variant][state];\n\n const sharedTransform = translateY\n ? {\n transform: [{ translateY }],\n }\n : {};\n\n const themeName = getThemeName(variant, borderVariant);\n\n return (\n <View\n _ios={{ style: sharedTransform }}\n _android={{ style: sharedTransform }}\n _web={{\n style: sharedTransform,\n }}\n width=\"100%\"\n backgroundColor={`kitt.actionCard.${themeName}.${state}.backgroundColor`}\n borderRadius=\"kitt.actionCard.borderRadius\"\n borderColor={`kitt.actionCard.${themeName}.${state}.borderColor`}\n borderWidth={`kitt.actionCard.${themeName}.${state}.borderWidth`}\n shadow={`kitt.actionCard.${themeName}.${state}.shadow`}\n >\n {children}\n </View>\n );\n}\n","import type { ReactElement, ReactNode } from 'react';\nimport { View } from '../native-base/primitives';\nimport type { ActionCardVariantType } from './types';\n\ninterface ActionCardDisabledProps {\n variant: ActionCardVariantType;\n children: ReactNode;\n}\n\nexport function ActionCardDisabled({ variant, children }: ActionCardDisabledProps): ReactElement {\n return (\n <View\n borderRadius=\"kitt.actionCard.borderRadius\"\n borderStyle=\"solid\"\n borderWidth={`kitt.actionCard.${variant}.disabled.borderWidth`}\n borderColor={`kitt.actionCard.${variant}.disabled.borderColor`}\n backgroundColor={`kitt.actionCard.${variant}.disabled.backgroundColor`}\n >\n {children}\n </View>\n );\n}\n","import type { ReactElement, ReactNode } from 'react';\nimport { forwardRef } from 'react';\nimport type { PressableProps, ViewProps } from '../native-base/primitives';\nimport { Pressable, View } from '../native-base/primitives';\nimport { ActionCardContentWrapper } from './ActionCardContentWrapper';\nimport { ActionCardDisabled } from './ActionCardDisabled';\nimport type { ActionCardBorderVariantType, ActionCardVariantType } from './types';\n\nexport interface ActionCardProps extends Pick<ViewProps, 'testID'> {\n variant?: ActionCardVariantType;\n borderVariant?: ActionCardBorderVariantType;\n disabled?: boolean;\n children: ReactNode;\n /** @internal used by ActionCard.Pressable only */\n isHovered?: boolean;\n /** @internal used by ActionCard.Pressable only */\n isPressed?: boolean;\n /** @internal used by ActionCard.Pressable only */\n isFocused?: boolean;\n}\n\nexport function ActionCard({\n children,\n variant = 'secondary',\n borderVariant = 'none',\n disabled,\n testID,\n isHovered,\n isPressed,\n isFocused,\n}: ActionCardProps): ReactElement {\n return (\n <View testID={testID}>\n {disabled ? (\n <ActionCardDisabled variant={variant}>{children}</ActionCardDisabled>\n ) : (\n <ActionCardContentWrapper\n variant={variant}\n borderVariant={borderVariant}\n isHovered={isHovered}\n isFocused={isFocused}\n isPressed={isPressed}\n >\n {children}\n </ActionCardContentWrapper>\n )}\n </View>\n );\n}\n\nexport interface ActionCardPressableProps\n extends ActionCardProps,\n Pick<PressableProps, 'testID' | 'href' | 'hrefAttrs' | 'accessibilityRole' | 'onPress'> {\n /** @internal for story purpose */\n isHoveredInternal?: boolean;\n /** @internal for story purpose */\n isPressedInternal?: boolean;\n /** @internal for story purpose */\n isFocusedInternal?: boolean;\n}\n\nconst ActionCardPressable = forwardRef<typeof Pressable, ActionCardPressableProps>(\n (\n {\n children,\n variant = 'secondary',\n borderVariant = 'none',\n disabled,\n testID,\n href,\n hrefAttrs,\n accessibilityRole = 'button',\n isHoveredInternal,\n isPressedInternal,\n isFocusedInternal,\n onPress,\n }: ActionCardPressableProps,\n ref,\n ): ReactElement => {\n return (\n <Pressable\n ref={ref}\n accessibilityRole={accessibilityRole}\n disabled={disabled}\n testID={testID}\n href={href}\n hrefAttrs={hrefAttrs}\n width=\"100%\"\n onPress={onPress}\n >\n {({ isHovered, isPressed, isFocused }) => (\n <ActionCard\n variant={variant}\n borderVariant={borderVariant}\n disabled={disabled}\n isHovered={isHovered || isHoveredInternal}\n isFocused={isFocused || isFocusedInternal}\n isPressed={isPressed || isPressedInternal}\n >\n {children}\n </ActionCard>\n )}\n </Pressable>\n );\n },\n);\n\nActionCard.Pressable = ActionCardPressable;\n","import type { ICenterProps, IStackProps } from 'native-base';\nimport {\n Center as NativeBaseCenter,\n HStack as NativeBaseHStack,\n Stack as NativeBaseStack,\n VStack as NativeBaseVStack,\n} from 'native-base';\nimport type { InterfaceStackProps } from 'native-base/lib/typescript/components/primitives/Stack/Stack';\nimport type { SafeAreaProps, SpaceType } from 'native-base/lib/typescript/components/types';\nimport type { ViewProps as NativeViewProps } from 'react-native';\nimport type { Except } from 'type-fest';\nimport type { KittResponsivePropOrValue } from 'KittBreakpoints';\nimport type {\n ForwardRefComponent,\n NativeBaseAcceptedBorderProps,\n NativeBaseAcceptedBorderRadiusProps,\n NativeBaseAcceptedChildrenProp,\n NativeBaseAcceptedColorsProps,\n NativeBaseAcceptedFlexboxProps,\n NativeBaseAcceptedLayoutProps,\n NativeBaseAcceptedPositionProps,\n NativeBaseAcceptedShadowProps,\n NativeBaseAcceptedSpaceProps,\n} from './acceptable-native-base-props';\n\ntype NativeBaseAcceptedStackProps = Extract<\n keyof InterfaceStackProps,\n | 'divider'\n | 'reversed'\n | 'direction'\n | 'isHovered'\n | 'isFocused'\n | 'isDisabled'\n | 'isInvalid'\n | 'isReadOnly'\n | keyof NativeViewProps\n | keyof SafeAreaProps\n>;\n\nexport interface StackProps\n extends Pick<\n IStackProps,\n | NativeBaseAcceptedChildrenProp\n | NativeBaseAcceptedStackProps\n | NativeBaseAcceptedSpaceProps\n | NativeBaseAcceptedColorsProps\n | NativeBaseAcceptedBorderProps\n | NativeBaseAcceptedBorderRadiusProps\n | NativeBaseAcceptedPositionProps\n | NativeBaseAcceptedShadowProps\n | NativeBaseAcceptedLayoutProps\n | NativeBaseAcceptedFlexboxProps\n > {\n space?: KittResponsivePropOrValue<SpaceType>;\n}\n\nexport const Stack = NativeBaseStack as ForwardRefComponent<StackProps>;\n\nexport interface VStackProps extends Except<StackProps, 'direction'> {\n direction?: Extract<StackProps['direction'], 'column' | 'column-reverse'>;\n}\nexport const VStack = NativeBaseVStack as ForwardRefComponent<VStackProps>;\n\nexport interface HStackProps extends Except<StackProps, 'direction'> {\n direction?: Extract<StackProps['direction'], 'row' | 'row-reverse'>;\n}\nexport const HStack = NativeBaseHStack as ForwardRefComponent<HStackProps>;\n\nexport interface CenterProps\n extends Pick<\n ICenterProps,\n | keyof NativeViewProps\n | keyof SafeAreaProps\n | NativeBaseAcceptedChildrenProp\n | NativeBaseAcceptedSpaceProps\n | NativeBaseAcceptedColorsProps\n | NativeBaseAcceptedBorderProps\n | NativeBaseAcceptedBorderRadiusProps\n | NativeBaseAcceptedPositionProps\n | NativeBaseAcceptedShadowProps\n | NativeBaseAcceptedLayoutProps\n | NativeBaseAcceptedFlexboxProps\n > {}\n\nexport const Center = NativeBaseCenter as ForwardRefComponent<CenterProps>;\n","import type { KittBreakpointNameEnum } from '../../KittBreakpoints';\n\nexport type ResponsiveRecordValue<T> = { [key in KittBreakpointNameEnum]?: T };\nexport type ResponsiveValue<T> = T | ResponsiveRecordValue<T> | undefined;\n\nexport function createResponsiveStyleFromProp<PossibleStyleValue>(\n responsiveBooleanValue: ResponsiveValue<boolean | undefined>,\n valueIfTrue: PossibleStyleValue,\n valueIfFalse?: PossibleStyleValue,\n): ResponsiveValue<PossibleStyleValue> {\n // Handles simple boolean values\n if (!responsiveBooleanValue) return valueIfFalse;\n\n if (responsiveBooleanValue === true) return valueIfTrue;\n\n // Handles responsive value object\n const keys = Object.keys(responsiveBooleanValue) as KittBreakpointNameEnum[];\n\n if (keys.length === 0) return valueIfFalse;\n\n const responsiveValue = {} as ResponsiveRecordValue<PossibleStyleValue>;\n\n keys.forEach((breakpointName) => {\n responsiveValue[breakpointName] = responsiveBooleanValue[breakpointName] ? valueIfTrue : valueIfFalse;\n });\n\n return responsiveValue;\n}\n","export function warn(message: string): void {\n if (process.env.NODE_ENV !== 'production') {\n console.warn(message);\n }\n}\n\nexport function deprecatedMessage(symbol: string, deprecation: string, replaceBy?: string): void {\n const replaceMessage = replaceBy === undefined ? '' : `, please use ${replaceBy} instead`;\n\n warn(`[Deprecation] in ${symbol}: ${deprecation} is deprecated${replaceMessage}.`);\n}\n\nexport function deprecatedInComponent(component: string, deprecation: string, replaceBy?: string): void {\n deprecatedMessage(`<${component} />`, deprecation, replaceBy);\n}\n","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","import { useSx } from 'native-base';\nimport type { ReactElement, ReactNode } from 'react';\nimport type { ViewStyle } from 'react-native';\nimport Animated from 'react-native-reanimated';\nimport type { ButtonProps, ButtonType, ButtonVariant } from './Button';\nimport { getCurrentBackgroundColorForNativeBaseTheme } from './utils/getCurrentBackgroundColorForNativeBaseTheme';\n\nexport interface AnimatedContainerProps {\n children: ReactNode;\n disabled?: boolean;\n variant: ButtonVariant;\n type: ButtonType;\n isHovered?: boolean;\n isPressed?: boolean;\n isStretch?: ButtonProps['stretch'];\n animatedStyles: Partial<ViewStyle>;\n}\n\nexport function AnimatedContainer({\n disabled,\n animatedStyles,\n children,\n isHovered,\n isPressed,\n variant,\n type,\n}: AnimatedContainerProps): ReactElement {\n const currentBackgroundColor = getCurrentBackgroundColorForNativeBaseTheme({\n type,\n variant,\n isDisabled: !!disabled,\n isHovered,\n isPressed,\n });\n const sx = useSx();\n const styles = sx({\n borderRadius: 'kitt.button.borderRadius',\n backgroundColor: currentBackgroundColor,\n });\n return <Animated.View style={disabled ? [styles] : [styles, animatedStyles]}>{children}</Animated.View>;\n}\n","export const KittBreakpoints = {\n /**\n * min-width: 0\n */\n BASE: 0,\n /**\n * min-width: 480px\n */\n SMALL: 480,\n /**\n * min-width: 768px\n */\n MEDIUM: 768,\n /**\n * min-width: 1024px\n */\n LARGE: 1024,\n /**\n * min-width: 1280px\n */\n WIDE: 1280,\n};\n\nexport const KittBreakpointsMax = {\n /**\n * max-width: 479px\n */\n BASE: KittBreakpoints.SMALL - 1,\n /**\n * max-width: 767px\n */\n SMALL: KittBreakpoints.MEDIUM - 1,\n /**\n * max-width: 1023px\n */\n MEDIUM: KittBreakpoints.LARGE - 1,\n /**\n * max-width: 1279px\n */\n LARGE: KittBreakpoints.WIDE - 1,\n};\n\nexport type KittBreakpoint = (typeof KittBreakpoints)[keyof typeof KittBreakpoints];\nexport type KittBreakpointMax = (typeof KittBreakpointsMax)[keyof typeof KittBreakpointsMax];\n\nexport enum KittBreakpointNameEnum {\n BASE = 'base',\n SMALL = 'small',\n MEDIUM = 'medium',\n LARGE = 'large',\n WIDE = 'wide',\n}\n\nexport type KittResponsiveProp<Value> = Record<KittBreakpointNameEnum.BASE, Value> &\n Partial<Record<Exclude<KittBreakpointNameEnum, KittBreakpointNameEnum.BASE>, Value>>;\n\nexport type KittResponsivePropOrValue<Value> = KittResponsiveProp<Value> | Value;\n","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 (isColorTypographyColor(colorName)) {\n return getNBThemeColorFromColorProps(colorName);\n }\n\n return colorName;\n}\n","import type { TypographyHeaderType, TypographyType } from '../Typography';\n\nexport const isTypeHeader = (type: TypographyType): type is TypographyHeaderType => type.startsWith('header');\n","import type { TypographyHeaderType, TypographyType } from '../Typography';\nimport { isTypeHeader } from './isTypeHeader';\n\nexport const isTypographyHeader = (\n type: TypographyType | undefined,\n isHeaderTypographyInContext: boolean | undefined,\n): type is TypographyHeaderType => {\n if (type) return isTypeHeader(type);\n if (isHeaderTypographyInContext != null) return isHeaderTypographyInContext;\n throw new Error('You must set a \"base\" prop or wrap this Typography in one that does.');\n};\n","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, ReactElement, ReactNode } from 'react';\nimport { createContext, useContext } from 'react';\nimport type { TextProps, TextStyle } from 'react-native';\nimport { Platform } from 'react-native';\nimport type { Except, SetOptional } from 'type-fest';\nimport type { KittResponsiveProp } from '../KittBreakpoints';\nimport { KittBreakpointNameEnum } 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 { isTypeHeader } from './utils/isTypeHeader';\nimport { isTypographyHeader } from './utils/isTypographyHeader';\n\nexport type TypographyColor = (typeof typographyColors)[number];\n\nexport type ExtendedTypographyColor = TypographyColor | NonNullable<ITextProps['color']> | string;\n\nexport type TypographyHeaderType = `header${'1' | '2' | '3' | '4' | '5'}`;\nexport type TypographyBodyType = 'body' | `body-${'large' | 'medium' | 'small' | 'xsmall'}`;\nexport type TypographyType = TypographyHeaderType | TypographyBodyType;\ntype TypographyVariant = 'regular' | 'bold';\n\nconst IsHeaderTypographyContext = createContext<boolean | undefined>(undefined);\nconst TypographyColorContext = createContext<ExtendedTypographyColor>('black');\n\nexport function useTypographyColor(): ExtendedTypographyColor {\n return useContext(TypographyColorContext);\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 === 'base' || breakpointName === 'small' ? 'baseAndSmall' : '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 | NativeBaseAcceptedFlexboxProps\n> &\n Pick<TextStyle, 'cursor' | 'transitionProperty' | 'transitionDuration' | 'transitionTimingFunction'>;\n// TODO[native-base@>=3.4.19] this currently does not work. Retest when updating native-base.\n// & {\n// _active?: Pick<NativeBaseTextPropsAcceptedProps, 'underline'>;\n// _hover?: Pick<NativeBaseTextPropsAcceptedProps, 'underline'>;\n// } ;\n\nexport interface TypographyProps\n extends TypographyBreakpointType,\n NativeBaseTextPropsAcceptedProps,\n Pick<PlatformProps<NativeBaseTextPropsAcceptedProps>, '_android' | '_ios' | '_web'> {\n type?: TypographyBreakpointType;\n // Find mapping for web here: https://www.w3.org/TR/html-aria/\n accessibilityRole: NonNullable<TextProps['accessibilityRole']> | 'paragraph' | null;\n /** Default to regular for bodies and bold of headers. Is not inherited. */\n variant?: TypographyVariant;\n /** Inherited from parent Typography if not specified, or black if no Typography parent found. */\n color?: ExtendedTypographyColor;\n children: ReactNode;\n}\nexport type TypographyPropsWithoutRole = Except<TypographyProps, 'accessibilityRole'>;\n\nexport function createNativeBaseFontSize(type: TypographyBreakpointType): ITextProps['fontSize'] {\n const typeWithMediumForced = {\n ...type,\n medium: type.medium || type.small || type.base,\n };\n\n const fontSizeForNativeBase: ITextProps['fontSize'] = {};\n [\n KittBreakpointNameEnum.BASE,\n KittBreakpointNameEnum.SMALL,\n KittBreakpointNameEnum.MEDIUM,\n KittBreakpointNameEnum.LARGE,\n KittBreakpointNameEnum.WIDE,\n ].forEach((typeName) => {\n const value = typeWithMediumForced[typeName];\n if (value) {\n fontSizeForNativeBase[typeName] = `${getTypographyTypeConfigKeyFromTypeName(typeName)}.${value}`;\n }\n });\n\n return fontSizeForNativeBase;\n}\n\nexport function Typography({\n accessibilityRole,\n base: legacyBase,\n small: legacySmall,\n medium: legacyMedium,\n large: legacyLarge,\n wide: legacyWide,\n type = { base: legacyBase, small: legacySmall, medium: legacyMedium, large: legacyLarge, wide: legacyWide },\n variant,\n color,\n ...otherProps\n}: TypographyProps): ReactElement | null {\n const sx = useSx();\n\n const isHeaderTypographyInContext = useContext(IsHeaderTypographyContext);\n\n const defaultColor = useTypographyDefaultColor();\n\n const hasTypographyAncestor = isHeaderTypographyInContext !== undefined;\n const baseOrDefaultToBody = hasTypographyAncestor ? type.base : type.base ?? 'body';\n const isHeader = isTypographyHeader(baseOrDefaultToBody, isHeaderTypographyInContext);\n const nonNullableVariant: TypographyVariant = variant ?? (isHeader ? 'bold' : 'regular');\n\n const fontSizeForNativeBase = createNativeBaseFontSize({ ...type, base: baseOrDefaultToBody });\n\n const currentColor = !color && !hasTypographyAncestor ? defaultColor : color;\n\n const colorStyles = sx({\n color: getTypographyColorValue(currentColor),\n textDecorationColor: getTypographyColorValue(currentColor),\n });\n\n if (process.env.NODE_ENV !== 'production') {\n Object.entries(type).forEach(([key, value]) => {\n if (value && isTypeHeader(value) !== isHeader) {\n throw new Error(\n `Invalid value for \"${key}\": \"${value}\" is ${isHeader ? 'not' : ''} an header. Don't mix headers and bodies.`,\n );\n }\n });\n }\n\n const text = (\n <NBText\n accessibilityRole={(accessibilityRole as TextProps['accessibilityRole']) || undefined}\n fontSize={fontSizeForNativeBase}\n lineHeight={hasTypographyAncestor ? undefined : fontSizeForNativeBase}\n fontWeight={isHeader ? `headers.${nonNullableVariant}` : `bodies.${nonNullableVariant}`}\n fontFamily={isHeader ? `headers.${nonNullableVariant}` : `bodies.${nonNullableVariant}`}\n {...colorStyles}\n {...otherProps}\n />\n );\n\n const content = baseOrDefaultToBody ? (\n <IsHeaderTypographyContext.Provider value={isHeader}>{text}</IsHeaderTypographyContext.Provider>\n ) : (\n text\n );\n\n return color ? <TypographyColorContext.Provider value={color}>{content}</TypographyColorContext.Provider> : content;\n}\n\nexport type TypographyTextProps = SetOptional<TypographyProps, 'accessibilityRole'>;\nfunction TypographyText(props: TypographyTextProps): ReactElement {\n return <Typography accessibilityRole={null} {...props} />;\n}\n\nfunction TypographyParagraph(props: TypographyTextProps): ReactElement {\n // role 'paragraph' does not exist in native, it's a web feature only.\n return <Typography accessibilityRole={Platform.OS === 'web' ? 'paragraph' : null} {...props} />;\n}\n\nexport type TypographyHeadingProps = TypographyPropsWithoutRole;\n\nconst createHeading = (\n level: number,\n /** @deprecated accessibility and design should be independent */\n defaultBase?: TypographyHeadingProps['base'],\n): FC<TypographyHeadingProps> => {\n // https://github.com/necolas/react-native-web/issues/401\n function TypographyHeading(props: TypographyHeadingProps): ReactElement {\n return <Typography accessibilityRole=\"header\" base={defaultBase} {...props} accessibilityLevel={level} />;\n }\n TypographyHeading.displayName = `TypographyHeading${level}`;\n return TypographyHeading;\n};\n\nTypography.SetDefaultColor = TypographyDefaultColorContext.Provider;\n\nTypography.Text = TypographyText;\nTypography.Paragraph = TypographyParagraph;\nTypography.Header1 = createHeading(1);\nTypography.Header2 = createHeading(2);\nTypography.Header3 = createHeading(3);\nTypography.Header4 = createHeading(4);\nTypography.Header5 = createHeading(5);\nTypography.Header6 = createHeading(6);\n\n/** @deprecated use Typography.Header1 */\nTypography.h1 = createHeading(1, 'header1');\n/** @deprecated use Typography.Header2 */\nTypography.h2 = createHeading(2, 'header2');\n/** @deprecated use Typography.Header3 */\nTypography.h3 = createHeading(3, 'header3');\n/** @deprecated use Typography.Header4 */\nTypography.h4 = createHeading(4, 'header4');\n/** @deprecated use Typography.Header6 */\nTypography.h5 = createHeading(5, 'header5');\n","import type { ReactElement } from 'react';\nimport { cloneElement } from 'react';\nimport type { ViewStyle } from 'react-native';\nimport type { ViewProps } from '../native-base/primitives';\nimport { View } from '../native-base/primitives';\n\nexport interface IconProps {\n icon: ReactElement;\n size?: ViewProps['size'];\n color: string;\n align?: ViewStyle['alignSelf'];\n testID?: ViewProps['testID'];\n}\n\nexport function Icon({ icon, size = 'kitt.icon.defaultSize', align = 'auto', color }: IconProps): ReactElement {\n const clonedIcon = cloneElement(icon, { color });\n\n return (\n <View color={color} alignSelf={align} size={size}>\n {clonedIcon}\n </View>\n );\n}\n","import { useSx } from 'native-base';\nimport type { ReactElement } from 'react';\nimport type { Except } from 'type-fest';\nimport type { IconProps } from '../Icon/Icon';\nimport { Icon } from '../Icon/Icon';\nimport type { SetNonNullable } from '../utils/typeUtils';\nimport type { TypographyProps } from './Typography';\nimport { useTypographyColor } from './Typography';\nimport { getTypographyColorValue } from './utils/getTypographyColorValue';\n\nexport interface TypographyIconProps extends Except<IconProps, 'color'> {\n color?: TypographyProps['color'] | 'inherit';\n}\n\nfunction TypographyIconSpecifiedColor({ color, ...props }: SetNonNullable<TypographyIconProps, 'color'>): ReactElement {\n const sx = useSx();\n\n const colorStyle = sx({\n color: getTypographyColorValue(color),\n });\n\n return <Icon {...props} {...colorStyle} />;\n}\n\nfunction TypographyIconInheritColor(props: TypographyIconProps): ReactElement {\n const color = useTypographyColor();\n\n return <TypographyIconSpecifiedColor color={color} {...props} />;\n}\n\nexport function TypographyIcon({ color, ...props }: TypographyIconProps): ReactElement {\n if (color) {\n return <TypographyIconSpecifiedColor color={color} {...props} />;\n }\n\n return <TypographyIconInheritColor {...props} />;\n}\n","import type { TypographyColor } from '../../typography/Typography';\nimport type { ButtonType, ButtonVariant } from '../Button';\n\nexport const getTextColorByType = (\n type: ButtonType,\n variant: ButtonVariant,\n isHovered: boolean,\n isPressed: boolean,\n): TypographyColor => {\n const isButtonInteractedWith = isHovered || isPressed;\n\n switch (type) {\n case 'primary':\n return variant === 'ghost' ? 'primary' : 'white';\n case 'white':\n return 'white';\n case 'danger':\n return 'danger';\n case 'subtle':\n return isButtonInteractedWith ? 'primary-light' : 'primary';\n case 'subtle-dark':\n return isButtonInteractedWith ? 'black-light' : 'black';\n case 'default':\n return variant === 'ghost' ? 'white' : 'black';\n default:\n return 'black';\n }\n};\n","import type { ReactElement } from 'react';\nimport type { Except } from 'type-fest';\nimport { View } from '../native-base/primitives';\nimport { 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 { getTextColorByType } from './utils/getTextColorByType';\n\ninterface ButtonIconProps {\n icon: NonNullable<ButtonContentProps['icon']>;\n iconPosition: ButtonContentProps['iconPosition'];\n color: TypographyIconProps['color'];\n testID?: string;\n}\n\nfunction ButtonIcon({ icon, color, iconPosition, testID }: ButtonIconProps): ReactElement | null {\n return (\n <View marginRight={iconPosition === 'left' ? 'kitt.2' : 0} marginLeft={iconPosition === 'right' ? 'kitt.2' : 0}>\n <TypographyIcon icon={icon} testID={testID} color={color} />\n </View>\n );\n}\n\ninterface ButtonContentProps extends Except<ButtonProps, 'onPress' | 'disabled' | 'stretch'> {\n isDisabled?: boolean;\n type: NonNullable<ButtonType>;\n variant: NonNullable<ButtonVariant>;\n isHovered: boolean;\n isPressed: boolean;\n isFocused: boolean;\n}\n\ninterface ButtonContentChildrenProps extends Except<ButtonProps, 'onPress' | 'disabled' | 'stretch'> {\n isDisabled?: boolean;\n type: NonNullable<ButtonType>;\n color: TypographyColor;\n}\n\nexport function ButtonContentChildren({\n type,\n icon,\n iconPosition,\n color,\n children,\n}: ButtonContentChildrenProps): ReactElement | null {\n if (__DEV__) {\n if (!(children || icon)) {\n throw new Error('kitt(Button): You should provide at least a children or a icon');\n }\n }\n\n if (!children) {\n return (\n <TypographyIcon\n // eslint-disable-next-line @typescript-eslint/no-non-null-assertion\n icon={icon!}\n color={color}\n />\n );\n }\n\n const buttonIconSharedProps = {\n type,\n iconPosition,\n color,\n };\n\n // Make the multilines case work properly on native - Breaks the web implem\n const sharedNativeStyle = {\n flexShrink: 1,\n };\n\n return (\n <View alignItems=\"center\" justifyContent=\"center\" flexDirection=\"row\">\n {icon && iconPosition === 'left' ? (\n <ButtonIcon {...buttonIconSharedProps} testID=\"button.ButtonContent.leftButtonIcon\" icon={icon} />\n ) : null}\n\n <Typography.Text\n /* On native code, this is the only way to ensure that the text is centered */\n textAlign=\"center\"\n _android={sharedNativeStyle}\n _ios={sharedNativeStyle}\n base=\"body\"\n variant=\"bold\"\n color={color}\n >\n {children}\n </Typography.Text>\n\n {icon && iconPosition === 'right' ? <ButtonIcon {...buttonIconSharedProps} icon={icon} /> : null}\n </View>\n );\n}\n\nexport function ButtonContent({\n type,\n variant,\n isDisabled,\n icon,\n children,\n isHovered,\n isPressed,\n isFocused,\n ...props\n}: ButtonContentProps): ReactElement {\n const color = isDisabled ? 'black-light' : getTextColorByType(type, variant, isHovered, isPressed);\n\n return (\n <View\n _web={{\n // Make the multilines case work properly on web\n // We don't apply those styles on native because it will break\n flexGrow: 0,\n flexShrink: 1,\n flexBasis: 'auto',\n }}\n >\n <ButtonContentChildren icon={icon} type={type} isDisabled={isDisabled} color={color} {...props}>\n {children}\n </ButtonContentChildren>\n </View>\n );\n}\n","import type { ReactElement, ReactNode } from 'react';\nimport { View } from '../native-base/primitives';\nimport type { ButtonTheme } from '../themes/late-ocean/button';\nimport type { ButtonSize } from './Button';\n\ninterface GetCurrentPaddingConfigParams {\n size?: ButtonSize;\n isDisabled?: boolean;\n}\n\nfunction getCurrentPaddingConfig({ size, isDisabled }: GetCurrentPaddingConfigParams): keyof ButtonTheme['padding'] {\n if (size === 'large') return 'large';\n if (size === 'xLarge') return 'xLarge';\n if (isDisabled) return 'disabled';\n\n return 'default';\n}\n\ninterface ButtonPaddingProps {\n children: ReactNode;\n size?: ButtonSize;\n isDisabled?: boolean;\n}\n\nexport function ButtonPadding({ children, size, isDisabled }: ButtonPaddingProps): ReactElement {\n const currentPaddingKey = getCurrentPaddingConfig({ size, isDisabled });\n\n return (\n <View\n position=\"relative\"\n flexDirection=\"row\"\n alignItems=\"center\"\n justifyContent=\"center\"\n paddingX={`kitt.button.padding.${currentPaddingKey}.horizontal`}\n paddingY={`kitt.button.padding.${currentPaddingKey}.vertical`}\n minHeight=\"kitt.button.minHeight\"\n >\n {children}\n </View>\n );\n}\n","import type { ReactElement } from 'react';\nimport { View } from '../native-base/primitives';\n\nexport function DisabledBorder(): ReactElement {\n return (\n <View\n position=\"absolute\"\n top={0}\n left={0}\n right={0}\n bottom={0}\n borderWidth=\"kitt.button.borderWidth.disabled\"\n borderColor=\"kitt.button.disabled.default.borderColor\"\n borderRadius=\"kitt.button.borderRadius\"\n />\n );\n}\n","import type { ReactElement } from 'react';\nimport { useTheme } from '../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): ReactElement {\n const {\n kitt: { button: buttonTheme },\n } = useTheme();\n\n const hasPointerInteraction = isPressed || isHovered;\n\n return (\n <View\n _web={{\n style: {\n width: `calc(100% + ${buttonTheme.borderWidth.focus * 2}px)`,\n height: `calc(100% + ${buttonTheme.borderWidth.focus * 2}px)`,\n transitionProperty: 'opacity',\n transitionDuration: buttonTheme.transition.duration,\n transitionTimingFunction: buttonTheme.transition.timingFunction,\n },\n }}\n opacity={isFocused && !hasPointerInteraction ? 1 : 0}\n position=\"absolute\"\n left={-buttonTheme.borderWidth.focus}\n top={-buttonTheme.borderWidth.focus}\n borderWidth=\"kitt.button.borderWidth.focus\"\n borderColor={`kitt.button.${type}.${variant}.focusBorderColor`}\n borderRadius=\"kitt.button.borderRadius\"\n />\n );\n}\n","import type { KittThemeContextValue } from '../KittThemeContext';\nimport type { BaseButtonTheme, BaseButtonWithVariant } from '../themes/late-ocean/button';\nimport type { ButtonType, ButtonVariant } from './Button';\n\nconst hasVariant = (button: BaseButtonTheme, variant: ButtonVariant): button is BaseButtonWithVariant => {\n return variant in button;\n};\n\nexport function getVariantValuesIfExist<V extends ButtonVariant>(\n theme: KittThemeContextValue,\n type: ButtonType,\n variant: ButtonVariant,\n): BaseButtonTheme['default'] | BaseButtonWithVariant[V] {\n const button = theme.kitt.button[type];\n\n if (hasVariant(button, variant)) {\n return button[variant];\n }\n\n return theme.kitt.button[type].default;\n}\n","import type { ViewStyle } from 'react-native';\nimport { interpolateColor, useAnimatedStyle, useSharedValue, withSpring } from 'react-native-reanimated';\nimport { useTheme } from '../../KittThemeContext';\nimport type { ButtonType, ButtonVariant } from '../Button';\nimport { getVariantValuesIfExist } from '../getVariantValuesIfExist';\n\nexport interface UseNativeAnimationOptions {\n type: ButtonType;\n variant: ButtonVariant;\n isPressedInternal?: boolean;\n}\n\nexport interface NativeAnimation {\n onPressIn?: () => void;\n onPressOut?: () => void;\n animatedStyles: ViewStyle;\n}\n\nexport const useNativeAnimation = ({\n type,\n variant,\n isPressedInternal,\n}: UseNativeAnimationOptions): NativeAnimation => {\n const theme = useTheme();\n const pressed = useSharedValue<0 | 1>(isPressedInternal ? 1 : 0);\n const color = useSharedValue(0);\n\n const { backgroundColor, pressedBackgroundColor } = getVariantValuesIfExist(theme, type, variant);\n const { scale } = theme.kitt.button;\n\n const animatedStyles = useAnimatedStyle(() => {\n return {\n backgroundColor: interpolateColor(color.value, [0, 1], [backgroundColor, pressedBackgroundColor]),\n transform: [\n {\n scale: withSpring(pressed.value ? scale.base.active : scale.base.default),\n },\n ],\n };\n });\n\n const handlePressIn = (): void => {\n color.value = withSpring(1);\n pressed.value = 1;\n };\n\n const handlePressOut = (): void => {\n color.value = withSpring(0);\n pressed.value = 0;\n };\n\n return {\n onPressIn: handlePressIn,\n onPressOut: handlePressOut,\n animatedStyles,\n };\n};\n","import type { ButtonProps } from '../Button';\n\nexport const getButtonSize = ({ large, xLarge, size }: Partial<ButtonProps>): ButtonProps['size'] => {\n if (large) return 'large';\n if (xLarge) return 'xLarge';\n return size;\n};\n","import type { ReactElement, ReactNode } from 'react';\nimport { forwardRef } from 'react';\nimport type { PressableProps } from 'react-native';\nimport type { View } from '../native-base/primitives';\nimport { Pressable } from '../native-base/primitives';\nimport type { ResponsiveValue } from '../utils/createResponsiveStyleFromProp/createResponsiveStyleFromProp';\nimport { createResponsiveStyleFromProp } from '../utils/createResponsiveStyleFromProp/createResponsiveStyleFromProp';\nimport { deprecatedInComponent } from '../utils/warnings';\nimport { AnimatedContainer } from './AnimatedContainer';\nimport { ButtonContent } from './ButtonContent';\nimport { ButtonPadding } from './ButtonPadding';\nimport { DisabledBorder } from './DisabledBorder';\nimport { FocusBorder } from './FocusBorder';\nimport { useNativeAnimation } from './hooks/useNativeAnimation';\nimport { getButtonSize } from './utils/getButtonSize';\n\nexport type SubtleButtonType = 'subtle' | 'subtle-dark';\nexport type ButtonType = 'primary' | 'default' | SubtleButtonType | 'white' | 'danger';\nexport type ButtonSize = 'large' | 'xLarge';\nexport type ButtonVariant = 'default' | 'ghost';\n\ntype IconPosition = 'right' | 'left';\n\nconst allowedGhostTypes = ['primary', 'default', 'danger'];\n\nexport interface ButtonProps {\n children?: ReactNode;\n type?: ButtonType;\n variant?: ButtonVariant;\n disabled?: boolean;\n stretch?: ResponsiveValue<boolean | undefined>;\n /**\n * @deprecated use `size` instead\n */\n large?: boolean;\n /**\n * @deprecated use `size` instead\n */\n xLarge?: boolean;\n size?: ButtonSize;\n icon?: ReactElement;\n iconPosition?: IconPosition;\n testID?: PressableProps['testID'];\n href?: PressableProps['href'];\n hrefAttrs?: PressableProps['hrefAttrs'];\n accessibilityRole?: PressableProps['accessibilityRole'];\n /**\n * @deprecated props className is not supported\n */\n className?: string;\n style?: PressableProps['style'];\n /** @internal for story purpose */\n isHoveredInternal?: boolean;\n /** @internal for story purpose */\n isPressedInternal?: boolean;\n /** @internal for story purpose */\n isFocusedInternal?: boolean;\n onPress?: PressableProps['onPress'];\n}\n\nexport const Button = forwardRef<typeof View, ButtonProps>(\n (\n {\n children,\n type = 'default',\n variant = 'default',\n disabled,\n stretch,\n large,\n xLarge,\n icon,\n size: sizeProp,\n iconPosition = 'left',\n testID,\n href,\n hrefAttrs,\n accessibilityRole = 'button',\n isHoveredInternal,\n isPressedInternal,\n isFocusedInternal,\n onPress,\n }: ButtonProps,\n ref,\n ): ReactElement => {\n const { onPressIn, onPressOut, animatedStyles } = useNativeAnimation({\n type,\n variant,\n });\n\n if (__DEV__ && variant === 'ghost' && !allowedGhostTypes.includes(type)) {\n throw new Error('variant=ghost is only allowed with type=primary or default');\n }\n\n if (large || xLarge) {\n const deprecatedProp = large ? 'large' : 'xLarge';\n deprecatedInComponent('Button', `${deprecatedProp} prop`, 'size');\n }\n\n const size = getButtonSize({ large, xLarge, size: sizeProp });\n\n return (\n <Pressable\n ref={ref}\n disabled={disabled}\n accessibilityRole={accessibilityRole}\n testID={testID}\n href={href}\n hrefAttrs={hrefAttrs}\n /* Emulate inline-* css display by making the button taking only its necessary space */\n alignSelf={createResponsiveStyleFromProp(stretch, undefined, 'flex-start')}\n minWidth=\"kitt.button.minWidth\"\n maxWidth={createResponsiveStyleFromProp(stretch, '100%', 'kitt.button.maxWidth')}\n width={createResponsiveStyleFromProp(stretch, '100%', 'auto')}\n onPress={onPress}\n onPressIn={onPressIn}\n onPressOut={onPressOut}\n >\n {({ isHovered, isPressed, isFocused }) => (\n <AnimatedContainer\n animatedStyles={animatedStyles}\n type={type}\n isHovered={isHovered || isHoveredInternal}\n isPressed={isPressed || isPressedInternal}\n disabled={!!disabled}\n variant={variant}\n isStretch={stretch}\n >\n <ButtonPadding size={size} isDisabled={disabled}>\n <ButtonContent\n type={type}\n variant={variant}\n isDisabled={disabled}\n icon={icon}\n iconPosition={iconPosition}\n isHovered={isHovered}\n isPressed={isPressed}\n isFocused={isFocused}\n >\n {children}\n </ButtonContent>\n {disabled ? <DisabledBorder /> : null}\n <FocusBorder\n type={type}\n variant={variant}\n isFocused={isFocused || isFocusedInternal}\n isHovered={isHovered}\n isPressed={isPressed}\n />\n </ButtonPadding>\n </AnimatedContainer>\n )}\n </Pressable>\n );\n },\n);\n","import type { ReactElement } from 'react';\nimport { cloneElement, useEffect, useRef } from 'react';\nimport { Animated, Easing } from 'react-native';\n\nexport interface SpinningIconProps {\n icon: ReactElement;\n color?: string;\n}\n\nexport function SpinningIcon({ icon, color }: SpinningIconProps): ReactElement {\n if (process.env.NODE_ENV !== 'production' && !color) {\n throw new Error(`Invalid color passed to SpinningIcon: ${String(color)}`);\n }\n const clonedIcon = cloneElement(icon, { color });\n const animationRef = useRef(new Animated.Value(0));\n\n const rotation = animationRef.current.interpolate({\n inputRange: [0, 1],\n outputRange: ['0deg', '360deg'],\n });\n\n useEffect(() => {\n if (process.env.NODE_ENV === 'test') return undefined;\n\n const animation = Animated.loop(\n Animated.timing(animationRef.current, {\n toValue: 1,\n duration: 1100,\n easing: Easing.linear,\n useNativeDriver: true,\n }),\n );\n animation.start();\n return () => {\n if (process.env.NODE_ENV === 'test') return undefined;\n\n animation.stop();\n return undefined;\n };\n }, []);\n\n return <Animated.View style={{ transform: [{ rotate: rotation }] }}>{clonedIcon}</Animated.View>;\n}\n","import { ArcIcon } from '@ornikar/kitt-icons';\nimport type { ReactElement } from 'react';\nimport type { SpinningIconProps } from '../Icon/SpinningIcon';\nimport { SpinningIcon } from '../Icon/SpinningIcon';\n\nexport interface LoaderIconProps {\n color?: SpinningIconProps['color'];\n}\n\nexport function LoaderIcon({ color }: LoaderIconProps): ReactElement {\n return <SpinningIcon color={color} icon={<ArcIcon />} />;\n}\n","import { useWindowDimensions } from 'react-native';\nimport type { WindowDimensions } from './createWindowSizeHelper';\n\nexport interface MatchWindowSizeOptions {\n minWidth?: number;\n maxWidth?: number;\n minHeight?: number;\n maxHeight?: number;\n}\nexport function matchWindowSize(\n { width, height }: WindowDimensions,\n { minWidth, maxWidth, minHeight, maxHeight }: MatchWindowSizeOptions,\n): boolean {\n const hasWidthMatched = width ? (!minWidth || width >= minWidth) && (!maxWidth || width <= maxWidth) : true;\n const hasHeightMatched = height ? (!minHeight || height >= minHeight) && (!maxHeight || height <= maxHeight) : true;\n return hasWidthMatched && hasHeightMatched;\n}\n\n/**\n * Returns if a size matches based on dimensions passed as options.\n *\n * WARNING: Not SSR friendly.\n */\nexport function useMatchWindowSize(options: MatchWindowSizeOptions): boolean {\n const { width, height } = useWindowDimensions();\n return matchWindowSize({ width, height }, options);\n}\n","import type { ComponentProps, ElementType, ReactElement, VoidFunctionComponent } from 'react';\nimport { useEffect, useRef, useState } from 'react';\nimport type { ButtonProps } from '../Button/Button';\nimport { KittBreakpoints } from '../KittBreakpoints';\nimport { LoaderIcon } from '../LoaderIcon/LoaderIcon';\nimport { View } from '../native-base/primitives';\nimport { useMatchWindowSize } from '../utils/windowSize/useMatchWindowSize';\n\nfunction getCurrentStretchValue(isStretch: boolean | undefined, isMedium: boolean): boolean | undefined {\n // Stretch will follow the value passed from the component occurence if defined\n if (isStretch) return isStretch;\n\n return !isMedium ? true : undefined;\n}\n\ninterface ActionsItemMinimumRequiredProps extends Pick<ButtonProps, 'onPress'> {}\n\nexport interface ActionsItemProps<C extends VoidFunctionComponent<any>> {\n readonly onPress?: (\n e: Parameters<NonNullable<ButtonProps['onPress']>>[0],\n // eslint-disable-next-line @typescript-eslint/no-invalid-void-type\n ) => Promise<void | undefined | null> | void | undefined | null;\n readonly as: C;\n}\n\n// eslint-disable-next-line @typescript-eslint/ban-types\ntype ActionsItemSendableComponentProps<C extends VoidFunctionComponent<any>> = Omit<\n ComponentProps<C>,\n keyof ActionsItemProps<C> & keyof ActionsItemMinimumRequiredProps\n>;\n\nexport function ActionsItem<C extends VoidFunctionComponent<any>>({\n as,\n onPress,\n disabled,\n icon,\n stretch,\n ...props\n}: ActionsItemProps<C> & ActionsItemSendableComponentProps<C>): ReactElement {\n const isMedium = useMatchWindowSize({\n minWidth: KittBreakpoints.MEDIUM,\n });\n\n const isCurrentStretch = getCurrentStretchValue(stretch, isMedium);\n\n const [isLoading, setIsLoading] = useState(false);\n const mountedRef = useRef(false);\n\n // effect just for tracking mounted state, as onPress can unmount the ActionButton\n useEffect(() => {\n mountedRef.current = true;\n return () => {\n mountedRef.current = false;\n };\n }, []);\n\n const handlePress: ButtonProps['onPress'] = (e) => {\n const callPressAndUpdateLoadingState = async (): Promise<void> => {\n if (!onPress) return;\n setIsLoading(true);\n try {\n await onPress(e);\n if (mountedRef.current) {\n setIsLoading(false);\n }\n } catch (error) {\n if (mountedRef.current) {\n setIsLoading(false);\n }\n throw error;\n }\n };\n\n callPressAndUpdateLoadingState();\n };\n\n const Component: ElementType = as;\n\n return (\n <View>\n <Component\n {...props}\n stretch={isCurrentStretch}\n disabled={isLoading ? true : disabled}\n icon={isLoading ? <LoaderIcon /> : icon}\n onPress={handlePress}\n />\n </View>\n );\n}\n","import type { ReactElement } from 'react';\nimport type { Except } from 'type-fest';\nimport type { ButtonProps } from '../Button/Button';\nimport { Button } from '../Button/Button';\nimport type { ActionsItemProps } from './ActionsItem';\nimport { ActionsItem } from './ActionsItem';\n\nexport interface ActionsButtonProps\n extends Except<ButtonProps, 'onPress'>,\n Pick<ActionsItemProps<typeof Button>, 'onPress'> {}\n\nexport function ActionsButton({ ...props }: ActionsButtonProps): ReactElement {\n return <ActionsItem as={Button} {...props} />;\n}\n","import type { ReactElement } from 'react';\nimport type { Except } from 'type-fest';\nimport { Stack } from '../native-base/layout';\nimport type { StackProps } from '../native-base/layout';\nimport { ActionsButton } from './ActionsButton';\nimport { ActionsItem } from './ActionsItem';\n\ntype ActionsLayout = 'column' | 'row';\n\nfunction getCurrentLayout(layout: ActionsLayout | undefined): StackProps['alignItems'] {\n if (!layout) return { base: 'stretch', medium: 'center' };\n\n if (layout === 'column') return 'stretch';\n\n return 'center';\n}\n\nfunction getCurrentDirection(layout: ActionsLayout | undefined): StackProps['direction'] {\n if (!layout) return { base: 'column', medium: 'row' };\n\n if (layout === 'column') return 'column';\n\n return 'row';\n}\n\nexport interface ActionsProps extends Except<StackProps, 'space'> {\n layout?: ActionsLayout;\n}\n\nexport function Actions({ children, layout, ...props }: ActionsProps): ReactElement {\n const currentAlignItems = getCurrentLayout(layout);\n const currentDirection = getCurrentDirection(layout);\n\n return (\n <Stack alignItems={currentAlignItems} direction={currentDirection} flexGrow={1} {...props} space=\"kitt.3\">\n {children}\n </Stack>\n );\n}\n\nActions.Button = ActionsButton;\nActions.Item = ActionsItem;\n","import { defaultAvatarSize, largeAvatarSize } from '../../themes/late-ocean/avatar';\nimport type { AvatarSizeVariant } from '../Avatar';\n\ninterface GetCurrentRadiusParams {\n size?: number;\n sizeVariant?: AvatarSizeVariant;\n round?: boolean;\n}\n\nexport function getCurrentRadius({ size, sizeVariant, round }: GetCurrentRadiusParams): string | number {\n if (round) {\n if (size) return size * 0.5;\n\n if (sizeVariant === 'large') return largeAvatarSize * 0.5;\n\n return defaultAvatarSize * 0.5;\n }\n\n if (sizeVariant === 'large') return 'kitt.avatar.large.borderRadius';\n\n return 'kitt.avatar.borderRadius';\n}\n","import type { AvatarSizeVariant } from '../Avatar';\n\ninterface GetCurrentSizeParams {\n size?: number;\n sizeVariant?: AvatarSizeVariant;\n}\n\nexport function getCurrentSize({ size, sizeVariant }: GetCurrentSizeParams): string | number {\n if (size) return size;\n\n if (sizeVariant === 'large') return 'kitt.avatar.large.size';\n\n return 'kitt.avatar.size';\n}\n","import { defaultAvatarIconSize, largeAvatarIconSize } from '../../themes/late-ocean/avatar';\nimport type { AvatarSizeVariant } from '../Avatar';\n\nexport function getIconSize(size: string | number, sizeVariant?: AvatarSizeVariant): number {\n if (typeof size === 'number') return size * 0.5;\n\n if (sizeVariant === 'large') return largeAvatarIconSize;\n\n return defaultAvatarIconSize;\n}\n","export function getInitials(firstname: string, lastname: string): string {\n return `${firstname[0]}${lastname[0]}`.toUpperCase();\n}\n","import { UserIcon } from '@ornikar/kitt-icons';\nimport type { ReactElement } from 'react';\nimport { Icon } from '../Icon/Icon';\nimport { Image, View } from '../native-base/primitives';\nimport { Typography } from '../typography/Typography';\nimport { getCurrentRadius } from './utils/getCurrentRadius';\nimport { getCurrentSize } from './utils/getCurrentSize';\nimport { getIconSize } from './utils/getIconSize';\nimport { getInitials } from './utils/getInitials';\n\nexport type AvatarSizeVariant = 'large';\n\ninterface AvatarContentProps extends Omit<AvatarProps, 'light' | 'round' | 'size'> {\n size: string | number;\n isLight?: boolean;\n sizeVariant?: AvatarSizeVariant;\n}\n\nfunction AvatarContent({\n size,\n src,\n firstname,\n lastname,\n alt,\n isLight,\n sizeVariant,\n}: AvatarContentProps): ReactElement {\n if (src) {\n return <Image source={{ uri: src }} width={size} height={size} alt={alt} accessibilityLabel={alt} />;\n }\n\n if (firstname && lastname) {\n return (\n <Typography.Text\n base={sizeVariant === 'large' ? 'body-large' : 'body-small'}\n variant={sizeVariant === 'large' ? 'bold' : 'regular'}\n color={isLight ? 'black' : 'white'}\n >\n {getInitials(firstname, lastname)}\n </Typography.Text>\n );\n }\n\n return <Icon icon={<UserIcon />} color={isLight ? 'black' : 'white'} size={getIconSize(size, sizeVariant)} />;\n}\n\nexport interface AvatarProps {\n size?: number;\n src?: string;\n alt?: string;\n firstname?: string | null;\n lastname?: string | null;\n round?: boolean;\n light?: boolean;\n sizeVariant?: AvatarSizeVariant;\n}\n\nexport function Avatar({ size, round, light, sizeVariant, ...props }: AvatarProps): ReactElement {\n const currentSize = getCurrentSize({ size, sizeVariant });\n const currentBorderRadius = getCurrentRadius({ size, sizeVariant, round });\n\n return (\n <View\n overflow=\"hidden\"\n alignItems=\"center\"\n justifyContent=\"center\"\n width={currentSize}\n height={currentSize}\n borderRadius={currentBorderRadius}\n backgroundColor={`kitt.avatar.${light ? 'light' : 'default'}.backgroundColor`}\n >\n <AvatarContent size={currentSize} isLight={light} sizeVariant={sizeVariant} {...props} />\n </View>\n );\n}\n","import {\n BottomSheetBackdrop,\n BottomSheetHandle,\n BottomSheetModal,\n BottomSheetScrollView,\n BottomSheetView,\n useBottomSheetDynamicSnapPoints,\n} from '@gorhom/bottom-sheet';\nimport type { BottomSheetModalMethods } from '@gorhom/bottom-sheet/lib/typescript/types';\nimport { View } from 'native-base';\nimport type { ComponentRef, ComponentType, ForwardedRef, MutableRefObject, ReactElement, ReactNode, Ref } from 'react';\nimport { forwardRef, useMemo } from 'react';\nimport { SafeAreaView } from 'react-native-safe-area-context';\nimport type { ViewProps } from 'native-base/primitives';\nimport { useTheme } from '../KittThemeContext';\n\nexport interface BottomSheetProps<Data = never> {\n children?: ComponentType<Data> | ReactNode;\n ref: MutableRefObject<BottomSheetModalMethods | null>;\n hasScrollView?: boolean;\n hasHandle?: boolean;\n hasBackdrop?: boolean;\n onDismiss?: () => void;\n}\n\nfunction BottomSheetComp<Data extends JSX.IntrinsicAttributes = Record<string, never>>(\n { children: Content, hasScrollView = false, hasBackdrop = true, hasHandle = true, onDismiss }: BottomSheetProps<Data>,\n ref: Ref<BottomSheetModal>,\n): ReactElement {\n const Wrapper = useMemo(() => (hasScrollView ? BottomSheetScrollView : BottomSheetView), [hasScrollView]);\n const theme = useTheme();\n const initialSnapPoints = useMemo(() => ['CONTENT_HEIGHT'], []);\n const { animatedHandleHeight, animatedSnapPoints, animatedContentHeight, handleContentLayout } =\n useBottomSheetDynamicSnapPoints(initialSnapPoints);\n\n return (\n <BottomSheetModal\n ref={ref}\n enablePanDownToClose\n snapPoints={animatedSnapPoints}\n index={0}\n handleHeight={animatedHandleHeight}\n handleIndicatorStyle={{\n width: 40,\n height: 4,\n borderRadius: 4,\n backgroundColor: theme.kitt.bottomSheet.handle.backgroundColor,\n }}\n handleComponent={(props) => (hasHandle ? <BottomSheetHandle {...props} /> : null)}\n backdropComponent={(props) =>\n hasBackdrop ? <BottomSheetBackdrop {...props} opacity={0.25} appearsOnIndex={0} disappearsOnIndex={-1} /> : null\n }\n contentHeight={animatedContentHeight}\n onDismiss={onDismiss}\n >\n {({ data }) => (\n <SafeAreaView edges={['bottom']} onLayout={handleContentLayout}>\n <Wrapper>{typeof Content === 'function' ? <Content {...(data as Data)} /> : Content}</Wrapper>\n </SafeAreaView>\n )}\n </BottomSheetModal>\n );\n}\n\nfunction BottomSheetContainerView(props: ViewProps): ReactElement {\n return <View padding=\"kitt.bottomSheet.container.padding\" {...props} />;\n}\n\nexport const BottomSheet = forwardRef(BottomSheetComp) as unknown as (<Data = never>(\n props: BottomSheetProps<Data> & { ref?: ForwardedRef<ComponentRef<typeof BottomSheetComp>> },\n) => ReturnType<typeof BottomSheetComp>) & { View: typeof BottomSheetContainerView };\n\nBottomSheet.View = BottomSheetContainerView;\n","import type { BottomSheetModalMethods } from '@gorhom/bottom-sheet/lib/typescript/types';\nimport type { RefObject } from 'react';\nimport { useRef } from 'react';\n\nexport function useBottomSheet(): RefObject<BottomSheetModalMethods> {\n const ref = useRef<BottomSheetModalMethods>(null);\n\n return ref;\n}\n","import type { BottomSheetModalMethods } from '@gorhom/bottom-sheet/lib/typescript/types';\nimport type { ComponentType, ElementType, ReactElement, RefObject } from 'react';\nimport { useMemo, useRef } from 'react';\nimport type { BottomSheetProps } from './BottomSheet';\nimport { BottomSheet } from './BottomSheet';\n\ninterface BottomSheetRef<T> extends BottomSheetModalMethods {\n present: (bottomSheetComponenProps: T) => void;\n}\n\ntype ReducedBottomSheetProps = Pick<BottomSheetProps, 'hasScrollView'>;\n\n// This is used to fix:\n// React.ComponentProps<O> -> if O is a function component without any props it will return unknown but we want to have undefined\ntype IsExact<T, U> = [T] extends [U] ? ([U] extends [T] ? true : false) : false;\n\ntype BottomSheetComponentProps<O extends ElementType> = IsExact<React.ComponentProps<O>, unknown> extends true\n ? undefined\n : React.ComponentProps<O>;\n\nexport function useStaticBottomSheet<T extends ComponentType<P>, P>(\n Content: T,\n): {\n bottomSheetRef: RefObject<BottomSheetRef<BottomSheetComponentProps<T>>>;\n BottomSheet: (props: ReducedBottomSheetProps) => ReactElement;\n} {\n const bottomSheetRef = useRef<BottomSheetRef<BottomSheetComponentProps<T>>>(null);\n\n const BottomSheetMemoized = useMemo(\n () =>\n function renderBottomSheet(props: ReducedBottomSheetProps) {\n return (\n <BottomSheet<P> {...props} ref={bottomSheetRef}>\n {Content}\n </BottomSheet>\n );\n },\n [Content],\n );\n\n return {\n bottomSheetRef,\n BottomSheet: BottomSheetMemoized,\n };\n}\n","import type { ReactElement, ReactNode } from 'react';\n\nexport interface ModalBehaviourPortalProps {\n visible?: boolean;\n children: ReactNode;\n}\n\nexport function ModalBehaviourPortal({ children }: ModalBehaviourPortalProps): ReactElement {\n // eslint-disable-next-line react/jsx-no-useless-fragment\n return <>{children}</>;\n}\n","import type { ReactElement, ReactNode } from 'react';\nimport { createContext, useContext } from 'react';\n\ntype OnCloseCallback = () => void;\n\nexport const OnCloseContext = createContext<OnCloseCallback>(() => {});\n\ninterface OnCloseProviderProps {\n children: ReactNode;\n onClose: OnCloseCallback;\n}\n\nexport function OnCloseProvider({ children, onClose }: OnCloseProviderProps): ReactElement {\n return <OnCloseContext.Provider value={onClose}>{children}</OnCloseContext.Provider>;\n}\n\nexport function useOnCloseModalBehaviour(): OnCloseCallback {\n const onClose = useContext(OnCloseContext);\n return onClose;\n}\n","import type { ReactElement, ReactNode } from 'react';\nimport { cloneElement } from 'react';\nimport { View } from '../native-base/primitives';\nimport { ModalBehaviourPortal } from './ModalBehaviourPortal';\nimport { OnCloseProvider, useOnCloseModalBehaviour } from './OnCloseContext';\n\ninterface CloseButtonProps {\n children: ReactElement;\n onPress?: () => void;\n}\n\nfunction CloseButton({ children, onPress }: CloseButtonProps): ReactElement {\n const onCloseContextCallback = useOnCloseModalBehaviour();\n\n const handleClose = (): void => {\n if (onPress) onPress();\n onCloseContextCallback();\n };\n\n return cloneElement(children, { onPress: handleClose });\n}\n\nexport interface ModalBehaviourProps {\n children: ReactNode;\n visible?: boolean;\n onClose: () => void;\n}\n\nexport function ModalBehaviour({ children, visible, onClose }: ModalBehaviourProps): ReactElement {\n return (\n <OnCloseProvider onClose={onClose}>\n <ModalBehaviourPortal visible={visible}>\n {visible ? (\n <View\n _web={{\n position: 'fixed',\n top: 0,\n left: 0,\n width: '100%',\n height: '100%',\n }}\n >\n {children}\n </View>\n ) : null}\n </ModalBehaviourPortal>\n </OnCloseProvider>\n );\n}\n\nModalBehaviour.CloseButton = CloseButton;\n","import type { ReactElement } from 'react';\nimport type { PressableProps } from 'react-native';\nimport { Pressable, StyleSheet } from 'react-native';\nimport styled from 'styled-components/native';\n\ninterface OverlayProps extends Pick<PressableProps, 'onPress'> {}\n\n// Don't use styled.Pressable here - babel-plugin-styled-components-react-native-web only supports tagged templates\nconst OverlayPressable = styled(Pressable)(({ theme }) => ({\n ...StyleSheet.absoluteFillObject,\n backgroundColor: theme.kitt.colors.overlay.dark,\n}));\n\nexport function Overlay({ onPress }: OverlayProps): ReactElement {\n return <OverlayPressable accessibilityRole=\"none\" onPress={onPress} />;\n}\n","import type { ReactElement } from 'react';\nimport type { ViewProps } from '../../native-base/primitives';\nimport { View } from '../../native-base/primitives';\n\ninterface CardModalRotationContainerProps extends ViewProps {}\n\nexport function CardModalRotationContainer(props: CardModalRotationContainerProps): ReactElement {\n return (\n <View\n paddingX=\"kitt.cardModal.overlayPadding.horizontal\"\n paddingY=\"kitt.cardModal.overlayPadding.vertical\"\n maxWidth=\"kitt.cardModal.maxWidthWithPadding\"\n width=\"100%\"\n {...props}\n />\n );\n}\n","import type { ReactElement, ReactNode } from 'react';\nimport { useRef } from 'react';\nimport { StyleSheet } from 'react-native';\nimport Animated, { Easing, runOnJS, useAnimatedStyle, withTiming } from 'react-native-reanimated';\nimport { useTheme } from '../../KittThemeContext';\n\nexport interface NativeOpacityAnimationProps {\n visible?: boolean;\n children: ReactNode;\n onExited: () => void;\n}\n\nexport function NativeOpacityAnimation({ visible, children, onExited }: NativeOpacityAnimationProps): ReactElement {\n const theme = useTheme();\n const hasRunAnimationRef = useRef(false);\n\n function handleAnimationFinished(): void {\n if (visible) {\n hasRunAnimationRef.current = true;\n }\n\n if (!visible && hasRunAnimationRef.current) {\n onExited();\n }\n }\n\n const opacityStyle = useAnimatedStyle(() => {\n const { duration, easing } = theme.kitt.cardModal.animation.overlay;\n const [x1, y1, x2, y2] = easing;\n\n return {\n opacity: withTiming(visible ? 1 : 0, { duration, easing: Easing.bezier(x1, y1, x2, y2) }, (isFinished) => {\n if (!isFinished) return;\n runOnJS(handleAnimationFinished)();\n }),\n };\n });\n\n return <Animated.View style={[StyleSheet.absoluteFillObject, opacityStyle]}>{children}</Animated.View>;\n}\n","import type { ReactElement, ReactNode } from 'react';\nimport { useRef } from 'react';\nimport Animated, { Easing, runOnJS, useAnimatedStyle, useSharedValue, withTiming } from 'react-native-reanimated';\nimport { useTheme } from '../../KittThemeContext';\nimport type { CardModalAnimationProps } from './CardModalAnimation';\n\nexport interface NativeRotationAnimationProps {\n children: ReactNode;\n topInset?: number;\n visible?: CardModalAnimationProps['visible'];\n onEntered?: CardModalAnimationProps['onEntered'];\n onExited: () => void;\n}\n\nexport function NativeRotationAnimation({\n visible,\n children,\n onEntered,\n onExited,\n}: NativeRotationAnimationProps): ReactElement | null {\n const theme = useTheme();\n\n const hasRunAnimationRef = useRef(false);\n\n const rotation = useSharedValue(0.8);\n\n function handleAnimationFinished(): void {\n if (visible) {\n if (onEntered) onEntered();\n hasRunAnimationRef.current = true;\n }\n\n if (!visible && hasRunAnimationRef.current) onExited();\n }\n\n const animatedStyle = useAnimatedStyle(() => {\n const { duration, easing } = theme.kitt.cardModal.animation.content;\n\n const [x1, y1, x2, y2] = easing;\n\n rotation.value = withTiming(visible ? 0 : 5, { duration, easing: Easing.bezier(x1, y1, x2, y2) }, (isFinished) => {\n if (!isFinished) return;\n runOnJS(handleAnimationFinished)();\n });\n\n return {\n opacity: withTiming(visible ? 1 : 0, { duration, easing: Easing.bezier(x1, y1, x2, y2) }),\n transform: [\n { scale: withTiming(visible ? 1 : 0.8, { duration, easing: Easing.bezier(x1, y1, x2, y2) }) },\n {\n rotateZ: `${rotation.value}deg`,\n },\n ],\n };\n });\n\n return <Animated.View style={[animatedStyle]}>{children}</Animated.View>;\n}\n","import type { ReactElement, ReactNode } from 'react';\nimport { useEffect, useState } from 'react';\nimport { Modal, Platform } from 'react-native';\nimport type { ModalAnimationComponentProps } from '../../ModalBehaviour/type';\nimport { Overlay } from '../../Overlay/Overlay';\nimport type { ViewProps } from '../../native-base/primitives';\nimport { ScrollView, View } from '../../native-base/primitives';\nimport { CardModalRotationContainer } from './CardModalRotationContainer';\nimport { NativeOpacityAnimation } from './NativeOpacityAnimation';\nimport { NativeRotationAnimation } from './NativeRotationAnimation';\n\nexport interface CardModalAnimationProps extends ViewProps, ModalAnimationComponentProps {\n children: ReactNode;\n}\n\nexport function CardModalAnimation({\n visible,\n children,\n onEnter,\n onEntered,\n onExit,\n onExited,\n onClose,\n}: CardModalAnimationProps): ReactElement {\n const [isModalVisible, setIsModalVisible] = useState(visible);\n const [isContentVisible, setIsContentVisible] = useState(false);\n\n const handleAnimationExited = (): void => {\n setIsModalVisible(false);\n // Android doesn't handle the onDismiss callback on the modal, we need to call it manually\n if (Platform.OS === 'android' && onExited) onExited();\n };\n\n useEffect(() => {\n const shouldHideContent = !visible && isContentVisible;\n\n if (!shouldHideContent) return;\n\n if (onExit) onExit();\n setIsContentVisible(false);\n }, [visible, isContentVisible, onExit]);\n\n return (\n <Modal\n transparent\n supportedOrientations={['landscape', 'portrait']}\n visible={isModalVisible}\n onShow={() => {\n if (onEnter) onEnter();\n setIsContentVisible(true);\n }}\n onDismiss={() => {\n if (onExited) onExited();\n }}\n >\n <ScrollView bounces={false} contentContainerStyle={{ flexGrow: 1 }}>\n <View position=\"relative\" flexGrow={1} justifyContent=\"center\" alignItems=\"center\">\n <NativeOpacityAnimation visible={isContentVisible} onExited={handleAnimationExited}>\n <Overlay onPress={onClose} />\n </NativeOpacityAnimation>\n\n <CardModalRotationContainer>\n <NativeRotationAnimation visible={isContentVisible} onExited={handleAnimationExited} onEntered={onEntered}>\n {children}\n </NativeRotationAnimation>\n </CardModalRotationContainer>\n </View>\n </ScrollView>\n </Modal>\n );\n}\n","import type { ReactElement } from 'react';\nimport { useEffect, useState } from 'react';\nimport { Platform } from 'react-native';\nimport type { ModalBehaviourProps } from '../ModalBehaviour/ModalBehaviour';\nimport { ModalBehaviour } from '../ModalBehaviour/ModalBehaviour';\nimport { ScrollView, View } from '../native-base/primitives';\nimport type { ScrollViewProps } from '../native-base/primitives';\nimport type { CardModalAnimationProps } from './CardModalAnimation/CardModalAnimation';\nimport { CardModalAnimation } from './CardModalAnimation/CardModalAnimation';\n\ninterface ScrollContainerProps extends ScrollViewProps {}\n\nexport function CardModalScrollContainer({ children, ...props }: ScrollContainerProps): ReactElement {\n if (Platform.OS !== 'web') {\n return <View>{children}</View>;\n }\n\n return <ScrollView {...props}>{children}</ScrollView>;\n}\n\nexport interface CardModalBehaviourProps extends CardModalAnimationProps {\n onClose: ModalBehaviourProps['onClose'];\n}\n\nexport function CardModalBehaviour({\n children,\n visible,\n onClose,\n onExited,\n ...props\n}: CardModalBehaviourProps): ReactElement {\n const [isModalBehaviourVisible, setIsModalBehaviourVisible] = useState(visible);\n\n useEffect(() => {\n if (visible === true) {\n setIsModalBehaviourVisible(true);\n }\n }, [visible]);\n\n const handleExitAnimationDone = (): void => {\n if (onExited) onExited();\n setIsModalBehaviourVisible(false);\n };\n\n return (\n <ModalBehaviour visible={isModalBehaviourVisible} onClose={onClose}>\n <CardModalScrollContainer bounces={false} contentContainerStyle={{ flexGrow: 1 }}>\n <CardModalAnimation {...props} visible={visible} onExited={handleExitAnimationDone} onClose={onClose}>\n {children}\n </CardModalAnimation>\n </CardModalScrollContainer>\n </ModalBehaviour>\n );\n}\n","import type { ReactElement, ReactNode } from 'react';\nimport type { ViewProps } from '../native-base/primitives';\nimport { View } from '../native-base/primitives';\n\nexport interface CardModalBodyProps extends ViewProps {\n children: NonNullable<ReactNode>;\n}\n\nexport function CardModalBody({\n children,\n paddingX = { base: 'kitt.4', medium: 'kitt.6' },\n paddingY = 'kitt.4',\n ...props\n}: CardModalBodyProps): ReactElement {\n return (\n <View paddingX={paddingX} paddingY={paddingY} {...props}>\n {children}\n </View>\n );\n}\n","import type { ReactElement } from 'react';\nimport type { ViewProps } from '../native-base/primitives';\nimport { View } from '../native-base/primitives';\n\nexport interface CardModalFooterProps extends ViewProps {\n hasSeparator?: boolean;\n}\n\nexport function CardModalFooter({\n children,\n padding = { base: 'kitt.4', medium: 'kitt.2' },\n hasSeparator = true,\n ...props\n}: CardModalFooterProps): ReactElement {\n return (\n <View\n {...props}\n marginTop=\"kitt.2\"\n padding={padding}\n borderTopWidth={hasSeparator ? 'kitt.cardModal.footer.borderWidth' : 0}\n borderColor=\"kitt.separator\"\n alignItems={{ base: undefined, medium: 'flex-end' }}\n >\n {children}\n </View>\n );\n}\n","import type { ReactElement, ReactNode } from 'react';\nimport type { Except } from 'type-fest';\nimport type { ViewProps } from '../native-base/primitives';\nimport { View } from '../native-base/primitives';\nimport { Typography } from '../typography/Typography';\n\ninterface BaseHeaderProps extends Except<ViewProps, 'left' | 'right'> {\n hasSeparator?: boolean;\n left?: ReactNode;\n right?: ReactNode;\n}\n\ninterface TitledHeaderProps extends BaseHeaderProps {\n title?: ReactNode;\n children?: never;\n}\n\ninterface ComponentHeaderProps extends BaseHeaderProps {\n title?: never;\n children?: ReactNode;\n}\n\nexport type CardModalHeaderProps = TitledHeaderProps | ComponentHeaderProps;\n\nexport function CardModalHeader({\n children,\n title,\n paddingBottom = { base: 'kitt.4', medium: 'kitt.2' },\n hasSeparator = true,\n right,\n left,\n ...props\n}: CardModalHeaderProps): ReactElement {\n const defaultContainerPadding = { base: 'kitt.4', medium: 'kitt.6' };\n\n return (\n <View\n {...props}\n padding={paddingBottom}\n borderBottomWidth={hasSeparator ? 'kitt.cardModal.footer.borderWidth' : 0}\n borderColor=\"kitt.separator\"\n justifyContent=\"center\"\n width=\"100%\"\n height=\"kitt.cardModal.header.height\"\n paddingRight={right ? 'kitt.2' : defaultContainerPadding}\n paddingLeft={left ? 'kitt.2' : defaultContainerPadding}\n >\n <View alignItems=\"center\" flexDirection=\"row\" justifyContent={!children && !left ? 'flex-end' : 'space-between'}>\n {left ? <View width=\"kitt.iconButton.width\">{left}</View> : null}\n\n <View flexGrow=\"1\" paddingRight={right ? 'kitt.2' : 0} paddingLeft={left ? 'kitt.2' : 0}>\n {title ? (\n <Typography.Text textAlign={!left && right ? 'left' : 'center'} variant=\"bold\">\n {title}\n </Typography.Text>\n ) : null}\n {children}\n </View>\n\n {right ? <View width=\"kitt.iconButton.width\">{right}</View> : null}\n </View>\n </View>\n );\n}\n","import type { ReactElement, 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): ReactElement {\n return (\n <View\n {...props}\n overflow=\"hidden\"\n backgroundColor={backgroundColor}\n shadow={withoutShadow ? undefined : 'kitt.cardModal.shadow'}\n borderRadius=\"kitt.cardModal.borderRadius\"\n width=\"100%\"\n maxWidth={maxWidth}\n >\n {children || (\n <>\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","import type { ViewStyle } from 'react-native';\nimport {\n interpolateColor,\n useAnimatedStyle,\n useDerivedValue,\n useSharedValue,\n withTiming,\n} from 'react-native-reanimated';\nimport { useTheme } from '../../KittThemeContext';\n\ninterface UseNativeAnimationOptions {\n selected?: boolean;\n disabled?: boolean;\n isPressedInternal?: boolean;\n}\n\ninterface NativeAnimation {\n onPressIn: () => void;\n onPressOut: () => void;\n backgroundStyles: ViewStyle;\n}\n\nexport const useNativeAnimation = ({\n selected,\n disabled,\n isPressedInternal,\n}: UseNativeAnimationOptions): NativeAnimation => {\n const theme = useTheme();\n\n const pressed = useSharedValue(Boolean(isPressedInternal));\n const progress = useDerivedValue(() => {\n return withTiming(pressed.value ? 1 : 0, { duration: theme.kitt.choices.item.transition.duration });\n });\n\n const backgroundStyles = useAnimatedStyle(() => {\n const {\n default: defaultBg,\n pressed: pressedBg,\n selected: selectedBg,\n disabled: disabledBg,\n } = theme.kitt.choices.item.backgroundColor;\n\n if (disabled) return { backgroundColor: disabledBg };\n\n if (selected) return { backgroundColor: selectedBg };\n\n return {\n backgroundColor: interpolateColor(progress.value, [0, 1], [defaultBg, pressedBg]),\n };\n });\n\n const onPressIn = (): void => {\n pressed.value = true;\n };\n\n const onPressOut = (): void => {\n pressed.value = false;\n };\n\n return {\n onPressIn,\n onPressOut,\n backgroundStyles,\n };\n};\n","import type { ReactElement, ReactNode } from 'react';\nimport type { GestureResponderEvent } from 'react-native';\nimport { Platform, StyleSheet, View } from 'react-native';\nimport Animated from 'react-native-reanimated';\nimport styled, { css } from 'styled-components/native';\nimport { KittBreakpoints } from '../KittBreakpoints';\nimport { Pressable } from '../native-base/primitives';\nimport { Typography } from '../typography/Typography';\nimport type { TypographyColor } from '../typography/Typography';\nimport type { BaseChoicesProps } from './Choices';\nimport { useNativeAnimation } from './hooks/useNativeAnimation';\n\ninterface GetCurrentTextColorParams {\n isDisabled?: boolean;\n isSelected?: boolean;\n isPressed?: boolean;\n isHovered?: boolean;\n}\n\nfunction getCurrentTextColor({\n isDisabled,\n isSelected,\n isPressed,\n isHovered,\n}: GetCurrentTextColorParams): TypographyColor {\n if (isDisabled) return 'black-light';\n\n if (isSelected && isHovered) return 'white';\n\n if (isSelected || isPressed) return 'white';\n\n return 'black';\n}\n\ntype ChoiceItemVariant = 'rounded';\ntype ChoiceItemSize = BaseChoicesProps<null>['size'];\n\nfunction getBorderRadius(defaultRadius: number, variant?: ChoiceItemVariant): number {\n // The clean way to have the rounded effect would have been to know the children height since radius >= height * 0.5\n // We don't control over the height of the rendered children we just go with a arbitrary really high value\n const arbitraryHighHeightValue = 800;\n if (variant === 'rounded') return arbitraryHighHeightValue;\n\n return defaultRadius;\n}\n\ninterface DisabledBorderProps {\n $variant?: ChoiceItemVariant;\n}\n\nconst DisabledBorder = styled(View)<DisabledBorderProps>`\n border-radius: ${({ theme, $variant }) => getBorderRadius(theme.kitt.choices.item.borderRadius, $variant)}px;\n ${({ theme }) => {\n const { width, color } = theme.kitt.choices.item.disabled.border;\n\n return css`\n border: ${width}px solid ${color};\n `;\n }};\n`;\n\ninterface ChoiceItemPressableProps {\n $variant?: ChoiceItemVariant;\n $size?: ChoiceItemSize;\n $isHovered?: boolean;\n $isPressed?: boolean;\n $isDisabled?: boolean;\n $isSelected?: boolean;\n}\n\nconst ChoiceItemView = styled(Platform.OS === 'web' ? View : Animated.View)<ChoiceItemPressableProps>`\n position: relative;\n border-radius: ${({ theme, $variant }) => getBorderRadius(theme.kitt.choices.item.borderRadius, $variant)}px;\n background-color: ${({ theme, $isHovered, $isPressed, $isDisabled, $isSelected }) => {\n const {\n hoverWhenSelected,\n hover,\n disabled,\n selected,\n pressed,\n default: defaultBackground,\n } = theme.kitt.choices.item.backgroundColor;\n\n if ($isDisabled) return disabled;\n\n if ($isSelected && $isHovered) return hoverWhenSelected;\n\n if ($isPressed) return pressed;\n\n if ($isHovered) return hover;\n\n if ($isSelected) return selected;\n\n return defaultBackground;\n }};\n\n ${({ theme, $size }) => {\n const { base, small } = theme.kitt.choices.item.padding;\n\n if ($size === 'small') {\n return css`\n padding: ${base / 2}px ${base}px;\n `;\n }\n\n return theme.responsive.ifWindowSizeMatches(\n {\n minWidth: KittBreakpoints.SMALL,\n },\n css`\n padding: ${small}px;\n `,\n css`\n padding: ${base}px;\n `,\n );\n }};\n\n ${({ theme }) => {\n if (Platform.OS !== 'web') return undefined;\n\n const { property, duration, timingFunction } = theme.kitt.choices.item.transition;\n\n return css`\n transition: ${property} ${duration}ms ${timingFunction};\n `;\n }}\n`;\n\nexport type ChoiceItemType = 'button' | 'radio' | 'checkbox' | undefined;\n\nexport interface BaseChoiceItemProps<V> {\n type?: ChoiceItemType;\n children: ReactNode;\n disabled?: boolean;\n variant?: ChoiceItemVariant;\n size?: ChoiceItemSize;\n value?: V;\n selected?: boolean;\n /**\n * @internal Used to display pressed UI for testing and storybook purpose\n */\n isPressedInternal?: boolean;\n /**\n * @internal Used to display hovered UI for testing and storybook purpose\n */\n isHoveredInternal?: boolean;\n onPress?: () => void;\n onChange?: (value?: V) => void;\n onFocus?: (e?: any | GestureResponderEvent) => void;\n onBlur?: (e?: any | GestureResponderEvent) => void;\n}\n\nexport interface ChoiceItemButtonProps<V> extends BaseChoiceItemProps<V> {\n type?: 'button';\n value?: never;\n selected?: never;\n onChange?: never;\n}\n\nexport interface ChoiceItemFormElementProps<V> extends BaseChoiceItemProps<V> {\n type: 'radio' | 'checkbox';\n onPress?: never;\n}\n\nexport type ChoiceItemProps<V> = ChoiceItemButtonProps<V> | ChoiceItemFormElementProps<V>;\n\nexport function ChoiceItem<V>({\n type = 'button',\n value,\n selected,\n disabled,\n variant,\n children,\n isPressedInternal,\n isHoveredInternal,\n onPress,\n onChange,\n onBlur,\n onFocus,\n size,\n}: ChoiceItemProps<V>): ReactElement {\n const { onPressIn, onPressOut, backgroundStyles } = useNativeAnimation({ selected, disabled, isPressedInternal });\n\n const handleChange = (): void => {\n if (!onChange) return;\n\n // Checkbox can be toggled\n if (type === 'checkbox') {\n onChange(selected ? undefined : value);\n return;\n }\n\n onChange(value);\n };\n\n const handlePress = (e: GestureResponderEvent): void => {\n if (onFocus) onFocus(e);\n\n if (onPress) onPress();\n handleChange();\n\n if (onBlur) onBlur(e);\n };\n\n return (\n <Pressable\n disabled={disabled}\n accessibilityRole={type}\n accessibilityState={{ checked: selected }}\n onBlur={onBlur}\n onFocus={onFocus}\n onPress={handlePress}\n onPressIn={onPressIn}\n onPressOut={onPressOut}\n >\n {({ isHovered, isPressed }) => (\n <ChoiceItemView\n style={Platform.OS !== 'web' ? [backgroundStyles] : undefined}\n $isHovered={isHovered || isHoveredInternal}\n $isDisabled={disabled}\n $isSelected={selected}\n $isPressed={isPressed || isPressedInternal}\n $variant={variant}\n $size={size}\n >\n <Typography.SetDefaultColor\n value={getCurrentTextColor({\n isDisabled: disabled,\n isSelected: selected || isPressedInternal,\n isPressed,\n isHovered: isHovered || isHoveredInternal,\n })}\n >\n {children}\n </Typography.SetDefaultColor>\n {disabled ? <DisabledBorder $variant={variant} style={StyleSheet.absoluteFillObject} /> : null}\n </ChoiceItemView>\n )}\n </Pressable>\n );\n}\n","import { View } from 'react-native';\nimport styled, { css } from 'styled-components/native';\nimport type { ChoicesDirection } from './Choices';\n\ninterface ChoiceItemContainerProps {\n $isLast?: boolean;\n $direction: ChoicesDirection;\n}\n\nexport const ChoiceItemContainer = styled(View)<ChoiceItemContainerProps>`\n ${({ theme, $isLast, $direction }) => {\n const { row, column } = theme.kitt.choices.spacing;\n\n if ($direction === 'row') {\n return css`\n margin-right: ${$isLast ? 0 : row}px;\n `;\n }\n\n return css`\n margin-bottom: ${$isLast ? 0 : column}px;\n `;\n }}\n`;\n","import type { ReactElement, ReactNode } from 'react';\nimport { Children, cloneElement, useState } from 'react';\nimport type { ViewProps } from 'react-native';\nimport { ScrollView, View } from 'react-native';\nimport type { Except, SetOptional } from 'type-fest';\nimport type { ChoiceItemButtonProps, ChoiceItemFormElementProps, ChoiceItemType } from './ChoiceItem';\nimport { ChoiceItem } from './ChoiceItem';\nimport { ChoiceItemContainer } from './ChoiceItemContainer';\n\nexport type ChoicesDirection = 'row' | 'column';\n\ninterface ChoicesContainerProps extends ViewProps {\n children: ReactNode;\n direction: ChoicesDirection;\n}\n\nfunction ChoicesContainer({ direction, ...props }: ChoicesContainerProps): ReactElement {\n if (direction === 'row') {\n return <ScrollView horizontal {...props} />;\n }\n\n return <View {...props} />;\n}\n\ntype ChoicesPropsToPick = 'type' | 'variant' | 'disabled' | 'value' | 'onPress' | 'onChange' | 'onBlur' | 'onFocus';\ntype ChoicesSize = 'small';\n\n// eslint-disable-next-line @typescript-eslint/no-unused-vars\nexport interface BaseChoicesProps<V> {\n id?: string;\n testID?: string;\n children: ReactNode;\n direction?: ChoicesDirection;\n size?: ChoicesSize;\n}\n\nexport interface ChoicesButtonProps<V, ChoiceType extends ChoiceItemButtonProps<V>['type']>\n extends BaseChoicesProps<V>,\n Pick<ChoiceItemButtonProps<V>, ChoicesPropsToPick> {\n type?: ChoiceType;\n}\n\nexport interface ChoicesFormElementProps<V, ChoiceType extends ChoiceItemFormElementProps<V>['type']>\n extends BaseChoicesProps<V>,\n Pick<ChoiceItemFormElementProps<V>, ChoicesPropsToPick> {\n type: ChoiceType;\n}\n\nexport type ChoicesItemPropsFromChoiceType<\n V,\n ChoiceType extends ChoiceItemType,\n> = ChoiceType extends ChoiceItemFormElementProps<V>['type'] ? ChoiceItemFormElementProps<V> : ChoiceItemButtonProps<V>;\n\nexport type ChoicesProps<\n V,\n ChoiceType extends ChoiceItemType,\n> = ChoiceType extends ChoiceItemFormElementProps<V>['type']\n ? ChoicesFormElementProps<V, ChoiceType>\n : ChoicesButtonProps<V, 'button'>;\n\ntype ExcludeChoiceItemProvidedByChoices = 'type' | 'onPress' | 'onChange' | 'onFocus' | 'onBlur';\ntype OptionalChoiceItemProvidedByChoices = 'variant' | 'disabled' | 'size';\n\nfunction Choices<V, ChoiceType extends ChoiceItemType>({\n id,\n testID,\n type,\n direction = 'column',\n disabled,\n children,\n value,\n variant,\n onPress,\n onChange,\n onFocus,\n onBlur,\n size,\n}: ChoicesProps<V, ChoiceType>): ReactElement {\n const [currentValue, setCurrentValue] = useState(value);\n\n const isForm = type && ['radio', 'checkbox'].includes(type);\n\n const childrenArray = Children.toArray(children) as ReactElement<\n ChoicesItemPropsFromChoiceType<V, ChoiceType>,\n typeof ChoiceItem\n >[];\n\n const handleChange: ChoicesItemPropsFromChoiceType<V, ChoiceType>['onChange'] = (newValue) => {\n setCurrentValue(newValue);\n if (onChange) onChange(newValue);\n };\n\n const sharedProps: Pick<\n ChoicesItemPropsFromChoiceType<V, ChoiceType>,\n ExcludeChoiceItemProvidedByChoices | OptionalChoiceItemProvidedByChoices\n > = {\n type,\n disabled,\n variant,\n onPress: !isForm ? onPress : undefined,\n onChange: isForm ? handleChange : undefined,\n onFocus,\n onBlur,\n size,\n };\n\n return (\n <ChoicesContainer direction={direction} testID={testID} nativeID={id}>\n {childrenArray.map((child, index) => {\n const element = cloneElement<ChoicesItemPropsFromChoiceType<V, ChoiceType>>(child, {\n selected: isForm ? child.props.value === currentValue : undefined,\n ...sharedProps,\n } as any);\n\n return (\n <ChoiceItemContainer key={child.key} $direction={direction} $isLast={index === childrenArray.length - 1}>\n {element}\n </ChoiceItemContainer>\n );\n })}\n </ChoicesContainer>\n );\n}\n\nChoices.Item = ChoiceItem;\n\nexport interface CreateChoices<V, ChoiceType extends ChoiceItemType> {\n (props: ChoicesProps<V, ChoiceType>): ReactElement;\n Item: (\n props: SetOptional<\n Except<ChoicesItemPropsFromChoiceType<V, ChoiceType>, OptionalChoiceItemProvidedByChoices>,\n ExcludeChoiceItemProvidedByChoices\n >,\n ) => ReactElement;\n}\n\nexport function createChoicesComponent<V, ChoiceType extends ChoiceItemType>(): CreateChoices<V, ChoiceType> {\n return Choices as CreateChoices<V, ChoiceType>;\n}\n\nconst ButtonChoices = createChoicesComponent<never, 'button'>();\n\nChoices.ButtonChoices = ButtonChoices;\n\nexport const ChoicesElements = {\n Item: ChoiceItem,\n ButtonChoices,\n};\n","import type { ReactElement, ReactNode } from 'react';\nimport { useRef } from 'react';\nimport { StyleSheet } from 'react-native';\nimport Animated, { Easing, runOnJS, useAnimatedStyle, withTiming } from 'react-native-reanimated';\nimport { useTheme } from '../../KittThemeContext';\n\nexport interface NativeOpacityAnimationProps {\n visible?: boolean;\n children: ReactNode;\n onExited: () => void;\n}\n\nexport function NativeOpacityAnimation({ visible, children, onExited }: NativeOpacityAnimationProps): ReactElement {\n const theme = useTheme();\n const hasRunAnimationRef = useRef(false);\n\n function handleAnimationFinished(): void {\n if (visible) {\n hasRunAnimationRef.current = true;\n }\n\n if (!visible && hasRunAnimationRef.current) {\n onExited();\n }\n }\n\n const opacityStyle = useAnimatedStyle(() => {\n const { duration, easing } = theme.kitt.dialogModal.animation.overlay;\n const [x1, y1, x2, y2] = easing;\n\n return {\n opacity: withTiming(visible ? 1 : 0, { duration, easing: Easing.bezier(x1, y1, x2, y2) }, (isFinished) => {\n if (!isFinished) return;\n runOnJS(handleAnimationFinished)();\n }),\n };\n });\n\n return <Animated.View style={[StyleSheet.absoluteFillObject, opacityStyle]}>{children}</Animated.View>;\n}\n","import type { ReactElement, ReactNode } from 'react';\nimport { useRef } from 'react';\nimport Animated, { Easing, runOnJS, useAnimatedStyle, useSharedValue, withTiming } from 'react-native-reanimated';\nimport { useTheme } from '../../KittThemeContext';\nimport type { DialogModalAnimationProps } from './DialogModalAnimation';\n\nexport interface NativeRotationAnimationProps {\n children: ReactNode;\n topInset?: number;\n visible?: DialogModalAnimationProps['visible'];\n onEntered?: DialogModalAnimationProps['onEntered'];\n onExited: () => void;\n}\n\nexport function NativeRotationAnimation({\n visible,\n children,\n onEntered,\n onExited,\n}: NativeRotationAnimationProps): ReactElement | null {\n const theme = useTheme();\n\n const hasRunAnimationRef = useRef(false);\n\n const rotation = useSharedValue(0.8);\n\n function handleAnimationFinished(): void {\n if (visible) {\n if (onEntered) onEntered();\n hasRunAnimationRef.current = true;\n }\n\n if (!visible && hasRunAnimationRef.current) onExited();\n }\n\n const animatedStyle = useAnimatedStyle(() => {\n const { duration, easing } = theme.kitt.dialogModal.animation.content;\n\n const [x1, y1, x2, y2] = easing;\n\n rotation.value = withTiming(visible ? 0 : 5, { duration, easing: Easing.bezier(x1, y1, x2, y2) }, (isFinished) => {\n if (!isFinished) return;\n runOnJS(handleAnimationFinished)();\n });\n\n return {\n opacity: withTiming(visible ? 1 : 0, { duration, easing: Easing.bezier(x1, y1, x2, y2) }),\n transform: [\n { scale: withTiming(visible ? 1 : 0.8, { duration, easing: Easing.bezier(x1, y1, x2, y2) }) },\n {\n rotateZ: `${rotation.value}deg`,\n },\n ],\n };\n });\n\n return <Animated.View style={[animatedStyle]}>{children}</Animated.View>;\n}\n","import type { ReactElement, ReactNode } from 'react';\nimport { useEffect, useState } from 'react';\nimport { Modal, Platform } from 'react-native';\nimport { Overlay } from '../../Overlay/Overlay';\nimport type { ViewProps } from '../../native-base/primitives';\nimport { View } from '../../native-base/primitives';\nimport { NativeOpacityAnimation } from './NativeOpacityAnimation';\nimport { NativeRotationAnimation } from './NativeRotationAnimation';\n\nexport interface DialogModalAnimationProps extends ViewProps {\n children: ReactNode;\n appear?: boolean;\n visible?: boolean;\n unmountOnExit?: boolean;\n isAnimationEnabled?: boolean;\n onEnter?: () => void;\n onEntered?: () => void;\n onExit?: () => void;\n onExited?: () => void;\n onClose?: () => void;\n}\n\nexport function DialogModalAnimation({\n visible,\n children,\n onEnter,\n onEntered,\n onExit,\n onExited,\n onClose,\n}: DialogModalAnimationProps): ReactElement {\n const [isModalVisible, setIsModalVisible] = useState(visible);\n const [isContentVisible, setIsContentVisible] = useState(false);\n\n const handleAnimationExited = (): void => {\n setIsModalVisible(false);\n // Android doesn't handle the onDismiss callback on the modal, we need to call it manually\n if (Platform.OS === 'android' && onExited) onExited();\n };\n\n useEffect(() => {\n const shouldHideContent = !visible && isContentVisible;\n\n if (!shouldHideContent) return;\n\n if (onExit) onExit();\n setIsContentVisible(false);\n }, [visible, isContentVisible, onExit]);\n\n return (\n <Modal\n transparent\n supportedOrientations={['landscape', 'portrait']}\n visible={isModalVisible}\n onShow={() => {\n if (onEnter) onEnter();\n setIsContentVisible(true);\n }}\n onDismiss={() => {\n if (onExited) onExited();\n }}\n >\n <View position=\"relative\" flexGrow={1} justifyContent=\"center\" alignItems=\"center\">\n <NativeOpacityAnimation visible={isContentVisible} onExited={handleAnimationExited}>\n <Overlay onPress={onClose} />\n </NativeOpacityAnimation>\n\n <NativeRotationAnimation visible={isContentVisible} onExited={handleAnimationExited} onEntered={onEntered}>\n <View\n paddingX=\"kitt.dialogModal.overlayPadding.horizontal\"\n paddingY=\"kitt.dialogModal.overlayPadding.vertical\"\n >\n {children}\n </View>\n </NativeRotationAnimation>\n </View>\n </Modal>\n );\n}\n","import type { ReactElement } from 'react';\nimport { useEffect, useState } from 'react';\nimport type { ModalBehaviourProps } from '../ModalBehaviour/ModalBehaviour';\nimport { ModalBehaviour } from '../ModalBehaviour/ModalBehaviour';\nimport { ScrollView } from '../native-base/primitives';\nimport type { DialogModalAnimationProps } from './DialogModalAnimation/DialogModalAnimation';\nimport { DialogModalAnimation } from './DialogModalAnimation/DialogModalAnimation';\n\nexport interface DialogModalBehaviourProps extends DialogModalAnimationProps {\n onClose: ModalBehaviourProps['onClose'];\n}\n\nexport function DialogModalBehaviour({\n children,\n visible,\n onClose,\n onExited,\n ...props\n}: DialogModalBehaviourProps): ReactElement {\n const [isModalBehaviourVisible, setIsModalBehaviourVisible] = useState(visible);\n\n useEffect(() => {\n if (visible === true) {\n setIsModalBehaviourVisible(true);\n }\n }, [visible]);\n\n const handleExitAnimationDone = (): void => {\n if (onExited) onExited();\n setIsModalBehaviourVisible(false);\n };\n\n return (\n <ModalBehaviour visible={isModalBehaviourVisible} onClose={onClose}>\n <ScrollView bounces={false} contentContainerStyle={{ flexGrow: 1 }}>\n <DialogModalAnimation {...props} visible={visible} onExited={handleExitAnimationDone} onClose={onClose}>\n {children}\n </DialogModalAnimation>\n </ScrollView>\n </ModalBehaviour>\n );\n}\n","import type { ReactElement, 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): ReactElement {\n return (\n <View\n alignItems=\"center\"\n maxWidth=\"kitt.dialogModal.maxWidth\"\n backgroundColor=\"kitt.uiBackgroundLight\"\n borderRadius=\"kitt.dialogModal.borderRadius\"\n shadow=\"kitt.dialogModal.shadow\"\n >\n {illustration ? <View>{illustration}</View> : null}\n\n <View\n width=\"100%\"\n alignItems=\"center\"\n padding={{ base: 'kitt.4', medium: 'kitt.6' }}\n paddingTop={illustration ? 'kitt.8' : 'kitt.6'}\n >\n {title ? <View marginBottom=\"kitt.2\">{title}</View> : null}\n\n <View marginBottom=\"kitt.8\">{children}</View>\n\n {actions ? (\n <Actions flex={undefined} width=\"100%\" layout=\"column\">\n {actions}\n </Actions>\n ) : null}\n </View>\n </View>\n );\n}\n\nDialogModal.ModalBehaviour = DialogModalBehaviour;\n\ninterface DialogModalButtonProps extends ActionsButtonProps {}\n\nfunction DialogModalButton({ stretch = true, ...props }: DialogModalButtonProps): ReactElement {\n return <Actions.Button stretch={stretch} {...props} />;\n}\n\nDialogModal.Button = DialogModalButton;\n","import type { IImageProps } from 'native-base';\nimport { Image } from 'native-base';\nimport type { ReactElement } from 'react';\nimport { useMemo } from 'react';\nimport type { ImageProps } from 'react-native';\nimport { Platform } from 'react-native';\nimport { parse } from 'twemoji-parser';\nimport type { KittResponsiveProp } from '../KittBreakpoints';\n\nexport interface EmojiProps extends Pick<ImageProps, 'style' | '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): ReactElement | null {\n const [emojiData] = useMemo(\n () =>\n parse(emoji, {\n // on native plaforms, you can't display svg as Image\n assetType: Platform.OS === 'web' ? 'svg' : 'png',\n }),\n [emoji],\n );\n\n if (!emojiData) return null;\n\n return (\n <Image\n testID={testID}\n size={size}\n alt={emojiData.text}\n accessibilityLabel={emojiData.text}\n source={{ uri: emojiData.url }}\n style={style}\n alignSelf={alignSelf}\n _web={_web}\n />\n );\n}\n","import type { ComponentProps, ReactElement, VoidFunctionComponent } from 'react';\nimport type { GestureResponderEvent, PressableProps, TextProps } from 'react-native';\nimport { Linking } from 'react-native';\n\ntype ExternalAppLinkScheme = 'sms' | 'tel' | 'mailto';\n\nexport interface ExternalAppLinkAsComponentMinimumRequiredProps {\n href?: TextProps['href'];\n hrefAttrs?: TextProps['hrefAttrs'];\n onPress?: PressableProps['onPress'];\n}\n\nexport interface ExternalAppLinkProps<C extends VoidFunctionComponent<any>> {\n as: C;\n appScheme: ExternalAppLinkScheme;\n appValue: string;\n onPress?: PressableProps['onPress'];\n onOpenAppError?: (err: string) => void;\n}\n\nexport interface ExternalAppLinkPhoneProps<C extends VoidFunctionComponent<any>>\n extends Partial<ExternalAppLinkProps<C>> {\n phoneNumber: string;\n}\n\nexport interface ExternalAppLinkMailProps<C extends VoidFunctionComponent<any>>\n extends Partial<ExternalAppLinkProps<C>> {\n emailAddress: string;\n}\n\n/** @internal for ExternalAppLink.web.tsx only */\n// eslint-disable-next-line @typescript-eslint/ban-types\nexport type ExternalAppLinkSendableComponentProps<C extends VoidFunctionComponent<any>> = Omit<\n ComponentProps<C>,\n keyof ExternalAppLinkProps<C> & keyof ExternalAppLinkAsComponentMinimumRequiredProps\n>;\n\nexport function ExternalAppLink<C extends VoidFunctionComponent<any>>({\n as: Component,\n appScheme,\n appValue,\n onPress,\n onOpenAppError,\n ...rest\n}: ExternalAppLinkProps<C> & ExternalAppLinkSendableComponentProps<C>): ReactElement {\n const href = `${appScheme}:${appValue}`;\n\n const handleOnPress = async (e: GestureResponderEvent): Promise<void> => {\n try {\n const canOpen = await Linking.canOpenURL(href);\n\n if (canOpen) {\n if (onPress) {\n onPress(e);\n if (e?.defaultPrevented) return;\n }\n\n Linking.openURL(href).catch((error) => {\n console.error(`An error occurred while opening ${href}`, error);\n\n onOpenAppError?.(`An error occurred while opening ${href}`);\n });\n } else {\n onOpenAppError?.(`Cannot open url: ${href}`);\n }\n } catch {\n onOpenAppError?.('An error occured with Linkinf.canOpenURL');\n }\n };\n\n return <Component href={href} {...(rest as any)} onPress={handleOnPress} />;\n}\n\nExternalAppLink.Sms = function ExternalAppLinkSms<C extends VoidFunctionComponent<any>>({\n phoneNumber,\n children,\n ...rest\n}: ExternalAppLinkPhoneProps<C> & ExternalAppLinkSendableComponentProps<C>): ReactElement {\n return (\n <ExternalAppLink {...(rest as any)} appScheme=\"sms\" appValue={phoneNumber}>\n {children}\n </ExternalAppLink>\n );\n};\n\nExternalAppLink.Tel = function ExternalAppLinkTel<C extends VoidFunctionComponent<any>>({\n phoneNumber,\n children,\n ...rest\n}: ExternalAppLinkPhoneProps<C> & ExternalAppLinkSendableComponentProps<C>): ReactElement {\n return (\n <ExternalAppLink {...(rest as any)} appScheme=\"tel\" appValue={phoneNumber}>\n {children}\n </ExternalAppLink>\n );\n};\n\nExternalAppLink.Mail = function ExternalAppLinkMail<C extends VoidFunctionComponent<any>>({\n emailAddress,\n children,\n ...rest\n}: ExternalAppLinkMailProps<C> & ExternalAppLinkSendableComponentProps<C>): ReactElement {\n return (\n <ExternalAppLink {...(rest as any)} appScheme=\"mailto\" appValue={emailAddress}>\n {children}\n </ExternalAppLink>\n );\n};\n","export interface ExternalLinkOpenLinkBehavior {\n /**\n * @default 'openInModal'\n *\n * @description open link behavior in native\n *\n * \"openInModal\": open via [expo-web-browser](https://docs.expo.dev/versions/latest/sdk/webbrowser/)\n *\n * \"openBrowserApp\": open via [Linking](https://docs.expo.dev/guides/linking/#opening-links-from-your-app)\n */\n native?: 'openInModal' | 'openBrowserApp';\n\n /**\n * @default 'targetBlank'\n *\n * @description open link behavior in native\n *\n * \"targetSelf\": no dom attributes added, behave like `target=\"_self\"`\n *\n * \"targetBlank\": dome attributes: `target=\"_blank\" rel=\"noopener noreferrer\"`\n */\n web?: 'targetSelf' | 'targetBlank';\n}\n\nexport const defaultOpenLinkBehavior: ExternalLinkOpenLinkBehavior = {\n native: 'openInModal',\n web: 'targetBlank',\n};\n","import * as WebBrowser from 'expo-web-browser';\nimport type { ComponentProps, ReactElement, VoidFunctionComponent } from 'react';\nimport type { PressableProps, TextProps } from 'react-native';\nimport { Linking } from 'react-native';\nimport type { ExternalLinkOpenLinkBehavior } from './ExternalLinkOpenLinkBehavior';\nimport { defaultOpenLinkBehavior } from './ExternalLinkOpenLinkBehavior';\n\nexport interface ExternalLinkAsComponentMinimumRequiredProps {\n href?: TextProps['href'];\n hrefAttrs?: TextProps['hrefAttrs'];\n onPress?: PressableProps['onPress'];\n}\n\nexport interface ExternalLinkProps<C extends VoidFunctionComponent<any>> {\n as: C;\n openLinkBehavior?: ExternalLinkOpenLinkBehavior;\n href?: string;\n onPress?: PressableProps['onPress'];\n}\n\n/** @internal for ExternalLink.web.tsx only */\n// eslint-disable-next-line @typescript-eslint/ban-types\nexport type ExternalLinkSendableComponentProps<C extends VoidFunctionComponent<any>> = Omit<\n ComponentProps<C>,\n keyof ExternalLinkProps<C> & keyof ExternalLinkAsComponentMinimumRequiredProps\n>;\n\nexport function ExternalLink<C extends VoidFunctionComponent<any>>({\n as: Component,\n href,\n openLinkBehavior = defaultOpenLinkBehavior,\n onPress,\n ...rest\n}: ExternalLinkProps<C> & ExternalLinkSendableComponentProps<C>): ReactElement {\n const handleOnPress: PressableProps['onPress'] = (e) => {\n if (onPress) {\n onPress(e);\n if (e?.defaultPrevented) return;\n }\n\n if (!href) return;\n\n switch (openLinkBehavior.native) {\n case 'openInModal':\n case undefined:\n WebBrowser.openBrowserAsync(href).catch((error) => {\n console.error(`An error occurred while opening ${href}`, error);\n });\n break;\n case 'openBrowserApp':\n Linking.openURL(href).catch((error) => {\n console.error(`An error occurred while opening ${href}`, error);\n });\n break;\n default:\n if (__DEV__) {\n throw new Error(`Invalid ExternalLink native behavior: ${openLinkBehavior.native as string}`);\n }\n }\n };\n\n return <Component {...(rest as any)} onPress={handleOnPress} />;\n}\n","interface GetBackgroundColorParams {\n isDisabled?: boolean;\n isChecked?: boolean;\n isPressed?: boolean;\n isHovered?: boolean;\n isFocused?: boolean;\n}\n\nexport function getBackgroundColor({\n isDisabled,\n isPressed,\n isHovered,\n isFocused,\n isChecked,\n}: GetBackgroundColorParams): string {\n if (isChecked) return 'kitt.forms.checkbox.checked.backgroundColor';\n\n if (isDisabled) return 'kitt.forms.checkbox.disabled.backgroundColor';\n\n if (isPressed) return 'kitt.forms.checkbox.pressed.backgroundColor';\n\n if (isHovered) return 'kitt.forms.checkbox.hover.backgroundColor';\n\n if (isFocused) return 'kitt.forms.checkbox.focus.backgroundColor';\n\n return 'kitt.forms.checkbox.default.backgroundColor';\n}\n","interface GetBorderColorParams {\n isDisabled?: boolean;\n isChecked?: boolean;\n isPressed?: boolean;\n isHovered?: boolean;\n isFocused?: boolean;\n}\n\nexport function getBorderColor({\n isDisabled,\n isPressed,\n isHovered,\n isFocused,\n isChecked,\n}: GetBorderColorParams): string {\n if (isChecked) return 'kitt.forms.checkbox.checked.borderColor';\n\n if (isDisabled) return 'kitt.forms.checkbox.disabled.borderColor';\n\n if (isPressed) return 'kitt.forms.checkbox.pressed.borderColor';\n\n if (isHovered) return 'kitt.forms.checkbox.hover.borderColor';\n\n if (isFocused) return 'kitt.forms.checkbox.focus.borderColor';\n\n return 'kitt.forms.checkbox.default.borderColor';\n}\n","import { CheckboxMark } from '@ornikar/kitt-icons';\nimport type { ReactElement, ReactNode } from 'react';\nimport { forwardRef } from 'react';\nimport type { GestureResponderEvent, PressableProps } from 'react-native';\nimport { Icon } from '../../Icon/Icon';\nimport { useTheme } from '../../KittThemeContext';\nimport { HStack } from '../../native-base/layout';\nimport { Pressable, View } from '../../native-base/primitives';\nimport { getBackgroundColor } from './utils/getBackgroundColor';\nimport { getBorderColor } from './utils/getBorderColor';\n\nexport interface CheckboxProps {\n checked?: boolean;\n hitSlop?: number;\n testID?: string;\n id?: PressableProps['testID'];\n children?: ReactNode;\n disabled?: boolean;\n onChange?: (checked: boolean, e: GestureResponderEvent) => void;\n onBlur?: (e: any) => void;\n onFocus?: (e: any) => void;\n}\n\nexport const Checkbox = forwardRef<PressableProps, CheckboxProps>(\n (\n { checked, hitSlop = 40, id, children, disabled, testID, onChange, onBlur, onFocus }: CheckboxProps,\n ref,\n ): ReactElement => {\n const theme = useTheme();\n\n const handlePress = (e: GestureResponderEvent): void => {\n if (onFocus) onFocus(e);\n if (onChange) onChange(!checked, e);\n if (onBlur) onBlur(e);\n };\n\n return (\n <Pressable\n ref={ref}\n nativeID={id}\n testID={testID}\n accessibilityRole=\"checkbox\"\n accessibilityState={{ checked: !!checked, disabled }}\n hitSlop={hitSlop}\n disabled={disabled}\n onPress={handlePress}\n >\n {({ isHovered, isPressed, isFocused }) => (\n <HStack space={children ? 'kitt.forms.checkbox.textSpacing' : undefined}>\n <View\n display=\"flex\"\n flexDirection=\"row\"\n alignItems=\"center\"\n justifyContent=\"center\"\n marginTop={children ? 'kitt.1' : undefined}\n height=\"kitt.forms.checkbox.height\"\n width=\"kitt.forms.checkbox.width\"\n borderRadius=\"kitt.forms.checkbox.borderRadius\"\n borderWidth=\"kitt.forms.checkbox.borderWidth\"\n borderColor={getBorderColor({\n isDisabled: disabled,\n isFocused,\n isHovered,\n isPressed,\n isChecked: checked,\n })}\n backgroundColor={getBackgroundColor({\n isDisabled: disabled,\n isFocused,\n isHovered,\n isPressed,\n isChecked: checked,\n })}\n _web={{\n style: {\n transitionDuration: theme.kitt.forms.checkbox.transition.duration,\n transitionProperty: 'all',\n transitionTimingFunction: theme.kitt.forms.checkbox.transition.timingFunction,\n },\n }}\n >\n <View\n opacity={checked ? 1 : 0}\n _web={{\n style: {\n transitionDuration: theme.kitt.forms.checkbox.transition.duration,\n transitionProperty: 'opacity',\n transitionTimingFunction: theme.kitt.forms.checkbox.transition.timingFunction,\n },\n }}\n >\n <Icon\n align=\"center\"\n color={theme.kitt.forms.checkbox.markColor}\n size={theme.kitt.forms.checkbox.iconSize}\n icon={<CheckboxMark />}\n />\n </View>\n </View>\n\n {children ? <View flexShrink={1}>{children}</View> : null}\n </HStack>\n )}\n </Pressable>\n );\n },\n);\n","import type { TextInputProps } from 'react-native';\nimport { Platform } from 'react-native';\n\nexport function getReturnKeyTypeForNumericInput(\n returnKeyType: TextInputProps['returnKeyType'],\n): TextInputProps['returnKeyType'] {\n // returnKey is only displayed on number input on iOS if value is done\n if (Platform.OS === 'ios') return 'done';\n\n return returnKeyType;\n}\n","function prefixWithZero(value: number, maxLength = 2): string {\n return `${value}`.padStart(maxLength, '0');\n}\n\nexport function dayFormatter(day: number): string {\n return prefixWithZero(day);\n}\n\nexport function monthFormatter(month: number): string {\n return prefixWithZero(month);\n}\n\nexport function yearFormatter(year: number): string {\n return prefixWithZero(year, 4);\n}\n","export function getDayInInterval(value: number | undefined): number | undefined {\n const minValue = 1;\n const maxValue = 31;\n\n return value !== undefined ? Math.max(minValue, Math.min(maxValue, value)) : value;\n}\n\nexport function getMonthInInterval(\n value: number | undefined,\n minDate: Date | undefined,\n maxDate: Date | undefined,\n): number | undefined {\n const maxMonthInYear = 12;\n\n const minValue = minDate ? minDate.getMonth() + 1 : 1;\n const maxValue = maxDate ? maxDate.getMonth() + 1 : maxMonthInYear;\n\n return value !== undefined ? Math.max(minValue, Math.min(maxValue, value)) : value;\n}\n\nexport function getYearInInterval(\n value: number | undefined,\n minDate: Date | undefined,\n maxDate: Date | undefined,\n): number | undefined {\n const maxPossibleYear = 9999;\n\n const minValue = minDate ? minDate.getFullYear() : 1;\n const maxValue = maxDate ? maxDate.getFullYear() : maxPossibleYear;\n\n return value !== undefined ? Math.max(minValue, Math.min(maxValue, value)) : value;\n}\n","import type { Reducer } from 'react';\nimport type { DatePickerProps } from '../DatePicker';\nimport { dayFormatter, monthFormatter, yearFormatter } from '../utils/dateFormatter';\nimport { getDayInInterval, getMonthInInterval, getYearInInterval } from '../utils/datePartInInterval';\n\nfunction getValueToDisplayedString(value: number | undefined): string {\n // We exclude the undefined value since 0 is a valid number\n if (value === undefined) return '';\n\n return value.toString();\n}\n\nexport interface State {\n currentValue: DatePickerProps['value'];\n currentDay?: number;\n currentMonth?: number;\n currentYear?: number;\n displayedDay?: string;\n displayedMonth?: string;\n displayedYear?: string;\n minDate: DatePickerProps['minDate'];\n maxDate: DatePickerProps['maxDate'];\n}\n\ninterface DayChangeAction {\n type: 'day-change';\n nextDay?: number;\n}\n\ninterface MonthChangeAction {\n type: 'month-change';\n nextMonth?: number;\n}\n\ninterface YearChangeAction {\n type: 'year-change';\n nextYear?: number;\n}\n\ninterface DayBlurAction {\n type: 'day-blur';\n}\n\ninterface MonthBlurAction {\n type: 'month-blur';\n}\n\ninterface YearBlurAction {\n type: 'year-blur';\n}\n\ntype Actions =\n | DayChangeAction\n | MonthChangeAction\n | YearChangeAction\n | DayBlurAction\n | MonthBlurAction\n | YearBlurAction;\n\nexport const keyboardDatePickerReducer: Reducer<State, Actions> = (state, action) => {\n switch (action.type) {\n case 'day-change': {\n const { nextDay } = action;\n\n return {\n ...state,\n currentDay: nextDay,\n displayedDay: getValueToDisplayedString(nextDay),\n };\n }\n\n case 'month-change': {\n const { nextMonth } = action;\n\n return {\n ...state,\n currentMonth: nextMonth,\n displayedMonth: getValueToDisplayedString(nextMonth),\n };\n }\n\n case 'year-change': {\n const { nextYear } = action;\n\n return {\n ...state,\n currentYear: nextYear,\n displayedYear: getValueToDisplayedString(nextYear),\n };\n }\n\n case 'day-blur': {\n const nextCurrentDay = getDayInInterval(state.currentDay);\n\n return {\n ...state,\n displayedDay: nextCurrentDay ? dayFormatter(nextCurrentDay) : state.displayedDay,\n };\n }\n\n case 'month-blur': {\n const { minDate, maxDate } = state;\n\n const nextCurrentMonth = getMonthInInterval(state.currentMonth, minDate, maxDate);\n\n return {\n ...state,\n currentMonth: nextCurrentMonth,\n displayedMonth: nextCurrentMonth !== undefined ? monthFormatter(nextCurrentMonth) : state.displayedMonth,\n };\n }\n\n case 'year-blur': {\n const { minDate, maxDate } = state;\n\n const nextCurrentYear = getYearInInterval(state.currentYear, minDate, maxDate);\n\n return {\n ...state,\n currentYear: nextCurrentYear,\n displayedYear: nextCurrentYear !== undefined ? yearFormatter(nextCurrentYear) : state.displayedYear,\n };\n }\n\n default:\n return state;\n }\n};\n","export function isNumber(input?: unknown): boolean {\n // Number.isNaN and isNaN are not consistent\n // eslint-disable-next-line no-restricted-globals\n return !isNaN(input as any);\n}\n","interface OnDatePartChangeParams {\n day?: number;\n month?: number;\n year?: number;\n validYearMinLength?: number;\n minDate?: Date;\n maxDate?: Date;\n onChange: (v?: Date) => void;\n onBlur?: () => void;\n onFocus?: () => void;\n}\n\nexport function onDatePartChange({\n day,\n month,\n year,\n validYearMinLength = 4,\n minDate,\n maxDate,\n onChange,\n onBlur,\n onFocus,\n}: OnDatePartChangeParams): void {\n const arrayParts = [day, month, year];\n\n const isEverythingUndefined = arrayParts.every((v) => v === undefined);\n const isEverythingDefined = arrayParts.every(Boolean);\n\n // every parts are undefined\n if (isEverythingUndefined) {\n if (onFocus) onFocus();\n onChange(undefined);\n if (onBlur) onBlur();\n\n return;\n }\n\n // Do nothing if some input parts are empty\n if (!isEverythingDefined) {\n return;\n }\n\n const nextValue = new Date();\n\n const isValidYear = year && year.toString().length >= validYearMinLength;\n\n if (!isValidYear) {\n return;\n }\n\n if (day) nextValue.setDate(day);\n if (month) nextValue.setMonth(month - 1);\n if (year) nextValue.setFullYear(year);\n\n nextValue.setMinutes(0);\n nextValue.setHours(0);\n nextValue.setSeconds(0);\n nextValue.setMilliseconds(0);\n\n if (minDate) {\n minDate.setMinutes(0);\n minDate.setHours(0);\n minDate.setSeconds(0);\n minDate.setMilliseconds(0);\n const isMinDateAfterNextValue = minDate.getTime() > nextValue.getTime();\n\n if (isMinDateAfterNextValue) {\n if (onFocus) onFocus();\n onChange(undefined);\n if (onBlur) onBlur();\n\n return;\n }\n }\n\n if (maxDate) {\n maxDate.setMinutes(0);\n maxDate.setHours(0);\n maxDate.setSeconds(0);\n maxDate.setMilliseconds(0);\n\n const isMaxDateBeforeNextValue = nextValue.getTime() > maxDate.getTime();\n\n if (isMaxDateBeforeNextValue) {\n if (onFocus) onFocus();\n onChange(undefined);\n if (onBlur) onBlur();\n\n return;\n }\n }\n\n if (onFocus) onFocus();\n onChange(nextValue);\n if (onBlur) onBlur();\n}\n","export function stringToNumber(text: string): number | undefined {\n if (text.length === 0) return undefined;\n return parseInt(text, 10);\n}\n","import type { ReactNode } from 'react';\nimport styled from 'styled-components/native';\n\nexport interface InputTextContainerProps {\n children: NonNullable<ReactNode>;\n $isDisabled?: boolean;\n}\n\nexport const InputTextContainer = styled.View<InputTextContainerProps>`\n position: relative;\n`;\n","import { Input } from 'native-base';\nimport type { ResponsiveValue } from 'native-base/lib/typescript/components/types';\nimport type { ReactElement, ReactNode } from 'react';\nimport { forwardRef } from 'react';\nimport type { TextInput as RNTextInput, TextInputProps as RNTextInputProps } from 'react-native';\nimport { Platform } from 'react-native';\nimport type { Except } from 'type-fest';\nimport { useTheme } from '../../KittThemeContext';\nimport { View } from '../../native-base/primitives';\nimport { createNativeBaseFontSize } from '../../typography/Typography';\nimport type { InputFormState, InputUIState } from '../utils';\nimport { InputTextContainer } from './InputTextContainer';\n\nexport interface InputTextProps extends Except<RNTextInputProps, 'nativeID'> {\n id?: string;\n name?: string;\n // See InterfaceInputProps from native-base\n variant?: ResponsiveValue<'outline' | 'unstyled'>;\n disabled?: boolean;\n minHeight?: number | string;\n state?: InputFormState;\n right?: ReactNode;\n /**\n * @internal\n * @deprecated\n */\n internalForceState?: InputUIState;\n}\n\nexport const InputText = forwardRef<RNTextInput, InputTextProps>(\n (\n {\n id,\n right,\n state: formState,\n variant = 'outline',\n internalForceState,\n disabled = false,\n autoCorrect = true,\n textContentType = 'none',\n autoComplete = 'off',\n keyboardType = 'default',\n multiline,\n onSubmitEditing,\n ...props\n }: InputTextProps,\n ref,\n ): ReactElement => {\n const theme = useTheme();\n const fontSizeForNativeBase = createNativeBaseFontSize({ base: 'body' });\n const shouldHandleSingleLineOnIOS = Platform.OS === 'ios' && !multiline;\n\n return (\n <InputTextContainer $isDisabled={disabled}>\n <Input\n ref={ref as any}\n multiline={multiline}\n nativeID={id}\n isDisabled={internalForceState ? internalForceState === 'disabled' : disabled}\n isHovered={internalForceState ? internalForceState === 'hover' : undefined}\n isFocused={internalForceState ? internalForceState === 'focus' : undefined}\n keyboardType={keyboardType}\n autoComplete={autoComplete}\n autoCorrect={autoCorrect}\n textContentType={textContentType}\n fontSize={fontSizeForNativeBase}\n lineHeight={\n // On basic text input, we set the line-height to zero for iOS to fix vertical text alignment\n // This is a iOS only fix since having 0 as a line-height value breaks text inputs on Android\n shouldHandleSingleLineOnIOS ? 0 : fontSizeForNativeBase\n }\n fontWeight=\"bodies.regular\"\n fontFamily=\"bodies.regular\"\n py={!multiline && Platform.OS !== 'web' ? 0 : undefined}\n variant={variant}\n {...props}\n onSubmitEditing={multiline ? () => null : onSubmitEditing}\n />\n {right ? (\n <View\n position=\"absolute\"\n right={0}\n top={0}\n bottom={0}\n justifyContent=\"center\"\n padding={theme.kitt.forms.input.rightContainer.padding}\n >\n {right}\n </View>\n ) : null}\n </InputTextContainer>\n );\n },\n);\n","import type { ReactElement, Ref } from 'react';\nimport { forwardRef } from 'react';\nimport type { TextInput } from 'react-native';\nimport type { InputTextProps } from '../../InputText/InputText';\nimport { InputText } from '../../InputText/InputText';\nimport type { InputUIState } from '../../utils';\n\ninterface GetCurrentInternalForcedStateParams {\n isDisabled?: boolean;\n isFocusedInternal?: boolean;\n isPressedInternal?: boolean;\n isHoveredInternal?: boolean;\n}\n\nfunction getCurrentInternalForcedState({\n isDisabled,\n isHoveredInternal,\n isFocusedInternal,\n isPressedInternal,\n}: GetCurrentInternalForcedStateParams): InputUIState | 'disabled' {\n if (isDisabled) return 'disabled';\n\n if (isHoveredInternal) return 'hover';\n\n if (isFocusedInternal) return 'focus';\n\n if (isPressedInternal) return 'hover';\n\n return 'default';\n}\n\ninterface InputPartProps {\n value?: string;\n placeholder?: InputTextProps['placeholder'];\n disabled?: boolean;\n isFocusedInternal?: boolean;\n isHoveredInternal?: boolean;\n isPressedInternal?: boolean;\n returnKeyType?: InputTextProps['returnKeyType'];\n onChange?: InputTextProps['onChange'];\n onBlur?: () => void;\n onSubmitEditing?: InputTextProps['onSubmitEditing'];\n}\n\nexport const InputPart = forwardRef(\n (\n {\n value,\n placeholder,\n disabled,\n isFocusedInternal,\n isHoveredInternal,\n isPressedInternal,\n returnKeyType,\n onChange,\n onBlur,\n onSubmitEditing,\n }: InputPartProps,\n ref: Ref<TextInput>,\n ): ReactElement => {\n return (\n <InputText\n ref={ref}\n internalForceState={getCurrentInternalForcedState({\n isDisabled: disabled,\n isHoveredInternal,\n isFocusedInternal,\n isPressedInternal,\n })}\n value={value}\n placeholder={placeholder}\n disabled={disabled}\n keyboardType=\"numeric\"\n returnKeyType={returnKeyType}\n textAlign=\"center\"\n onChange={onChange}\n onBlur={onBlur}\n onSubmitEditing={onSubmitEditing}\n />\n );\n },\n);\n","import type { ReactElement, ReactNode } from 'react';\nimport type { ViewProps } from '../../../native-base/primitives';\nimport { View } from '../../../native-base/primitives';\nimport { createResponsiveStyleFromProp } from '../../../utils/createResponsiveStyleFromProp/createResponsiveStyleFromProp';\nimport type { DatePickerProps } from '../DatePicker';\n\ninterface PartContainerProps {\n children: ReactNode;\n isStretch?: DatePickerProps['stretch'];\n width?: ViewProps['width'];\n}\n\nexport function PartContainer({ children, isStretch, width }: PartContainerProps): ReactElement {\n return (\n <View\n flex={createResponsiveStyleFromProp(isStretch, 0.33)}\n flexGrow={createResponsiveStyleFromProp(isStretch, 1)}\n width={isStretch ? undefined : width}\n >\n {children}\n </View>\n );\n}\n","import type { ReactElement } from 'react';\nimport { forwardRef, useReducer, useRef } from 'react';\nimport type { TextInput as RNTextInput } from 'react-native';\nimport { HStack } from '../../../native-base/layout';\nimport { View } from '../../../native-base/primitives';\nimport { getReturnKeyTypeForNumericInput } from '../../../utils/getReturnKeyTypeForNumericInput/getReturnKeyTypeForNumericInput';\nimport type { InputTextProps } from '../../InputText/InputText';\nimport type { DatePickerProps } from '../DatePicker';\nimport { keyboardDatePickerReducer } from '../reducers/keyboardDatePickerReducer';\nimport { dayFormatter, monthFormatter, yearFormatter } from '../utils/dateFormatter';\nimport { isNumber } from '../utils/isNumber';\nimport { onDatePartChange } from '../utils/onDatePartChange';\nimport { stringToNumber } from '../utils/stringToNumber';\nimport { InputPart } from './InputPart';\nimport { PartContainer } from './PartContainer';\n\ninterface KeyboardDatePickerProps extends DatePickerProps {\n onSubmitEditing?: InputTextProps['onSubmitEditing'];\n}\n\nexport const KeyboardDatePicker = forwardRef<RNTextInput, KeyboardDatePickerProps>(\n (\n {\n value,\n testID,\n id,\n stretch,\n placeholder,\n minDate,\n maxDate,\n disabled,\n isFocusedInternal,\n isHoveredInternal,\n isPressedInternal,\n returnKeyType,\n onChange,\n onBlur,\n onFocus,\n onSubmitEditing,\n ...props\n }: KeyboardDatePickerProps,\n ref,\n ): ReactElement => {\n const monthRef = useRef<RNTextInput>(null);\n const yearRef = useRef<RNTextInput>(null);\n\n const defaultValue = value;\n\n const defaultDay = defaultValue?.getDate();\n const defaultMonth = defaultValue ? defaultValue.getMonth() + 1 : undefined;\n const defaultYear = defaultValue?.getFullYear();\n\n const [state, dispatch] = useReducer(keyboardDatePickerReducer, {\n currentValue: defaultValue,\n currentDay: defaultDay,\n currentMonth: defaultMonth,\n currentYear: defaultYear,\n displayedDay: defaultDay ? dayFormatter(defaultDay) : '',\n displayedMonth: defaultMonth ? monthFormatter(defaultMonth) : '',\n displayedYear: defaultYear ? yearFormatter(defaultYear) : '',\n minDate,\n maxDate,\n });\n\n const sharedInputPartProps = {\n isFocusedInternal,\n isHoveredInternal,\n isPressedInternal,\n disabled,\n };\n\n const handleDatePartChange = (\n day: number | undefined,\n month: number | undefined,\n year: number | undefined,\n ): void => {\n onDatePartChange({ day, month, year, minDate: state.minDate, maxDate: state.maxDate, onFocus, onBlur, onChange });\n };\n\n const handleAutoFocusNextField = (currentFieldValue: string, nextFieldRef: React.RefObject<RNTextInput>): void => {\n if (currentFieldValue.length === 2 && nextFieldRef.current) {\n nextFieldRef.current.focus();\n }\n };\n\n return (\n <View testID={testID} nativeID={id}>\n <HStack space=\"kitt.2\">\n <PartContainer isStretch={stretch} width=\"kitt.forms.datePicker.day.minWidth\">\n <InputPart\n ref={ref}\n {...sharedInputPartProps}\n placeholder={placeholder?.day}\n value={state.displayedDay}\n returnKeyType={getReturnKeyTypeForNumericInput('next')}\n onChange={(e) => {\n const nextDay = stringToNumber(e.nativeEvent.text);\n\n dispatch({ type: 'day-change', nextDay });\n\n if (nextDay && isNumber(nextDay)) {\n handleDatePartChange(nextDay, state.currentMonth, state.currentYear);\n }\n\n handleAutoFocusNextField(e.nativeEvent.text, monthRef);\n }}\n onBlur={() => dispatch({ type: 'day-blur' })}\n onSubmitEditing={() => {\n monthRef.current?.focus();\n }}\n />\n </PartContainer>\n\n <PartContainer isStretch={stretch} width=\"kitt.forms.datePicker.month.minWidth\">\n <InputPart\n ref={monthRef}\n {...sharedInputPartProps}\n placeholder={placeholder?.month}\n value={state.displayedMonth}\n returnKeyType={getReturnKeyTypeForNumericInput('next')}\n onChange={(e) => {\n const nextMonth = stringToNumber(e.nativeEvent.text);\n\n dispatch({ type: 'month-change', nextMonth });\n\n if (nextMonth && isNumber(nextMonth)) {\n handleDatePartChange(state.currentDay, nextMonth, state.currentYear);\n }\n\n handleAutoFocusNextField(e.nativeEvent.text, yearRef);\n }}\n onBlur={() => dispatch({ type: 'month-blur' })}\n onSubmitEditing={() => {\n yearRef.current?.focus();\n }}\n />\n </PartContainer>\n\n <PartContainer isStretch={stretch} width=\"kitt.forms.datePicker.year.minWidth\">\n <InputPart\n ref={yearRef}\n {...sharedInputPartProps}\n placeholder={placeholder?.year}\n value={state.displayedYear}\n returnKeyType={returnKeyType ? getReturnKeyTypeForNumericInput(returnKeyType) : undefined}\n onChange={(e) => {\n const nextYear = stringToNumber(e.nativeEvent.text);\n\n dispatch({ type: 'year-change', nextYear });\n\n if (nextYear && isNumber(nextYear)) {\n handleDatePartChange(state.currentDay, state.currentMonth, nextYear);\n }\n }}\n onBlur={() => dispatch({ type: 'year-blur' })}\n onSubmitEditing={onSubmitEditing}\n />\n </PartContainer>\n </HStack>\n </View>\n );\n },\n);\n","import type { ReactElement } from 'react';\nimport { forwardRef } from 'react';\nimport type { PressableProps } from 'react-native';\nimport { HStack } from '../../../native-base/layout';\nimport { Pressable, View } from '../../../native-base/primitives';\nimport { createResponsiveStyleFromProp } from '../../../utils/createResponsiveStyleFromProp/createResponsiveStyleFromProp';\nimport type { DatePickerProps } from '../DatePicker';\nimport { dayFormatter, monthFormatter, yearFormatter } from '../utils/dateFormatter';\nimport { InputPart } from './InputPart';\nimport { PartContainer } from './PartContainer';\n\ninterface PressableDateInputsProps extends Omit<DatePickerProps, 'onChange'> {\n onPress: () => void;\n}\n\nexport const PressableDateInputs = forwardRef<PressableProps, PressableDateInputsProps>(\n (\n {\n disabled,\n stretch,\n id,\n testID,\n value,\n placeholder,\n isFocusedInternal,\n isHoveredInternal,\n isPressedInternal,\n onPress,\n }: PressableDateInputsProps,\n ref,\n ): ReactElement => {\n const sharedInputPartProps = {\n isFocusedInternal,\n isHoveredInternal,\n isPressedInternal,\n disabled,\n };\n\n return (\n <Pressable\n ref={ref}\n display=\"flex\"\n flexDirection=\"row\"\n position=\"relative\"\n alignSelf={createResponsiveStyleFromProp(stretch, undefined, 'baseline')}\n nativeID={id}\n disabled={disabled}\n testID={testID}\n onPress={onPress}\n >\n <View position=\"relative\" width={createResponsiveStyleFromProp(stretch, '100%')} pointerEvents=\"none\">\n <HStack space=\"kitt.2\" width={createResponsiveStyleFromProp(stretch, '100%')}>\n <PartContainer isStretch={stretch} width=\"kitt.forms.datePicker.day.minWidth\">\n <InputPart\n {...sharedInputPartProps}\n placeholder={placeholder?.day}\n value={value ? dayFormatter(value.getDate()) : undefined}\n />\n </PartContainer>\n\n <PartContainer isStretch={stretch} width=\"kitt.forms.datePicker.month.minWidth\">\n <InputPart\n {...sharedInputPartProps}\n placeholder={placeholder?.month}\n value={value ? monthFormatter(value.getMonth() + 1) : undefined}\n />\n </PartContainer>\n\n <PartContainer isStretch={stretch} width=\"kitt.forms.datePicker.year.minWidth\">\n <InputPart\n {...sharedInputPartProps}\n placeholder={placeholder?.year}\n value={value ? yearFormatter(value.getFullYear()) : undefined}\n />\n </PartContainer>\n </HStack>\n <View width=\"100%\" height=\"100%\" position=\"absolute\" top=\"0\" left=\"0\" />\n </View>\n </Pressable>\n );\n },\n);\n","import { DateTimePickerAndroid } from '@react-native-community/datetimepicker';\nimport { forwardRef, useEffect, useState } from 'react';\nimport type { ReactElement } from 'react';\nimport type { PressableProps } from 'react-native';\nimport type { Except } from 'type-fest';\nimport type { DatePickerProps } from '../../DatePicker';\nimport { PressableDateInputs } from '../PressableDateInputs';\n\ninterface DatePickerAndroidProps extends Except<DatePickerProps, 'pickerUITitle' | 'pickerUIValidateButtonLabel'> {}\n\nexport const DatePickerAndroid = forwardRef<PressableProps, DatePickerAndroidProps>(\n (\n {\n onBlur,\n onFocus,\n pickerDefaultDate,\n pickerUITestID,\n isDefaultVisible,\n value,\n onChange,\n ...props\n }: DatePickerAndroidProps,\n ref,\n ): ReactElement => {\n const [isFocused, setIsFocused] = useState(false);\n const [currentValue, setCurrentValue] = useState<Date | undefined>(value);\n\n const handleClose = (): void => {\n if (onBlur) onBlur();\n };\n\n const handleModalOpen = (): void => {\n setIsFocused(true);\n if (onFocus) onFocus();\n\n DateTimePickerAndroid.open({\n testID: pickerUITestID,\n value: currentValue || pickerDefaultDate || new Date(Date.now()),\n onChange: (e) => {\n setIsFocused(false);\n const { timestamp } = e.nativeEvent;\n if (timestamp) {\n const date = new Date(timestamp);\n\n setCurrentValue(date);\n onChange(date);\n handleClose();\n }\n },\n onTouchCancel: handleClose,\n });\n };\n\n useEffect(() => {\n if (isDefaultVisible) handleModalOpen();\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, []);\n\n return (\n <PressableDateInputs\n ref={ref}\n value={currentValue}\n isFocusedInternal={isFocused}\n onPress={handleModalOpen}\n {...props}\n />\n );\n },\n);\n","import type { ReactElement, ReactNode } from 'react';\nimport { ScrollView } from 'react-native';\nimport styled from 'styled-components/native';\n\nconst BodyView = styled.View`\n padding: ${({ theme }) => theme.kitt.spacing * 6}px ${({ theme }) => theme.kitt.spacing * 4}px;\n`;\n\nexport interface BodyProps {\n children: NonNullable<ReactNode>;\n}\n\nexport function ModalBody({ children }: BodyProps): ReactElement {\n return (\n <ScrollView>\n <BodyView>{children}</BodyView>\n </ScrollView>\n );\n}\n","import type { ReactElement, ReactNode } from 'react';\nimport styled from 'styled-components/native';\n\nexport interface FooterProps {\n children: NonNullable<ReactNode>;\n}\n\nconst FooterView = styled.View`\n flex: 0 0 auto;\n padding: ${({ theme }) => theme.kitt.spacing * 4}px;\n border-top-width: 1px;\n border-top-color: ${({ theme }) => theme.kitt.colors.separator};\n`;\n\nexport function ModalFooter({ children }: FooterProps): ReactElement {\n return <FooterView>{children}</FooterView>;\n}\n","import type { ReactElement } from 'react';\nimport type { ViewProps } from '../native-base/primitives';\nimport { View } from '../native-base/primitives';\nimport type { IconButtonColor } from './IconButton';\n\nfunction getBackgroundColor(color: IconButtonColor, isDisabled?: boolean): string {\n if (isDisabled) {\n return 'kitt.iconButton.disabled.backgroundColor';\n }\n\n switch (color) {\n case 'primary':\n return 'kitt.iconButton.primary.pressed.backgroundColor';\n case 'white':\n return 'kitt.iconButton.white.pressed.backgroundColor';\n case 'black':\n default:\n return 'kitt.iconButton.black.pressed.backgroundColor';\n }\n}\n\ninterface BackgroundProps extends ViewProps {\n color: IconButtonColor;\n isDisabled?: boolean;\n _web?: Partial<ViewProps>;\n}\n\nexport function Background({ color, isDisabled, ...props }: BackgroundProps): ReactElement {\n return (\n <View\n {...props}\n width=\"100%\"\n height=\"100%\"\n borderRadius=\"kitt.iconButton.borderRadius\"\n backgroundColor={getBackgroundColor(color, isDisabled)}\n />\n );\n}\n","import type { ReactElement } from 'react';\nimport Animated from 'react-native-reanimated';\nimport { useSx } from '../native-base/utils';\nimport { Background } from './Background';\nimport type { IconButtonColor } from './IconButton';\nimport type { UseNativeAnimation } from './hooks/useNativeAnimation';\n\nexport interface AnimatedBackgroundProps {\n color: IconButtonColor;\n isHovered?: boolean;\n isPressed?: boolean;\n isFocused?: boolean;\n isDisabled?: boolean;\n opacityStyles?: UseNativeAnimation['opacityStyles'];\n}\n\nexport function AnimatedBackground({ color, isDisabled, opacityStyles }: AnimatedBackgroundProps): ReactElement {\n const sx = useSx();\n\n const currentOpacityStyles = isDisabled ? { opacity: 1 } : opacityStyles;\n\n const styles = sx({\n position: 'absolute',\n top: 0,\n left: 0,\n width: '100%',\n height: '100%',\n });\n\n return (\n <Animated.View style={[styles, currentOpacityStyles]}>\n <Background color={color} isDisabled={isDisabled} />\n </Animated.View>\n );\n}\n","import type { ReactElement, ReactNode } from 'react';\nimport Animated from 'react-native-reanimated';\nimport { useSx } from '../native-base/utils';\nimport type { UseNativeAnimation } from './hooks/useNativeAnimation';\n\nexport interface AnimatedScaleProps {\n children: ReactNode;\n isHovered?: boolean;\n isPressed?: boolean;\n isFocused?: boolean;\n isDisabled?: boolean;\n scaleStyles?: UseNativeAnimation['scaleStyles'];\n}\n\nexport function AnimatedScale({ isDisabled, scaleStyles, children }: AnimatedScaleProps): ReactElement {\n const sx = useSx();\n\n const currentOpacityStyles = isDisabled ? { transform: [{ scale: 1 }] } : scaleStyles;\n\n const styles = sx({\n position: 'relative',\n alignItems: 'center',\n justifyContent: 'center',\n width: '100%',\n height: '100%',\n });\n\n return <Animated.View style={[styles, currentOpacityStyles]}>{children}</Animated.View>;\n}\n","import { useAnimatedStyle, useSharedValue, withSpring } from 'react-native-reanimated';\nimport { useTheme } from '../../KittThemeContext';\n\nexport interface UseNativeAnimationParams {\n isDisabled?: boolean;\n isPressed?: boolean;\n}\n\nexport interface UseNativeAnimation {\n opacityStyles?: { opacity: number };\n scaleStyles?: {\n transform: {\n scale: number;\n }[];\n };\n onPressIn: () => void;\n onPressOut: () => void;\n}\n\nexport function useNativeAnimation({ isPressed }: UseNativeAnimationParams): UseNativeAnimation {\n const theme = useTheme();\n const pressed = useSharedValue(!!isPressed);\n\n const opacityStyles = useAnimatedStyle(() => {\n return {\n opacity: withSpring(pressed.value ? 1 : 0),\n };\n });\n\n const scaleStyles = useAnimatedStyle(() => {\n return {\n transform: [\n {\n scale: withSpring(\n pressed.value ? theme.kitt.iconButton.scale.base.active : theme.kitt.iconButton.scale.base.default,\n ),\n },\n ],\n };\n });\n\n const handlePressIn = (): void => {\n pressed.value = true;\n };\n\n const handlePressOut = (): void => {\n pressed.value = false;\n };\n\n return {\n opacityStyles,\n scaleStyles,\n onPressIn: handlePressIn,\n onPressOut: handlePressOut,\n };\n}\n","import type { ReactElement } from 'react';\nimport type { PressableProps } from '../native-base/primitives';\nimport { Pressable, View } from '../native-base/primitives';\nimport { TypographyIcon } from '../typography/TypographyIcon';\nimport { AnimatedBackground } from './AnimatedBackground';\nimport { AnimatedScale } from './AnimatedScale';\nimport { useNativeAnimation } from './hooks/useNativeAnimation';\n\nexport type IconButtonColor = 'black' | 'white' | 'primary';\n\nexport interface IconButtonProps {\n icon: NonNullable<ReactElement>;\n color?: IconButtonColor;\n disabled?: boolean;\n testID?: string;\n accessibilityLabel?: PressableProps['accessibilityLabel'];\n accessibilityRole?: PressableProps['accessibilityRole'];\n /** @internal for story purpose */\n isHoveredInternal?: boolean;\n /** @internal for story purpose */\n isPressedInternal?: boolean;\n /** @internal for story purpose */\n isFocusedInternal?: boolean;\n onPress?: () => void;\n}\n\nexport function IconButton({\n icon,\n color = 'black',\n disabled,\n testID,\n accessibilityLabel,\n accessibilityRole = 'button',\n isHoveredInternal,\n isPressedInternal,\n isFocusedInternal,\n onPress,\n}: IconButtonProps): ReactElement {\n const { onPressIn, onPressOut, opacityStyles, scaleStyles } = useNativeAnimation({\n isDisabled: disabled,\n isPressed: isPressedInternal,\n });\n\n return (\n <Pressable\n testID={testID}\n disabled={disabled}\n width=\"kitt.iconButton.width\"\n height=\"kitt.iconButton.height\"\n accessibilityLabel={accessibilityLabel}\n accessibilityRole={accessibilityRole}\n _web={{\n style: {\n backfaceVisibility: 'hidden',\n transform: [{ translate3d: '0' }],\n },\n }}\n borderRadius=\"kitt.iconButton.borderRadius\"\n borderColor={disabled ? 'kitt.iconButton.disabled.borderColor' : 'kitt.iconButton.borderColor'}\n borderWidth={disabled ? 'kitt.iconButton.borderWidth' : 0}\n onPress={onPress}\n onPressIn={onPressIn}\n onPressOut={onPressOut}\n >\n {({ isHovered, isPressed, isFocused }) => {\n const isCurrentHovered = isHovered || isHoveredInternal;\n const isCurrentPressed = isPressed || isPressedInternal;\n const isCurrentFocused = isFocused || isFocusedInternal;\n\n return (\n <AnimatedScale\n isDisabled={disabled}\n isHovered={isCurrentHovered}\n isPressed={isCurrentPressed}\n scaleStyles={scaleStyles}\n >\n <AnimatedBackground\n color={color}\n isDisabled={disabled}\n isHovered={isCurrentHovered}\n isPressed={isCurrentPressed}\n isFocused={isCurrentFocused}\n opacityStyles={opacityStyles}\n />\n <View alignItems=\"center\" justifyContent=\"center\">\n <TypographyIcon color={disabled ? 'black-light' : color} icon={icon} />\n </View>\n </AnimatedScale>\n );\n }}\n </Pressable>\n );\n}\n","import { createContext } from 'react';\n\nexport const OnCloseContext = createContext<() => void>(() => {});\n","import { XIcon } from '@ornikar/kitt-icons';\nimport type { ReactElement, ReactNode } from 'react';\nimport { useContext } from 'react';\nimport styled from 'styled-components/native';\nimport { IconButton } from '../IconButton/IconButton';\nimport { OnCloseContext } from './OnCloseContext';\n\nexport interface HeaderProps {\n children: NonNullable<ReactNode>;\n left?: ReactNode;\n right?: ReactNode;\n}\n\nconst HeaderView = styled.View`\n position: relative;\n padding: ${({ theme }) => theme.kitt.spacing * 2}px;\n display: flex;\n flex: 0 0 auto;\n flex-direction: row;\n justify-content: space-between;\n align-items: center;\n border-bottom-width: 1px;\n border-bottom-color: ${({ theme }) => theme.kitt.colors.separator};\n min-height: 57px;\n`;\n\nconst LeftIconView = styled.View`\n align-self: flex-start;\n margin-right: ${({ theme }) => theme.kitt.spacing * 2}px;\n`;\n\nconst RightIconView = styled.View`\n align-self: flex-start;\n margin-left: ${({ theme }) => theme.kitt.spacing * 2}px;\n`;\n\ninterface TitleViewProps {\n isIconLeft?: boolean;\n}\n\nconst TitleView = styled.View<TitleViewProps>`\n padding-left: ${({ theme, isIconLeft }) => (isIconLeft ? 0 : theme.kitt.spacing * 2)}px;\n flex-shrink: 1;\n`;\n\nexport function ModalHeader({ left, right, children }: HeaderProps): ReactElement {\n const onClose = useContext(OnCloseContext);\n\n const isIconLeft = !!left;\n\n return (\n <HeaderView>\n {isIconLeft && <LeftIconView>{left}</LeftIconView>}\n\n <TitleView isIconLeft={isIconLeft}>{children}</TitleView>\n\n {right !== undefined ? (\n right\n ) : (\n <RightIconView>\n <IconButton icon={<XIcon />} onPress={onClose} />\n </RightIconView>\n )}\n </HeaderView>\n );\n}\n","import type { ReactElement, ReactNode } from 'react';\nimport { Modal as NativeModal } from 'react-native';\nimport styled from 'styled-components/native';\nimport { Overlay } from '../Overlay/Overlay';\nimport { ModalBody } from './Body';\nimport { ModalFooter } from './Footer';\nimport { ModalHeader } from './Header';\nimport { OnCloseContext } from './OnCloseContext';\n\nexport interface ModalProps {\n visible: boolean;\n children: ReactNode;\n onClose: () => void;\n onEntered?: () => void;\n onExited?: () => void;\n}\n\nconst ModalView = styled.View`\n top: 0;\n left: 0;\n width: 100%;\n height: 100%;\n\n display: flex;\n align-items: center;\n justify-content: center;\n padding: ${({ theme }) => theme.kitt.spacing * 20}px ${({ theme }) => theme.kitt.spacing * 4}px;\n`;\n\nconst ContentView = styled.View`\n position: relative;\n display: flex;\n flex-direction: column;\n max-height: 100%;\n max-width: 540px;\n height: auto;\n width: 100%;\n border-radius: ${({ theme }) => theme.kitt.card.borderRadius}px;\n background-color: ${({ theme }) => theme.kitt.colors.uiBackgroundLight};\n`;\n\n/**\n * @deprecated This component will be deleted in a later Kitt Universal version. Use CardModal instead\n */\nexport function Modal({ visible, children, onClose, onEntered, onExited }: ModalProps): ReactElement {\n return (\n <OnCloseContext.Provider value={onClose}>\n <NativeModal\n transparent\n animationType=\"fade\"\n supportedOrientations={['landscape', 'portrait']}\n visible={visible}\n onShow={onEntered}\n onDismiss={onExited}\n onRequestClose={onClose}\n >\n <ModalView>\n <Overlay onPress={onClose} />\n\n <ContentView>{children}</ContentView>\n </ModalView>\n </NativeModal>\n </OnCloseContext.Provider>\n );\n}\n\nModal.Header = ModalHeader;\nModal.Body = ModalBody;\nModal.Footer = ModalFooter;\n","import DateTimePicker from '@react-native-community/datetimepicker';\nimport type { DateTimePickerEvent } from '@react-native-community/datetimepicker';\nimport type { ComponentProps, ReactElement } from 'react';\nimport { Platform } from 'react-native';\nimport { useTheme } from '../../../../KittThemeContext';\n\ntype DateTimePickerProps = ComponentProps<typeof DateTimePicker>;\n\nfunction getDatePickerDisplayMode(): DateTimePickerProps['display'] {\n if (Platform.OS === 'android') return 'calendar';\n\n if (Platform.OS === 'ios') return 'spinner';\n\n return 'default';\n}\n\nexport interface PlatformDateTimePickerProps {\n value?: Date;\n defaultDate?: Date;\n maximumDate?: DateTimePickerProps['maximumDate'];\n minimuDate?: DateTimePickerProps['minimumDate'];\n testID?: DateTimePickerProps['testID'];\n onChange: (newDate?: Date) => void;\n}\n\nexport function PlatformDateTimePicker({\n value,\n defaultDate = new Date(),\n maximumDate,\n minimuDate,\n testID,\n onChange,\n}: PlatformDateTimePickerProps): ReactElement {\n const theme = useTheme();\n const displayMode = getDatePickerDisplayMode();\n\n const iosProps = Platform.OS === 'ios' ? { textColor: theme.kitt.colors.primary } : {};\n\n return (\n <DateTimePicker\n is24Hour\n testID={testID}\n value={value || defaultDate}\n mode=\"date\"\n maximumDate={maximumDate}\n minimumDate={minimuDate}\n display={displayMode}\n {...iosProps}\n onChange={(_event: DateTimePickerEvent, date?: Date | undefined) => onChange(date)}\n />\n );\n}\n","import type { ReactElement, ReactNode } from 'react';\nimport { useState } from 'react';\nimport { FormattedMessage } from 'react-intl';\nimport { Text } from 'react-native';\nimport { Button } from '../../../../Button/Button';\nimport { Modal } from '../../../../Modal/Modal';\nimport { Typography } from '../../../../typography/Typography';\nimport type { PlatformDateTimePickerProps } from './PlatformDateTimePicker';\nimport { PlatformDateTimePicker } from './PlatformDateTimePicker';\n\ninterface ModalTitleProps {\n children: NonNullable<ReactNode>;\n}\n\nfunction ModalTitle({ children }: ModalTitleProps): ReactElement {\n return (\n <Modal.Header>\n <Typography.Text base=\"body\" variant=\"bold\">\n {children}\n </Typography.Text>\n </Modal.Header>\n );\n}\n\ninterface ModalPlatformDateTimePickerProps extends PlatformDateTimePickerProps {\n title?: ReactNode;\n isVisible?: boolean;\n validateButtonLabel?: string;\n onClose: () => void;\n}\n\nexport function ModalPlatformDateTimePicker({\n title,\n isVisible,\n value,\n validateButtonLabel,\n onClose,\n onChange,\n ...props\n}: ModalPlatformDateTimePickerProps): ReactElement {\n const [currentValue, setCurrentValue] = useState(value);\n\n // Prevent unsynced value between the modal and its parent state\n const handleClose = (): void => {\n setCurrentValue(value);\n onClose();\n };\n\n const handleSubmit = (): void => {\n onChange(currentValue);\n };\n\n const handleChange = (newDate?: Date): void => {\n setCurrentValue((prev) => {\n return newDate || prev;\n });\n };\n\n return (\n <Modal visible={Boolean(isVisible)} onClose={handleClose}>\n {isVisible ? (\n <>\n {title ? <ModalTitle>{title}</ModalTitle> : null}\n\n <Modal.Body>\n <PlatformDateTimePicker {...props} value={currentValue} onChange={handleChange} />\n </Modal.Body>\n\n <Modal.Footer>\n <Button stretch type=\"primary\" onPress={handleSubmit}>\n {validateButtonLabel ? (\n <Text>{validateButtonLabel}</Text>\n ) : (\n <FormattedMessage id=\"kitt-universal.ModalPlatformDateTimePicker.confirm\" defaultMessage=\"Valider\" />\n )}\n </Button>\n </Modal.Footer>\n </>\n ) : null}\n </Modal>\n );\n}\n","import type { ReactElement } from 'react';\nimport { forwardRef, useState } from 'react';\nimport type { PressableProps } from 'react-native';\nimport type { DatePickerProps } from '../../DatePicker';\nimport { PressableDateInputs } from '../PressableDateInputs';\nimport { ModalPlatformDateTimePicker } from './ModalPlatformDateTimePicker';\n\nexport const DefaultNativeUIDatePicker = forwardRef<PressableProps, DatePickerProps>(\n (\n {\n value,\n pickerUITestID,\n pickerUITitle,\n pickerUIValidateButtonLabel,\n isDefaultVisible,\n pickerDefaultDate,\n isFocusedInternal,\n isHoveredInternal,\n isPressedInternal,\n onChange,\n onFocus,\n onBlur,\n ...props\n }: DatePickerProps,\n ref,\n ): ReactElement => {\n const [isPickerUIVisible, setIsPickerUIVisible] = useState(isDefaultVisible);\n const [isFocused, setIsFocused] = useState(false);\n const [currentValue, setCurrentValue] = useState<Date | undefined>(value);\n\n const handleModalOpen = (): void => {\n if (onFocus) onFocus();\n\n setIsPickerUIVisible(true);\n\n setIsFocused(true);\n };\n\n const handleModalClose = (): void => {\n if (onBlur) onBlur();\n\n setIsPickerUIVisible(false);\n\n setIsFocused(false);\n };\n\n const handleChange = (newDate?: Date): void => {\n setCurrentValue(newDate);\n\n onChange(newDate);\n\n handleModalClose();\n };\n\n return (\n <>\n <PressableDateInputs\n ref={ref}\n value={currentValue}\n isFocusedInternal={isFocused || isFocusedInternal}\n isHoveredInternal={isHoveredInternal}\n isPressedInternal={isPressedInternal}\n onPress={handleModalOpen}\n {...props}\n />\n\n <ModalPlatformDateTimePicker\n testID={pickerUITestID}\n value={currentValue}\n isVisible={isPickerUIVisible}\n title={pickerUITitle}\n validateButtonLabel={pickerUIValidateButtonLabel}\n defaultDate={pickerDefaultDate}\n onClose={handleModalClose}\n onChange={handleChange}\n />\n </>\n );\n },\n);\n","import type { ReactElement } from 'react';\nimport { forwardRef } from 'react';\nimport type { PressableProps } from 'react-native';\nimport { Platform } from 'react-native';\nimport type { DatePickerProps } from '../../DatePicker';\nimport { DatePickerAndroid } from './DatePickerAndroid';\nimport { DefaultNativeUIDatePicker } from './DefaultNativeUIDatePicker';\n\ninterface NativeUIDatePickerProps extends DatePickerProps {}\n\nexport const NativeUIDatePicker = forwardRef<PressableProps, NativeUIDatePickerProps>(\n (\n { value, pickerUITestID, isDefaultVisible, pickerDefaultDate, onChange, onBlur, ...props }: NativeUIDatePickerProps,\n ref,\n ): ReactElement => {\n if (Platform.OS === 'android') {\n return (\n <DatePickerAndroid\n ref={ref}\n pickerDefaultDate={pickerDefaultDate}\n pickerUITestID={pickerUITestID}\n isDefaultVisible={isDefaultVisible}\n value={value}\n onChange={onChange}\n onBlur={onBlur}\n {...props}\n />\n );\n }\n\n return (\n <DefaultNativeUIDatePicker\n ref={ref}\n value={value}\n isDefaultVisible={isDefaultVisible}\n pickerUITestID={pickerUITestID}\n onChange={onChange}\n onBlur={onBlur}\n {...props}\n />\n );\n },\n);\n","import type { ReactElement } from 'react';\nimport type React from 'react';\nimport { forwardRef } from 'react';\nimport type { PressableProps, TextInput as RNTextInput } from 'react-native';\nimport type { ResponsiveValue } from '../../utils/createResponsiveStyleFromProp/createResponsiveStyleFromProp';\nimport type { InputTextProps } from '../InputText/InputText';\nimport { KeyboardDatePicker } from './components/KeyboardDatePicker';\nimport { NativeUIDatePicker } from './components/NativeUIDatePicker/NativeUIDatePicker';\n\ntype DatePickerFillMode = 'keyboard' | 'native';\n\ninterface DatePickerPlaceholder {\n day: string;\n month: string;\n year: string;\n}\n\nexport interface DatePickerProps {\n id?: string;\n testID?: string;\n disabled?: boolean;\n /**\n * @description value of the input\n */\n value?: Date;\n placeholder?: DatePickerPlaceholder;\n /** @description minimum date for the value to be valid */\n minDate?: Date;\n /** @description maximum date for the value to be valid */\n maxDate?: Date;\n /** @description Native only props - testID of the native platform picker */\n pickerUITestID?: string;\n /** @description Display a keyboard or the native picker. Web only has \"keyboard\" mode available */\n fillMode?: DatePickerFillMode;\n /** @description Native only props - Default date to be displayed on the native UI before any interactions */\n pickerDefaultDate?: Date;\n /** @description iOS only props - Text of the title of the Kitt modal displaying the platform picker on iOS */\n pickerUITitle?: string;\n /** @description iOS only props - Label of the validate button shown in the Kitt modal displaying the platform picker on iOS */\n pickerUIValidateButtonLabel?: string;\n /** @description Native only props - Controls the default visibility of the native picker */\n isDefaultVisible?: boolean;\n stretch?: ResponsiveValue<boolean | undefined>;\n returnKeyType?: InputTextProps['returnKeyType'];\n /** @internal for story purpose */\n isHoveredInternal?: boolean;\n /** @internal for story purpose */\n isPressedInternal?: boolean;\n /** @internal for story purpose */\n isFocusedInternal?: boolean;\n onChange: (date?: Date) => void;\n onBlur?: (e?: any) => void;\n onFocus?: (e?: any) => void;\n onSubmitEditing?: InputTextProps['onSubmitEditing'];\n}\n\nexport const DatePicker = forwardRef<PressableProps | RNTextInput, DatePickerProps>(\n ({ fillMode = 'native', returnKeyType, value, onSubmitEditing, ...props }: DatePickerProps, ref): ReactElement => {\n // in apps, final-form can give a string value that will break the component\n const currentValue = value || undefined;\n\n if (fillMode === 'keyboard') {\n return (\n <KeyboardDatePicker\n ref={ref as React.ForwardedRef<RNTextInput>}\n {...props}\n value={currentValue}\n returnKeyType={returnKeyType}\n onSubmitEditing={onSubmitEditing}\n />\n );\n }\n\n return <NativeUIDatePicker ref={ref as React.ForwardedRef<PressableProps>} {...props} value={currentValue} />;\n },\n);\n","import type { ReactElement } from 'react';\nimport { forwardRef } from 'react';\nimport type { TextInput as RNTextInput } from 'react-native';\nimport type { Except } from 'type-fest';\nimport type { InputTextProps } from '../InputText/InputText';\nimport { InputText } from '../InputText/InputText';\n\nexport interface InputEmailProps\n extends Except<InputTextProps, 'autoComplete' | 'keyboardType' | 'textContentType' | 'autoCapitalize'> {}\n\nexport const InputEmail = forwardRef<RNTextInput, InputEmailProps>((props: InputEmailProps, ref): ReactElement => {\n return (\n <InputText\n ref={ref}\n autoComplete=\"email\"\n keyboardType=\"email-address\"\n textContentType=\"emailAddress\"\n autoCapitalize=\"none\"\n {...props}\n />\n );\n});\n","import type { ReactElement, ReactNode } from 'react';\nimport { 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): ReactElement {\n return (\n <Typography.Text base=\"body-small\" color={getColorFromState(state)} testID={testID}>\n {children}\n </Typography.Text>\n );\n}\n","import type { ReactElement, ReactNode } from 'react';\nimport { useTheme } from '../../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): ReactElement {\n const theme = useTheme();\n return (\n <View\n paddingTop={theme.kitt.forms.inputField.containerPaddingTop}\n paddingBottom={theme.kitt.forms.inputField.containerPaddingBottom}\n >\n {label ? (\n <View\n flexDirection=\"row\"\n alignItems=\"center\"\n paddingBottom={theme.kitt.forms.inputField.labelContainerPaddingBottom}\n >\n <View marginRight={theme.kitt.forms.inputField.labelFeedbackMarginLeft}>{label}</View>\n {labelFeedback}\n </View>\n ) : null}\n {input}\n {feedback ? <View paddingTop={theme.kitt.forms.inputField.feedbackPaddingTop}>{feedback}</View> : null}\n </View>\n );\n}\n","import type { ReactElement } from 'react';\nimport type { InputFormState } from 'forms/utils';\nimport { useTheme } from '../../KittThemeContext';\nimport type { TypographyIconProps } from '../../typography/TypographyIcon';\nimport { TypographyIcon } from '../../typography/TypographyIcon';\n\nfunction getIconColor(state?: InputFormState, disabled?: boolean): TypographyIconProps['color'] {\n if (disabled) return 'black-light';\n\n switch (state) {\n case 'invalid':\n return 'danger';\n case 'valid':\n return 'success';\n default:\n return undefined;\n }\n}\n\nexport interface InputIconProps {\n icon: NonNullable<ReactElement>;\n disabled?: boolean;\n state?: InputFormState;\n}\n\nexport function InputIcon({ icon, state, disabled }: InputIconProps): ReactElement {\n const theme = useTheme();\n\n const color = getIconColor(state, disabled);\n\n return <TypographyIcon color={color} icon={icon} size={theme.kitt.forms.input.icon.size} />;\n}\n","import type { ReactElement } from 'react';\nimport type { PressableProps } from 'react-native';\nimport { Pressable } from 'react-native';\n\nexport interface InputPressableProps extends PressableProps {}\n\nexport function InputPressable({ ...props }: InputPressableProps): ReactElement {\n return <Pressable {...props} />;\n}\n","import { EyeIcon, EyeOffIcon } from '@ornikar/kitt-icons';\nimport type { ReactElement } from 'react';\nimport { forwardRef, useState } from 'react';\nimport type { TextInput as RNTextInput } from 'react-native';\nimport { InputIcon } from '../InputIcon/InputIcon';\nimport { InputPressable } from '../InputPressable/InputPressable';\nimport type { InputTextProps } from '../InputText/InputText';\nimport { InputText } from '../InputText/InputText';\n\nexport interface InputPasswordProps extends InputTextProps {\n isPasswordDefaultVisible?: boolean;\n}\n\nexport const InputPassword = forwardRef<RNTextInput, InputPasswordProps>(\n ({ isPasswordDefaultVisible, right, ...props }: InputPasswordProps, ref): ReactElement => {\n const [isVisible, setIsVisible] = useState(Boolean(isPasswordDefaultVisible));\n\n return (\n <InputText\n ref={ref}\n {...props}\n textContentType=\"password\"\n autoComplete=\"password\"\n autoCorrect={false}\n secureTextEntry={!isVisible}\n right={\n right || (\n <InputPressable\n testID=\"kitt.InputPassword.passwordToggle\"\n hitSlop={20}\n accessibilityRole=\"button\"\n onPress={() => setIsVisible((prev) => !prev)}\n >\n <InputIcon icon={isVisible ? <EyeOffIcon /> : <EyeIcon />} />\n </InputPressable>\n )\n }\n />\n );\n },\n);\n","import type { CountryCallingCode, ParsedNumber } from 'libphonenumber-js';\nimport { getCountryCallingCode, isValidNumber, parseNumber } from 'libphonenumber-js';\nimport type { ReactElement } from 'react';\nimport { forwardRef, useState } from 'react';\nimport type { NativeSyntheticEvent, TextInput as RNTextInput, TextInputChangeEventData } from 'react-native';\nimport type { Except } from 'type-fest';\nimport { getReturnKeyTypeForNumericInput } from '../../utils/getReturnKeyTypeForNumericInput/getReturnKeyTypeForNumericInput';\nimport type { InputTextProps } from '../InputText/InputText';\nimport { InputText } from '../InputText/InputText';\n\nfunction isPhoneNumberValid(number: Record<string, never> | ParsedNumber): number is ParsedNumber {\n return isValidNumber(number as ParsedNumber);\n}\n\nfunction prefixWithZero(value: string, phoneNumberLength: number): string {\n return value.padStart(phoneNumberLength, '0');\n}\n\nexport interface InputPhoneNumberData extends ParsedNumber {\n countryCode: CountryCallingCode;\n originalNativeEventText: string;\n}\n\nexport interface InputPhoneProps extends Except<InputTextProps, 'keyboardType' | 'textContentType'> {\n phoneNumberLength?: number;\n onChange?: (event: NativeSyntheticEvent<TextInputChangeEventData>, phoneNumberData?: InputPhoneNumberData) => void;\n}\n\nexport const InputPhone = forwardRef<RNTextInput, InputPhoneProps>(\n (\n { returnKeyType, autoComplete = 'tel', phoneNumberLength = 10, value, onChange, ...props }: InputPhoneProps,\n ref,\n ): ReactElement => {\n const [currentValue, setCurrentValue] = useState(value);\n\n const currentReturnKeyType = returnKeyType ? getReturnKeyTypeForNumericInput(returnKeyType) : undefined;\n\n const handleChange = (event: NativeSyntheticEvent<TextInputChangeEventData>): void => {\n const number = parseNumber(event.nativeEvent.text);\n\n // When intl phone number is valid :\n // 1 - We extract intl data\n // 2 - We recreate the local value to display\n if (isPhoneNumberValid(number)) {\n const { phone } = number;\n\n const finalPhoneNumber = prefixWithZero(`${phone || ''}`, phoneNumberLength);\n\n const eventWithoutCountryCode = {\n ...event,\n nativeEvent: {\n ...event.nativeEvent,\n text: finalPhoneNumber,\n },\n };\n\n setCurrentValue(finalPhoneNumber);\n\n if (onChange) {\n onChange(eventWithoutCountryCode, {\n ...(number as ParsedNumber),\n countryCode: getCountryCallingCode(number.country),\n originalNativeEventText: event.nativeEvent.text,\n });\n }\n\n return;\n }\n\n // Value is correctly parsed but might not pass validation\n setCurrentValue(event.nativeEvent.text);\n if (onChange) onChange(event);\n };\n\n return (\n <InputText\n ref={ref}\n {...props}\n value={currentValue}\n keyboardType=\"phone-pad\"\n returnKeyType={currentReturnKeyType}\n autoComplete={autoComplete}\n textContentType=\"telephoneNumber\"\n onChange={handleChange}\n />\n );\n },\n);\n","import type { ReactElement, ReactNode } from 'react';\nimport { View } from 'react-native';\nimport styled from 'styled-components/native';\nimport { useTheme } from '../../KittThemeContext';\nimport { Typography } from '../../typography/Typography';\nimport type { TypographyColor } from '../../typography/Typography';\nimport { TypographyIcon } from '../../typography/TypographyIcon';\n\ntype InputTagType = 'success' | 'danger';\n\nconst getTypographyColor = (type: InputTagType | undefined): TypographyColor => (type ? 'white' : 'black');\n\ninterface InputTagContainerProps {\n type?: InputTagType;\n}\n\nconst InputTagContainer = styled(View)<InputTagContainerProps>`\n align-items: center;\n justify-content: center;\n flex-direction: row;\n align-self: flex-start;\n overflow: hidden;\n padding-horizontal: ${({ theme }) => theme.kitt.spacing * 2}px;\n\n background-color: ${({ theme, type }) => {\n if (type === 'success') {\n return theme.kitt.forms.inputTag.success.backgroundColor;\n }\n if (type === 'danger') {\n return theme.kitt.forms.inputTag.danger.backgroundColor;\n }\n\n return theme.kitt.forms.inputTag.default.backgroundColor;\n }};\n border-radius: ${({ theme }) => theme.kitt.forms.inputTag.borderRadius}px;\n`;\n\nconst IconContainer = styled(View)`\n margin-right: ${({ theme }) => theme.kitt.spacing}px;\n`;\n\nexport interface InputTagProps {\n type?: InputTagType;\n children: ReactNode;\n icon?: ReactElement;\n}\n\nexport function InputTag({ children, type, icon }: InputTagProps): ReactElement {\n const typographyColor = getTypographyColor(type);\n const theme = useTheme();\n\n return (\n <InputTagContainer type={type}>\n {icon && (\n <IconContainer>\n <TypographyIcon icon={icon} size={theme.kitt.forms.inputTag.iconSize} color={typographyColor} />\n </IconContainer>\n )}\n <Typography.Text base=\"body-small\" color={typographyColor}>\n {children}\n </Typography.Text>\n </InputTagContainer>\n );\n}\n","import type { ReactElement, ReactNode } from 'react';\nimport { Platform } from 'react-native';\nimport { Typography } from '../../typography/Typography';\n\nexport interface LabelProps {\n htmlFor: string;\n children: NonNullable<ReactNode>;\n}\n\nexport function Label({ htmlFor, children }: LabelProps): ReactElement {\n return (\n <Typography.Text base=\"body\">\n {Platform.OS === 'web' ? <label htmlFor={htmlFor}>{children}</label> : children}\n </Typography.Text>\n );\n}\n","import type { ReactElement } from 'react';\nimport { useTheme } from '../../KittThemeContext';\nimport { View } from '../../native-base/primitives';\n\ninterface InnerCircleProps {\n isChecked?: boolean;\n}\n\nexport function InnerCircle({ isChecked }: InnerCircleProps): ReactElement {\n const theme = useTheme();\n\n const sharedTransform = [{ scale: isChecked ? 1 : 0 }];\n\n return (\n <View\n width=\"kitt.forms.radio.innerCircle.size\"\n height=\"kitt.forms.radio.innerCircle.size\"\n borderRadius=\"kitt.forms.radio.innerCircle.borderRadius\"\n backgroundColor=\"kitt.forms.radio.innerCircle.backgroundColor\"\n _web={{\n style: {\n transform: sharedTransform,\n transitionProperty: 'all',\n transitionDuration: theme.kitt.forms.radio.transition.duration,\n transitionTimingFunction: theme.kitt.forms.radio.transition.timingFunction,\n },\n }}\n _ios={{\n style: {\n transform: sharedTransform,\n },\n }}\n _android={{\n style: {\n transform: sharedTransform,\n },\n }}\n />\n );\n}\n","interface GetBackgroundColorParams {\n isDisabled?: boolean;\n isChecked?: boolean;\n isPressed?: boolean;\n isHovered?: boolean;\n isFocused?: boolean;\n}\n\nexport function getBackgroundColor({\n isDisabled,\n isPressed,\n isHovered,\n isFocused,\n isChecked,\n}: GetBackgroundColorParams): string {\n if (isChecked) return 'kitt.forms.radio.checked.backgroundColor';\n\n if (isDisabled) return 'kitt.forms.radio.disabled.backgroundColor';\n\n if (isPressed) return 'kitt.forms.radio.pressed.backgroundColor';\n\n if (isHovered) return 'kitt.forms.radio.hover.backgroundColor';\n\n if (isFocused) return 'kitt.forms.radio.focus.backgroundColor';\n\n return 'kitt.forms.radio.default.backgroundColor';\n}\n","interface GetBorderColorParams {\n isDisabled?: boolean;\n isChecked?: boolean;\n isPressed?: boolean;\n isHovered?: boolean;\n isFocused?: boolean;\n}\n\nexport function getBorderColor({\n isDisabled,\n isPressed,\n isHovered,\n isFocused,\n isChecked,\n}: GetBorderColorParams): string {\n if (isChecked) return 'kitt.forms.radio.checked.borderColor';\n\n if (isDisabled) return 'kitt.forms.radio.disabled.borderColor';\n\n if (isPressed) return 'kitt.forms.radio.pressed.borderColor';\n\n if (isHovered) return 'kitt.forms.radio.hover.borderColor';\n\n if (isFocused) return 'kitt.forms.radio.focus.borderColor';\n\n return 'kitt.forms.radio.default.borderColor';\n}\n","import type { ReactElement } from 'react';\nimport { useTheme } from '../../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): ReactElement {\n const theme = useTheme();\n\n return (\n <View\n alignItems=\"center\"\n justifyContent=\"center\"\n borderWidth=\"kitt.forms.radio.borderWidth\"\n width=\"kitt.forms.radio.size\"\n height=\"kitt.forms.radio.size\"\n borderRadius=\"kitt.forms.radio.borderRadius\"\n backgroundColor={getBackgroundColor({ isChecked, isDisabled, isFocused, isHovered, isPressed })}\n borderColor={getBorderColor({ isChecked, isDisabled, isFocused, isHovered, isPressed })}\n _web={{\n style: {\n transitionProperty: 'all',\n transitionDuration: theme.kitt.forms.radio.transition.duration,\n transitionTimingFunction: theme.kitt.forms.radio.transition.timingFunction,\n },\n }}\n >\n {children}\n </View>\n );\n}\n","import type { ReactElement, ReactNode } from 'react';\nimport { forwardRef } from 'react';\nimport type { GestureResponderEvent, PressableProps } from 'react-native';\nimport { HStack } from '../../native-base/layout';\nimport { Pressable } from '../../native-base/primitives';\nimport { Typography } from '../../typography/Typography';\nimport { InnerCircle } from './InnerCircle';\nimport { OuterCircle } from './OuterCircle';\n\nexport interface RadioProps {\n id?: string;\n testID?: string;\n name?: string;\n checked?: boolean;\n disabled?: boolean;\n right?: boolean;\n children?: NonNullable<ReactNode>;\n value: string;\n onChange?: (newValue: string, event: GestureResponderEvent) => void;\n onBlur?: () => void;\n onFocus?: () => void;\n}\n\nexport const Radio = forwardRef<PressableProps, RadioProps>(\n ({ id, checked, value, disabled, children, testID, onChange, onFocus, onBlur }: RadioProps, ref): ReactElement => {\n const handlePress: PressableProps['onPress'] = (event: GestureResponderEvent) => {\n if (onFocus) onFocus();\n if (onChange) onChange(value, event);\n if (onBlur) onBlur();\n };\n\n return (\n <Pressable\n ref={ref}\n testID={testID}\n nativeID={id}\n disabled={disabled}\n accessibilityRole=\"radio\"\n aria-checked={checked}\n focusable={checked && !disabled}\n flexDirection=\"row\"\n alignItems=\"center\"\n onPress={handlePress}\n onFocus={onFocus}\n onBlur={onBlur}\n >\n {({ isHovered, isPressed, isFocused }) => (\n <HStack space={children ? 'kitt.2' : undefined} alignItems=\"center\">\n <OuterCircle\n isChecked={checked}\n isDisabled={disabled}\n isHovered={isHovered}\n isFocused={isFocused}\n isPressed={isPressed}\n >\n <InnerCircle isChecked={checked} />\n </OuterCircle>\n\n {children ? (\n <Typography.SetDefaultColor value={disabled ? 'black-light' : 'black'}>\n <Typography.Text base=\"body\">{children}</Typography.Text>\n </Typography.SetDefaultColor>\n ) : null}\n </HStack>\n )}\n </Pressable>\n );\n },\n);\n","import type { ReactElement, ReactNode } from 'react';\nimport type { ViewStyle } from 'react-native';\nimport Animated from 'react-native-reanimated';\nimport styled from 'styled-components/native';\n\ninterface StyledAnimatedViewProps {\n $isFocused?: boolean;\n $isPressed?: boolean;\n $isSelected?: boolean;\n $isDisabled?: boolean;\n $isFirst?: boolean;\n $isLast?: boolean;\n}\n\nconst StyledAnimatedView = styled(Animated.View)<StyledAnimatedViewProps>`\n border-width: ${({ theme }) => theme.kitt.forms.radioButtonGroup.item.borderWidth}px;\n border-top-left-radius: ${({ theme, $isFirst }) =>\n $isFirst ? theme.kitt.forms.radioButtonGroup.item.borderRadius : 0}px;\n border-bottom-left-radius: ${({ theme, $isFirst }) =>\n $isFirst ? theme.kitt.forms.radioButtonGroup.item.borderRadius : 0}px;\n border-top-right-radius: ${({ theme, $isLast }) =>\n $isLast ? theme.kitt.forms.radioButtonGroup.item.borderRadius : 0}px;\n border-bottom-right-radius: ${({ theme, $isLast }) =>\n $isLast ? theme.kitt.forms.radioButtonGroup.item.borderRadius : 0}px;\n border-left-width: ${({ theme, $isFirst }) => ($isFirst ? theme.kitt.forms.radioButtonGroup.item.borderWidth : 0)}px;\n`;\n\nexport interface AnimatedContainerProps {\n children: ReactNode;\n isFocused?: boolean;\n isPressed?: boolean;\n isSelected?: boolean;\n isDisabled?: boolean;\n isFirst?: boolean;\n isLast?: boolean;\n animatedStyles: Partial<ViewStyle>;\n}\n\nexport function AnimatedContainer({\n children,\n isFocused,\n isPressed,\n isSelected,\n isDisabled,\n isFirst,\n isLast,\n animatedStyles,\n}: AnimatedContainerProps): ReactElement {\n return (\n <StyledAnimatedView\n style={[animatedStyles]}\n $isFocused={isFocused}\n $isPressed={isPressed}\n $isSelected={isSelected}\n $isDisabled={isDisabled}\n $isFirst={isFirst}\n $isLast={isLast}\n >\n {children}\n </StyledAnimatedView>\n );\n}\n","import type { ReactElement } from 'react';\nimport { useTheme } from '../../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): ReactElement {\n const theme = useTheme();\n const hasPointerInteraction = isPressed || isHovered || isFocused;\n const shouldDisplayBorder = isSelected ? true : hasPointerInteraction;\n\n return (\n <View\n _web={{\n style: {\n width: `calc(100% + ${theme.kitt.forms.radioButtonGroup.item.borderWidth * 2}px)`,\n height: `calc(100% + ${theme.kitt.forms.radioButtonGroup.item.borderWidth * 2}px)`,\n transitionProperty: theme.kitt.forms.radioButtonGroup.item.transition.property,\n transitionDuration: theme.kitt.forms.radioButtonGroup.item.transition.duration,\n transitionTimingFunction: theme.kitt.forms.radioButtonGroup.item.transition.timingFunction,\n },\n }}\n opacity={shouldDisplayBorder ? 1 : 0}\n position=\"absolute\"\n top={-theme.kitt.forms.radioButtonGroup.item.borderWidth}\n left={-theme.kitt.forms.radioButtonGroup.item.borderWidth}\n margin={0}\n borderColor={`kitt.forms.radioButtonGroup.item.borderColor.${\n isHovered || isSelected || isFocused ? 'hover' : 'default'\n }`}\n borderWidth=\"kitt.forms.radioButtonGroup.item.borderWidth\"\n borderTopLeftRadius={isFirst ? 'kitt.forms.radioButtonGroup.item.borderRadius' : 0}\n borderBottomLeftRadius={isFirst ? 'kitt.forms.radioButtonGroup.item.borderRadius' : 0}\n borderTopRightRadius={isLast ? 'kitt.forms.radioButtonGroup.item.borderRadius' : 0}\n borderBottomRightRadius={isLast ? 'kitt.forms.radioButtonGroup.item.borderRadius' : 0}\n />\n );\n}\n","import type { ViewStyle } from 'react-native';\nimport { interpolateColor, useAnimatedStyle, useSharedValue, withSpring } from 'react-native-reanimated';\nimport { useTheme } from '../../../KittThemeContext';\n\nexport interface UseNativeAnimationOptions {\n isDisabled?: boolean;\n isSelected?: boolean;\n isPressedInternal?: boolean;\n}\n\nexport interface NativeAnimation {\n onPressIn?: () => void;\n onPressOut?: () => void;\n animatedStyles: ViewStyle;\n}\n\nexport const useNativeAnimation = ({\n isDisabled,\n isSelected,\n isPressedInternal,\n}: UseNativeAnimationOptions): NativeAnimation => {\n const theme = useTheme();\n const pressed = useSharedValue<0 | 1>(isPressedInternal ? 1 : 0);\n const color = useSharedValue(0);\n\n const { default: backgroundColor, pressed: pressedBackgroundColor } =\n theme.kitt.forms.radioButtonGroup.item.backgroundColor;\n\n const { default: borderColor, pressed: pressedBorderColor } = theme.kitt.forms.radioButtonGroup.item.borderColor;\n\n const animatedStyles = useAnimatedStyle(() => {\n if (isDisabled) {\n return {\n backgroundColor: theme.kitt.forms.radioButtonGroup.item.backgroundColor.disabled,\n borderColor: theme.kitt.forms.radioButtonGroup.item.borderColor.disabled,\n };\n }\n\n if (isSelected) {\n return {\n backgroundColor: pressedBackgroundColor,\n borderColor: pressedBorderColor,\n };\n }\n\n return {\n backgroundColor: interpolateColor(color.value, [0, 1], [backgroundColor, pressedBackgroundColor]),\n borderColor: interpolateColor(color.value, [0, 1], [borderColor, pressedBorderColor]),\n };\n });\n\n const handlePressIn = (): void => {\n color.value = withSpring(1);\n pressed.value = 1;\n };\n\n const handlePressOut = (): void => {\n color.value = withSpring(0);\n pressed.value = 0;\n };\n\n return {\n onPressIn: handlePressIn,\n onPressOut: handlePressOut,\n animatedStyles,\n };\n};\n","import type { TypographyColor } from '../../../typography/Typography';\n\ninterface GetCurrentTextColorParams {\n isDisabled?: boolean;\n isSelected?: boolean;\n isPressed?: boolean;\n isHovered?: boolean;\n isFocused?: boolean;\n}\n\nexport function getCurrentTextColor({\n isDisabled,\n isSelected,\n isPressed,\n isHovered,\n isFocused,\n}: GetCurrentTextColorParams): TypographyColor {\n if (isDisabled) return 'black-light';\n\n if (isSelected) return 'white';\n\n if (isPressed) return 'white';\n\n if (isFocused) return 'white';\n\n if (isHovered && !isSelected) return 'black';\n\n return 'black';\n}\n","import type { ReactElement, ReactNode } from 'react';\nimport type { GestureResponderEvent } from 'react-native';\nimport { Platform } from 'react-native';\nimport { Pressable, View } from '../../native-base/primitives';\nimport { Typography } from '../../typography/Typography';\nimport { AnimatedContainer } from './AnimatedContainer/AnimatedContainer';\nimport { HoverBorder } from './HoverBorder';\nimport { useNativeAnimation } from './hooks/useNativeAnimation';\nimport { getCurrentTextColor } from './utils/getCurrentTextColor';\n\nexport interface RadioButtonProps<V> {\n children: ReactNode;\n isFirst?: boolean;\n isLast?: boolean;\n disabled?: boolean;\n value: V;\n selected?: boolean;\n stretch?: boolean;\n /**\n * @internal Used to display pressed UI for testing and storybook purpose\n */\n isPressedInternal?: boolean;\n /**\n * @internal Used to display hovered UI for testing and storybook purpose\n */\n isHoveredInternal?: boolean;\n /**\n * @internal Used to display focused UI for testing and storybook purpose\n */\n isFocusedInternal?: boolean;\n onChange?: (value?: V) => void;\n onFocus?: (e?: any | GestureResponderEvent) => void;\n onBlur?: (e?: any | GestureResponderEvent) => void;\n}\n\nexport function RadioButton<V>({\n children,\n value,\n selected,\n isFirst,\n isLast,\n disabled,\n stretch,\n isHoveredInternal,\n isPressedInternal,\n isFocusedInternal,\n onChange,\n onFocus,\n onBlur,\n}: RadioButtonProps<V>): ReactElement {\n const { onPressIn, onPressOut, animatedStyles } = useNativeAnimation({\n isDisabled: disabled,\n isSelected: selected,\n isPressedInternal,\n });\n\n const handlePress = (e: GestureResponderEvent): void => {\n if (onFocus) onFocus(e);\n\n if (onChange) onChange(value);\n\n if (onBlur) onBlur(e);\n };\n\n return (\n <Pressable\n accessibilityRole=\"radiogroup\"\n accessibilityState={{ checked: selected }}\n flex={stretch ? 1 : undefined}\n disabled={disabled}\n onPress={handlePress}\n onPressIn={onPressIn}\n onPressOut={onPressOut}\n onFocus={onFocus}\n onBlur={onBlur}\n >\n {({ isHovered, isPressed, isFocused }) => (\n <AnimatedContainer\n animatedStyles={animatedStyles}\n isFocused={isFocused || isFocusedInternal}\n isPressed={isPressed || isPressedInternal}\n isSelected={selected}\n isDisabled={disabled}\n isFirst={isFirst}\n isLast={isLast}\n >\n <View\n paddingX=\"kitt.forms.radioButtonGroup.item.padding.horizontal\"\n paddingY=\"kitt.forms.radioButtonGroup.item.padding.vertical\"\n alignItems=\"center\"\n >\n <Typography.SetDefaultColor\n value={getCurrentTextColor({\n isSelected: selected || isPressedInternal,\n isPressed,\n isHovered: isHovered || isHoveredInternal,\n isDisabled: disabled,\n isFocused: isFocused || isFocusedInternal,\n })}\n >\n {children}\n </Typography.SetDefaultColor>\n {Platform.OS === 'web' ? (\n <HoverBorder\n isFirst={isFirst}\n isLast={isLast}\n isSelected={selected}\n isHovered={isHovered || isHoveredInternal}\n isPressed={isPressed || isPressedInternal}\n isFocused={isFocused || isFocusedInternal}\n />\n ) : null}\n </View>\n </AnimatedContainer>\n )}\n </Pressable>\n );\n}\n","import type { ReactElement, ReactNode } from 'react';\nimport { Children, cloneElement, useState } from 'react';\nimport type { ViewProps } from '../../native-base/primitives';\nimport { View } from '../../native-base/primitives';\nimport type { RadioButtonProps } from './RadioButton';\nimport { RadioButton } from './RadioButton';\n\ntype InternalInheritedProps =\n | 'isFirst'\n | 'isLast'\n | 'selected'\n | 'stretch'\n | 'disabled'\n | 'onChange'\n | 'onFocus'\n | 'onBlur';\n\ninterface RadioButtonGroupItemProps<V> extends Omit<RadioButtonProps<V>, InternalInheritedProps> {}\n\nfunction RadioButtonGroupItem<V>({ ...props }: RadioButtonGroupItemProps<V>): ReactElement {\n return <RadioButton {...props} />;\n}\n\nexport interface RadioButtonGroupProps<V> extends Exclude<ViewProps, 'onBlur' | 'onFocus'> {\n children: ReactNode;\n disabled?: boolean;\n hovered?: boolean;\n selected?: boolean;\n stretch?: boolean;\n value?: V;\n onChange?: (newValue: V) => void;\n onFocus?: (e?: any) => void;\n onBlur?: (e?: any) => void;\n}\n\nexport function RadioButtonGroup<V>({\n children,\n stretch,\n value,\n disabled,\n onFocus,\n onBlur,\n onChange,\n ...props\n}: RadioButtonGroupProps<V>): ReactElement {\n const [currentValue, setCurrentValue] = useState(value);\n\n const handleChange = (newValue: V): void => {\n if (disabled) return;\n\n setCurrentValue(newValue);\n if (onChange) onChange(newValue);\n };\n\n const childrenArray = Children.toArray(children) as ReactElement<RadioButtonProps<V>, typeof RadioButton>[];\n\n return (\n <View flexDirection=\"row\" flexWrap=\"wrap\" {...props}>\n {childrenArray.map((child, index) => {\n const clone = cloneElement<RadioButtonProps<V>>(child, {\n stretch,\n disabled,\n selected: child.props.value === currentValue,\n isFirst: index === 0,\n isLast: index === childrenArray.length - 1,\n onChange: handleChange,\n onFocus,\n onBlur,\n } as any);\n\n return clone;\n })}\n </View>\n );\n}\n\nRadioButtonGroup.RadioButton = RadioButtonGroupItem;\n","import type { ReactElement } from 'react';\nimport { forwardRef } from 'react';\nimport type { TextInput as RNTextInput } from 'react-native';\nimport type { InputTextProps } from '../InputText/InputText';\nimport { InputText } from '../InputText/InputText';\n\nexport interface TextAreaProps extends InputTextProps {}\n\nexport const TextArea = forwardRef<RNTextInput, TextAreaProps>(({ ...props }: TextAreaProps, ref): ReactElement => {\n return <InputText ref={ref} multiline textAlignVertical=\"top\" minHeight=\"kitt.forms.textArea.minHeight\" {...props} />;\n});\n","import type { ReactElement, ReactNode } from 'react';\nimport 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): ReactElement {\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 { ReactElement } 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): ReactElement {\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 type { ReactElement, ReactNode } from 'react';\nimport { StyleSheet } from 'react-native';\nimport Animated, { Easing, useAnimatedStyle, withTiming } from 'react-native-reanimated';\nimport { useTheme } from '../../KittThemeContext';\n\nexport interface NativeOpacityAnimationProps {\n visible?: boolean;\n children: ReactNode;\n}\n\nexport function NativeOpacityAnimation({ visible, children }: NativeOpacityAnimationProps): ReactElement {\n const theme = useTheme();\n\n const opacityStyle = useAnimatedStyle(() => {\n const { duration, easing } = theme.kitt.fullscreenModal.animation.overlay;\n const [x1, y1, x2, y2] = easing;\n\n return {\n opacity: withTiming(visible ? 1 : 0, { duration, easing: Easing.bezier(x1, y1, x2, y2) }),\n };\n });\n\n return <Animated.View style={[StyleSheet.absoluteFillObject, opacityStyle]}>{children}</Animated.View>;\n}\n","import type { ReactElement, ReactNode } from 'react';\nimport { useRef } from 'react';\nimport { useWindowDimensions } from 'react-native';\nimport Animated, { Easing, runOnJS, useAnimatedStyle, withTiming } from 'react-native-reanimated';\nimport { useTheme } from '../../KittThemeContext';\nimport type { FullscreenModalAnimationProps } from '../FullscreenModalAnimation';\n\nexport interface NativeSlideInAnimationProps {\n children: ReactNode;\n visible?: FullscreenModalAnimationProps['visible'];\n onEntered?: FullscreenModalAnimationProps['onEntered'];\n onExited: () => void;\n}\n\nexport function NativeSlideInAnimation({\n visible,\n children,\n onEntered,\n onExited,\n}: NativeSlideInAnimationProps): ReactElement | null {\n const theme = useTheme();\n const { height: wHeight } = useWindowDimensions();\n const hasRunAnimationRef = useRef(false);\n\n function handleAnimationFinished(): void {\n if (visible) {\n if (onEntered) onEntered();\n hasRunAnimationRef.current = true;\n }\n\n // Since animation callback is called on component mount, we must make sure that the animation has been runed once to call it an exit\n if (!visible && hasRunAnimationRef.current) onExited();\n }\n\n const translateStyle = useAnimatedStyle(() => {\n const { duration, easing } = theme.kitt.fullscreenModal.animation.content;\n const [x1, y1, x2, y2] = easing;\n\n return {\n transform: [\n {\n translateY: withTiming(\n visible ? 0 : wHeight,\n { duration, easing: Easing.bezier(x1, y1, x2, y2) },\n (isFinished) => {\n if (!isFinished) return;\n runOnJS(handleAnimationFinished)();\n },\n ),\n },\n ],\n };\n });\n\n return (\n <Animated.View style={[{ transform: [{ translateY: wHeight }] }, translateStyle, { width: '100%', flex: 1 }]}>\n {children}\n </Animated.View>\n );\n}\n","import type { ReactElement, ReactNode } from 'react';\nimport { useEffect, useState } from 'react';\nimport { Modal, Platform } from 'react-native';\nimport type { ModalAnimationComponentProps } from '../ModalBehaviour/type';\nimport { Overlay } from '../Overlay/Overlay';\nimport type { ViewProps } from '../native-base/primitives';\nimport { View } from '../native-base/primitives';\nimport { NativeOpacityAnimation } from './components/NativeOpacityAnimation';\nimport { NativeSlideInAnimation } from './components/NativeSlideInAnimation';\n\nexport interface FullscreenModalAnimationProps extends ViewProps, ModalAnimationComponentProps {\n children: ReactNode;\n}\n\nexport function FullscreenModalAnimation({\n visible,\n children,\n onEnter,\n onEntered,\n onExit,\n onExited,\n}: FullscreenModalAnimationProps): ReactElement {\n const [isModalVisible, setIsModalVisible] = useState(visible);\n const [isContentVisible, setIsContentVisible] = useState(false);\n\n const handleAnimationExited = (): void => {\n setIsModalVisible(false);\n // Android doesn't handle the onDismiss callback on the modal, we need to call it manually\n if (Platform.OS === 'android' && onExited) onExited();\n };\n\n // When parent visibility is set to false, in order to have our exit animation we must in this order :\n // 1 - run the exit animation\n // 2 - once it is done, unmount the Modal\n useEffect(() => {\n const shouldHideContent = !visible && isContentVisible;\n\n if (!shouldHideContent) return;\n\n if (onExit) onExit();\n setIsContentVisible(false);\n }, [visible, isContentVisible, onExit]);\n\n return (\n <Modal\n transparent\n supportedOrientations={['landscape', 'portrait']}\n visible={isModalVisible}\n onShow={() => {\n if (onEnter) onEnter();\n setIsContentVisible(true);\n }}\n onDismiss={() => {\n if (onExited) onExited();\n }}\n >\n <View position=\"relative\" flexGrow={1} justifyContent=\"center\" alignItems=\"center\">\n <NativeOpacityAnimation visible={isContentVisible}>\n <Overlay onPress={handleAnimationExited} />\n </NativeOpacityAnimation>\n <NativeSlideInAnimation visible={isContentVisible} onExited={handleAnimationExited} onEntered={onEntered}>\n <View flexGrow={1}>{children}</View>\n </NativeSlideInAnimation>\n </View>\n </Modal>\n );\n}\n","import type { ReactElement } from 'react';\nimport { useEffect, useState } from 'react';\nimport type { ModalBehaviourProps } from '../ModalBehaviour/ModalBehaviour';\nimport { ModalBehaviour } from '../ModalBehaviour/ModalBehaviour';\nimport type { 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): ReactElement {\n const [isModalBehaviourVisible, setIsModalBehaviourVisible] = useState(visible);\n\n useEffect(() => {\n if (visible === true) {\n setIsModalBehaviourVisible(true);\n }\n }, [visible]);\n\n const handleExitAnimationDone = (): void => {\n if (onExited) onExited();\n setIsModalBehaviourVisible(false);\n };\n\n return (\n <ModalBehaviour visible={isModalBehaviourVisible} onClose={onClose}>\n <FullscreenModalAnimation {...props} visible={visible} onExited={handleExitAnimationDone}>\n {children}\n </FullscreenModalAnimation>\n </ModalBehaviour>\n );\n}\n","import type { ReactElement, 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): ReactElement {\n return (\n <View\n position=\"relative\"\n flex={1}\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 */\n _web={{ minHeight: '100vh', maxHeight: '100vh' }}\n backgroundColor={backgroundColor ?? 'kitt.uiBackgroundLight'}\n >\n {children}\n </View>\n );\n}\n","import type { ReactElement, 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): ReactElement {\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 flex={1} paddingLeft={hasLeft ? 'kitt.2' : undefined} paddingRight={hasRight ? 'kitt.2' : 0}>\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 flex={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 { ReactElement, 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): ReactElement {\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 { ReactElement, ReactNode } from 'react';\nimport { View } from '../native-base/primitives';\n\n/** @deprecated use primary instead */\ntype DeprecatedHighlightVariant = 'regular';\n\ntype HighlightVariant = 'primary' | 'secondary' | 'dark' | DeprecatedHighlightVariant;\n\nexport interface HighlightProps {\n variant?: HighlightVariant;\n children: NonNullable<ReactNode>;\n}\n\nexport function Highlight({ variant = 'regular', children }: HighlightProps): ReactElement {\n return (\n <View\n borderRadius=\"kitt.highlight.borderRadius\"\n padding=\"kitt.highlight.padding\"\n backgroundColor={`kitt.highlight.${variant}.backgroundColor`}\n >\n {children}\n </View>\n );\n}\n","import type { ReactElement, ReactNode } from 'react';\nimport { createContext, useMemo } from 'react';\n\nexport interface KittMapConfigProviderConfig {\n mapId: string;\n apiToken: string;\n}\n\nexport const KittMapConfigProviderContext = createContext<KittMapConfigProviderConfig | undefined>(undefined);\n\nexport interface KittMapProviderProps {\n mapId: string;\n apiToken: string;\n children: ReactNode;\n}\n\nexport function KittMapConfigProvider({ children, mapId, apiToken }: KittMapProviderProps): ReactElement {\n const providerValue = useMemo(\n () => ({\n mapId,\n apiToken,\n }),\n [mapId, apiToken],\n );\n\n return (\n <KittMapConfigProviderContext.Provider value={providerValue}>{children}</KittMapConfigProviderContext.Provider>\n );\n}\n","import { useContext } from 'react';\nimport type { KittMapConfigProviderConfig } from '../KittMapConfigProvider';\nimport { KittMapConfigProviderContext } from '../KittMapConfigProvider';\n\nexport function useKittMapConfig(): KittMapConfigProviderConfig {\n const context = useContext(KittMapConfigProviderContext);\n\n if (!context) {\n throw new Error('<KittMapConfigProvider> missing in the react tree');\n }\n\n return context;\n}\n","import type { ReactElement, ReactNode } from 'react';\nimport type { ViewProps } from 'react-native';\nimport styled from 'styled-components/native';\n\nexport interface ListItemContentProps extends ViewProps {\n children: NonNullable<ReactNode>;\n}\n\nconst ContentView = styled.View`\n flex: 1 0 0%;\n align-self: center;\n`;\n\nexport function ListItemContent({ children, ...rest }: ListItemContentProps): ReactElement {\n return <ContentView {...rest}>{children}</ContentView>;\n}\n","import type { ReactElement, ReactNode } from 'react';\nimport type { ViewProps, ViewStyle } from 'react-native';\nimport styled from 'styled-components/native';\n\nexport interface ListItemSideContainerProps extends ViewProps {\n children: NonNullable<ReactNode>;\n side?: 'left' | 'right';\n}\n\nconst SideContainerView = styled.View<ListItemSideContainerProps>`\n flex-direction: row;\n margin-left: ${({ theme, side }) => (side === 'right' ? `${theme.kitt.listItem.innerMargin}px` : 0)};\n margin-right: ${({ theme, side }) => (side === 'left' ? `${theme.kitt.listItem.innerMargin}px` : 0)};\n`;\n\n// Handles the vertical alignment of the side elements of the list item\nexport function ListItemSideContainer({ children, side = 'left', ...rest }: ListItemSideContainerProps): ReactElement {\n return (\n <SideContainerView side={side} {...rest}>\n {children}\n </SideContainerView>\n );\n}\n\nexport interface ListItemSideContentProps extends ViewProps {\n children: NonNullable<ReactNode>;\n align?: ViewStyle['alignSelf'];\n}\n\nconst SideContentView = styled.View<ListItemSideContentProps>`\n align-self: ${({ align }) => align};\n`;\n\nexport function ListItemSideContent({ children, align = 'auto', ...rest }: ListItemSideContentProps): ReactElement {\n return (\n <SideContentView align={align} {...rest}>\n {children}\n </SideContentView>\n );\n}\n","import type { ReactElement, ReactNode } from 'react';\nimport { Fragment } from 'react';\nimport type { PressableProps, ViewProps } from 'react-native';\nimport { Pressable } from 'react-native';\nimport styled, { css } from 'styled-components/native';\nimport { ListItemContent } from './ListItemContent';\nimport { ListItemSideContainer, ListItemSideContent } from './ListItemSideContent';\n\ntype Borders = 'top' | 'bottom' | 'both';\n\nexport interface ListItemProps extends ViewProps {\n children: NonNullable<ReactNode>;\n left?: ReactNode;\n right?: ReactNode;\n borders?: Borders;\n withPadding?: boolean;\n onPress?: PressableProps['onPress'];\n}\n\ninterface ContainerViewProps extends Pick<ListItemProps, 'borders' | 'withPadding'> {}\n\nconst ContainerView = styled.View<ContainerViewProps>`\n flex-direction: row;\n padding: ${({ withPadding, theme }) => (withPadding ? theme.kitt.listItem.padding : 0)};\n ${({ theme, borders }) => {\n const { borderWidth } = theme.kitt.listItem;\n\n if (borders === 'top') {\n return `border-top-width: ${borderWidth}px`;\n }\n\n if (borders === 'bottom') {\n return `border-bottom-width: ${borderWidth}px`;\n }\n\n if (borders === 'both') {\n return css`\n border-top-width: ${borderWidth}px;\n border-bottom-width: ${borderWidth}px;\n `;\n }\n\n return 'border: none';\n }};\n border-color: ${({ theme }) => theme.kitt.listItem.borderColor};\n background-color: ${({ theme }) => theme.kitt.colors.uiBackgroundLight};\n`;\n\nexport function ListItem({\n children,\n withPadding,\n borders,\n left,\n right,\n onPress,\n ...rest\n}: ListItemProps): ReactElement {\n const Wrapper = onPress ? Pressable : Fragment;\n const wrapperProps = onPress ? { accessibilityRole: 'button', onPress, ...rest } : undefined;\n const containerProps = onPress ? undefined : rest;\n\n return (\n <Wrapper {...(wrapperProps as any)}>\n <ContainerView withPadding={withPadding} borders={borders} {...containerProps}>\n {left ? <ListItemSideContainer side=\"left\">{left}</ListItemSideContainer> : null}\n\n <ListItemContent>{children}</ListItemContent>\n\n {right ? <ListItemSideContainer side=\"right\">{right}</ListItemSideContainer> : null}\n </ContainerView>\n </Wrapper>\n );\n}\n\nListItem.Content = ListItemContent;\nListItem.SideContent = ListItemSideContent;\nListItem.SideContainer = ListItemSideContainer;\n","<svg fill=\"currentColor\" viewBox=\"0 0 54 56\" width=\"54\" xmlns=\"http://www.w3.org/2000/svg\"><linearGradient id=\"marker-large_inline_svg__b\" gradientUnits=\"userSpaceOnUse\" x1=\"26.828\" x2=\"7.181\" y1=\"5.072\" y2=\"39.102\"><stop offset=\"0\" stop-opacity=\".01\"/><stop offset=\"1\"/></linearGradient><filter id=\"marker-large_inline_svg__a\" color-interpolation-filters=\"sRGB\" filterUnits=\"userSpaceOnUse\" height=\"48.706\" width=\"42.761\" x=\"10.437\" y=\"5.167\"><feFlood flood-opacity=\"0\" result=\"BackgroundImageFix\"/><feBlend in=\"SourceGraphic\" in2=\"BackgroundImageFix\" result=\"shape\"/><feGaussianBlur result=\"effect1_foregroundBlur_257_3018\" stdDeviation=\"2.718\"/></filter><mask id=\"marker-large_inline_svg__c\" height=\"43\" maskUnits=\"userSpaceOnUse\" width=\"31\" x=\"3\" y=\"3\"><path d=\"M16.303 44.99a3.002 3.002 0 0 0 4.394 0C29.631 35.38 34 26.678 34 18.938 34 10.12 27.04 3 18.5 3S3 10.12 3 18.938c0 7.74 4.369 16.442 13.303 26.052z\" fill=\"#fff\"/></mask><g filter=\"url(#marker-large_inline_svg__a)\" opacity=\".25\"><path d=\"M24.022 48.149c-3.018 1.02-6.128-.775-6.753-3.899-1.372-6.862-2.799-18.548 1.348-25.73C22.966 10.985 32.545 8.374 40 12.678c7.454 4.303 9.982 13.903 5.63 21.44-4.146 7.182-14.98 11.79-21.608 14.032z\" fill=\"url(#marker-large_inline_svg__b)\"/></g><g mask=\"url(#marker-large_inline_svg__c)\"><path d=\"M3 3h31v43H3z\" fill=\"#4c34e0\"/></g><path d=\"M15.677 46.315c-2.682-3.029-6.253-7.443-9.145-12.356C3.622 29.015 1.5 23.735 1.5 18.938 1.5 9.27 9.152 1.5 18.5 1.5c9.349 0 17 7.771 17 17.438 0 4.797-2.122 10.077-5.032 15.02-2.892 4.914-6.463 9.328-9.145 12.357-1.536 1.735-4.11 1.735-5.646 0z\" stroke=\"#fff\" stroke-width=\"3\"/></svg>","<svg viewBox=\"0 0 40 39\" fill=\"currentColor\" xmlns=\"http://www.w3.org/2000/svg\"><path d=\"M16.417 33.38c-2.3.776-4.668-.592-5.146-2.971-1.059-5.274-2.171-14.297 1.027-19.837 3.348-5.798 10.717-7.806 16.452-4.495 5.735 3.31 7.68 10.697 4.333 16.495-3.198 5.54-11.57 9.088-16.666 10.808z\" fill=\"url(#marker_inline_svg__a)\" opacity=\".25\" filter=\"url(#marker_inline_svg__b)\"/><path d=\"M10.89 29.536a2.81 2.81 0 0 0 4.22 0C20.428 23.492 23 18.054 23 13.256 23 7.58 18.507 3 13 3S3 7.58 3 13.256c0 4.798 2.572 10.236 7.89 16.28z\" fill=\"#4C34E0\"/><mask id=\"marker_inline_svg__c\" style=\"mask-type:alpha\" maskUnits=\"userSpaceOnUse\" x=\"3\" y=\"3\" width=\"20\" height=\"28\"><path d=\"M10.89 29.536a2.81 2.81 0 0 0 4.22 0C20.428 23.492 23 18.054 23 13.256 23 7.58 18.507 3 13 3S3 7.58 3 13.256c0 4.798 2.572 10.236 7.89 16.28z\" fill=\"#fff\"/></mask><g mask=\"url(#marker_inline_svg__c)\"><path fill=\"#4C34E0\" d=\"M3 3h20v27H3z\"/></g><path d=\"M10.374 31c-1.884-2.216-4.125-5.144-5.888-8.307C2.71 19.505 1.5 16.22 1.5 13.256 1.5 6.734 6.681 1.5 13 1.5s11.5 5.234 11.5 11.756c0 2.964-1.21 6.249-2.986 9.437-1.763 3.163-4.004 6.091-5.888 8.307-1.414 1.662-3.838 1.662-5.252 0z\" stroke=\"#fff\" stroke-width=\"3\"/><defs><linearGradient id=\"marker_inline_svg__a\" x1=\"18.616\" y1=\".226\" x2=\"3.501\" y2=\"26.405\" gradientUnits=\"userSpaceOnUse\"><stop stop-opacity=\".01\"/><stop offset=\"1\"/></linearGradient><filter id=\"marker_inline_svg__b\" x=\"6.046\" y=\".339\" width=\"32.817\" height=\"37.4\" filterUnits=\"userSpaceOnUse\" color-interpolation-filters=\"sRGB\"><feFlood flood-opacity=\"0\" result=\"BackgroundImageFix\"/><feBlend in=\"SourceGraphic\" in2=\"BackgroundImageFix\" result=\"shape\"/><feGaussianBlur stdDeviation=\"2.071\" result=\"effect1_foregroundBlur_257_3020\"/></filter></defs></svg>","<svg viewBox=\"0 0 47 47\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\"><path fill-rule=\"evenodd\" clip-rule=\"evenodd\" d=\"M23.5 36C30.404 36 36 30.404 36 23.5S30.404 11 23.5 11 11 16.596 11 23.5 16.596 36 23.5 36z\" fill=\"#38836D\" opacity=\".8\" filter=\"url(#position-marker_inline_svg__a)\"/><path d=\"M31 18.5a7.5 7.5 0 1 1-15 0 7.5 7.5 0 0 1 15 0z\" fill=\"#fff\" stroke=\"#38836D\" stroke-width=\"10\"/><circle cx=\"23.5\" cy=\"18.5\" r=\"2.5\" fill=\"#fff\"/><defs><filter id=\"position-marker_inline_svg__a\" x=\".127\" y=\".127\" width=\"46.746\" height=\"46.746\" filterUnits=\"userSpaceOnUse\" color-interpolation-filters=\"sRGB\"><feFlood flood-opacity=\"0\" result=\"BackgroundImageFix\"/><feBlend in=\"SourceGraphic\" in2=\"BackgroundImageFix\" result=\"shape\"/><feGaussianBlur stdDeviation=\"5.437\" result=\"effect1_foregroundBlur_257_3019\"/></filter></defs></svg>","import { useSx } from 'native-base';\nimport type { ColorType } from 'native-base/lib/typescript/components/types';\nimport type { ReactElement } from 'react';\nimport LargeMarkerSvg from './assets/marker-large.inline.svg';\nimport DefaultMarkerSvg from './assets/marker.inline.svg';\nimport PositionMarkerSvg from './assets/position-marker.inline.svg';\n\ninterface BaseMarkerWithSizeProps {\n width: number;\n height: number;\n}\n\ninterface BaseMarkerWithoutSizeProps {\n width?: never;\n height?: never;\n}\n\ninterface BaseMarkerWithColorProp {\n color?: ColorType;\n}\n\nexport type MapMarkerProps = BaseMarkerWithSizeProps | BaseMarkerWithoutSizeProps;\n\nexport function MapMarkerSimple({\n width = 40,\n height = 39,\n color = 'kitt.primary',\n}: MapMarkerProps & BaseMarkerWithColorProp): ReactElement {\n const sx = useSx();\n const styles = sx({\n color,\n });\n\n return <DefaultMarkerSvg width={width} height={height} color={styles.color} />;\n}\n\nexport function MapMarkerLarge({\n width = 54,\n height = 56,\n color = 'kitt.primary',\n}: MapMarkerProps & BaseMarkerWithColorProp): ReactElement {\n const sx = useSx();\n const styles = sx({\n color,\n });\n\n return <LargeMarkerSvg width={width} height={height} color={styles.color} />;\n}\n\nexport function MapMarkerPosition({ width = 47, height = 47 }: MapMarkerProps): ReactElement {\n return <PositionMarkerSvg width={width} height={height} />;\n}\n","import { AlertCircleIcon, AlertTriangleIcon, CheckIcon, InfoIcon } from '@ornikar/kitt-icons';\nimport type { ReactElement } from 'react';\nimport type { TypographyColor } from '../typography/Typography';\nimport type { MessageType } from './BaseMessage';\n\ninterface IconContentProps {\n type: MessageType;\n color: TypographyColor;\n}\n\nexport function IconContent({ type, color }: IconContentProps): ReactElement {\n switch (type) {\n case 'warning':\n return <AlertCircleIcon color={color} />;\n case 'success':\n return <CheckIcon color={color} />;\n case 'danger':\n return <AlertTriangleIcon color={color} />;\n default:\n return <InfoIcon color={color} />;\n }\n}\n","import type { IconButtonProps } from '../IconButton/IconButton';\nimport type { TypographyColor } from '../typography/Typography';\nimport type { MessageType } from './BaseMessage';\n\nexport const getColorByType = (type: MessageType): TypographyColor => {\n switch (type) {\n case 'success':\n return 'white';\n case 'danger':\n return 'white';\n case 'warning':\n default:\n return 'black';\n }\n};\n\nexport const getIconButtonColor = (messageType: MessageType): IconButtonProps['color'] => {\n switch (messageType) {\n case 'success':\n case 'danger':\n return 'white';\n case 'warning':\n default:\n return 'black';\n }\n};\n","import { XIcon } from '@ornikar/kitt-icons';\nimport type { ReactElement, ReactNode } from 'react';\nimport type { EdgeInsets } from 'react-native-safe-area-context';\nimport { Icon } from '../Icon/Icon';\nimport { IconButton } from '../IconButton/IconButton';\nimport { HStack } from '../native-base/layout';\nimport { View } from '../native-base/primitives';\nimport { Typography } from '../typography/Typography';\nimport { IconContent } from './IconContent';\nimport { getColorByType, getIconButtonColor } from './helper';\n\nexport type MessageType = 'success' | 'warning' | 'danger' | 'info';\n\nexport interface BaseMessageProps {\n type?: MessageType;\n children: NonNullable<ReactNode>;\n /**\n * @internal for styling between Message and Notification\n */\n hasNoRadius?: boolean;\n centeredText?: boolean;\n insets?: EdgeInsets;\n onDismiss?: () => void;\n}\n\nexport function BaseMessage({\n type = 'info',\n children,\n hasNoRadius,\n centeredText,\n insets,\n onDismiss,\n}: BaseMessageProps): ReactElement {\n const color = getColorByType(type);\n\n return (\n <HStack\n alignItems=\"flex-start\"\n justifyContent=\"space-between\"\n minHeight=\"kitt.feedbackMessage.minHeight\"\n paddingTop={insets?.top}\n borderRadius={hasNoRadius ? undefined : 'kitt.5'}\n backgroundColor={`kitt.feedbackMessage.${type}.backgroundColor`}\n >\n <HStack\n flexGrow={1}\n flexShrink={1}\n alignSelf=\"center\"\n alignItems=\"flex-start\"\n paddingY=\"kitt.4\"\n paddingX=\"kitt.5\"\n >\n {centeredText ? null : (\n <View marginTop=\"kitt.1\" marginRight=\"kitt.5\">\n <Icon color={color} icon={<IconContent type={type} color={color} />} />\n </View>\n )}\n <Typography.Text\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 <IconButton color={getIconButtonColor(type)} icon={<XIcon />} onPress={onDismiss} />\n </View>\n ) : null}\n </HStack>\n );\n}\n","import type { ReactElement } from 'react';\nimport type { BaseMessageProps } from '../BaseMessage/BaseMessage';\nimport { BaseMessage } from '../BaseMessage/BaseMessage';\n\nexport interface MessageProps extends BaseMessageProps {}\n\nexport function Message({\n type = 'info',\n children,\n hasNoRadius,\n centeredText,\n insets,\n onDismiss,\n}: MessageProps): ReactElement {\n return (\n <BaseMessage\n insets={insets}\n hasNoRadius={hasNoRadius}\n type={type}\n centeredText={centeredText}\n onDismiss={onDismiss}\n >\n {children}\n </BaseMessage>\n );\n}\n","import type { NativeBaseProviderProps } from 'native-base';\nimport { NativeBaseProvider, extendTheme } from 'native-base';\nimport type { ReactElement, ReactNode } from 'react';\nimport { useMemo } from 'react';\nimport { Platform } from 'react-native';\nimport type { KittTheme } from '..';\nimport { KittBreakpoints } from '../KittBreakpoints';\nimport { 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 = (spacing: number): KittSizeRecord => {\n const MAX_SIZE = 64;\n const sizes: KittSizeRecord = {\n positive: {},\n negative: {},\n };\n for (let size = 1; size <= MAX_SIZE; size++) {\n sizes.positive[`kitt.${size}` as KittSize] = size * spacing;\n sizes.negative[`-kitt.${size}` as KittNegativeSize] = -size * spacing;\n }\n return sizes;\n};\n\n// reset native-base to be able to set size / space as a number\n// https://docs.nativebase.io/next/default-theme#h2-size\nconst overridenNativeBaseSizeandSpaceScale = Object.fromEntries(\n [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 12, 16, 20, 24, 32, 40, 48, 56, 64, 72, 80, 96, 0.5, 1.5, 2.5, 3.5].map((value) => [\n value,\n value,\n ]),\n);\n\nexport interface AppKittThemeExtensionsBreakpoints {}\nexport interface AppKittThemeExtensionsColors {}\nexport interface AppKittThemeExtensionsSizes {}\nexport interface AppKittThemeExtensionsSpace {}\nexport interface AppKittThemeExtensionsShadows {}\nexport interface AppKittThemeExtensionsOpacity {}\nexport interface AppKittThemeExtensionsBorderWidths {}\nexport interface AppKittThemeExtensionsRadii {}\n\nexport interface AppKittThemeExtensions {\n sizes: AppKittThemeExtensionsSpace;\n space: AppKittThemeExtensionsSpace;\n shadows: AppKittThemeExtensionsShadows;\n opacity: AppKittThemeExtensionsOpacity;\n borderWidths: AppKittThemeExtensionsBorderWidths;\n colors: AppKittThemeExtensionsColors;\n radii: AppKittThemeExtensionsRadii;\n breakpoints: AppKittThemeExtensionsBreakpoints;\n}\n\nexport type ExtensibleNativeBaseThemeKey =\n | 'sizes'\n | 'space'\n | 'shadows'\n | 'opacity'\n | 'borderWidths'\n | 'colors'\n | 'radii'\n | 'breakpoints';\n\nexport type ExtensibleNativeBaseAppThemeConfig = Partial<Record<ExtensibleNativeBaseThemeKey, Record<string, any>>>;\n\ntype ValidAppTheme<T> = T extends ExtensibleNativeBaseAppThemeConfig ? T : never;\n\nexport type AppTheme = Partial<ValidAppTheme<AppKittThemeExtensions>>;\n\n// eslint-disable-next-line @typescript-eslint/explicit-module-boundary-types, @typescript-eslint/explicit-function-return-type -- let typescript infer types\nexport function createKittNativeBaseCustomTheme(theme: Theme, appTheme?: AppTheme) {\n const spaces = createKittSpaces(theme.spacing);\n\n const appBreakpoints: AppKittThemeExtensionsBreakpoints =\n appTheme?.breakpoints || ({} as AppKittThemeExtensionsBreakpoints);\n\n const extendedTheme = extendTheme({\n colors: {\n kitt: {\n ...theme.colors,\n actionCard: {\n secondary: {\n default: {\n backgroundColor: theme.actionCard.secondary.default.backgroundColor,\n borderColor: theme.actionCard.secondary.default.borderColor,\n },\n disabled: {\n backgroundColor: theme.actionCard.secondary.disabled.backgroundColor,\n borderColor: theme.actionCard.secondary.disabled.borderColor,\n },\n hovered: {\n backgroundColor: theme.actionCard.secondary.hovered.backgroundColor,\n borderColor: theme.actionCard.secondary.hovered.borderColor,\n },\n focused: {\n backgroundColor: theme.actionCard.secondary.focused.backgroundColor,\n borderColor: theme.actionCard.secondary.focused.borderColor,\n },\n pressed: {\n backgroundColor: theme.actionCard.secondary.pressed.backgroundColor,\n borderColor: theme.actionCard.secondary.pressed.borderColor,\n },\n },\n primary: {\n default: {\n backgroundColor: theme.actionCard.primary.default.backgroundColor,\n borderColor: theme.actionCard.primary.default.borderColor,\n },\n disabled: {\n backgroundColor: theme.actionCard.primary.disabled.backgroundColor,\n borderColor: theme.actionCard.primary.disabled.borderColor,\n },\n hovered: {\n backgroundColor: theme.actionCard.primary.hovered.backgroundColor,\n borderColor: theme.actionCard.primary.hovered.borderColor,\n },\n focused: {\n backgroundColor: theme.actionCard.primary.focused.backgroundColor,\n borderColor: theme.actionCard.primary.focused.borderColor,\n },\n pressed: {\n backgroundColor: theme.actionCard.primary.pressed.backgroundColor,\n borderColor: theme.actionCard.primary.pressed.borderColor,\n },\n },\n 'primary-border-soft': {\n default: {\n backgroundColor: theme.actionCard['primary-border-soft'].default.backgroundColor,\n borderColor: theme.actionCard['primary-border-soft'].default.borderColor,\n },\n disabled: {\n backgroundColor: theme.actionCard['primary-border-soft'].disabled.backgroundColor,\n borderColor: theme.actionCard['primary-border-soft'].disabled.borderColor,\n },\n hovered: {\n backgroundColor: theme.actionCard['primary-border-soft'].hovered.backgroundColor,\n borderColor: theme.actionCard['primary-border-soft'].hovered.borderColor,\n },\n focused: {\n backgroundColor: theme.actionCard['primary-border-soft'].focused.backgroundColor,\n borderColor: theme.actionCard['primary-border-soft'].focused.borderColor,\n },\n pressed: {\n backgroundColor: theme.actionCard['primary-border-soft'].pressed.backgroundColor,\n borderColor: theme.actionCard['primary-border-soft'].pressed.borderColor,\n },\n },\n 'primary-border-hard': {\n default: {\n backgroundColor: theme.actionCard['primary-border-hard'].default.backgroundColor,\n borderColor: theme.actionCard['primary-border-hard'].default.borderColor,\n },\n disabled: {\n backgroundColor: theme.actionCard['primary-border-hard'].disabled.backgroundColor,\n borderColor: theme.actionCard['primary-border-hard'].disabled.borderColor,\n },\n hovered: {\n backgroundColor: theme.actionCard['primary-border-hard'].hovered.backgroundColor,\n borderColor: theme.actionCard['primary-border-hard'].hovered.borderColor,\n },\n focused: {\n backgroundColor: theme.actionCard['primary-border-hard'].focused.backgroundColor,\n borderColor: theme.actionCard['primary-border-hard'].focused.borderColor,\n },\n pressed: {\n backgroundColor: theme.actionCard['primary-border-hard'].pressed.backgroundColor,\n borderColor: theme.actionCard['primary-border-hard'].pressed.borderColor,\n },\n },\n highlight: {\n default: {\n backgroundColor: theme.actionCard.highlight.default.backgroundColor,\n borderColor: theme.actionCard.highlight.default.borderColor,\n },\n disabled: {\n backgroundColor: theme.actionCard.highlight.disabled.backgroundColor,\n borderColor: theme.actionCard.highlight.disabled.borderColor,\n },\n hovered: {\n backgroundColor: theme.actionCard.highlight.hovered.backgroundColor,\n borderColor: theme.actionCard.highlight.hovered.borderColor,\n },\n focused: {\n backgroundColor: theme.actionCard.highlight.focused.backgroundColor,\n borderColor: theme.actionCard.highlight.focused.borderColor,\n },\n pressed: {\n backgroundColor: theme.actionCard.highlight.pressed.backgroundColor,\n borderColor: theme.actionCard.highlight.pressed.borderColor,\n },\n },\n },\n avatar: {\n default: {\n backgroundColor: theme.colors.primary,\n },\n light: {\n backgroundColor: theme.palettes.lateOcean.black100,\n },\n },\n button: {\n default: theme.button.default,\n primary: theme.button.primary,\n danger: theme.button.danger,\n white: theme.button.white,\n subtle: theme.button.subtle,\n 'subtle-dark': theme.button['subtle-dark'],\n disabled: theme.button.disabled,\n },\n tooltip: {\n backgroundColor: theme.tooltip.backgroundColor,\n },\n typography: theme.typography.colors,\n palettes: theme.palettes,\n feedbackMessage: {\n danger: { backgroundColor: theme.feedbackMessage.danger.backgroundColor },\n info: { backgroundColor: theme.feedbackMessage.info.backgroundColor },\n success: { backgroundColor: theme.feedbackMessage.success.backgroundColor },\n warning: { backgroundColor: theme.feedbackMessage.warning.backgroundColor },\n },\n forms: {\n input: {\n states: theme.forms.input.states,\n },\n radioButtonGroup: {\n item: {\n borderColor: theme.forms.radioButtonGroup.item.borderColor,\n backgroundColor: theme.forms.radioButtonGroup.item.backgroundColor,\n },\n },\n checkbox: {\n markColor: theme.forms.checkbox.markColor,\n checked: {\n backgroundColor: theme.forms.checkbox.checked.backgroundColor,\n borderColor: theme.forms.checkbox.checked.borderColor,\n },\n hover: {\n backgroundColor: theme.forms.checkbox.hover.backgroundColor,\n borderColor: theme.forms.checkbox.hover.borderColor,\n },\n pressed: {\n backgroundColor: theme.forms.checkbox.pressed.backgroundColor,\n borderColor: theme.forms.checkbox.pressed.borderColor,\n },\n focus: {\n backgroundColor: theme.forms.checkbox.focus.backgroundColor,\n borderColor: theme.forms.checkbox.focus.borderColor,\n },\n default: {\n backgroundColor: theme.forms.checkbox.default.backgroundColor,\n borderColor: theme.forms.checkbox.default.borderColor,\n },\n },\n radio: {\n checked: {\n backgroundColor: theme.forms.radio.checked.backgroundColor,\n borderColor: theme.forms.radio.checked.borderColor,\n },\n hover: {\n backgroundColor: theme.forms.radio.hover.backgroundColor,\n borderColor: theme.forms.radio.hover.borderColor,\n },\n pressed: {\n backgroundColor: theme.forms.radio.pressed.backgroundColor,\n borderColor: theme.forms.radio.pressed.borderColor,\n },\n focus: {\n backgroundColor: theme.forms.radio.pressed.backgroundColor,\n borderColor: theme.forms.radio.pressed.borderColor,\n },\n disabled: {\n backgroundColor: theme.forms.radio.disabled.backgroundColor,\n borderColor: theme.forms.radio.disabled.borderColor,\n },\n default: {\n backgroundColor: theme.forms.radio.unchecked.backgroundColor,\n borderColor: theme.forms.radio.unchecked.borderColor,\n },\n innerCircle: {\n backgroundColor: theme.forms.radio.checked.innerBackgroundColor,\n },\n },\n },\n skeleton: {\n backgroundColor: theme.skeleton.backgroundColor,\n flareColor: theme.skeleton.flareColor,\n },\n iconButton: {\n borderColor: theme.iconButton.borderColor,\n disabled: {\n borderColor: theme.iconButton.disabled.borderColor,\n backgroundColor: theme.iconButton.disabled.backgroundColor,\n },\n black: {\n pressed: {\n backgroundColor: theme.iconButton.default.pressedBackgroundColor,\n },\n },\n white: {\n pressed: {\n backgroundColor: theme.iconButton.white.pressedBackgroundColor,\n },\n },\n primary: {\n pressed: {\n backgroundColor: theme.iconButton.primary.pressedBackgroundColor,\n },\n },\n },\n highlight: {\n regular: {\n backgroundColor: theme.highlight.regular.backgroundColor,\n },\n primary: {\n backgroundColor: theme.highlight.primary.backgroundColor,\n },\n secondary: {\n backgroundColor: theme.highlight.secondary.backgroundColor,\n },\n dark: {\n backgroundColor: theme.highlight.dark.backgroundColor,\n },\n },\n },\n app: appTheme?.colors,\n },\n radii: {\n // Make original native base values unusable\n lg: Number.MAX_SAFE_INTEGER,\n md: Number.MAX_SAFE_INTEGER,\n sm: Number.MAX_SAFE_INTEGER,\n xl: Number.MAX_SAFE_INTEGER,\n '2xl': Number.MAX_SAFE_INTEGER,\n '3xl': Number.MAX_SAFE_INTEGER,\n xs: Number.MAX_SAFE_INTEGER,\n\n // Allow values like kitt.X\n ...spaces.positive,\n\n kitt: {\n actionCard: {\n borderRadius: theme.actionCard.borderRadius,\n },\n avatar: {\n borderRadius: theme.avatar.borderRadius,\n large: {\n borderRadius: theme.avatar.large.borderRadius,\n },\n },\n borderRadius: theme.card.borderRadius,\n button: {\n borderRadius: theme.button.borderRadius,\n },\n card: {\n borderRadius: theme.card.borderRadius,\n },\n cardModal: {\n borderRadius: theme.cardModal.borderRadius,\n },\n dialogModal: {\n borderRadius: theme.dialogModal.borderRadius,\n },\n forms: {\n input: {\n borderRadius: theme.forms.input.borderRadius,\n },\n radioButtonGroup: {\n item: {\n borderRadius: theme.forms.radioButtonGroup.item.borderRadius,\n },\n },\n checkbox: {\n borderRadius: theme.forms.checkbox.borderRadius,\n },\n radio: {\n borderRadius: theme.forms.radio.size * 0.5,\n innerCircle: {\n borderRadius: theme.forms.radio.checked.innerSize * 0.5,\n },\n },\n },\n highlight: {\n borderRadius: theme.highlight.borderRadius,\n },\n iconButton: {\n borderRadius: theme.iconButton.borderRadius,\n },\n tooltip: {\n borderRadius: theme.tooltip.borderRadius,\n },\n skeleton: {\n shape: {\n bar: {\n borderRadius: theme.skeleton.shape.bar.borderRadius,\n },\n circle: {\n borderRadius: theme.skeleton.shape.circle.borderRadius,\n },\n square: {\n borderRadius: theme.skeleton.shape.square.borderRadius,\n },\n },\n },\n },\n app: appTheme?.radii,\n },\n borderWidths: {\n kitt: {\n actionCard: {\n secondary: {\n default: {\n borderWidth: theme.actionCard.secondary.default.borderWidth,\n },\n disabled: {\n borderWidth: theme.actionCard.secondary.disabled.borderWidth,\n },\n hovered: {\n borderWidth: theme.actionCard.secondary.hovered.borderWidth,\n },\n focused: {\n borderWidth: theme.actionCard.secondary.focused.borderWidth,\n },\n pressed: {\n borderWidth: theme.actionCard.secondary.pressed.borderWidth,\n },\n },\n primary: {\n default: {\n borderWidth: theme.actionCard.primary.default.borderWidth,\n },\n disabled: {\n borderWidth: theme.actionCard.primary.disabled.borderWidth,\n },\n hovered: {\n borderWidth: theme.actionCard.primary.hovered.borderWidth,\n },\n focused: {\n borderWidth: theme.actionCard.primary.focused.borderWidth,\n },\n pressed: {\n borderWidth: theme.actionCard.primary.pressed.borderWidth,\n },\n },\n '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 iconButton: {\n borderWidth: theme.iconButton.borderWidth,\n },\n forms: {\n input: {\n borderWidth: theme.forms.input.borderWidth,\n },\n radioButtonGroup: {\n item: {\n borderWidth: theme.forms.radioButtonGroup.item.borderWidth,\n },\n },\n checkbox: {\n borderWidth: theme.forms.checkbox.borderWidth,\n },\n radio: {\n borderWidth: theme.forms.radio.unchecked.borderWidth,\n },\n },\n cardModal: {\n header: {\n borderWidth: theme.cardModal.header.borderWidth,\n },\n footer: {\n borderWidth: theme.cardModal.footer.borderWidth,\n },\n },\n },\n app: appTheme?.borderWidths,\n },\n sizes: {\n ...spaces.positive,\n ...spaces.negative,\n ...overridenNativeBaseSizeandSpaceScale,\n kitt: {\n avatar: {\n size: theme.avatar.size,\n iconSize: theme.avatar.iconSize,\n large: {\n size: theme.avatar.large.size,\n iconSize: theme.avatar.large.iconSize,\n },\n },\n button: {\n minWidth: theme.button.minWidth,\n maxWidth: theme.button.maxWidth,\n minHeight: theme.button.minHeight,\n },\n icon: {\n defaultSize: 20,\n },\n cardModal: {\n header: {\n height: theme.cardModal.header.height,\n },\n maxWidth: theme.cardModal.maxWidth,\n maxWidthWithPadding: theme.cardModal.maxWidthWithPadding,\n },\n dialogModal: {\n maxWidth: theme.dialogModal.maxWidth,\n overlayPadding: theme.dialogModal.overlayPadding,\n },\n feedbackMessage: {\n minHeight: theme.feedbackMessage.minHeight,\n },\n forms: {\n datePicker: {\n minHeight: theme.forms.input.minHeight,\n day: {\n minWidth: theme.forms.datePicker.day.minWidth,\n },\n month: {\n minWidth: theme.forms.datePicker.month.minWidth,\n },\n year: {\n minWidth: theme.forms.datePicker.year.minWidth,\n },\n },\n input: {\n minHeight: theme.forms.input.minHeight,\n },\n radioButtonGroup: {\n item: {\n minHeight: theme.forms.radioButtonGroup.item.minHeight,\n },\n },\n checkbox: {\n height: theme.forms.checkbox.height,\n width: theme.forms.checkbox.width,\n iconSize: theme.forms.checkbox.iconSize,\n textSpacing: theme.forms.checkbox.textSpacing,\n },\n radio: {\n size: theme.forms.radio.size,\n innerCircle: {\n size: theme.forms.radio.checked.innerSize,\n },\n },\n textArea: {\n minHeight: theme.forms.textArea.minHeight,\n },\n },\n iconButton: {\n size: theme.iconButton.width - theme.iconButton.borderWidth,\n width: theme.iconButton.width,\n height: theme.iconButton.height,\n },\n fullscreenModal: {\n header: {\n height: theme.fullscreenModal.header.height,\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 },\n app: appTheme?.sizes,\n },\n space: {\n ...spaces.positive,\n ...spaces.negative,\n ...overridenNativeBaseSizeandSpaceScale,\n kitt: {\n bottomSheet: {\n container: {\n padding: theme.bottomSheet.container.padding,\n },\n },\n button: {\n padding: theme.button.padding,\n },\n cardModal: {\n overlayPadding: theme.dialogModal.overlayPadding,\n },\n dialogModal: {\n overlayPadding: theme.dialogModal.overlayPadding,\n },\n forms: {\n datePicker: {\n padding: theme.forms.input.padding,\n },\n input: {\n padding: theme.forms.input.padding,\n },\n radioButtonGroup: {\n item: {\n padding: theme.forms.radioButtonGroup.item.padding,\n },\n },\n },\n fullscreenModal: {\n horizontalPadding: theme.fullscreenModal.sharedHorizontalPadding,\n body: {\n verticalPadding: theme.fullscreenModal.body.verticalPadding,\n },\n footer: {\n verticalPadding: theme.fullscreenModal.footer.verticalPadding,\n },\n },\n highlight: {\n padding: theme.highlight.padding,\n },\n tooltip: {\n horizontalPadding: theme.tooltip.horizontalPadding,\n verticalPadding: theme.tooltip.verticalPadding,\n floatingPadding: theme.tooltip.floatingPadding,\n },\n },\n app: appTheme?.space,\n },\n breakpoints: {\n // kitt breakpoints\n base: KittBreakpoints.BASE,\n small: KittBreakpoints.SMALL,\n medium: KittBreakpoints.MEDIUM,\n large: KittBreakpoints.LARGE,\n wide: KittBreakpoints.WIDE,\n\n // native base default naming\n sm: Number.MAX_SAFE_INTEGER,\n md: Number.MAX_SAFE_INTEGER,\n lg: Number.MAX_SAFE_INTEGER,\n xl: Number.MAX_SAFE_INTEGER,\n '2xl': Number.MAX_SAFE_INTEGER,\n\n // Breakpoints can't be nested in objects\n ...appBreakpoints,\n },\n\n fontSizes: {\n baseAndSmall: {\n header1: `${theme.typography.types.headers.configs.header1.baseAndSmall.fontSize}px`,\n header2: `${theme.typography.types.headers.configs.header2.baseAndSmall.fontSize}px`,\n header3: `${theme.typography.types.headers.configs.header3.baseAndSmall.fontSize}px`,\n header4: `${theme.typography.types.headers.configs.header4.baseAndSmall.fontSize}px`,\n header5: `${theme.typography.types.headers.configs.header5.baseAndSmall.fontSize}px`,\n 'body-large': `${theme.typography.types.bodies.configs['body-large'].baseAndSmall.fontSize}px`,\n 'body-medium': `${theme.typography.types.bodies.configs['body-medium'].baseAndSmall.fontSize}px`,\n body: `${theme.typography.types.bodies.configs.body.baseAndSmall.fontSize}px`,\n 'body-small': `${theme.typography.types.bodies.configs['body-small'].baseAndSmall.fontSize}px`,\n 'body-xsmall': `${theme.typography.types.bodies.configs['body-xsmall'].baseAndSmall.fontSize}px`,\n },\n mediumAndWide: {\n header1: `${theme.typography.types.headers.configs.header1.mediumAndWide.fontSize}px`,\n header2: `${theme.typography.types.headers.configs.header2.mediumAndWide.fontSize}px`,\n header3: `${theme.typography.types.headers.configs.header3.mediumAndWide.fontSize}px`,\n header4: `${theme.typography.types.headers.configs.header4.mediumAndWide.fontSize}px`,\n header5: `${theme.typography.types.headers.configs.header5.mediumAndWide.fontSize}px`,\n 'body-large': `${theme.typography.types.bodies.configs['body-large'].mediumAndWide.fontSize}px`,\n 'body-medium': `${theme.typography.types.bodies.configs['body-medium'].mediumAndWide.fontSize}px`,\n body: `${theme.typography.types.bodies.configs.body.mediumAndWide.fontSize}px`,\n 'body-small': `${theme.typography.types.bodies.configs['body-small'].mediumAndWide.fontSize}px`,\n 'body-xsmall': `${theme.typography.types.bodies.configs['body-xsmall'].mediumAndWide.fontSize}px`,\n },\n },\n lineHeights: {\n baseAndSmall: {\n header1: theme.typography.types.headers.configs.header1.baseAndSmall.lineHeight,\n header2: theme.typography.types.headers.configs.header2.baseAndSmall.lineHeight,\n header3: theme.typography.types.headers.configs.header3.baseAndSmall.lineHeight,\n header4: theme.typography.types.headers.configs.header4.baseAndSmall.lineHeight,\n header5: theme.typography.types.headers.configs.header5.baseAndSmall.lineHeight,\n 'body-large': theme.typography.types.bodies.configs['body-large'].baseAndSmall.lineHeight,\n 'body-medium': theme.typography.types.bodies.configs['body-medium'].baseAndSmall.lineHeight,\n body: theme.typography.types.bodies.configs.body.baseAndSmall.lineHeight,\n 'body-small': theme.typography.types.bodies.configs['body-small'].baseAndSmall.lineHeight,\n 'body-xsmall': theme.typography.types.bodies.configs['body-xsmall'].baseAndSmall.lineHeight,\n },\n mediumAndWide: {\n header1: theme.typography.types.headers.configs.header1.mediumAndWide.lineHeight,\n header2: theme.typography.types.headers.configs.header2.mediumAndWide.lineHeight,\n header3: theme.typography.types.headers.configs.header3.mediumAndWide.lineHeight,\n header4: theme.typography.types.headers.configs.header4.mediumAndWide.lineHeight,\n header5: theme.typography.types.headers.configs.header5.mediumAndWide.lineHeight,\n 'body-large': theme.typography.types.bodies.configs['body-large'].mediumAndWide.lineHeight,\n 'body-medium': theme.typography.types.bodies.configs['body-medium'].mediumAndWide.lineHeight,\n body: theme.typography.types.bodies.configs.body.mediumAndWide.lineHeight,\n 'body-small': theme.typography.types.bodies.configs['body-small'].mediumAndWide.lineHeight,\n 'body-xsmall': theme.typography.types.bodies.configs['body-xsmall'].mediumAndWide.lineHeight,\n },\n },\n fontWeights: {\n headers: {\n regular: theme.typography.types.headers.fontWeight,\n bold: theme.typography.types.headers.fontWeight,\n },\n bodies: {\n regular: theme.typography.types.bodies.fontWeight.regular,\n // TODO [https://ornikar.atlassian.net/browse/CME-767] This quick fix should be replaced by a 700 in every case, and native font weights should be handled by expo-fonts\n bold: Platform.OS === 'android' ? 400 : theme.typography.types.bodies.fontWeight.bold,\n },\n },\n fonts: {\n headers:\n Platform.OS === 'web'\n ? theme.typography.types.headers.fontFamily.web\n : theme.typography.types.headers.fontFamily.native,\n bodies:\n Platform.OS === 'web'\n ? theme.typography.types.bodies.fontFamily.web\n : theme.typography.types.bodies.fontFamily.native,\n },\n\n shadows: {\n kitt: {\n shadows: {\n cards: {\n low: {\n shadowColor: theme.shadows.cards.low.color,\n shadowOffset: { width: theme.shadows.cards.low.offsetX, height: theme.shadows.cards.low.offsetY },\n shadowOpacity: theme.shadows.cards.low.opacity,\n shadowRadius: theme.shadows.cards.low.radius,\n },\n medium: {\n shadowColor: theme.shadows.cards.medium.color,\n shadowOffset: { width: theme.shadows.cards.medium.offsetX, height: theme.shadows.cards.medium.offsetY },\n shadowOpacity: theme.shadows.cards.medium.opacity,\n shadowRadius: theme.shadows.cards.medium.radius,\n },\n highBase: {\n shadowColor: theme.shadows.cards.highBase.color,\n shadowOffset: {\n width: theme.shadows.cards.highBase.offsetX,\n height: theme.shadows.cards.highBase.offsetY,\n },\n shadowOpacity: theme.shadows.cards.highBase.opacity,\n shadowRadius: theme.shadows.cards.highBase.radius,\n },\n highMedium: {\n shadowColor: theme.shadows.cards.highMedium.color,\n shadowOffset: {\n width: theme.shadows.cards.highMedium.offsetX,\n height: theme.shadows.cards.highMedium.offsetY,\n },\n shadowOpacity: theme.shadows.cards.highMedium.opacity,\n shadowRadius: theme.shadows.cards.highMedium.radius,\n },\n highLarge: {\n shadowColor: theme.shadows.cards.highLarge.color,\n shadowOffset: {\n width: theme.shadows.cards.highLarge.offsetX,\n height: theme.shadows.cards.highLarge.offsetY,\n },\n shadowOpacity: theme.shadows.cards.highLarge.opacity,\n shadowRadius: theme.shadows.cards.highLarge.radius,\n },\n },\n navigation: {\n left: {\n shadowColor: theme.shadows.navigation.left.color,\n shadowOffset: {\n width: theme.shadows.navigation.left.offsetX,\n height: theme.shadows.navigation.left.offsetY,\n },\n shadowOpacity: theme.shadows.navigation.left.opacity,\n shadowRadius: theme.shadows.navigation.left.radius,\n },\n right: {\n shadowColor: theme.shadows.navigation.right.color,\n shadowOffset: {\n width: theme.shadows.navigation.right.offsetX,\n height: theme.shadows.navigation.right.offsetY,\n },\n shadowOpacity: theme.shadows.navigation.right.opacity,\n shadowRadius: theme.shadows.navigation.right.radius,\n },\n },\n panel: {\n shadowColor: theme.shadows.panel.color,\n shadowOffset: { width: theme.shadows.panel.offsetX, height: theme.shadows.panel.offsetY },\n shadowOpacity: theme.shadows.panel.opacity,\n shadowRadius: theme.shadows.panel.radius,\n },\n },\n actionCard: {\n secondary: {\n default: {\n shadow: {\n shadowColor: theme.actionCard.secondary.default.shadow.color,\n shadowOffset: {\n width: theme.actionCard.secondary.default.shadow.offsetX,\n height: theme.actionCard.secondary.default.shadow.offsetY,\n },\n shadowOpacity: theme.actionCard.secondary.default.shadow.opacity,\n shadowRadius: theme.actionCard.secondary.default.shadow.radius,\n },\n },\n hovered: {\n shadow: {\n shadowColor: theme.actionCard.secondary.hovered.shadow.color,\n shadowOffset: {\n width: theme.actionCard.secondary.hovered.shadow.offsetX,\n height: theme.actionCard.secondary.hovered.shadow.offsetY,\n },\n shadowOpacity: theme.actionCard.secondary.hovered.shadow.opacity,\n shadowRadius: theme.actionCard.secondary.hovered.shadow.radius,\n },\n },\n focused: {\n shadow: {\n shadowColor: theme.actionCard.secondary.focused.shadow.color,\n shadowOffset: {\n width: theme.actionCard.secondary.focused.shadow.offsetX,\n height: theme.actionCard.secondary.focused.shadow.offsetY,\n },\n shadowOpacity: theme.actionCard.secondary.focused.shadow.opacity,\n shadowRadius: theme.actionCard.secondary.focused.shadow.radius,\n },\n },\n pressed: {\n shadow: {\n shadowColor: theme.actionCard.secondary.pressed.shadow.color,\n shadowOffset: {\n width: theme.actionCard.secondary.pressed.shadow.offsetX,\n height: theme.actionCard.secondary.pressed.shadow.offsetY,\n },\n shadowOpacity: theme.actionCard.secondary.pressed.shadow.opacity,\n shadowRadius: theme.actionCard.secondary.pressed.shadow.radius,\n },\n },\n },\n primary: {\n default: {\n shadow: {\n shadowColor: theme.actionCard.primary.default.shadow.color,\n shadowOffset: {\n width: theme.actionCard.primary.default.shadow.offsetX,\n height: theme.actionCard.primary.default.shadow.offsetY,\n },\n shadowOpacity: theme.actionCard.primary.default.shadow.opacity,\n shadowRadius: theme.actionCard.primary.default.shadow.radius,\n },\n },\n hovered: {\n shadow: {\n shadowColor: theme.actionCard.primary.hovered.shadow.color,\n shadowOffset: {\n width: theme.actionCard.primary.hovered.shadow.offsetX,\n height: theme.actionCard.primary.hovered.shadow.offsetY,\n },\n shadowOpacity: theme.actionCard.primary.hovered.shadow.opacity,\n shadowRadius: theme.actionCard.primary.hovered.shadow.radius,\n },\n },\n focused: {\n shadow: {\n shadowColor: theme.actionCard.primary.focused.shadow.color,\n shadowOffset: {\n width: theme.actionCard.primary.focused.shadow.offsetX,\n height: theme.actionCard.primary.focused.shadow.offsetY,\n },\n shadowOpacity: theme.actionCard.primary.focused.shadow.opacity,\n shadowRadius: theme.actionCard.primary.focused.shadow.radius,\n },\n },\n pressed: {\n shadow: {\n shadowColor: theme.actionCard.highlight.pressed.shadow.color,\n shadowOffset: {\n width: theme.actionCard.highlight.pressed.shadow.offsetX,\n height: theme.actionCard.highlight.pressed.shadow.offsetY,\n },\n shadowOpacity: theme.actionCard.highlight.pressed.shadow.opacity,\n shadowRadius: theme.actionCard.highlight.pressed.shadow.radius,\n },\n },\n },\n 'primary-border-soft': {\n default: {\n shadow: {\n shadowColor: theme.actionCard['primary-border-soft'].default.shadow.color,\n shadowOffset: {\n width: theme.actionCard['primary-border-soft'].default.shadow.offsetX,\n height: theme.actionCard['primary-border-soft'].default.shadow.offsetY,\n },\n shadowOpacity: theme.actionCard['primary-border-soft'].default.shadow.opacity,\n shadowRadius: theme.actionCard['primary-border-soft'].default.shadow.radius,\n },\n },\n hovered: {\n shadow: {\n shadowColor: theme.actionCard['primary-border-soft'].hovered.shadow.color,\n shadowOffset: {\n width: theme.actionCard['primary-border-soft'].hovered.shadow.offsetX,\n height: theme.actionCard['primary-border-soft'].hovered.shadow.offsetY,\n },\n shadowOpacity: theme.actionCard['primary-border-soft'].hovered.shadow.opacity,\n shadowRadius: theme.actionCard['primary-border-soft'].hovered.shadow.radius,\n },\n },\n focused: {\n shadow: {\n shadowColor: theme.actionCard['primary-border-soft'].focused.shadow.color,\n shadowOffset: {\n width: theme.actionCard['primary-border-soft'].focused.shadow.offsetX,\n height: theme.actionCard['primary-border-soft'].focused.shadow.offsetY,\n },\n shadowOpacity: theme.actionCard['primary-border-soft'].focused.shadow.opacity,\n shadowRadius: theme.actionCard['primary-border-soft'].focused.shadow.radius,\n },\n },\n pressed: {\n shadow: {\n shadowColor: theme.actionCard['primary-border-soft'].pressed.shadow.color,\n shadowOffset: {\n width: theme.actionCard['primary-border-soft'].pressed.shadow.offsetX,\n height: theme.actionCard['primary-border-soft'].pressed.shadow.offsetY,\n },\n shadowOpacity: theme.actionCard['primary-border-soft'].pressed.shadow.opacity,\n shadowRadius: theme.actionCard['primary-border-soft'].pressed.shadow.radius,\n },\n },\n },\n 'primary-border-hard': {\n default: {\n shadow: {\n shadowColor: theme.actionCard['primary-border-hard'].default.shadow.color,\n shadowOffset: {\n width: theme.actionCard['primary-border-hard'].default.shadow.offsetX,\n height: theme.actionCard['primary-border-hard'].default.shadow.offsetY,\n },\n shadowOpacity: theme.actionCard['primary-border-hard'].default.shadow.opacity,\n shadowRadius: theme.actionCard['primary-border-hard'].default.shadow.radius,\n },\n },\n hovered: {\n shadow: {\n shadowColor: theme.actionCard['primary-border-hard'].hovered.shadow.color,\n shadowOffset: {\n width: theme.actionCard['primary-border-hard'].hovered.shadow.offsetX,\n height: theme.actionCard['primary-border-hard'].hovered.shadow.offsetY,\n },\n shadowOpacity: theme.actionCard['primary-border-hard'].hovered.shadow.opacity,\n shadowRadius: theme.actionCard['primary-border-hard'].hovered.shadow.radius,\n },\n },\n focused: {\n shadow: {\n shadowColor: theme.actionCard['primary-border-hard'].focused.shadow.color,\n shadowOffset: {\n width: theme.actionCard['primary-border-hard'].focused.shadow.offsetX,\n height: theme.actionCard['primary-border-hard'].focused.shadow.offsetY,\n },\n shadowOpacity: theme.actionCard['primary-border-hard'].focused.shadow.opacity,\n shadowRadius: theme.actionCard['primary-border-hard'].focused.shadow.radius,\n },\n },\n pressed: {\n shadow: {\n shadowColor: theme.actionCard['primary-border-hard'].pressed.shadow.color,\n shadowOffset: {\n width: theme.actionCard['primary-border-hard'].pressed.shadow.offsetX,\n height: theme.actionCard['primary-border-hard'].pressed.shadow.offsetY,\n },\n shadowOpacity: theme.actionCard['primary-border-hard'].pressed.shadow.opacity,\n shadowRadius: theme.actionCard['primary-border-hard'].pressed.shadow.radius,\n },\n },\n },\n highlight: {\n default: {\n shadow: {\n shadowColor: theme.actionCard.highlight.default.shadow.color,\n shadowOffset: {\n width: theme.actionCard.highlight.default.shadow.offsetX,\n height: theme.actionCard.highlight.default.shadow.offsetY,\n },\n shadowOpacity: theme.actionCard.highlight.default.shadow.opacity,\n shadowRadius: theme.actionCard.highlight.default.shadow.radius,\n },\n },\n hovered: {\n shadow: {\n shadowColor: theme.actionCard.highlight.hovered.shadow.color,\n shadowOffset: {\n width: theme.actionCard.highlight.hovered.shadow.offsetX,\n height: theme.actionCard.highlight.hovered.shadow.offsetY,\n },\n shadowOpacity: theme.actionCard.highlight.hovered.shadow.opacity,\n shadowRadius: theme.actionCard.highlight.hovered.shadow.radius,\n },\n },\n focused: {\n shadow: {\n shadowColor: theme.actionCard.highlight.focused.shadow.color,\n shadowOffset: {\n width: theme.actionCard.highlight.focused.shadow.offsetX,\n height: theme.actionCard.highlight.focused.shadow.offsetY,\n },\n shadowOpacity: theme.actionCard.highlight.focused.shadow.opacity,\n shadowRadius: theme.actionCard.highlight.focused.shadow.radius,\n },\n },\n pressed: {\n shadow: {\n shadowColor: theme.actionCard.highlight.pressed.shadow.color,\n shadowOffset: {\n width: theme.actionCard.highlight.pressed.shadow.offsetX,\n height: theme.actionCard.highlight.pressed.shadow.offsetY,\n },\n shadowOpacity: theme.actionCard.highlight.pressed.shadow.opacity,\n shadowRadius: theme.actionCard.highlight.pressed.shadow.radius,\n },\n },\n },\n },\n cardModal: {\n shadow: {\n shadowColor: theme.cardModal.shadow.color,\n shadowOffset: { width: theme.cardModal.shadow.offsetX, height: theme.cardModal.shadow.offsetY },\n shadowOpacity: theme.cardModal.shadow.opacity,\n shadowRadius: theme.cardModal.shadow.radius,\n },\n },\n dialogModal: {\n shadow: {\n shadowColor: theme.dialogModal.shadow.color,\n shadowOffset: { width: theme.dialogModal.shadow.offsetX, height: theme.dialogModal.shadow.offsetY },\n shadowOpacity: theme.dialogModal.shadow.opacity,\n shadowRadius: theme.dialogModal.shadow.radius,\n },\n },\n },\n app: appTheme?.shadows,\n },\n\n opacity: {\n app: appTheme?.opacity,\n kitt: {\n tooltip: {\n opacity: theme.tooltip.opacity,\n },\n },\n },\n\n components: {\n Input: {\n baseStyle: {\n width: '100%',\n minHeight: theme.forms.input.minHeight,\n py: theme.forms.input.padding.vertical,\n px: theme.forms.input.padding.horizontal,\n borderRadius: theme.forms.input.borderRadius,\n _disabled: {\n opacity: 1, // override default native-base opacity\n },\n _light: {\n color: theme.forms.input.states.default.color,\n placeholderTextColor: theme.forms.input.color.placeholder,\n borderColor: theme.forms.input.states.default.borderColor,\n bg: theme.forms.input.states.default.backgroundColor,\n _hover: {\n borderColor: theme.forms.input.states.hover.borderColor,\n color: theme.forms.input.states.hover.color,\n _focus: {\n borderColor: theme.forms.input.states.focus.borderColor,\n color: theme.forms.input.states.focus.color,\n },\n },\n _focus: {\n borderColor: theme.forms.input.states.focus.borderColor,\n color: theme.forms.input.states.focus.color,\n _hover: {\n borderColor: theme.forms.input.states.focus.borderColor,\n color: theme.forms.input.states.focus.color,\n },\n _stack: {\n style: {\n outlineWidth: 0,\n boxShadow: 'none',\n },\n },\n _ios: {\n selectionColor: theme.forms.input.color.selection,\n },\n _android: {\n selectionColor: theme.forms.input.color.selection,\n },\n },\n _invalid: {\n borderColor: theme.forms.input.states.invalid.borderColor,\n color: theme.forms.input.states.invalid.color,\n _hover: {\n borderColor: theme.forms.input.states.hover.borderColor,\n color: theme.forms.input.states.hover.color,\n },\n },\n _ios: {\n selectionColor: theme.forms.input.color.selection,\n },\n _android: {\n selectionColor: theme.forms.input.color.selection,\n },\n _disabled: {\n placeholderTextColor: theme.forms.input.states.disabled.color,\n color: theme.forms.input.states.disabled.color,\n borderColor: theme.forms.input.states.disabled.borderColor,\n bg: theme.forms.input.states.disabled.backgroundColor,\n },\n },\n },\n variants: {\n outline: {\n borderWidth: theme.forms.input.borderWidth,\n _focus: {\n bg: theme.forms.input.states.default.backgroundColor,\n },\n },\n underlined: {},\n rounded: {},\n filled: {},\n unstyled: {},\n },\n },\n Text: {\n baseStyle: {\n _light: {\n color: 'kitt.typography.black',\n },\n _dark: {\n color: 'kitt.typography.white',\n },\n fontFamily:\n Platform.OS === 'web'\n ? theme.typography.types.bodies.fontFamily.web.regular\n : theme.typography.types.bodies.fontFamily.native.regular,\n fontStyle: theme.typography.types.bodies.fontStyle.regular,\n fontWeight: theme.typography.types.bodies.fontWeight.regular,\n fontSize: undefined,\n lineHeight: theme.typography.types.bodies.configs.body.baseAndSmall.lineHeight,\n },\n },\n },\n });\n\n return { ...extendedTheme, space: extendedTheme.space as typeof spaces.positive & typeof spaces.negative };\n}\n\ntype KittNativeBaseCustomTheme = ReturnType<typeof createKittNativeBaseCustomTheme>;\n\ndeclare module 'native-base' {\n interface ICustomTheme extends KittNativeBaseCustomTheme {}\n}\n\nexport interface KittNativeBaseProviderProps {\n /**\n * `theme` should come from `useKittTheme`\n */\n theme: KittTheme;\n isSSR: NativeBaseProviderProps['isSSR'];\n /**\n * `appTheme` is optional and provides extended theme configuration. It's a native-base representation of your application theme.\n * This variable must not change at each render\n */\n appTheme?: AppTheme;\n children: ReactNode;\n}\n\n/**\n * Provide theme to native-base\n *\n * `appTheme` is optional and provides extended theme configuration. This variable must not change at each render\n *\n * @exemple\n * ```tsx\n * const appTheme = {};\n * export function MyAppThemeProvider({ children }) {\n * const theme = useKittTheme();\n * return <KittNativeBaseProvider theme={theme} appTheme={appTheme}>{children}</KittNativeBaseProvider>\n * }\n * ```\n */\nexport function KittNativeBaseProvider({\n theme,\n isSSR,\n appTheme,\n children,\n}: KittNativeBaseProviderProps): ReactElement {\n const kittTheme = theme.kitt;\n\n const nativeBaseCustomTheme = useMemo(\n () => createKittNativeBaseCustomTheme(kittTheme, appTheme),\n [kittTheme, appTheme],\n );\n\n 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 { useBreakpointValue } from 'native-base';\nimport type { ReactElement } from 'react';\nimport { useEffect, useState } from 'react';\nimport type { CardModalAnimationProps } from '../CardModal/CardModalAnimation/CardModalAnimation';\nimport { CardModalAnimation } from '../CardModal/CardModalAnimation/CardModalAnimation';\nimport { CardModalScrollContainer } from '../CardModal/CardModalBehaviour';\nimport { FullscreenModalAnimation } from '../FullscreenModal/FullscreenModalAnimation';\nimport type { ModalBehaviourProps } from '../ModalBehaviour/ModalBehaviour';\nimport { ModalBehaviour } from '../ModalBehaviour/ModalBehaviour';\nimport type { ModalAnimationComponentProps } from '../ModalBehaviour/type';\n\ninterface SimpleContainerProps extends CardModalAnimationProps {}\n\nfunction SimpleContainer({ children }: SimpleContainerProps): ReactElement {\n return children as ReactElement;\n}\n\ntype AnimationComponentType = typeof CardModalAnimation | typeof FullscreenModalAnimation;\ntype CurrentContainerComponentType = typeof SimpleContainer | typeof CardModalScrollContainer;\n\nexport interface NavigationModalBehaviourProps extends ModalBehaviourProps, ModalAnimationComponentProps {\n onClose: () => void;\n}\n\nexport function NavigationModalBehaviour({\n children,\n visible,\n appear = true,\n onExited,\n onEnter,\n onExit,\n onClose,\n ...props\n}: NavigationModalBehaviourProps): ReactElement {\n const AnimationComponent: AnimationComponentType = useBreakpointValue({\n base: FullscreenModalAnimation,\n small: CardModalAnimation,\n });\n\n const CurrentContainerComponent: CurrentContainerComponentType = useBreakpointValue({\n base: SimpleContainer,\n small: CardModalScrollContainer,\n });\n\n const [isModalBehaviourVisible, setIsModalBehaviourVisible] = useState(visible);\n const [shouldAppear, setShouldAppear] = useState(appear);\n\n useEffect(() => {\n if (visible === true) {\n setIsModalBehaviourVisible(true);\n }\n }, [visible]);\n\n const handleExitAnimationDone = (): void => {\n if (onExited) onExited();\n setIsModalBehaviourVisible(false);\n };\n\n const handleEnter = (): void => {\n if (onEnter) onEnter();\n\n // Once a children as been displayed, we force appear to false in order to avoid replaying animation on breakpoint change\n setShouldAppear(false);\n };\n\n const handleExit = (): void => {\n if (onExit) onExit();\n\n // Reset appear value to its original value for future modal display\n setShouldAppear(appear);\n };\n\n return (\n <ModalBehaviour visible={isModalBehaviourVisible} onClose={onClose}>\n <CurrentContainerComponent bounces={false} contentContainerStyle={{ flexGrow: 1 }}>\n <AnimationComponent\n {...props}\n appear={shouldAppear}\n visible={visible}\n onEnter={handleEnter}\n onExit={handleExit}\n onExited={handleExitAnimationDone}\n onClose={onClose}\n >\n {children}\n </AnimationComponent>\n </CurrentContainerComponent>\n </ModalBehaviour>\n );\n}\n","import { useBreakpointValue } from 'native-base';\nimport type { ReactElement } 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 { NavigationModalBehaviour } from './NavigationModalBehaviour';\n\nexport interface NavigationModalProps extends FullscreenModalProps {}\n\nexport function NavigationModal({ body, backgroundColor, footer, header }: NavigationModalProps): ReactElement {\n const Component: typeof FullscreenModal | typeof CardModal = useBreakpointValue({\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): ReactElement {\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): ReactElement {\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): ReactElement {\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 { ReactElement } from 'react';\nimport { BaseMessage } from '../BaseMessage/BaseMessage';\nimport type { BaseMessageProps } from '../BaseMessage/BaseMessage';\n\nexport interface NotificationProps extends BaseMessageProps {\n /**\n * @deprecated use onDismiss instead\n */\n onDelete?: BaseMessageProps['onDismiss'];\n}\n\nexport function Notification({\n type,\n children,\n centeredText,\n insets,\n onDelete,\n onDismiss,\n}: NotificationProps): ReactElement {\n if (__DEV__) {\n if (onDelete) {\n throw new Error('onDelete is deprecated us onDismiss instead');\n }\n }\n\n return (\n <BaseMessage hasNoRadius type={type} centeredText={centeredText} insets={insets} onDismiss={onDismiss}>\n {children}\n </BaseMessage>\n );\n}\n","import type { ReactElement } from 'react';\nimport Animated, { useAnimatedProps } from 'react-native-reanimated';\nimport type { CircleProps } from 'react-native-svg';\nimport { Circle } from 'react-native-svg';\nimport { useTheme } from '../KittThemeContext';\n\nconst AnimatedCircle = Animated.createAnimatedComponent(Circle);\n\ninterface PageLoaderCircleProps {\n color: CircleProps['stroke'];\n progress: Animated.SharedValue<number>;\n}\n\nexport function AnimatedLoaderCircle({ color, progress }: PageLoaderCircleProps): ReactElement {\n const theme = useTheme();\n\n const { strokeWidth, size } = theme.kitt.pageLoader;\n\n const centerCoord = size * 0.5;\n const radius = centerCoord - strokeWidth;\n const circlePerimeter = 2 * Math.PI * (size * 0.5 - strokeWidth);\n\n const strokeAnimation = useAnimatedProps(() => {\n return {\n strokeDashoffset: circlePerimeter - circlePerimeter * progress.value,\n };\n });\n\n return (\n <AnimatedCircle\n transform-origin=\"center center\"\n strokeWidth={strokeWidth}\n stroke={color}\n strokeLinecap=\"round\"\n cx={centerCoord}\n cy={centerCoord}\n r={radius}\n fill=\"none\"\n strokeDasharray={circlePerimeter}\n animatedProps={strokeAnimation}\n />\n );\n}\n","import type { ReactElement } from 'react';\nimport { useEffect } from 'react';\nimport { Easing, useSharedValue, withDelay, withTiming } from 'react-native-reanimated';\nimport Svg from 'react-native-svg';\nimport { useTheme } from '../KittThemeContext';\nimport { AnimatedLoaderCircle } from './AnimatedLoaderCircle';\n\nexport function AnimatedBackgroundCircle(): ReactElement {\n const theme = useTheme();\n const progress = useSharedValue(0);\n\n const { animation, colors, size } = theme.kitt.pageLoader;\n\n useEffect(() => {\n const { delay, circleBackgroundFillDuration, fillEasingFunction } = animation;\n const [x1, y1, x2, y2] = fillEasingFunction;\n\n progress.value = withDelay(\n delay,\n withTiming(1, { duration: circleBackgroundFillDuration, easing: Easing.bezier(x1, y1, x2, y2) }),\n );\n }, [progress, animation]);\n\n return (\n <Svg width={size} height={size} viewBox={`0 0 ${size} ${size}`}>\n <AnimatedLoaderCircle color={colors.base} progress={progress} />\n </Svg>\n );\n}\n","import type { ReactElement, ReactNode } from 'react';\nimport { useEffect } from 'react';\nimport { StyleSheet } from 'react-native';\nimport Animated, {\n Easing,\n useAnimatedStyle,\n useSharedValue,\n withDelay,\n withRepeat,\n withTiming,\n} from 'react-native-reanimated';\nimport { useTheme } from '../KittThemeContext';\n\nconst isInfinitAnimation = -1;\n\ninterface AnimatedFillCircleContainerProps {\n children: NonNullable<ReactNode>;\n duration: number;\n}\n\nexport function AnimatedFillCircleContainer({ children, duration }: AnimatedFillCircleContainerProps): ReactElement {\n const theme = useTheme();\n const progress = useSharedValue(0);\n\n const { animation } = theme.kitt.pageLoader;\n\n useEffect(() => {\n const { delay } = animation;\n\n progress.value = withDelay(\n delay,\n withRepeat(withTiming(1, { duration, easing: Easing.linear }), isInfinitAnimation),\n );\n }, [progress, animation, duration]);\n\n const rotationStyles = useAnimatedStyle(() => {\n return {\n transform: [\n {\n rotate: `${360 * progress.value}deg`,\n },\n ],\n };\n });\n\n return <Animated.View style={[StyleSheet.absoluteFill, rotationStyles]}>{children}</Animated.View>;\n}\n","import type { ReactElement } from 'react';\nimport { useEffect } from 'react';\nimport { Easing, useSharedValue, withDelay, withRepeat, withTiming } from 'react-native-reanimated';\nimport Svg from 'react-native-svg';\nimport { useTheme } from '../KittThemeContext';\nimport { AnimatedFillCircleContainer } from './AnimatedFillCircleContainer';\nimport { AnimatedLoaderCircle } from './AnimatedLoaderCircle';\n\nconst isInfinitAnimation = -1;\nconst shouldReverse = true;\n\nexport function AnimatedFilledCircle(): ReactElement {\n const theme = useTheme();\n const progress = useSharedValue(0);\n\n const { size, animation, colors } = theme.kitt.pageLoader;\n\n useEffect(() => {\n const { delay, filledCircleFillDuration, fillEasingFunction } = animation;\n const [x1, y1, x2, y2] = fillEasingFunction;\n\n progress.value = withDelay(\n delay,\n withRepeat(\n withTiming(0.8, { duration: filledCircleFillDuration, easing: Easing.bezier(x1, y1, x2, y2) }),\n isInfinitAnimation,\n shouldReverse,\n ),\n );\n }, [progress, animation]);\n\n return (\n <AnimatedFillCircleContainer duration={animation.groupFilledCircleRotationDuration}>\n <AnimatedFillCircleContainer duration={animation.filledCircleRotationDuration}>\n <Svg width={size} height={size} viewBox={`0 0 ${size} ${size}`}>\n <AnimatedLoaderCircle color={colors.fill} progress={progress} />\n </Svg>\n </AnimatedFillCircleContainer>\n </AnimatedFillCircleContainer>\n );\n}\n","import type { ReactElement, ReactNode } from 'react';\nimport styled from 'styled-components/native';\nimport { AnimatedBackgroundCircle } from './AnimatedBackgroundCircle';\nimport { AnimatedFilledCircle } from './AnimatedFillCircle';\n\ninterface PageLoaderContainerProps {\n children: NonNullable<ReactNode>;\n}\n\nconst PageLoaderContainer = styled.View<PageLoaderContainerProps>`\n /* Needed to make the animation starting from the top of the circles */\n transform: scale(-1) rotate(90deg);\n position: relative;\n width: ${({ theme }) => theme.kitt.pageLoader.size}px;\n height: ${({ theme }) => theme.kitt.pageLoader.size}px;\n`;\n\nexport type PageLoaderProps = Record<string, never>;\n\nexport function PageLoader(props: PageLoaderProps): ReactElement {\n return (\n <PageLoaderContainer>\n <AnimatedBackgroundCircle />\n <AnimatedFilledCircle />\n </PageLoaderContainer>\n );\n}\n","import type { PickerItemProps as NativePickerItemProps } from '@react-native-picker/picker';\nimport type { ReactElement } from 'react';\nimport styled from 'styled-components/native';\nimport { Typography } from '../typography/Typography';\n\nexport interface PickerItemProps<T> extends Pick<NativePickerItemProps<T>, 'label'> {\n isSelected?: boolean;\n value: T;\n onPress?: (value: T) => void;\n}\n\nconst ContainerPressable = styled.Pressable<{ $isSelected?: boolean }>`\n padding: ${({ theme }) => theme.kitt.picker.android.padding};\n background-color: ${({ theme, $isSelected }) =>\n $isSelected\n ? theme.kitt.picker.android.selected.backgroundColor\n : theme.kitt.picker.android.default.backgroundColor};\n`;\n\n// This item is for Android only, iOS uses its own implementation and web is not supported yet\nexport function PickerItem<T>({ label, value, isSelected, onPress }: PickerItemProps<T>): ReactElement {\n return (\n <ContainerPressable\n accessibilityRole=\"button\"\n accessibilityState={{\n selected: isSelected,\n }}\n $isSelected={isSelected}\n onPress={onPress ? () => onPress(value) : undefined}\n >\n <Typography.Text base=\"body\" color={isSelected ? 'white' : undefined}>\n {label}\n </Typography.Text>\n </ContainerPressable>\n );\n}\n","import type { PickerItemProps as NativePickerItemProps } from '@react-native-picker/picker';\nimport { Picker as NativePicker } from '@react-native-picker/picker';\nimport type { ReactElement, ReactNode } from 'react';\nimport React, { cloneElement, useState } from 'react';\nimport { FormattedMessage } from 'react-intl';\nimport { Platform, ScrollView } from 'react-native';\nimport { Button } from '../Button/Button';\nimport { Modal } from '../Modal/Modal';\nimport { theme } from '../themes/default';\nimport { Typography } from '../typography/Typography';\nimport { useMediaQuery } from '../utils/windowSize/useMediaQuery';\nimport type { PickerItemProps } from './PickerItem';\nimport { PickerItem } from './PickerItem';\n\nexport interface PickerProps<T> {\n children: ReactNode;\n isVisible: boolean;\n title: ReactNode;\n initialValue: T;\n validateButtonLabel?: ReactNode;\n testID?: string;\n onValueSelected: (value: T) => void;\n onClose: () => void;\n}\n\nexport function Picker<T>({\n children,\n isVisible,\n title,\n initialValue,\n validateButtonLabel,\n testID,\n onValueSelected,\n onClose,\n}: PickerProps<T>): ReactElement {\n // Max height is based on base Modal sizes (which are not themified): padding (4*20*2) + footer (58) + header (58) + default iOS picker height (216)\n const [isMatchingMaxHeight] = useMediaQuery({\n maxHeight: 492,\n });\n\n const [value, setValue] = useState<T>(initialValue);\n\n const handleValueSelected = (): void => {\n onValueSelected(value);\n\n onClose();\n };\n\n return (\n <Modal visible={isVisible} onClose={onClose}>\n <Modal.Header>\n <Typography.Text base=\"body\" variant=\"bold\">\n {title}\n </Typography.Text>\n </Modal.Header>\n\n {Platform.OS === 'ios' ? (\n <NativePicker<T>\n testID={testID}\n selectedValue={value}\n // As it is displayed in a modal, we must hard code an height to ensure that the picker doesn't bleed out of it\n // We can't set a percentage as it will be computed based on the page height\n itemStyle={{\n ...theme.picker.ios.default,\n height: isMatchingMaxHeight ? theme.picker.ios.landscape.height : theme.picker.ios.default.height,\n }}\n onValueChange={(itemValue) => setValue(itemValue)}\n >\n {React.Children.map(children, (child) => {\n const item = child as ReactElement<NativePickerItemProps<T>>;\n\n // iOS Picker doesn't support a custom Item component, we need to override its props manually for the selected one\n return cloneElement(item, {\n color: item.props.value === value ? theme.picker.ios.selected.color : undefined,\n });\n })}\n </NativePicker>\n ) : (\n <ScrollView testID={testID}>\n {React.Children.map(children, (child) => {\n const item = child as ReactElement<PickerItemProps<T>>;\n\n return cloneElement(item, {\n onPress: (newValue: T) => setValue(newValue),\n isSelected: item.props.value === value,\n });\n })}\n </ScrollView>\n )}\n\n <Modal.Footer>\n <Button stretch type=\"primary\" onPress={handleValueSelected}>\n {validateButtonLabel || <FormattedMessage defaultMessage=\"Valider\" id=\"kitt-universal.Picker.validate\" />}\n </Button>\n </Modal.Footer>\n </Modal>\n );\n}\n\nPicker.Item = PickerItem;\n","<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 { ReactElement } 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): ReactElement {\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 flex={1}\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 { LinearGradient } from 'expo-linear-gradient';\nimport type { ReactElement } from 'react';\nimport { useEffect } from 'react';\nimport { StyleSheet } from 'react-native';\nimport Animated, {\n Easing,\n interpolate,\n useAnimatedStyle,\n useSharedValue,\n withRepeat,\n withTiming,\n} from 'react-native-reanimated';\nimport styled from 'styled-components/native';\nimport { useTheme } from '../KittThemeContext';\n\ninterface SkeletonProps {\n isLoading?: boolean;\n width: number;\n}\n\nconst Container = styled.View`\n background-color: ${({ theme }) => theme.kitt.skeleton.backgroundColor};\n border-color: ${({ theme }) => theme.kitt.skeleton.flareColor};\n height: 100%;\n width: 100%;\n`;\nconst AnimatedLinearGradient = Animated.createAnimatedComponent(LinearGradient);\n\nexport function SkeletonContent({ isLoading, width }: SkeletonProps): ReactElement {\n const theme = useTheme();\n const sharedX = useSharedValue(0);\n\n useEffect(() => {\n if (isLoading) {\n sharedX.value = withRepeat(\n withTiming(1, { duration: theme.kitt.skeleton.animationDuration, easing: Easing.inOut(Easing.ease) }),\n -1,\n );\n }\n }, [sharedX, width, isLoading, theme]);\n\n const linearGradientStyle = useAnimatedStyle(() => {\n return {\n transform: [{ translateX: interpolate(sharedX.value, [0, 1], [-width, width]) }],\n };\n });\n\n return (\n <Container>\n <AnimatedLinearGradient\n colors={[\n theme.kitt.skeleton.backgroundColor,\n theme.kitt.skeleton.flareColor,\n theme.kitt.skeleton.backgroundColor,\n ]}\n locations={[0.1, 0.5, 0.9]}\n start={{ x: 0, y: 0 }}\n end={{ x: 1, y: 0 }}\n style={[StyleSheet.absoluteFill, linearGradientStyle]}\n />\n </Container>\n );\n}\n","import type { ReactElement } from 'react';\nimport { useState } from 'react';\nimport type { StyleProp, ViewStyle } from 'react-native';\nimport type { ViewProps } from '../native-base/primitives';\nimport { View } from '../native-base/primitives';\nimport { SkeletonContent } from './SkeletonContent';\n\nexport interface SkeletonProps extends Omit<ViewProps, 'onLayout'> {\n isLoading?: boolean;\n style?: StyleProp<ViewStyle>;\n}\n\nexport function Skeleton({ isLoading = false, style, ...props }: SkeletonProps): ReactElement {\n const [width, setWidth] = useState(0);\n\n return (\n <View {...props} overflow=\"hidden\" style={style} onLayout={({ nativeEvent }) => setWidth(nativeEvent.layout.width)}>\n <SkeletonContent isLoading={isLoading} width={width} />\n </View>\n );\n}\n\nexport interface BarSkeletonProps extends Omit<SkeletonProps, 'width' | 'height' | 'borderRadius'> {\n size?: number;\n}\n\nfunction Bar({ size, ...props }: BarSkeletonProps): ReactElement {\n const currentBorderRadius = size ? size * 0.5 : 'kitt.skeleton.shape.bar.borderRadius';\n\n return (\n <Skeleton\n {...props}\n width=\"100%\"\n height={size || 'kitt.skeleton.shape.bar.size'}\n borderRadius={currentBorderRadius}\n />\n );\n}\n\nexport interface CircleSkeletonProps extends Omit<SkeletonProps, 'width' | 'height' | 'borderRadius'> {\n size?: number;\n}\n\nfunction Circle({ size, ...props }: CircleSkeletonProps): ReactElement {\n const currentSize = size || 'kitt.skeleton.shape.circle.size';\n const currentBorderRadius = size ? size * 0.5 : 'kitt.skeleton.shape.circle.borderRadius';\n\n return <Skeleton {...props} width={currentSize} height={currentSize} borderRadius={currentBorderRadius} />;\n}\n\nexport interface SquareSkeletonProps extends Omit<SkeletonProps, 'width' | 'height' | 'borderRadius'> {\n size?: number;\n}\n\nfunction Square({ size, ...props }: SquareSkeletonProps): ReactElement {\n const currentSize = size || 'kitt.skeleton.shape.square.size';\n const currentBorderRadius = size ? size * 0.5 : 'kitt.skeleton.shape.square.borderRadius';\n\n return <Skeleton {...props} width={currentSize} height={currentSize} borderRadius={currentBorderRadius} />;\n}\n\nSkeleton.Bar = Bar;\nSkeleton.Circle = Circle;\nSkeleton.Square = Square;\n","export interface MapCenter {\n long: number;\n lat: number;\n zoom: number;\n}\n\nexport interface GetStaticMapImageUrlParams {\n mapId: string;\n apiToken: string;\n mapWidth: number;\n mapHeight: number;\n center: MapCenter;\n is2x?: boolean;\n}\n\nexport function getStaticMapImageUrl({\n mapId,\n apiToken,\n mapWidth,\n mapHeight,\n center,\n is2x,\n}: GetStaticMapImageUrlParams): string {\n const width = Math.round(mapWidth);\n const height = Math.round(mapHeight);\n\n const centerPart = `${center.long},${center.lat},${center.zoom}/`;\n\n const sizePart = `${width}x${height}`;\n\n const urlParts = [\n `https://api.mapbox.com/styles/v1/ornikar/${mapId}/static/`,\n centerPart,\n sizePart,\n is2x ? '@2x' : '',\n ];\n\n const mapImageUrl = new URL(urlParts.join(''));\n mapImageUrl.searchParams.append('access_token', apiToken);\n\n return mapImageUrl.toString();\n}\n","import { useEffect, useRef, useState } from 'react';\nimport { useKittMapConfig } from '../../KittMapConfigProvider/hooks/useKittMapConfig';\nimport type { GetStaticMapImageUrlParams } from '../utils/getStaticMapImageUrl';\nimport { getStaticMapImageUrl } from '../utils/getStaticMapImageUrl';\n\ninterface UseGetStaticMapImageUrlParams extends Omit<GetStaticMapImageUrlParams, 'mapId' | 'apiToken'> {\n forceMapId?: string;\n forceApiToken?: string;\n}\n\nexport function useGetStaticMapImageUrl({\n forceMapId,\n forceApiToken,\n mapWidth,\n mapHeight,\n center,\n is2x,\n}: UseGetStaticMapImageUrlParams): string {\n const { mapId, apiToken } = useKittMapConfig();\n const [currentUrl, setCurrentUrl] = useState<string>('');\n\n const currentMapIdRef = useRef(forceMapId || mapId);\n const currentApiTokenRef = useRef(forceApiToken || apiToken);\n\n useEffect(() => {\n const newUrl = getStaticMapImageUrl({\n center,\n is2x,\n mapHeight,\n mapWidth,\n mapId: currentMapIdRef.current,\n apiToken: currentApiTokenRef.current,\n });\n\n setCurrentUrl(newUrl);\n }, [mapHeight, mapWidth, center, is2x]);\n\n return currentUrl;\n}\n","import { RotateCCWIcon } from '@ornikar/kitt-icons';\nimport type { ReactElement } from 'react';\nimport { IconButton } from '../IconButton/IconButton';\nimport { View } from '../native-base/primitives';\n\ninterface StaticMapErrorProps {\n onReload?: () => void;\n}\n\nexport function StaticMapError({ onReload }: StaticMapErrorProps): ReactElement {\n return (\n <View alignItems=\"center\" justifyContent=\"center\" height=\"100%\" backgroundColor=\"kitt.separator\">\n <IconButton icon={<RotateCCWIcon />} onPress={onReload} />\n </View>\n );\n}\n","import type { ReactElement } from 'react';\nimport { Image } from '../native-base/primitives';\n\ninterface StaticMapImageProps {\n url: string;\n alt?: string;\n width: number;\n height: number;\n onLoadEnd?: () => void;\n onError?: () => void;\n}\n\nexport function StaticMapImage({ url, alt, width, height, onLoadEnd, onError }: StaticMapImageProps): ReactElement {\n return (\n <Image source={{ uri: url }} width={width} height={height} alt={alt} onError={onError} onLoadEnd={onLoadEnd} />\n );\n}\n","import type { ReactElement } from 'react';\nimport { Skeleton } from '../Skeleton/Skeleton';\nimport { View } from '../native-base/primitives';\n\nexport function StaticMapLoader(): ReactElement {\n return (\n <View alignItems=\"center\" justifyContent=\"center\" height=\"100%\">\n <Skeleton isLoading width=\"100%\" height=\"100%\" />\n </View>\n );\n}\n","import type { ReactElement } from 'react';\nimport { MapMarkerLarge, MapMarkerPosition, MapMarkerSimple } from '../MapMarker/MapMarker';\nimport { View } from '../native-base/primitives';\n\ntype MarkerVariant = 'large' | 'position' | 'simple';\n\ninterface MarkerProps {\n variant?: MarkerVariant;\n}\n\nfunction getMarkerPosition(variant: MarkerVariant): [{ translateX: number }, { translateY: number }] {\n if (variant === 'position') return [{ translateX: -2 }, { translateY: 8 }];\n\n if (variant === 'large') return [{ translateX: 8 }, { translateY: -20 }];\n\n return [{ translateX: 6 }, { translateY: -15 }];\n}\n\nexport function StaticMapMarker({ variant = 'simple' }: MarkerProps): ReactElement {\n return (\n <View position=\"absolute\" top=\"0\" left=\"0\" width=\"100%\" height=\"100%\">\n <View\n justifyContent=\"center\"\n alignItems=\"center\"\n height=\"100%\"\n style={{\n transform: getMarkerPosition(variant),\n }}\n >\n {variant === 'position' ? <MapMarkerPosition /> : null}\n {variant === 'large' ? <MapMarkerLarge /> : null}\n {variant === 'simple' ? <MapMarkerSimple /> : null}\n </View>\n </View>\n );\n}\n","export function getRangedWidthValue(nextWidth: number, maxValue: number): number {\n const rangedMapWidth = Math.max(1, Math.min(nextWidth, maxValue));\n\n return rangedMapWidth;\n}\n","import { PixelRatio } from 'react-native';\n\nexport function getShouldDisplay2x(): boolean {\n const currentDevicePixelRatio = PixelRatio.get();\n\n return currentDevicePixelRatio > 1;\n}\n","import type { ReactElement, ReactNode } from 'react';\nimport { useState } from 'react';\nimport type { LayoutChangeEvent } from 'react-native';\nimport type { ViewProps } from '../native-base/primitives';\nimport { View } from '../native-base/primitives';\nimport { StaticMapError } from './StaticMapError';\nimport { StaticMapImage } from './StaticMapImage';\nimport { StaticMapLoader } from './StaticMapLoader';\nimport { StaticMapMarker } from './StaticMapMarker';\nimport { useGetStaticMapImageUrl } from './hooks/useGetStaticMapImageUrl';\nimport { getRangedWidthValue } from './utils/getRangedWidthValue';\nimport { getShouldDisplay2x } from './utils/getShouldDisplay2x';\nimport type { MapCenter } from './utils/getStaticMapImageUrl';\n\nconst mapBoxMaxPictureWidth = 1280;\n\n// Mapbox requestable width for image is between 1 - 1280px\nfunction getPictureWidth(nextWidth: number): number {\n return getRangedWidthValue(nextWidth, mapBoxMaxPictureWidth);\n}\n\nexport interface StaticMapProps extends Omit<ViewProps, 'onLayout'> {\n width?: number;\n height: number;\n alt?: string;\n center: MapCenter;\n marker?: ReactNode;\n /**\n * Mapbox map id.\n * Only use this props if you want to use something different that the config in <KittMapConfigProvider />\n */\n mapId?: string;\n /**\n * Mapbox api access token.\n * Only use this props if you want to use something different that the config in <KittMapConfigProvider />\n */\n apiToken?: string;\n\n onLoaded?: () => void;\n onError?: () => void;\n}\n\nexport function StaticMap({\n width = 0,\n height,\n alt,\n apiToken,\n mapId,\n marker,\n center,\n onLoaded,\n onError,\n ...props\n}: StaticMapProps): ReactElement {\n const [currentWidth, setCurrentWidth] = useState(getPictureWidth(width));\n const [isLoading, setIsLoading] = useState(true);\n const [hasError, setHasError] = useState(false);\n const [currentMapKey, setCurrentMapKey] = useState(0);\n\n const shouldDisplay2xImage = getShouldDisplay2x();\n\n const mapUrl = useGetStaticMapImageUrl({\n forceApiToken: apiToken,\n forceMapId: mapId,\n mapWidth: currentWidth,\n mapHeight: height,\n center,\n is2x: shouldDisplay2xImage,\n });\n\n const handleParentLayout = (event: LayoutChangeEvent): void => {\n const { nativeEvent } = event;\n const rangedMapWidth = getPictureWidth(nativeEvent.layout.width);\n\n setCurrentWidth(rangedMapWidth);\n };\n\n const handleImageLoadEnd = (): void => {\n setIsLoading(false);\n\n if (onLoaded) onLoaded();\n };\n\n const handleError = (): void => {\n setHasError(true);\n\n if (onError) onError();\n };\n\n const handleReload = (): void => {\n setHasError(false);\n setIsLoading(true);\n setCurrentMapKey((prev) => prev + 1);\n };\n\n const shouldDisplayMarker = marker && !isLoading && !hasError;\n\n // Prevents requesting unusable image\n const shouldDisplayPicture = currentWidth > 1 && mapUrl;\n\n return (\n <View\n position=\"relative\"\n maxWidth={mapBoxMaxPictureWidth}\n height={height}\n onLayout={handleParentLayout}\n {...props}\n data-chromatic={process.env.KITT_MAP_CHROMATIC_IGNORE === 'true' ? 'ignore' : undefined}\n >\n {shouldDisplayPicture ? (\n <StaticMapImage\n key={`map-key-${currentMapKey}`}\n url={mapUrl}\n width={currentWidth}\n height={height}\n alt={alt}\n onLoadEnd={handleImageLoadEnd}\n onError={handleError}\n />\n ) : null}\n\n {shouldDisplayMarker ? (\n <View position=\"absolute\" top=\"0\" left=\"0\" width=\"100%\" height=\"100%\">\n {marker}\n </View>\n ) : null}\n\n {isLoading ? (\n <View position=\"absolute\" top=\"0\" left=\"0\" width=\"100%\" height=\"100%\">\n <StaticMapLoader />\n </View>\n ) : null}\n\n {hasError ? (\n <View position=\"absolute\" top=\"0\" left=\"0\" width=\"100%\" height=\"100%\">\n <StaticMapError onReload={handleReload} />\n </View>\n ) : null}\n </View>\n );\n}\n\nStaticMap.Image = StaticMapImage;\nStaticMap.Loader = StaticMapLoader;\nStaticMap.Error = StaticMapError;\nStaticMap.Marker = StaticMapMarker;\n","import type { ViewStyle } from 'react-native';\nimport styled from 'styled-components/native';\n\ninterface FlexProps {\n direction: ViewStyle['flexDirection'];\n padding?: number;\n}\n\nexport const Flex = styled.View.withConfig<FlexProps>({\n shouldForwardProp: (prop, defaultValidatorFn) => !['direction', 'padding'].includes(prop) && defaultValidatorFn(prop),\n})`\n display: flex;\n flex-direction: ${({ direction }) => direction};\n flex-wrap: wrap;\n padding: ${({ theme, padding = 0 }) => padding * theme.kitt.spacing}px;\n`;\n","export const storyPadding = 'kitt.4';\n","import type { ReactElement, ReactNode } from 'react';\nimport { createContext, useContext } from 'react';\nimport type { 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): ReactElement {\n const theme = useTheme();\n return (\n <View\n paddingTop=\"kitt.4\"\n paddingX={storyPadding}\n marginX={`-${storyPadding}`}\n background={getBackgroundColorFromBlockColor(theme, background)}\n >\n <StoryBlockColorContext.Provider value={getTypographyColorFromBlockColor(background)}>\n <StoryBlockBackgroundContext.Provider value={background}>{children}</StoryBlockBackgroundContext.Provider>\n </StoryBlockColorContext.Provider>\n </View>\n );\n}\n","import type { ReactElement, ReactNode } from 'react';\nimport { View } from '../native-base/primitives';\nimport { 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): ReactElement {\n return (\n <View marginBottom={30}>\n <Typography.Header1 variant=\"bold\" base=\"header1\" color={useStoryBlockColor(color)} numberOfLines={numberOfLines}>\n {children}\n </Typography.Header1>\n </View>\n );\n}\n\nfunction StoryTitleLevel2({ color, children, numberOfLines }: StoryTitleProps): ReactElement {\n return (\n <View marginBottom={30}>\n <Typography.Header2 variant=\"bold\" base=\"header2\" color={useStoryBlockColor(color)} numberOfLines={numberOfLines}>\n {children}\n </Typography.Header2>\n </View>\n );\n}\n\nStoryTitleLevel2.displayName = 'StoryTitle.Level2';\n\nfunction StoryTitleLevel3({ color, children, numberOfLines }: StoryTitleProps): ReactElement {\n return (\n <View marginBottom={10}>\n <Typography.Header3\n variant=\"bold\"\n base=\"header3\"\n medium=\"header4\"\n color={useStoryBlockColor(color)}\n numberOfLines={numberOfLines}\n >\n {children}\n </Typography.Header3>\n </View>\n );\n}\n\nStoryTitleLevel3.displayName = 'StoryTitle.Level3';\n\nfunction StoryTitleLevel4({ color, children, numberOfLines }: StoryTitleProps): ReactElement {\n return (\n <View marginBottom={10}>\n <Typography.Header4\n variant=\"bold\"\n base=\"header4\"\n medium=\"header5\"\n color={useStoryBlockColor(color)}\n numberOfLines={numberOfLines}\n >\n {children}\n </Typography.Header4>\n </View>\n );\n}\n\nStoryTitleLevel4.displayName = 'StoryTitle.Level3';\n\nStoryTitle.Level2 = StoryTitleLevel2;\nStoryTitle.Level3 = StoryTitleLevel3;\nStoryTitle.Level4 = StoryTitleLevel4;\n","import type { ReactElement, ReactNode } from 'react';\nimport type { ScrollViewProps } from '../native-base/primitives';\nimport { ScrollView } from '../native-base/primitives';\nimport { StoryTitle } from './StoryTitle';\nimport { storyPadding } from './theme';\n\nexport interface StoryProps {\n title: ReactNode;\n children: ReactNode;\n contentContainerStyle?: ScrollViewProps['contentContainerStyle'];\n}\n\nexport function Story({ title, contentContainerStyle, children }: StoryProps): ReactElement {\n return (\n <ScrollView padding={storyPadding} contentContainerStyle={contentContainerStyle}>\n <StoryTitle>{title}</StoryTitle>\n {children}\n </ScrollView>\n );\n}\n","import type { ReactElement, ReactNode } from 'react';\nimport type { Except } from 'type-fest';\nimport type { ViewProps } from '../native-base/primitives';\nimport { View } from '../native-base/primitives';\nimport { StoryTitle } from './StoryTitle';\n\nexport interface StorySectionProps extends Except<ViewProps, 'marginBottom'> {\n title: ReactNode;\n children: ReactNode;\n /** @private */\n internalIsDemoSection?: boolean;\n}\n\nexport function StorySection({ title, children, internalIsDemoSection, ...props }: StorySectionProps): ReactElement {\n if (title === 'Demo' && !internalIsDemoSection) throw new Error('Use StorySection.Demo instead');\n return (\n <View marginBottom=\"kitt.8\" {...props}>\n <StoryTitle.Level2>{title}</StoryTitle.Level2>\n {children}\n </View>\n );\n}\n\nfunction SubSection({ title, children, ...props }: StorySectionProps): ReactElement {\n return (\n <View marginBottom=\"kitt.4\" {...props}>\n <StoryTitle.Level3>{title}</StoryTitle.Level3>\n {children}\n </View>\n );\n}\n\nfunction BlockSection({ title, children, ...props }: StorySectionProps): ReactElement {\n return (\n <View marginBottom=\"kitt.4\" {...props}>\n <StoryTitle.Level4>{title}</StoryTitle.Level4>\n {children}\n </View>\n );\n}\n\nexport interface DemoSectionProps {\n children: ReactNode;\n}\n\nfunction DemoSection({ children }: DemoSectionProps): ReactElement {\n return (\n <View marginBottom=\"kitt.16\">\n <StorySection internalIsDemoSection title=\"Demo\">\n {children}\n </StorySection>\n </View>\n );\n}\n\nStorySection.SubSection = SubSection;\nStorySection.BlockSection = BlockSection;\n/** @deprecated use StorySection.Demo instead */\nStorySection.DemoSection = DemoSection;\nStorySection.Demo = DemoSection;\n\n/** @deprecated use StorySection instead */\nexport const DeprecatedSection = StorySection;\n","import type { ReactElement, ReactNode } from 'react';\nimport { StorySection } from './StorySection';\n\nexport interface StoryContainerProps {\n children: NonNullable<ReactNode>;\n state?: 'none' | 'active' | 'hover' | 'focus';\n platform?: 'all' | 'native' | 'web';\n title?: ReactNode;\n}\n\nexport function StoryContainer({\n children,\n title,\n state = 'none',\n platform = 'all',\n}: StoryContainerProps): ReactElement | null {\n if (platform === 'web') return null;\n\n return (\n <StorySection.BlockSection testID={state} title={title}>\n {children}\n </StorySection.BlockSection>\n );\n}\n","import type { DecoratorFunction } from '@storybook/addons';\nimport type { ReactElement } 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<ReactElement<unknown>> = (storyFn, context) => {\n return <StoryContainer title={context.name}>{storyFn()}</StoryContainer>;\n};\n","import type { ReactElement, ReactNode } from 'react';\nimport { Children } from 'react';\nimport { Platform } from 'react-native';\nimport type { TypographyProps } from '..';\nimport { View } from '../native-base/primitives';\nimport { StoryTitle } from './StoryTitle';\n\nexport interface StoryGridRowProps {\n children: NonNullable<ReactNode>;\n breakpoint?: 'small' | 'medium';\n}\n\nfunction StoryGridRow({ children, breakpoint = 'small' }: StoryGridRowProps): ReactElement {\n return (\n <View\n flexDirection={{ base: 'column', [breakpoint]: 'row' }}\n marginX={{ [breakpoint]: '-kitt.1' }}\n marginBottom={{ [breakpoint]: 'kitt.4' }}\n >\n {Children.map(children, (child) => (\n <View\n flexGrow={{ [breakpoint]: 1 }}\n flexBasis={{ [breakpoint]: 0 }}\n paddingTop={{ base: 'kitt.2', [breakpoint]: 0 }}\n paddingBottom={{ base: 'kitt.4', [breakpoint]: 0 }}\n marginX={{ [breakpoint]: 'kitt.2' }}\n >\n {child}\n </View>\n ))}\n </View>\n );\n}\n\nexport interface StoryGridColProps {\n children: NonNullable<ReactNode>;\n title?: string;\n titleColor?: TypographyProps['color'];\n platform?: 'all' | 'native' | 'web';\n}\n\nfunction StoryGridCol({ title, titleColor, children, platform = 'all' }: StoryGridColProps): ReactElement | null {\n const isNative = Platform.OS === 'ios' || Platform.OS === 'android';\n\n if (Platform.OS === 'web' && platform === 'native') {\n return null;\n }\n\n if (isNative && platform === 'web') {\n return null;\n }\n\n return (\n <>\n {title ? (\n <StoryTitle.Level4 numberOfLines={1} color={titleColor}>\n {title}\n </StoryTitle.Level4>\n ) : null}\n {children}\n </>\n );\n}\n\nexport const StoryGrid = {\n Row: StoryGridRow,\n Col: StoryGridCol,\n};\n","import type { ReactElement, ReactNode } from 'react';\nimport styled from 'styled-components/native';\nimport { Typography } from '../typography/Typography';\nimport type { TypographyColor } from '../typography/Typography';\n\nexport type TagType = 'primary' | 'default' | 'danger' | 'warn';\n\nexport type TagVariant = 'outline' | 'fill';\n\nexport interface TagProps {\n label: ReactNode;\n type?: TagType;\n variant?: TagVariant;\n}\n\ninterface ContainerProps {\n type: TagType;\n variant: TagVariant;\n}\n\nconst Container = styled.View<ContainerProps>`\n background-color: ${({ theme, type, variant }) => theme.kitt.tag[type][variant].backgroundColor};\n border-width: ${({ theme, type, variant }) => theme.kitt.tag[type][variant].borderWidth}px;\n border-color: ${({ theme, type, variant }) => theme.kitt.tag[type][variant].borderColor};\n padding: ${({ theme }) => theme.kitt.tag.padding};\n border-radius: ${({ theme }) => theme.kitt.tag.borderRadius}px;\n align-self: flex-start;\n`;\n\nexport const getLabelColor = (type: TagType, variant: TagVariant): TypographyColor => {\n switch (type) {\n case 'danger': {\n return variant === 'outline' ? 'danger' : 'white';\n }\n case 'warn': {\n return variant === 'outline' ? 'warning' : 'black';\n }\n case 'primary': {\n return 'primary';\n }\n case 'default': {\n return 'black';\n }\n default: {\n return 'black';\n }\n }\n};\n\nexport function Tag({ label, type = 'default', variant = 'fill' }: TagProps): ReactElement {\n return (\n <Container type={type} variant={variant}>\n <Typography.Text base=\"body-xsmall\" color={getLabelColor(type, variant)}>\n {label}\n </Typography.Text>\n </Container>\n );\n}\n","import { Platform } from 'react-native';\nimport { css } from 'styled-components/native';\nimport type { TypographyTypeConfig } from 'themes/late-ocean/typography';\nimport { KittBreakpoints } from '../KittBreakpoints';\nimport type { KittTheme } from '../useKittTheme';\nimport type { InputUIState } from './utils';\n\n/** @deprecated use native-base instead for SSR compatibility */\nconst getTypographyTypeConfigKey = (theme: KittTheme): keyof TypographyTypeConfig => {\n const isMediumOrAbove = theme.responsive.matchWindowSize({ minWidth: KittBreakpoints.MEDIUM });\n return isMediumOrAbove ? 'mediumAndWide' : 'baseAndSmall';\n};\n\nexport interface TextInputMixinProps {\n $state: InputUIState;\n}\n\n/** @deprecated this mixin is not SSR compatible */\nexport const styledTextInputMixin = css<TextInputMixinProps>`\n background-color: ${({ theme, $state }) =>\n $state === 'disabled'\n ? theme.kitt.forms.input.states.disabled.backgroundColor\n : theme.kitt.forms.input.states.default.backgroundColor};\n\n border-width: ${({ theme }) => theme.kitt.forms.input.borderWidth}px;\n border-radius: ${({ theme }) => theme.kitt.forms.input.borderRadius}px;\n border-color: ${({ theme, $state }) => theme.kitt.forms.input.states[$state].borderColor};\n\n font-size: ${({ theme }) => {\n const typeConfigKey = getTypographyTypeConfigKey(theme);\n return `${theme.kitt.typography.types.bodies.configs.body[typeConfigKey].fontSize}px`;\n }};\n\n color: ${({ theme, $state }) =>\n theme.kitt.forms.input.states[$state].color || theme.kitt.forms.input.states.default.color};\n font-family: ${({ theme }) =>\n Platform.OS === 'web'\n ? theme.kitt.typography.types.bodies.fontFamily.web.regular\n : theme.kitt.typography.types.bodies.fontFamily.native.regular};\n`;\n","import type { DateTimePickerEvent } from '@react-native-community/datetimepicker';\nimport DateTimePicker from '@react-native-community/datetimepicker';\nimport type { ReactElement, ReactNode } from 'react';\nimport { useState } from 'react';\nimport { FormattedMessage } from 'react-intl';\nimport { Platform, Text } from 'react-native';\nimport { Button } from '../Button/Button';\nimport { Modal } from '../Modal/Modal';\nimport { Typography } from '../typography/Typography';\n\ninterface TitleProps {\n children: NonNullable<ReactNode>;\n}\n\nfunction Title({ children }: TitleProps): ReactElement {\n return (\n <Modal.Header>\n <Typography.Text base=\"body\" variant=\"bold\">\n {children}\n </Typography.Text>\n </Modal.Header>\n );\n}\n\ninterface ModalDateTimePickerProps {\n title?: ReactNode;\n visible?: boolean;\n value: Date;\n validateButtonLabel?: string;\n onClose: () => void;\n onChange: (newDate: Date) => void;\n}\n\nexport function ModalDateTimePicker({\n title,\n visible,\n value,\n validateButtonLabel,\n onChange,\n onClose,\n}: ModalDateTimePickerProps): ReactElement {\n const [currentValue, setCurrentValue] = useState(value);\n\n // Prevent unsynced value between the modal and its parent state\n const handleClose = (): void => {\n setCurrentValue(value);\n onClose();\n };\n\n const handleSubmit = (): void => {\n onChange(currentValue);\n };\n\n return (\n <Modal visible={Boolean(visible)} onClose={handleClose}>\n {visible ? (\n <>\n {title ? <Title>{title}</Title> : null}\n\n <Modal.Body>\n <DateTimePicker\n is24Hour\n testID=\"timePicker.ModalDateTimePicker.dateTimeNativePicker\"\n value={currentValue}\n mode=\"time\"\n display={Platform.OS === 'ios' ? 'spinner' : 'default'}\n onChange={(_event: DateTimePickerEvent, date?: Date) =>\n setCurrentValue((prev) => {\n return date || prev;\n })\n }\n />\n </Modal.Body>\n <Modal.Footer>\n <Button stretch type=\"primary\" onPress={handleSubmit}>\n {validateButtonLabel ? (\n <Text>{validateButtonLabel}</Text>\n ) : (\n <FormattedMessage id=\"kitt-universal.ModalDateTimePicker.confirm\" defaultMessage=\"Valider\" />\n )}\n </Button>\n </Modal.Footer>\n </>\n ) : null}\n </Modal>\n );\n}\n","import type { InputUIState } from '@ornikar/kitt-universal';\nimport { useMemo, useState } from 'react';\n\nexport const timePickerPlaceholder = '--:--';\n\nexport const formatNumberToTimeString = (time: number): string => `${String(time).padStart(2, '0')}`;\n\nexport const formatDateToTimeString = (date: Date): string =>\n `${formatNumberToTimeString(date.getHours())}:${formatNumberToTimeString(date.getMinutes())}`;\n\nexport const useTimePicker = (\n value: Date | null,\n onChange: (time?: Date | null) => void,\n onBlur: () => void,\n disabled: boolean,\n defaultValue?: Date | null,\n isDefaultVisible?: boolean,\n): {\n displayedValue: string;\n dateTimePickerValue: Date;\n timePickerState: InputUIState;\n isTimePickerModalVisible: boolean;\n handleInputPress: () => void;\n handleModalClose: () => void;\n handleTimeChange: (date?: Date) => void;\n} => {\n const [isTimePickerModalVisible, setIsTimePickerModalVisible] = useState<boolean>(Boolean(isDefaultVisible));\n\n const todayAtNoon = useMemo(() => {\n const now = new Date(2000, 0, 1, 12);\n return new Date(now.getFullYear(), now.getMonth(), now.getDay(), 12);\n }, []);\n\n const defaultDate = defaultValue || todayAtNoon;\n const handleInputPress = (): void => {\n if (disabled) {\n return;\n }\n setIsTimePickerModalVisible(true);\n };\n\n const handleTimeChange = (date?: Date | null): void => {\n setIsTimePickerModalVisible(false);\n\n onChange(date || defaultDate);\n onBlur();\n };\n\n const dateTimePickerValue = value || defaultDate;\n const displayedValue = value === null ? timePickerPlaceholder : formatDateToTimeString(dateTimePickerValue);\n const timePickerState = isTimePickerModalVisible ? 'focus' : 'default';\n\n return {\n dateTimePickerValue,\n displayedValue,\n timePickerState,\n isTimePickerModalVisible,\n handleInputPress,\n handleTimeChange,\n handleModalClose: () => setIsTimePickerModalVisible(false),\n };\n};\n","import type { TextInputMixinProps } from '@ornikar/kitt-universal';\nimport type { DateTimePickerEvent } from '@react-native-community/datetimepicker';\nimport DateTimePicker from '@react-native-community/datetimepicker';\nimport type { ReactElement, ReactNode } from 'react';\nimport { Platform } from 'react-native';\nimport styled from 'styled-components/native';\nimport { styledTextInputMixin } from '../forms/styledTextInputMixin';\nimport { Typography } from '../typography/Typography';\nimport { ModalDateTimePicker } from './ModalDateTimePicker';\nimport { timePickerPlaceholder, useTimePicker } from './useTimePicker';\n\ninterface ContainerProps extends TextInputMixinProps {}\n\nconst Container = styled.Pressable<ContainerProps>`\n ${styledTextInputMixin}\n width: 100px;\n height: 40px;\n justify-content: center;\n align-items: center;\n`;\n\nexport type TimePickerValue = Date | null | undefined;\n\nexport interface TimePickerProps {\n title?: ReactNode;\n state?: TextInputMixinProps['$state'];\n disabled?: boolean;\n forceDefaultValue?: TimePickerValue;\n value?: Date | '' | null;\n validateButtonLabel?: string;\n isDefaultVisible?: boolean;\n onChange: (time: TimePickerValue) => void;\n onBlur: () => void;\n}\n\nexport function TimePicker({\n title,\n state = 'default',\n disabled = false,\n forceDefaultValue,\n value,\n validateButtonLabel,\n isDefaultVisible,\n onChange,\n onBlur,\n}: TimePickerProps): ReactElement {\n const {\n dateTimePickerValue,\n displayedValue,\n timePickerState,\n handleInputPress,\n handleModalClose,\n handleTimeChange,\n isTimePickerModalVisible,\n } = useTimePicker(value || null, onChange, onBlur, disabled, forceDefaultValue, isDefaultVisible);\n\n return (\n <Container\n $state={timePickerState === 'default' ? state : timePickerState}\n accessibilityRole=\"button\"\n onPress={handleInputPress}\n >\n <Typography.Text base=\"body\" color={displayedValue === timePickerPlaceholder ? 'black-light' : 'black'}>\n {displayedValue}\n </Typography.Text>\n\n {Platform.OS === 'android' && isTimePickerModalVisible ? (\n <DateTimePicker\n is24Hour\n testID=\"timePicker.TimePicker.dateTimeNativePicker\"\n value={dateTimePickerValue}\n mode=\"time\"\n display=\"default\"\n onChange={(_event: DateTimePickerEvent, date?: Date) => handleTimeChange(date)}\n />\n ) : null}\n\n {Platform.OS !== 'android' ? (\n <ModalDateTimePicker\n title={title}\n visible={isTimePickerModalVisible}\n value={dateTimePickerValue}\n validateButtonLabel={validateButtonLabel}\n onChange={handleTimeChange}\n onClose={handleModalClose}\n />\n ) : null}\n </Container>\n );\n}\n","import { TooltipArrowIcon } from '@ornikar/kitt-icons';\nimport type { ReactElement } from 'react';\nimport { forwardRef } from 'react';\nimport { useTheme } from '../KittThemeContext';\nimport type { ViewProps } from '../native-base/primitives';\nimport { View } from '../native-base/primitives';\nimport type { TooltipPosition } from './Tooltip';\n\nexport interface ArrowProps {\n position: TooltipPosition;\n top?: number;\n left?: number;\n display?: ViewProps['display'];\n}\n\nexport const Arrow = forwardRef<typeof View, ArrowProps>(\n ({ position, top, left, display }: ArrowProps, ref): ReactElement => {\n const theme = useTheme();\n\n const transformStyle = [\n {\n rotate: position === 'bottom' ? '180deg' : '0deg',\n },\n ];\n\n return (\n <View\n ref={ref}\n display={display || { base: 'none', small: 'flex' }}\n width=\"kitt.tooltip.arrow.width\"\n height=\"kitt.tooltip.arrow.height\"\n left={left}\n top={top}\n style={{\n transform: transformStyle,\n }}\n >\n <TooltipArrowIcon color={theme.kitt.tooltip.backgroundColor} opacity={theme.kitt.tooltip.opacity} />\n </View>\n );\n },\n);\n","import type { ReactElement, ReactNode } from 'react';\nimport { View } from '../native-base/primitives';\nimport { Typography } from '../typography/Typography';\n\ninterface TooltipContentProps {\n children: ReactNode;\n}\n\nexport function TooltipContent({ children }: TooltipContentProps): ReactElement {\n return (\n <View\n backgroundColor=\"kitt.tooltip.backgroundColor\"\n borderRadius=\"kitt.tooltip.borderRadius\"\n opacity=\"kitt.tooltip.opacity\"\n paddingY=\"kitt.tooltip.verticalPadding\"\n paddingX=\"kitt.tooltip.horizontalPadding\"\n >\n <Typography.Text base=\"body-small\" color=\"white-light\">\n {children}\n </Typography.Text>\n </View>\n );\n}\n","import { useEffect, useState } from 'react';\nimport { useWindowDimensions } from 'react-native';\n\ninterface CustomShiftParams {\n tooltipX: number;\n refPageX: number;\n refWidth: number;\n floatingWidth: number;\n wWidth: number;\n}\n// HG 08/11/2022\n// At the moment `shift` from `@floating-ui/react-native` does not work properly\nexport function customShift({ tooltipX, refPageX, refWidth, floatingWidth, wWidth }: CustomShiftParams): {\n left?: number;\n right?: number;\n} {\n const refCenterOnScreen = refPageX + refWidth * 0.5;\n const halfFloatingWith = floatingWidth * 0.5;\n\n // Left collisions\n if (refCenterOnScreen - halfFloatingWith < 0) {\n return {\n left: 0,\n right: undefined,\n };\n }\n\n // Right collisions\n if (refCenterOnScreen + halfFloatingWith > wWidth) {\n return {\n left: undefined,\n right: 0,\n };\n }\n\n // No collisions\n return {\n left: tooltipX,\n right: undefined,\n };\n}\n\ninterface UseCustomShiftParams {\n tooltipX: number;\n pressableRect?: {\n pageX: number;\n width: number;\n };\n floatingWidth?: number;\n}\n\nexport function useCustomShift({ tooltipX, pressableRect, floatingWidth }: UseCustomShiftParams): {\n left?: number;\n right?: number;\n} {\n const windowDimensions = useWindowDimensions();\n const [customShiftData, setCustomShiftData] = useState<{ left?: number; right?: number }>({\n left: undefined,\n right: undefined,\n });\n\n useEffect(() => {\n if (tooltipX === undefined || !pressableRect || floatingWidth === undefined) return;\n\n const res = customShift({\n tooltipX,\n refPageX: pressableRect.pageX,\n refWidth: pressableRect.width,\n wWidth: windowDimensions.width,\n floatingWidth,\n });\n\n setCustomShiftData(res);\n }, [floatingWidth, tooltipX, windowDimensions, pressableRect]);\n\n return customShiftData;\n}\n","import type { MiddlewareData, Placement } from '@floating-ui/react-native';\nimport { autoPlacement, offset, useFloating } from '@floating-ui/react-native';\nimport type { ReactElement, ReactNode, RefObject } from 'react';\nimport { useCallback, useEffect, useRef, useState } from 'react';\nimport Animated, { useAnimatedStyle, useSharedValue, withSpring } from 'react-native-reanimated';\nimport { useTheme } from '../KittThemeContext';\nimport { Pressable, View } from '../native-base/primitives';\nimport { Arrow } from './Arrow';\nimport { TooltipContent } from './TooltipContent';\nimport { useCustomShift } from './hooks/useCustomShift';\n\nexport type TooltipPosition = 'bottom' | 'top';\nexport type WebFloatingPosition = 'fixed' | 'absolute';\n\nexport interface UpdateCallbackParams {\n x: number;\n y: number;\n placement: Placement;\n strategy: string;\n refs: {\n reference: RefObject<any>;\n floating: RefObject<any>;\n offsetParent?: RefObject<any>;\n };\n middlewareData: MiddlewareData;\n update: () => void;\n}\n\ntype OnUpdateCallback = (params: UpdateCallbackParams) => void;\n\nexport interface TooltipProps {\n children: NonNullable<ReactNode>;\n content: NonNullable<ReactNode>;\n floatingPadding?: number;\n position?: TooltipPosition;\n zIndex?: number;\n fullWidth?: boolean;\n /**\n * @description\n * This value init the internal visibile state of the tooltip. This is mainly used for testing purpose.\n */\n defaultVisible?: boolean;\n /**\n * @default absolute\n * @description\n * Specific position strategy to apply to the tooltip.\n * Might be usefull when dealing with edge case (see https://floating-ui.com/docs/misc#z-index-stacking).\n */\n floatingStrategy?: {\n web: WebFloatingPosition;\n };\n onToggle?: (isVisible: boolean) => void;\n onUpdate?: OnUpdateCallback;\n}\n\n// eslint-disable-next-line unicorn/expiring-todo-comments\n// TODO : update position on scroll in future iteration\nexport function Tooltip({\n children,\n defaultVisible,\n position = 'top',\n content,\n floatingPadding,\n zIndex = 1000,\n fullWidth,\n onUpdate,\n onToggle,\n}: TooltipProps): ReactElement {\n const theme = useTheme();\n const currentFloatingPadding = floatingPadding || theme.kitt.tooltip.floatingPadding;\n\n const [floatingWidth, setFloatingWidth] = useState<number | undefined>(undefined);\n const pressableRectRef = useRef<{ width: number; pageX: number } | undefined>(undefined);\n\n const pressed = useSharedValue(defaultVisible);\n\n const animatedStyles = useAnimatedStyle(() => {\n return {\n opacity: withSpring(pressed.value ? theme.kitt.tooltip.opacity : 0),\n transform: [\n {\n scale: withSpring(pressed.value ? 1 : 0.8),\n },\n ],\n };\n });\n\n const { x, y, reference, floating, update, refs, middlewareData, strategy, placement } = useFloating({\n placement: position,\n middleware: [\n // Order matters\n offset(currentFloatingPadding),\n // shift() => shift is replaced by customShift\n autoPlacement({\n allowedPlacements: ['top', 'bottom'],\n padding: currentFloatingPadding,\n }),\n // arrow is not reliable enough for implementation\n // arrow({ element: arrowRef }),\n ],\n });\n\n const tooltipY = Math.round(y ?? 0);\n const tooltipX = Math.round(x ?? 0);\n\n useEffect(() => {\n if (!onUpdate) return;\n onUpdate({\n x: tooltipX,\n y: tooltipY,\n placement,\n strategy,\n update,\n refs,\n middlewareData,\n });\n }, [tooltipX, tooltipY, placement, strategy, update, refs, middlewareData, onUpdate]);\n\n const getPressableRect = useCallback(\n (element: any) => {\n if (element) {\n element.measure((_x: number, _y: number, width: number, _h: number, pageX: number) => {\n pressableRectRef.current = { width, pageX };\n });\n }\n },\n [pressableRectRef],\n );\n\n const customShiftData = useCustomShift({ tooltipX, pressableRect: pressableRectRef.current, floatingWidth });\n\n const handlePress = (): void => {\n if (onToggle) onToggle(!!pressed.value);\n pressed.value = !pressed.value;\n };\n\n return (\n <View position=\"relative\">\n <View ref={reference}>\n <Pressable ref={getPressableRect} accessibilityRole=\"button\" onPress={handlePress}>\n {children}\n </Pressable>\n </View>\n\n <View\n ref={floating}\n accessibilityElementsHidden={!pressed.value}\n importantForAccessibility={pressed.value === true ? 'auto' : 'no-hide-descendants'}\n position=\"absolute\"\n maxWidth={fullWidth ? undefined : { base: '100%', small: 'kitt.tooltip.maxWidth' }}\n top={tooltipY}\n left={customShiftData.left}\n right={customShiftData.right}\n onLayout={({ nativeEvent }) => setFloatingWidth(nativeEvent.layout.width)}\n >\n <Animated.View style={[animatedStyles]}>\n <TooltipContent>{content}</TooltipContent>\n </Animated.View>\n </View>\n </View>\n );\n}\n\nTooltip.Arrow = Arrow;\nTooltip.Content = TooltipContent;\n","import type { ReactElement } from 'react';\nimport { useMemo } from 'react';\nimport type { 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 { isTypographyHeader } from './utils/isTypographyHeader';\n\nfunction getTypographyTypeConfig(type: TypographyType, theme: KittThemeContextValue): TypographyTypeConfig {\n if (isTypographyHeader(type, undefined)) {\n return theme.kitt.typography.types.headers.configs[type];\n }\n\n return theme.kitt.typography.types.bodies.configs[type];\n}\n\ninterface Sizes {\n size: EmojiProps['size'];\n marginLeft: NonNullable<EmojiProps['_web']>['marginLeft'];\n marginRight: NonNullable<EmojiProps['_web']>['marginRight'];\n}\n\nfunction calcSizesFromType(type: TypographyBreakpointType, theme: 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): ReactElement {\n const theme = useTheme();\n const { base, small, medium, large, wide } = type;\n const { size, marginLeft, marginRight } = useMemo(\n () => calcSizesFromType({ base, small, medium, large, wide }, theme),\n [base, small, medium, large, wide, theme],\n );\n\n return (\n <Emoji\n size={size}\n emoji={emoji}\n alignSelf=\"center\"\n _web={{\n // @ts-expect-error -- transform expects number, but string works on web\n style: {\n transform: 'translateY(20%)',\n },\n /* Style Twemoji: https://github.com/twitter/twemoji#inline-styles */\n marginLeft,\n marginRight,\n }}\n />\n );\n}\n","import type { ComponentProps, ElementType, ReactElement, ReactNode } from 'react';\nimport { Platform } from 'react-native';\n\nexport interface StyleWebWrapperProps<T extends ElementType> {\n as: T;\n children: ReactNode;\n}\n\nexport function StyleWebWrapper<T extends ElementType = 'div'>({\n as,\n children,\n ...props\n}: StyleWebWrapperProps<T> & ComponentProps<T>): ReactElement {\n if (Platform.OS !== 'web') return children as ReactElement;\n const Component: T = as || ('div' as T); // as or default to div. If as is undefined, T is div but typescript is not sure\n return <Component {...(props as any)}>{children}</Component>;\n}\n","import { styled as styledLinaria } from '@linaria/react';\nimport type { ReactElement, ReactNode } from 'react';\nimport type { TextProps } from 'react-native';\nimport type { Except } from 'type-fest';\nimport { StyleWebWrapper } from '../utils/StyleWebWrapper';\nimport type { TypographyPropsWithoutRole } from './Typography';\nimport { Typography } from './Typography';\n\ninterface TypographyLinkWebWrapperProps {\n $hasNoUnderline?: boolean;\n}\n\n// overrides :global(a) in Link styles.module.css\nconst TypographyLinkWebWrapper = styledLinaria.span<TypographyLinkWebWrapperProps>`\n & > * {\n text-decoration: ${({ $hasNoUnderline }) => ($hasNoUnderline ? 'none' : 'underline')}\n }\n\n & > *:hover,\n & > *:active,\n .kitt-hover & > * {\n text-decoration: ${({ $hasNoUnderline }) => ($hasNoUnderline ? 'underline' : 'none')}\n }\n`;\n\nexport interface TypographyLinkProps extends Except<TypographyPropsWithoutRole, 'children'> {\n children: NonNullable<ReactNode>;\n disabled?: boolean;\n noUnderline?: boolean;\n variant: NonNullable<TypographyPropsWithoutRole['variant']>;\n href?: TextProps['href'];\n hrefAttrs?: TextProps['hrefAttrs'];\n onPress?: TextProps['onPress'];\n}\n\nexport function TypographyLink({\n children,\n disabled,\n noUnderline,\n href,\n hrefAttrs,\n onPress,\n ...otherProps\n}: TypographyLinkProps): ReactElement {\n return (\n <StyleWebWrapper as={TypographyLinkWebWrapper} $hasNoUnderline={noUnderline}>\n <Typography\n underline={!noUnderline}\n color={disabled ? 'black-disabled' : undefined}\n href={href}\n hrefAttrs={hrefAttrs}\n accessibilityRole=\"link\"\n dataSet={{\n // remove data-kitt-universal when we delete kitt web. See :global(a) in Link styles.module.css\n 'kitt-universal': 'true',\n }}\n _web={{\n cursor: disabled ? 'not-allowed' : 'pointer',\n transitionProperty: 'color',\n transitionDuration: '0.2s',\n transitionTimingFunction: 'ease-in-out',\n }}\n // TODO[native-base@>=3.4.19] this currently does not work. Retest when updating native-base.\n // _active={{\n // underline: !!noUnderline,\n // }}\n // _hover={{\n // underline: !!noUnderline,\n // }}\n onPress={disabled ? undefined : onPress}\n {...otherProps}\n >\n {children}\n </Typography>\n </StyleWebWrapper>\n );\n}\n","// eslint-disable-next-line no-restricted-imports\nimport type { FlattenSimpleInterpolation } from 'styled-components';\nimport type { MatchWindowSizeOptions } from './useMatchWindowSize';\nimport { matchWindowSize } from './useMatchWindowSize';\n\nexport interface WindowSizeHelper {\n /**\n * @deprecated use native-base responsive props or `useBreakpointValue` or `useMatchWindowSize` instead\n *\n * Prefer using if or map variants, at it should be more web friendly\n * */\n matchWindowSize: (options: MatchWindowSizeOptions) => boolean;\n\n /**\n * @deprecated use native-base responsive props or `useBreakpointValue` or `useMatchWindowSize` instead\n *\n * @example\n * ```typescript\n * const Container = styled.View`\n * ${({ theme }) =>\n * theme.responsive.ifWindowSizeMatches(\n * { minWidth: KittBreakpoints.SMALL },\n * 'padding: 5px 0 10px;'\n * )\n * )};\n * `;\n * ```\n */\n ifWindowSizeMatches: <T extends string | FlattenSimpleInterpolation | null>(\n options: MatchWindowSizeOptions,\n valueIfTrue: T,\n valueIfFalse?: T,\n ) => T | undefined;\n\n /**\n *\n * @deprecated use native-base responsive props or `useBreakpointValue` or `useMatchWindowSize` instead\n *\n * @example\n * ```typescript\n * const Container = styled.View`\n * ${({ theme }) =>\n * theme.responsive.mapWindowWidth(\n * [KittBreakpoints.BASE, 'padding: 5px 0 10px;'],\n * [KittBreakpoints.SMALL, 'padding: 10px 0;'],\n * )\n * )};\n * `;\n * ```\n */\n mapWindowWidth: <V extends string>(...widthList: [number, V][]) => V | null;\n}\n\nexport interface WindowDimensions {\n width?: number;\n height?: number;\n}\n\n/** @deprecated use native-base responsive props or `useBreakpointValue` or `useMatchWindowSize` instead */\nexport function createWindowSizeHelper(dimensions: WindowDimensions): WindowSizeHelper {\n return {\n matchWindowSize: (options) => matchWindowSize(dimensions, options),\n\n ifWindowSizeMatches: (options, valueIfTrue, valueIfFalse) =>\n matchWindowSize(dimensions, options) ? valueIfTrue : valueIfFalse,\n\n mapWindowWidth: <V extends string>(...widthList: [number, V][]): V | null => {\n if (__DEV__) {\n widthList.slice(1).forEach(([minWidth], index) => {\n const previousMinWidth = widthList[index][0];\n if (previousMinWidth > minWidth) {\n throw new Error(\n `mapWindowWidth: sort your values to be mobile first. ${minWidth} is < ${previousMinWidth}, so ${minWidth} should be before ${previousMinWidth}.`,\n );\n }\n });\n }\n const found = widthList.find(([minWidth, value]) => matchWindowSize(dimensions, { minWidth: Number(minWidth) }));\n if (!found) return null;\n return found[1];\n },\n };\n}\n","import { useMemo } from 'react';\nimport type { Theme } from './themes/default';\nimport { theme as kittTheme } from './themes/default';\nimport type { WindowSizeHelper } from './utils/windowSize/createWindowSizeHelper';\nimport { createWindowSizeHelper } from './utils/windowSize/createWindowSizeHelper';\nimport { useWindowSize } from './utils/windowSize/useWindowSize';\n\nexport interface KittTheme {\n kitt: Theme;\n /** @deprecated responsive is not SSR friendly and will be remove soon. Please use native-base breakpoints instead. */\n responsive: WindowSizeHelper;\n}\n\nexport function useKittTheme(): KittTheme {\n const dimensions = useWindowSize();\n return useMemo(() => {\n return { kitt: kittTheme, responsive: createWindowSizeHelper(dimensions) };\n }, [dimensions]);\n}\n","import { makeDecorator } from '@storybook/addons';\nimport type { ReactElement, ReactNode } from 'react';\nimport { ThemeProvider } from 'styled-components/native';\nimport type { AppTheme, KittNativeBaseProviderProps } from '../../native-base/KittNativeBaseProvider';\nimport { KittNativeBaseProvider } from '../../native-base/KittNativeBaseProvider';\nimport type { KittTheme } from '../../useKittTheme';\nimport { useKittTheme } from '../../useKittTheme';\n\ndeclare module 'styled-components' {\n export interface DefaultTheme extends KittTheme {}\n}\n\ninterface KittThemeProviderProps {\n appTheme?: AppTheme;\n isSSR?: KittNativeBaseProviderProps['isSSR'];\n children: ReactNode;\n}\n\nexport function KittThemeProvider({ isSSR, children, appTheme }: KittThemeProviderProps): ReactElement {\n const theme = useKittTheme();\n return (\n <ThemeProvider theme={theme}>\n <KittNativeBaseProvider theme={theme} isSSR={isSSR} appTheme={appTheme}>\n {children}\n </KittNativeBaseProvider>\n </ThemeProvider>\n );\n}\n\nexport const KittThemeDecorator = makeDecorator({\n name: 'ThemeDecorator',\n parameterName: 'theme',\n wrapper: (storyFn, context, { options = {}, parameters = {} }) => {\n return (\n <KittThemeProvider isSSR={parameters.isSSR ?? (options as any).isSSR}>\n {storyFn(context) as ReactNode}\n </KittThemeProvider>\n );\n },\n});\n","import type { ReactElement, ReactNode } from 'react';\nimport type { MatchWindowSizeOptions } from './useMatchWindowSize';\nimport { useMatchWindowSize } from './useMatchWindowSize';\n\ninterface MatchWindowSizeProps extends MatchWindowSizeOptions {\n children: ReactNode;\n}\n\n/**\n * Display children if match window size options\n *\n * WARNING: Not SSR friendly.\n */\nexport function MatchWindowSize({ children, ...matchWindowSizeOptions }: MatchWindowSizeProps): ReactElement | null {\n const match = useMatchWindowSize(matchWindowSizeOptions);\n if (!match) return null;\n return children as ReactElement;\n}\n","import { useBreakpointValue } from 'native-base';\nimport { KittBreakpointNameEnum } from '../../KittBreakpoints';\n\nexport function useCurrentBreakpointName(): KittBreakpointNameEnum {\n return useBreakpointValue({\n base: KittBreakpointNameEnum.BASE,\n small: KittBreakpointNameEnum.SMALL,\n medium: KittBreakpointNameEnum.MEDIUM,\n large: KittBreakpointNameEnum.LARGE,\n wide: KittBreakpointNameEnum.WIDE,\n });\n}\n","import type { ComponentType, ForwardRefExoticComponent, PropsWithoutRef, RefAttributes } from 'react';\nimport { forwardRef } from 'react';\nimport type { DefaultTheme } from 'styled-components/native';\nimport type { Except } from 'type-fest';\nimport { useTheme } from '../KittThemeContext';\n\n// type $Without<T, K extends keyof any> = T extends any ? Pick<T, Exclude<keyof T, K>> : never;\n// type $DeepPartial<T> = { [P in keyof T]?: $DeepPartial<T[P]> };\n\n// export function withTheme<Props extends { theme: DefaultTheme }, C>(\n// WrappedComponent: ComponentType<Props> & C,\n// ): ComponentType<SetOptional<Props, 'theme'>> & hoistNonReactStatics.NonReactStatics<typeof WrappedComponent> {\n// return function ThemedComponent(props) {\n// const theme = useTheme();\n\n// return (<WrappedComponent theme={theme} {...(props as any)} />) as any;\n// };\n// }\n\nexport function withTheme<Props extends { theme: DefaultTheme }, T>(\n WrappedComponent: ComponentType<Props>,\n): ForwardRefExoticComponent<PropsWithoutRef<Except<Props, 'theme'>> & RefAttributes<T>> {\n // eslint-disable-next-line prefer-arrow-callback\n return forwardRef<T, Except<Props, 'theme'>>(function ThemedComponent(props, ref) {\n const theme = useTheme();\n\n return <WrappedComponent ref={ref} theme={theme} {...(props as any)} />;\n });\n}\n"],"names":["View","NativeBaseView","ScrollView","NativeBaseScrollView","Pressable","NativeBasePressable","Image","NativeBaseImage","FlatList","NativeBaseFlatList","SectionList","NativeBaseSectionList","hex2rgba","hex","alpha","arguments","length","undefined","r","parseInt","slice","g","b","concat","lateOceanColorPalette","lateOcean","lateOceanLight1","lateOceanLight2","lateOceanLight3","warmEmbrace","warmEmbraceLight1","black1000","black800","black555","black400","black200","black100","black50","black25","white","viride","englishVermillon","goldCrayola","aero","seaShell","transparent","moonPurple","moonPurpleLight1","colors","primary","primaryLight","accent","accentLight","success","correct","danger","info","warning","separator","hover","black","blackDisabled","blackLight","blackAnthracite","uiBackground","uiBackgroundLight","disabled","overlay","dark","light","actionCard","borderRadius","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","checkbox","markColor","textSpacing","checked","datePicker","day","month","year","calcLineHeight","fontSize","lineHeightMultiplier","Math","round","createTypographyTypeConfig","baseAndSmallFontSize","mediumAndWideFontSize","baseAndSmall","lineHeight","mediumAndWide","typography","kittColors","types","headers","fontFamily","regular","bold","web","fontWeight","fontStyle","configs","header1","header2","header3","header4","header5","bodies","body","link","disabledColor","inputStatesStyle","pending","valid","invalid","input","selection","placeholder","icon","rightContainer","states","inputField","containerPaddingTop","containerPaddingBottom","feedbackPaddingTop","labelContainerPaddingBottom","labelFeedbackMarginLeft","inputTag","labelColor","radio","unchecked","innerSize","innerBackgroundColor","radioButtonGroup","textArea","forms","fullscreenModal","sharedHorizontalPadding","verticalPadding","iconButton","listItem","innerMargin","pageLoader","strokeWidth","fill","delay","circleBackgroundFillDuration","filledCircleFillDuration","groupFilledCircleRotationDuration","filledCircleRotationDuration","fillEasingFunction","picker","ios","_objectSpread","landscape","android","shadows","cards","low","highBase","highMedium","highLarge","navigation","left","right","panel","skeleton","flareColor","animationDuration","shape","bar","circle","square","tag","outline","warn","tooltip","horizontalPadding","floatingPadding","out","arrow","breakpoints","values","wide","min","smallBreakpoint","mediumBreakpoint","largeBreakpoint","wideBreakpoint","max","theme","palettes","KittThemeContext","createContext","kitt","kittTheme","useTheme","useContext","getStateKey","isHovered","isPressed","isFocused","getThemeName","variant","borderVariant","ActionCardContentWrapper","_ref","_ref$borderVariant","children","state","__DEV__","Error","sharedTransform","transform","themeName","_jsx","_ios","style","_android","_web","ActionCardDisabled","borderStyle","ActionCard","_ref$variant","testID","ActionCardPressable","forwardRef","_ref2","ref","_ref2$variant","_ref2$borderVariant","href","hrefAttrs","_ref2$accessibilityRo","accessibilityRole","isHoveredInternal","isPressedInternal","isFocusedInternal","onPress","_ref3","Stack","NativeBaseStack","VStack","NativeBaseVStack","HStack","NativeBaseHStack","Center","NativeBaseCenter","createResponsiveStyleFromProp","responsiveBooleanValue","valueIfTrue","valueIfFalse","keys","Object","responsiveValue","forEach","breakpointName","message","process","env","NODE_ENV","console","deprecatedMessage","symbol","deprecation","replaceBy","replaceMessage","deprecatedInComponent","component","getCurrentBackgroundColorForNativeBaseTheme","type","isDisabled","baseKey","AnimatedContainer","animatedStyles","currentBackgroundColor","sx","useSx","styles","Animated","KittBreakpoints","BASE","SMALL","MEDIUM","LARGE","WIDE","KittBreakpointsMax","KittBreakpointNameEnum","typographyColors","getNBThemeColorFromColorProps","colorName","isColorTypographyColor","includes","getTypographyColorValue","isTypeHeader","startsWith","isTypographyHeader","isHeaderTypographyInContext","IsHeaderTypographyContext","TypographyColorContext","useTypographyColor","TypographyDefaultColorContext","useTypographyDefaultColor","getTypographyTypeConfigKeyFromTypeName","createNativeBaseFontSize","typeWithMediumForced","fontSizeForNativeBase","typeName","value","Typography","_type$base","legacyBase","legacySmall","legacyMedium","legacyLarge","legacyWide","_ref$type","otherProps","_objectWithoutProperties","_excluded","defaultColor","hasTypographyAncestor","baseOrDefaultToBody","isHeader","nonNullableVariant","currentColor","colorStyles","textDecorationColor","entries","_slicedToArray","key","text","NBText","Provider","TypographyText","props","TypographyParagraph","Platform","OS","createHeading","level","defaultBase","TypographyHeading","accessibilityLevel","displayName","SetDefaultColor","Text","Paragraph","Header1","Header2","Header3","Header4","Header5","Header6","h1","h2","h3","h4","h5","Icon","_ref$size","_ref$align","align","clonedIcon","cloneElement","alignSelf","TypographyIconSpecifiedColor","colorStyle","TypographyIconInheritColor","TypographyIcon","_excluded2","getTextColorByType","isButtonInteractedWith","ButtonIcon","iconPosition","marginRight","marginLeft","ButtonContentChildren","buttonIconSharedProps","sharedNativeStyle","flexShrink","_jsxs","alignItems","justifyContent","flexDirection","textAlign","ButtonContent","flexGrow","flexBasis","getCurrentPaddingConfig","ButtonPadding","currentPaddingKey","position","paddingX","paddingY","DisabledBorder","top","bottom","FocusBorder","_useTheme","buttonTheme","transitionProperty","transitionDuration","transitionTimingFunction","hasVariant","getVariantValuesIfExist","useNativeAnimation","useSharedValue","_getVariantValuesIfEx","useAnimatedStyle","_f","interpolateColor","withSpring","_closure","asString","__workletHash","__location","__optimalization","onPressIn","handlePressIn","onPressOut","handlePressOut","getButtonSize","allowedGhostTypes","Button","stretch","sizeProp","_ref$iconPosition","_ref$accessibilityRol","_useNativeAnimation","deprecatedProp","isStretch","SpinningIcon","String","animationRef","useRef","Value","rotation","current","interpolate","inputRange","outputRange","useEffect","loop","timing","toValue","Easing","linear","useNativeDriver","start","stop","rotate","LoaderIcon","ArcIcon","matchWindowSize","maxHeight","hasWidthMatched","hasHeightMatched","useMatchWindowSize","options","_useWindowDimensions","useWindowDimensions","getCurrentStretchValue","isMedium","ActionsItem","as","isCurrentStretch","_useState","useState","_useState2","isLoading","setIsLoading","mountedRef","handlePress","e","callPressAndUpdateLoadingState","_asyncToGenerator","_regeneratorRuntime","mark","_callee","wrap","_context","prev","next","abrupt","t0","apply","ActionsButton","_extends","_objectDestructuringEmpty","getCurrentLayout","layout","getCurrentDirection","Actions","currentAlignItems","currentDirection","direction","space","Item","getCurrentRadius","sizeVariant","getCurrentSize","getIconSize","getInitials","firstname","lastname","toUpperCase","AvatarContent","src","alt","isLight","source","uri","accessibilityLabel","UserIcon","Avatar","currentSize","currentBorderRadius","overflow","BottomSheetComp","Content","_ref$hasScrollView","hasScrollView","_ref$hasBackdrop","hasBackdrop","_ref$hasHandle","hasHandle","onDismiss","Wrapper","useMemo","BottomSheetScrollView","BottomSheetView","initialSnapPoints","_useBottomSheetDynami","useBottomSheetDynamicSnapPoints","animatedHandleHeight","animatedSnapPoints","animatedContentHeight","handleContentLayout","BottomSheetModal","enablePanDownToClose","snapPoints","index","handleHeight","handleIndicatorStyle","handleComponent","BottomSheetHandle","backdropComponent","BottomSheetBackdrop","appearsOnIndex","disappearsOnIndex","contentHeight","data","SafeAreaView","edges","onLayout","BottomSheetContainerView","BottomSheet","useBottomSheet","useStaticBottomSheet","bottomSheetRef","BottomSheetMemoized","ModalBehaviourPortal","_Fragment","OnCloseContext","OnCloseProvider","onClose","useOnCloseModalBehaviour","CloseButton","onCloseContextCallback","handleClose","ModalBehaviour","visible","OverlayPressable","styled","withConfig","StyleSheet","absoluteFillObject","Overlay","CardModalRotationContainer","NativeOpacityAnimation","onExited","hasRunAnimationRef","handleAnimationFinished","opacityStyle","_theme$kitt$cardModal","_easing","x1","y1","x2","y2","withTiming","bezier","isFinished","runOnJS","NativeRotationAnimation","onEntered","animatedStyle","rotateZ","CardModalAnimation","onEnter","onExit","isModalVisible","setIsModalVisible","_useState3","_useState4","isContentVisible","setIsContentVisible","handleAnimationExited","Modal","supportedOrientations","onShow","bounces","contentContainerStyle","CardModalScrollContainer","CardModalBehaviour","isModalBehaviourVisible","setIsModalBehaviourVisible","handleExitAnimationDone","CardModalBody","_ref$paddingX","_ref$paddingY","CardModalFooter","_ref$padding","_ref$hasSeparator","hasSeparator","marginTop","borderTopWidth","CardModalHeader","title","_ref$paddingBottom","paddingBottom","defaultContainerPadding","borderBottomWidth","paddingRight","paddingLeft","CardModal","_ref$backgroundColor","_ref$maxWidth","withoutShadow","Body","Header","Footer","Boolean","progress","useDerivedValue","backgroundStyles","_theme$kitt$choices$i","defaultBg","pressedBg","selectedBg","disabledBg","getCurrentTextColor","isSelected","getBorderRadius","defaultRadius","$variant","css","ChoiceItemView","_ref4","_ref5","$isHovered","$isPressed","$isDisabled","$isSelected","_theme$kitt$choices$i2","defaultBackground","_ref6","$size","_theme$kitt$choices$i3","responsive","ifWindowSizeMatches","_ref7","_theme$kitt$choices$i4","ChoiceItem","_ref8","_ref8$type","onChange","onBlur","onFocus","handleChange","accessibilityState","_ref9","ChoiceItemContainer","$isLast","$direction","_theme$kitt$choices$s","ChoicesContainer","Choices","id","_ref2$direction","currentValue","setCurrentValue","isForm","childrenArray","Children","toArray","sharedProps","newValue","nativeID","map","child","element","createChoicesComponent","ButtonChoices","ChoicesElements","_theme$kitt$dialogMod","DialogModalAnimation","DialogModalBehaviour","DialogModal","illustration","actions","paddingTop","marginBottom","flex","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","emailAddress","_excluded4","defaultOpenLinkBehavior","ExternalLink","_ref$openLinkBehavior","openLinkBehavior","WebBrowser","openBrowserAsync","getBackgroundColor","isChecked","getBorderColor","Checkbox","_ref$hitSlop","hitSlop","display","CheckboxMark","getReturnKeyTypeForNumericInput","returnKeyType","prefixWithZero","maxLength","padStart","dayFormatter","monthFormatter","yearFormatter","getDayInInterval","getMonthInInterval","minDate","maxDate","minValue","getMonth","maxValue","getYearInInterval","getFullYear","getValueToDisplayedString","toString","keyboardDatePickerReducer","action","nextDay","currentDay","displayedDay","nextMonth","currentMonth","displayedMonth","nextYear","currentYear","displayedYear","nextCurrentDay","nextCurrentMonth","nextCurrentYear","isNumber","isNaN","onDatePartChange","_ref$validYearMinLeng","validYearMinLength","arrayParts","isEverythingUndefined","every","v","isEverythingDefined","nextValue","Date","isValidYear","setDate","setMonth","setFullYear","setMinutes","setHours","setSeconds","setMilliseconds","isMinDateAfterNextValue","getTime","isMaxDateBeforeNextValue","stringToNumber","InputTextContainer","InputText","internalForceState","_ref$disabled","_ref$autoCorrect","autoCorrect","_ref$textContentType","textContentType","_ref$autoComplete","autoComplete","_ref$keyboardType","keyboardType","multiline","onSubmitEditing","shouldHandleSingleLineOnIOS","Input","py","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","PressableDateInputs","pointerEvents","DatePickerAndroid","pickerDefaultDate","pickerUITestID","isDefaultVisible","setIsFocused","handleModalOpen","DateTimePickerAndroid","open","now","timestamp","date","onTouchCancel","BodyView","ModalBody","FooterView","ModalFooter","Background","AnimatedBackground","opacityStyles","currentOpacityStyles","AnimatedScale","scaleStyles","IconButton","_ref$color","backfaceVisibility","translate3d","isCurrentHovered","isCurrentPressed","HeaderView","LeftIconView","RightIconView","TitleView","isIconLeft","ModalHeader","XIcon","ModalView","ContentView","NativeModal","animationType","onRequestClose","getDatePickerDisplayMode","PlatformDateTimePicker","_ref$defaultDate","defaultDate","maximumDate","minimuDate","displayMode","iosProps","textColor","DateTimePicker","is24Hour","mode","minimumDate","_event","ModalTitle","ModalPlatformDateTimePicker","isVisible","validateButtonLabel","newDate","handleSubmit","FormattedMessage","DefaultNativeUIDatePicker","pickerUITitle","pickerUIValidateButtonLabel","isPickerUIVisible","setIsPickerUIVisible","_useState5","_useState6","handleModalClose","NativeUIDatePicker","DatePicker","_ref$fillMode","fillMode","InputEmail","autoCapitalize","getColorFromState","InputFeedback","InputField","label","labelFeedback","feedback","getIconColor","InputIcon","InputPressable","InputPassword","isPasswordDefaultVisible","setIsVisible","secureTextEntry","EyeOffIcon","EyeIcon","isPhoneNumberValid","number","isValidNumber","phoneNumberLength","InputPhone","_ref$phoneNumberLengt","currentReturnKeyType","event","parseNumber","phone","finalPhoneNumber","eventWithoutCountryCode","countryCode","getCountryCallingCode","country","originalNativeEventText","getTypographyColor","InputTagContainer","IconContainer","InputTag","typographyColor","Label","htmlFor","InnerCircle","OuterCircle","Radio","focusable","StyledAnimatedView","$isFirst","isFirst","isLast","$isFocused","HoverBorder","shouldDisplayBorder","margin","borderTopLeftRadius","borderBottomLeftRadius","borderTopRightRadius","borderBottomRightRadius","_theme$kitt$forms$rad","_theme$kitt$forms$rad2","pressedBorderColor","RadioButton","RadioButtonGroupItem","RadioButtonGroup","flexWrap","clone","TextArea","textAlignVertical","FullscreenModalBody","shouldHandleBottomNotch","shouldHandleTopNotch","_useSafeAreaInsets","useSafeAreaInsets","FullscreenModalFooter","_ref$shouldHandleBott","borderTopColor","_theme$kitt$fullscree","NativeSlideInAnimation","wHeight","translateStyle","FullscreenModalAnimation","FullscreenModalBehaviour","FullscreenModalContainer","FullscreenModalHeader","isTransparent","_ref$shouldHandleTopN","hasRight","hasLeft","hasContent","borderBottomColor","FullscreenModal","Highlight","KittMapConfigProviderContext","KittMapConfigProvider","mapId","apiToken","providerValue","useKittMapConfig","context","ListItemContent","SideContainerView","side","ListItemSideContainer","_ref3$side","SideContentView","ListItemSideContent","_ref5$align","ContainerView","withPadding","borders","ListItem","Fragment","wrapperProps","containerProps","SideContent","SideContainer","Circle","MapMarkerSimple","_ref$width","_ref$height","DefaultMarkerSvg","MapMarkerLarge","_ref2$width","_ref2$height","_ref2$color","LargeMarkerSvg","MapMarkerPosition","_ref3$width","_ref3$height","PositionMarkerSvg","IconContent","AlertCircleIcon","CheckIcon","AlertTriangleIcon","InfoIcon","getColorByType","getIconButtonColor","messageType","BaseMessage","hasNoRadius","centeredText","insets","Message","createKittSpaces","sizes","positive","negative","overridenNativeBaseSizeandSpaceScale","fromEntries","createKittNativeBaseCustomTheme","appTheme","spaces","appBreakpoints","extendedTheme","extendTheme","innerCircle","app","radii","lg","Number","MAX_SAFE_INTEGER","md","sm","xl","xs","borderWidths","defaultSize","fontSizes","lineHeights","fontWeights","fonts","shadowColor","shadowOffset","shadowOpacity","shadowRadius","components","baseStyle","px","_disabled","_light","placeholderTextColor","bg","_hover","_focus","_stack","outlineWidth","boxShadow","selectionColor","_invalid","variants","underlined","rounded","filled","unstyled","_dark","KittNativeBaseProvider","isSSR","nativeBaseCustomTheme","kittInternalTheme","NativeBaseProvider","SimpleContainer","NavigationModalBehaviour","_ref2$appear","appear","AnimationComponent","useBreakpointValue","CurrentContainerComponent","shouldAppear","setShouldAppear","handleEnter","handleExit","NavigationModal","Notification","onDelete","AnimatedCircle","createAnimatedComponent","AnimatedLoaderCircle","_theme$kitt$pageLoade","centerCoord","circlePerimeter","PI","strokeAnimation","useAnimatedProps","strokeDashoffset","stroke","strokeLinecap","cx","cy","strokeDasharray","animatedProps","AnimatedBackgroundCircle","_fillEasingFunction","withDelay","Svg","viewBox","isInfinitAnimation","AnimatedFillCircleContainer","withRepeat","rotationStyles","absoluteFill","shouldReverse","AnimatedFilledCircle","PageLoaderContainer","PageLoader","ContainerPressable","PickerItem","Picker","initialValue","onValueSelected","_useMediaQuery","useMediaQuery","_useMediaQuery2","isMatchingMaxHeight","setValue","NativePicker","selectedValue","itemStyle","onValueChange","itemValue","React","handleValueSelected","SegmentedProgressBar","_ref$currentStep","currentStep","stepsCount","_ref$colorVariant","colorVariant","withCurrentInProgress","fillColor","steps","_toConsumableArray","Array","from","stepNumber","isSegmentCurrentInProgress","Stripes","Container","AnimatedLinearGradient","LinearGradient","SkeletonContent","sharedX","inOut","ease","linearGradientStyle","translateX","locations","x","y","end","Skeleton","_ref$isLoading","setWidth","Bar","Square","getStaticMapImageUrl","mapWidth","mapHeight","center","is2x","centerPart","lat","zoom","sizePart","urlParts","mapImageUrl","URL","join","searchParams","append","useGetStaticMapImageUrl","forceMapId","forceApiToken","_useKittMapConfig","currentUrl","setCurrentUrl","currentMapIdRef","currentApiTokenRef","newUrl","StaticMapError","onReload","RotateCCWIcon","StaticMapImage","onLoadEnd","onError","StaticMapLoader","getMarkerPosition","StaticMapMarker","getRangedWidthValue","nextWidth","rangedMapWidth","getShouldDisplay2x","currentDevicePixelRatio","PixelRatio","get","mapBoxMaxPictureWidth","getPictureWidth","StaticMap","marker","onLoaded","currentWidth","setCurrentWidth","hasError","setHasError","_useState7","_useState8","currentMapKey","setCurrentMapKey","shouldDisplay2xImage","mapUrl","handleParentLayout","KITT_MAP_CHROMATIC_IGNORE","handleImageLoadEnd","handleError","handleReload","Loader","Marker","Flex","shouldForwardProp","prop","defaultValidatorFn","_ref2$padding","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","_ref$state","_ref$platform","platform","StoryDecorator","storyFn","name","StoryGridRow","_ref$breakpoint","breakpoint","_defineProperty","StoryGridCol","_ref10","titleColor","_ref10$platform","isNative","StoryGrid","Row","Col","getLabelColor","Tag","_ref6$type","_ref6$variant","getTypographyTypeConfigKey","isMediumOrAbove","styledTextInputMixin","$state","typeConfigKey","Title","ModalDateTimePicker","timePickerPlaceholder","formatNumberToTimeString","time","formatDateToTimeString","getHours","getMinutes","useTimePicker","isTimePickerModalVisible","setIsTimePickerModalVisible","todayAtNoon","getDay","dateTimePickerValue","displayedValue","timePickerState","handleInputPress","handleTimeChange","TimePicker","forceDefaultValue","_useTimePicker","Arrow","transformStyle","TooltipArrowIcon","TooltipContent","customShift","tooltipX","refPageX","refWidth","floatingWidth","wWidth","refCenterOnScreen","halfFloatingWith","useCustomShift","pressableRect","windowDimensions","customShiftData","setCustomShiftData","res","pageX","Tooltip","defaultVisible","_ref$position","zIndex","fullWidth","onUpdate","onToggle","currentFloatingPadding","setFloatingWidth","pressableRectRef","_useFloating","useFloating","placement","middleware","offset","autoPlacement","allowedPlacements","reference","floating","update","refs","middlewareData","strategy","tooltipY","getPressableRect","useCallback","measure","_x","_y","_h","accessibilityElementsHidden","importantForAccessibility","getTypographyTypeConfig","calcSizesFromType","TypographyEmoji","_ref3$type","StyleWebWrapper","TypographyLinkWebWrapper","TypographyLink","noUnderline","$hasNoUnderline","underline","dataSet","cursor","createWindowSizeHelper","dimensions","mapWindowWidth","_len","widthList","_key","previousMinWidth","found","find","useKittTheme","useWindowSize","KittThemeProvider","ThemeProvider","KittThemeDecorator","makeDecorator","parameterName","wrapper","_parameters$isSSR","_ref2$options","_ref2$parameters","parameters","MatchWindowSize","matchWindowSizeOptions","match","useCurrentBreakpointName","withTheme","WrappedComponent"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index-browser-all.es.android.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/checkbox.ts","../src/themes/late-ocean/datePicker.ts","../src/themes/late-ocean/typography.ts","../src/themes/late-ocean/input.ts","../src/themes/late-ocean/inputField.ts","../src/themes/late-ocean/inputTag.ts","../src/themes/late-ocean/radio.ts","../src/themes/late-ocean/radioButtonGroup.ts","../src/themes/late-ocean/textArea.ts","../src/themes/late-ocean/timePicker.ts","../src/themes/late-ocean/forms.ts","../src/themes/late-ocean/fullscreenModal.ts","../src/themes/late-ocean/highlight.ts","../src/themes/late-ocean/iconButton.ts","../src/themes/late-ocean/listItem.ts","../src/themes/late-ocean/pageLoader.ts","../src/themes/late-ocean/picker.ts","../src/themes/late-ocean/shadows.ts","../src/themes/late-ocean/skeleton.ts","../src/themes/late-ocean/tag.ts","../src/themes/late-ocean/tooltip.ts","../src/themes/late-ocean/verticalSteps.ts","../src/themes/default.ts","../src/KittThemeContext.tsx","../src/ActionCard/utils/getStateKey.ts","../src/ActionCard/utils/getThemeName.ts","../src/ActionCard/ActionCardContentWrapper.tsx","../src/ActionCard/ActionCardDisabled.tsx","../src/ActionCard/ActionCard.tsx","../src/native-base/layout.ts","../src/utils/createResponsiveStyleFromProp/createResponsiveStyleFromProp.ts","../src/utils/warnings.ts","../src/Button/utils/getCurrentBackgroundColorForNativeBaseTheme.ts","../src/Button/AnimatedContainer.tsx","../src/KittBreakpoints.ts","../src/typography/typographyColors.ts","../src/typography/utils/getNBThemeColorFromColorProps.ts","../src/typography/utils/getTypographyColorValue.ts","../src/typography/utils/isTypeHeader.ts","../src/typography/utils/isTypographyHeader.ts","../src/typography/Typography.tsx","../src/Icon/Icon.tsx","../src/typography/TypographyIcon.tsx","../src/Button/utils/getTextColorByType.ts","../src/Button/ButtonContent.tsx","../src/Button/ButtonPadding.tsx","../src/Button/DisabledBorder.tsx","../src/Button/FocusBorder.tsx","../src/Button/getVariantValuesIfExist.ts","../src/Button/hooks/useNativeAnimation.ts","../src/Button/utils/getButtonSize.ts","../src/Button/Button.tsx","../src/Icon/SpinningIcon.tsx","../src/LoaderIcon/LoaderIcon.tsx","../src/utils/windowSize/useMatchWindowSize.ts","../src/Actions/ActionsItem.tsx","../src/Actions/ActionsButton.tsx","../src/Actions/Actions.tsx","../src/Avatar/utils/getCurrentRadius.ts","../src/Avatar/utils/getCurrentSize.ts","../src/Avatar/utils/getIconSize.ts","../src/Avatar/utils/getInitials.ts","../src/Avatar/Avatar.tsx","../src/BottomSheet/BottomSheet.tsx","../src/BottomSheet/useBottomSheet.ts","../src/BottomSheet/useStaticBottomSheet.tsx","../src/ModalBehaviour/ModalBehaviourPortal.tsx","../src/ModalBehaviour/OnCloseContext.tsx","../src/ModalBehaviour/ModalBehaviour.tsx","../src/Overlay/Overlay.tsx","../src/CardModal/CardModalAnimation/CardModalRotationContainer.tsx","../src/CardModal/CardModalAnimation/NativeOpacityAnimation.tsx","../src/CardModal/CardModalAnimation/NativeRotationAnimation.tsx","../src/CardModal/CardModalAnimation/CardModalAnimation.tsx","../src/CardModal/CardModalBehaviour.tsx","../src/CardModal/CardModalBody.tsx","../src/CardModal/CardModalFooter.tsx","../src/CardModal/CardModalHeader.tsx","../src/CardModal/CardModal.tsx","../src/Choices/utils/getBackgroundColor.ts","../src/Choices/utils/getBorderRadius.ts","../src/Choices/AnimatedChoiceItemView.tsx","../src/Choices/hooks/useNativeAnimation.tsx","../src/Choices/utils/getCurrentTextColor.ts","../src/Choices/ChoiceItem.tsx","../src/Choices/ChoiceItemContainer.tsx","../src/Choices/Choices.tsx","../src/DialogModal/DialogModalAnimation/NativeOpacityAnimation.tsx","../src/DialogModal/DialogModalAnimation/NativeRotationAnimation.tsx","../src/DialogModal/DialogModalAnimation/DialogModalAnimation.tsx","../src/DialogModal/DialogModalBehaviour.tsx","../src/DialogModal/DialogModal.tsx","../src/Emoji/Emoji.tsx","../src/ExternalAppLink/ExternalAppLink.tsx","../src/ExternalLink/ExternalLinkOpenLinkBehavior.ts","../src/ExternalLink/ExternalLink.tsx","../src/forms/Checkbox/utils/getBackgroundColor.ts","../src/forms/Checkbox/utils/getBorderColor.ts","../src/forms/Checkbox/Checkbox.tsx","../src/utils/getReturnKeyTypeForNumericInput/getReturnKeyTypeForNumericInput.ts","../src/forms/DatePicker/utils/dateFormatter.ts","../src/forms/DatePicker/utils/datePartInInterval.ts","../src/forms/DatePicker/reducers/keyboardDatePickerReducer.ts","../src/forms/DatePicker/utils/isNumber.ts","../src/forms/DatePicker/utils/onDatePartChange.ts","../src/forms/DatePicker/utils/stringToNumber.ts","../src/forms/InputText/InputTextContainer.tsx","../src/forms/InputText/InputText.tsx","../src/forms/DatePicker/components/InputPart.tsx","../src/forms/DatePicker/components/PartContainer.tsx","../src/forms/DatePicker/components/KeyboardDatePicker.tsx","../src/forms/DatePicker/components/PressableDateInputs.tsx","../src/forms/DatePicker/components/NativeUIDatePicker/DatePickerAndroid.tsx","../src/Modal/Body.tsx","../src/Modal/Footer.tsx","../src/IconButton/Background.tsx","../src/IconButton/AnimatedBackground.tsx","../src/IconButton/AnimatedScale.tsx","../src/IconButton/hooks/useNativeAnimation.ts","../src/IconButton/IconButton.tsx","../src/Modal/OnCloseContext.ts","../src/Modal/Header.tsx","../src/Modal/Modal.tsx","../src/forms/DatePicker/components/NativeUIDatePicker/PlatformDateTimePicker.tsx","../src/forms/DatePicker/components/NativeUIDatePicker/ModalPlatformDateTimePicker.tsx","../src/forms/DatePicker/components/NativeUIDatePicker/DefaultNativeUIDatePicker.tsx","../src/forms/DatePicker/components/NativeUIDatePicker/NativeUIDatePicker.tsx","../src/forms/DatePicker/DatePicker.tsx","../src/forms/InputEmail/InputEmail.tsx","../src/forms/InputFeedback/InputFeedback.tsx","../src/forms/InputField/InputField.tsx","../src/forms/InputIcon/InputIcon.tsx","../src/forms/InputPressable/InputPressable.tsx","../src/forms/InputPassword/InputPassword.tsx","../src/forms/InputPhone/InputPhone.tsx","../src/forms/InputTag/InputTag.tsx","../src/forms/Label/Label.tsx","../src/forms/Radio/InnerCircle.tsx","../src/forms/Radio/utils/getBackgroundColor.ts","../src/forms/Radio/utils/getBorderColor.ts","../src/forms/Radio/OuterCircle.tsx","../src/forms/Radio/Radio.tsx","../src/forms/RadioButtonGroup/AnimatedContainer/AnimatedContainer.tsx","../src/forms/RadioButtonGroup/HoverBorder.tsx","../src/forms/RadioButtonGroup/hooks/useNativeAnimation.ts","../src/forms/RadioButtonGroup/utils/getCurrentTextColor.ts","../src/forms/RadioButtonGroup/RadioButton.tsx","../src/forms/RadioButtonGroup/RadioButtonGroup.tsx","../src/forms/TextArea/TextArea.tsx","../src/FullscreenModal/Body.tsx","../src/FullscreenModal/Footer.tsx","../src/FullscreenModal/components/NativeOpacityAnimation.tsx","../src/FullscreenModal/components/NativeSlideInAnimation.tsx","../src/FullscreenModal/FullscreenModalAnimation.tsx","../src/FullscreenModal/FullscreenModalBehaviour.tsx","../src/FullscreenModal/FullscreenModalContainer.tsx","../src/FullscreenModal/Header.tsx","../src/FullscreenModal/FullscreenModal.tsx","../src/Highlight/Highlight.tsx","../src/KittMapConfigProvider/KittMapConfigProvider.tsx","../src/KittMapConfigProvider/hooks/useKittMapConfig.ts","../src/ListItem/ListItemContent.tsx","../src/ListItem/ListItemSideContent.tsx","../src/ListItem/ListItem.tsx","../src/MapMarker/assets/marker-large.inline.svg","../src/MapMarker/assets/marker.inline.svg","../src/MapMarker/assets/position-marker.inline.svg","../src/MapMarker/MapMarker.tsx","../src/BaseMessage/IconContent.tsx","../src/BaseMessage/helper.ts","../src/BaseMessage/BaseMessage.tsx","../src/Message/Message.tsx","../src/native-base/KittNativeBaseProvider.tsx","../src/NavigationModal/NavigationModalBehaviour.tsx","../src/NavigationModal/NavigationModal.tsx","../src/Notification/Notification.tsx","../src/PageLoader/AnimatedLoaderCircle.tsx","../src/PageLoader/AnimatedBackgroundCircle.tsx","../src/PageLoader/AnimatedFillCircleContainer.tsx","../src/PageLoader/AnimatedFillCircle.tsx","../src/PageLoader/PageLoader.tsx","../src/Picker/PickerItem.tsx","../src/Picker/Picker.tsx","../src/SegmentedProgressBar/assets/stripes.inline.svg","../src/SegmentedProgressBar/SegmentedProgressBar.tsx","../src/Skeleton/SkeletonContent.tsx","../src/Skeleton/Skeleton.tsx","../src/StaticMap/utils/getStaticMapImageUrl.ts","../src/StaticMap/hooks/useGetStaticMapImageUrl.ts","../src/StaticMap/StaticMapError.tsx","../src/StaticMap/StaticMapImage.tsx","../src/StaticMap/StaticMapLoader.tsx","../src/StaticMap/StaticMapMarker.tsx","../src/StaticMap/utils/getRangedWidthValue.ts","../src/StaticMap/utils/getShouldDisplay2x.ts","../src/StaticMap/StaticMap.tsx","../src/story-components/Flex.tsx","../src/story-components/theme.ts","../src/story-components/StoryBlock.tsx","../src/story-components/StoryTitle.tsx","../src/story-components/Story.tsx","../src/story-components/StorySection.tsx","../src/story-components/StoryContainer.tsx","../src/story-components/StoryDecorator.tsx","../src/story-components/StoryGrid.tsx","../src/Tag/Tag.tsx","../src/TimePicker/ModalDateTimePicker.tsx","../src/TimePicker/utils/formatDateToTimeString.ts","../src/TimePicker/utils/getCurrentInternalForcedState.ts","../src/TimePicker/TimePickerPressable.tsx","../src/TimePicker/TimePicker.tsx","../src/Tooltip/Arrow.tsx","../src/Tooltip/TooltipContent.tsx","../src/Tooltip/hooks/useCustomShift.ts","../src/Tooltip/Tooltip.tsx","../src/typography/TypographyEmoji.tsx","../src/utils/StyleWebWrapper.tsx","../src/typography/TypographyLink.tsx","../src/utils/windowSize/createWindowSizeHelper.ts","../src/useKittTheme.tsx","../src/utils/storybook/KittThemeDecorator.tsx","../src/utils/windowSize/MatchWindowSize.tsx","../src/utils/windowSize/useCurrentBreakpointName.ts","../src/utils/withTheme.tsx","../src/VerticalSteps/StepIcon.tsx","../src/VerticalSteps/Step.tsx","../src/VerticalSteps/utils/getStepState.ts","../src/VerticalSteps/VerticalSteps.tsx"],"sourcesContent":["import type { IImageProps, IPressableProps, IScrollViewProps } from 'native-base';\nimport {\n FlatList as NativeBaseFlatList,\n Image as NativeBaseImage,\n Pressable as NativeBasePressable,\n ScrollView as NativeBaseScrollView,\n SectionList as NativeBaseSectionList,\n View as NativeBaseView,\n} from 'native-base';\nimport type {\n IFlatListProps,\n InterfaceFlatListProps,\n} from 'native-base/lib/typescript/components/basic/FlatList/types';\nimport type { InterfaceScrollViewProps } from 'native-base/lib/typescript/components/basic/ScrollView/types';\nimport type {\n ISectionListProps,\n InterfaceSectionListProps,\n} from 'native-base/lib/typescript/components/basic/SectionList/types';\nimport type { IViewProps, InterfaceViewProps } from 'native-base/lib/typescript/components/basic/View/types';\nimport type { InterfacePressableProps } from 'native-base/lib/typescript/components/primitives/Pressable/types';\nimport type { ForwardedRef, MutableRefObject } from 'react';\nimport type {\n FlatList as NativeFlatList,\n FlatListProps as NativeFlatListProps,\n PressableProps as NativePressableProps,\n ScrollViewProps as NativeScrollViewProps,\n SectionList as NativeSectionList,\n SectionListProps as NativeSectionListProps,\n ViewProps as NativeViewProps,\n} from 'react-native';\nimport type {\n ForwardRefComponent,\n NativeBaseAcceptedBorderProps,\n NativeBaseAcceptedBorderRadiusProps,\n NativeBaseAcceptedColorsProps,\n NativeBaseAcceptedFlexboxProps,\n NativeBaseAcceptedLayoutProps,\n NativeBaseAcceptedPositionProps,\n NativeBaseAcceptedShadowProps,\n NativeBaseAcceptedSpaceProps,\n} from './acceptable-native-base-props';\n\ntype NativeBaseAcceptedViewProps = Extract<keyof InterfaceViewProps, 'children' | keyof NativeViewProps>;\n\nexport interface ViewProps\n extends Pick<\n IViewProps,\n | NativeBaseAcceptedViewProps\n | NativeBaseAcceptedSpaceProps\n | NativeBaseAcceptedColorsProps\n | NativeBaseAcceptedBorderProps\n | NativeBaseAcceptedBorderRadiusProps\n | NativeBaseAcceptedPositionProps\n | NativeBaseAcceptedShadowProps\n | NativeBaseAcceptedLayoutProps\n | NativeBaseAcceptedFlexboxProps\n > {}\n\nexport const View = NativeBaseView as ForwardRefComponent<ViewProps>;\n\ntype NativeBaseAcceptedScrollViewProps = Extract<\n keyof InterfaceScrollViewProps,\n 'children' | '_contentContainerStyle' | keyof NativeScrollViewProps\n>;\nexport interface ScrollViewProps\n extends Pick<\n IScrollViewProps,\n | NativeBaseAcceptedScrollViewProps\n | NativeBaseAcceptedSpaceProps\n | NativeBaseAcceptedColorsProps\n | NativeBaseAcceptedBorderProps\n | NativeBaseAcceptedBorderRadiusProps\n | NativeBaseAcceptedPositionProps\n | NativeBaseAcceptedShadowProps\n | NativeBaseAcceptedLayoutProps\n | NativeBaseAcceptedFlexboxProps\n > {}\n\nexport const ScrollView = NativeBaseScrollView as ForwardRefComponent<ScrollViewProps>;\n\ntype NativeBaseAcceptedPressableProps = Extract<\n keyof InterfacePressableProps,\n | 'children'\n | 'onHoverIn'\n | 'onHoverOut'\n | 'onFocus'\n | 'onBlur'\n | '_hover'\n | '_pressed'\n | '_focus'\n | '_disabled'\n | 'isDisabled'\n | 'isHovered'\n | 'isPressed'\n | 'isFocused'\n | 'isFocusVisible'\n | '_focusVisible'\n | keyof NativePressableProps\n>;\nexport interface PressableProps\n extends Pick<\n IPressableProps,\n | NativeBaseAcceptedPressableProps\n | NativeBaseAcceptedSpaceProps\n | NativeBaseAcceptedColorsProps\n | NativeBaseAcceptedBorderProps\n | NativeBaseAcceptedBorderRadiusProps\n | NativeBaseAcceptedPositionProps\n | NativeBaseAcceptedShadowProps\n | NativeBaseAcceptedLayoutProps\n | NativeBaseAcceptedFlexboxProps\n > {}\n\nexport const Pressable = NativeBasePressable as ForwardRefComponent<PressableProps>;\n\nexport const Image = NativeBaseImage as ForwardRefComponent<IImageProps>;\n\ntype NativeBaseAcceptedFlatListProps<ItemT> = Extract<\n keyof InterfaceFlatListProps<ItemT>,\n 'ref' | '_contentContainerStyle' | keyof NativeFlatListProps<ItemT>\n>;\nexport interface FlatListProps<ItemT>\n extends Pick<\n IFlatListProps<ItemT>,\n | NativeBaseAcceptedFlatListProps<ItemT>\n | NativeBaseAcceptedSpaceProps\n | NativeBaseAcceptedColorsProps\n | NativeBaseAcceptedBorderProps\n | NativeBaseAcceptedBorderRadiusProps\n | NativeBaseAcceptedPositionProps\n | NativeBaseAcceptedShadowProps\n | NativeBaseAcceptedLayoutProps\n | NativeBaseAcceptedFlexboxProps\n > {}\n\n// See: https://fettblog.eu/typescript-react-generic-forward-refs/\nexport const FlatList = NativeBaseFlatList as <ItemT>(\n props: FlatListProps<ItemT> & { ref?: MutableRefObject<NativeFlatList<ItemT> | undefined> },\n) => ReturnType<typeof NativeBaseFlatList>;\n\ntype NativeBaseAcceptedSectionListProps<ItemT, SectionT> = Extract<\n keyof InterfaceSectionListProps<ItemT, SectionT>,\n 'ref' | keyof NativeSectionListProps<ItemT, SectionT>\n>;\nexport interface SectionListProps<ItemT, SectionT>\n extends Pick<\n ISectionListProps<ItemT, SectionT>,\n | NativeBaseAcceptedSectionListProps<ItemT, SectionT>\n | NativeBaseAcceptedSpaceProps\n | NativeBaseAcceptedColorsProps\n | NativeBaseAcceptedBorderProps\n | NativeBaseAcceptedBorderRadiusProps\n | NativeBaseAcceptedPositionProps\n | NativeBaseAcceptedShadowProps\n | NativeBaseAcceptedLayoutProps\n | NativeBaseAcceptedFlexboxProps\n > {}\n\n// See: https://fettblog.eu/typescript-react-generic-forward-refs/\nexport const SectionList = NativeBaseSectionList as <ItemT, SectionT>(\n props: SectionListProps<ItemT, SectionT> & { ref?: ForwardedRef<NativeSectionList<ItemT, SectionT> | undefined> },\n) => ReturnType<typeof NativeBaseSectionList>;\n","export const hex2rgba = (hex: string, alpha = 1): string => {\n const r = parseInt(hex.slice(1, 3), 16);\n const g = parseInt(hex.slice(3, 5), 16);\n const b = parseInt(hex.slice(5, 7), 16);\n\n return `rgba(${r}, ${g}, ${b}, ${alpha})`;\n};\n","export const lateOceanColorPalette = {\n lateOcean: '#4C34E0',\n lateOceanLight1: '#705DE6',\n lateOceanLight2: '#9485EC',\n lateOceanLight3: '#D6BAF9',\n\n warmEmbrace: '#F4D3CE',\n warmEmbraceLight1: '#FFEDE6',\n\n black1000: '#000000',\n black800: '#333333',\n black555: '#737373',\n black400: '#999999',\n black200: '#CCCCCC',\n black100: '#E5E5E5',\n black50: '#F2F2F2',\n black25: '#F9F9F9',\n white: '#FFFFFF',\n\n viride: '#38836D',\n englishVermillon: '#D44148',\n goldCrayola: '#F8C583',\n aero: '#89BDDD',\n seaShell: '#FFF9F3',\n\n transparent: 'transparent',\n\n moonPurple: '#DBD6F9',\n moonPurpleLight1: '#EDEBFC',\n};\n","import { lateOceanColorPalette } from '../palettes/lateOceanColorPalette';\n\nexport const colors = {\n primary: lateOceanColorPalette.lateOcean,\n primaryLight: lateOceanColorPalette.lateOceanLight1,\n accent: lateOceanColorPalette.warmEmbrace,\n accentLight: lateOceanColorPalette.warmEmbraceLight1,\n success: lateOceanColorPalette.viride,\n correct: lateOceanColorPalette.viride,\n danger: lateOceanColorPalette.englishVermillon,\n info: lateOceanColorPalette.aero,\n warning: lateOceanColorPalette.goldCrayola,\n separator: lateOceanColorPalette.black100,\n hover: lateOceanColorPalette.black100,\n white: lateOceanColorPalette.white,\n black: lateOceanColorPalette.black1000,\n blackDisabled: lateOceanColorPalette.black400,\n blackLight: lateOceanColorPalette.black555,\n blackAnthracite: lateOceanColorPalette.black800,\n uiBackground: lateOceanColorPalette.black25,\n uiBackgroundLight: lateOceanColorPalette.white,\n transparent: lateOceanColorPalette.transparent,\n disabled: lateOceanColorPalette.black50,\n overlay: {\n dark: 'rgba(41, 48, 51, 0.25)',\n light: 'rgba(255, 255, 255, 0.90)',\n },\n};\n","import { hex2rgba } from '../../utils/hexToRgba';\nimport { lateOceanColorPalette } from '../palettes/lateOceanColorPalette';\nimport { colors } from './colors';\n\nexport interface ActionCardState {\n backgroundColor: string;\n borderColor?: string;\n borderWidth: number;\n shadow: {\n color: string;\n offsetX: number;\n offsetY: number;\n opacity: number;\n radius: number;\n };\n translateY: number;\n}\n\nexport interface ActionCardVariant {\n default: ActionCardState;\n disabled: ActionCardState;\n hovered: ActionCardState;\n pressed: ActionCardState;\n focused: ActionCardState;\n}\n\nexport interface ActionCardTheme {\n borderRadius: number;\n primary: ActionCardVariant;\n 'primary-border-soft': ActionCardVariant;\n 'primary-border-hard': ActionCardVariant;\n secondary: ActionCardVariant;\n highlight: ActionCardVariant;\n}\n\nexport const actionCard: ActionCardTheme = {\n borderRadius: 20,\n primary: {\n default: {\n backgroundColor: colors.uiBackgroundLight,\n borderColor: lateOceanColorPalette.black100,\n borderWidth: 1,\n shadow: {\n color: lateOceanColorPalette.black100,\n offsetX: 0,\n offsetY: 4,\n opacity: 1,\n radius: 0,\n },\n translateY: 0,\n },\n hovered: {\n backgroundColor: lateOceanColorPalette.black50,\n borderColor: lateOceanColorPalette.black100,\n borderWidth: 1,\n shadow: {\n color: lateOceanColorPalette.black100,\n offsetX: 0,\n offsetY: 4,\n opacity: 1,\n radius: 0,\n },\n translateY: 0,\n },\n disabled: {\n backgroundColor: lateOceanColorPalette.white,\n borderColor: lateOceanColorPalette.black100,\n borderWidth: 1,\n shadow: {\n color: '',\n offsetX: 0,\n offsetY: 0,\n opacity: 0,\n radius: 0,\n },\n translateY: 0,\n },\n focused: {\n backgroundColor: lateOceanColorPalette.black50,\n borderColor: lateOceanColorPalette.black100,\n borderWidth: 1,\n shadow: {\n color: lateOceanColorPalette.black100,\n offsetX: 0,\n offsetY: 4,\n opacity: 1,\n radius: 0,\n },\n translateY: 0,\n },\n pressed: {\n backgroundColor: lateOceanColorPalette.black50,\n borderColor: lateOceanColorPalette.black100,\n borderWidth: 1,\n shadow: {\n color: '',\n offsetX: 0,\n offsetY: 0,\n opacity: 0,\n radius: 0,\n },\n translateY: 3,\n },\n },\n 'primary-border-soft': {\n default: {\n backgroundColor: colors.uiBackgroundLight,\n borderColor: lateOceanColorPalette.moonPurple,\n borderWidth: 1,\n shadow: {\n color: lateOceanColorPalette.moonPurple,\n offsetX: 0,\n offsetY: 4,\n opacity: 1,\n radius: 0,\n },\n translateY: 0,\n },\n hovered: {\n backgroundColor: lateOceanColorPalette.black50,\n borderColor: lateOceanColorPalette.moonPurple,\n borderWidth: 1,\n shadow: {\n color: lateOceanColorPalette.moonPurple,\n offsetX: 0,\n offsetY: 4,\n opacity: 1,\n radius: 0,\n },\n translateY: 0,\n },\n disabled: {\n backgroundColor: lateOceanColorPalette.white,\n borderColor: lateOceanColorPalette.moonPurple,\n borderWidth: 1,\n shadow: {\n color: '',\n offsetX: 0,\n offsetY: 0,\n opacity: 0,\n radius: 0,\n },\n translateY: 0,\n },\n focused: {\n backgroundColor: lateOceanColorPalette.black50,\n borderColor: lateOceanColorPalette.moonPurple,\n borderWidth: 1,\n shadow: {\n color: lateOceanColorPalette.moonPurple,\n offsetX: 0,\n offsetY: 4,\n opacity: 1,\n radius: 0,\n },\n translateY: 0,\n },\n pressed: {\n backgroundColor: lateOceanColorPalette.black50,\n borderColor: lateOceanColorPalette.moonPurple,\n borderWidth: 1,\n shadow: {\n color: '',\n offsetX: 0,\n offsetY: 0,\n opacity: 0,\n radius: 0,\n },\n translateY: 3,\n },\n },\n 'primary-border-hard': {\n default: {\n backgroundColor: colors.uiBackgroundLight,\n borderColor: lateOceanColorPalette.lateOcean,\n borderWidth: 1,\n shadow: {\n color: lateOceanColorPalette.lateOcean,\n offsetX: 0,\n offsetY: 4,\n opacity: 1,\n radius: 0,\n },\n translateY: 0,\n },\n hovered: {\n backgroundColor: lateOceanColorPalette.black50,\n borderColor: lateOceanColorPalette.lateOcean,\n borderWidth: 1,\n shadow: {\n color: lateOceanColorPalette.lateOcean,\n offsetX: 0,\n offsetY: 4,\n opacity: 1,\n radius: 0,\n },\n translateY: 0,\n },\n disabled: {\n backgroundColor: lateOceanColorPalette.white,\n borderColor: lateOceanColorPalette.lateOcean,\n borderWidth: 1,\n shadow: {\n color: '',\n offsetX: 0,\n offsetY: 0,\n opacity: 0,\n radius: 0,\n },\n translateY: 0,\n },\n focused: {\n backgroundColor: lateOceanColorPalette.black50,\n borderColor: lateOceanColorPalette.lateOcean,\n borderWidth: 1,\n shadow: {\n color: lateOceanColorPalette.lateOcean,\n offsetX: 0,\n offsetY: 4,\n opacity: 1,\n radius: 0,\n },\n translateY: 0,\n },\n pressed: {\n backgroundColor: lateOceanColorPalette.black50,\n borderColor: lateOceanColorPalette.lateOcean,\n borderWidth: 1,\n shadow: {\n color: '',\n offsetX: 0,\n offsetY: 0,\n opacity: 0,\n radius: 0,\n },\n translateY: 3,\n },\n },\n secondary: {\n default: {\n backgroundColor: lateOceanColorPalette.black50,\n borderColor: lateOceanColorPalette.transparent,\n borderWidth: 0,\n shadow: {\n color: '',\n offsetX: 0,\n offsetY: 0,\n opacity: 0,\n radius: 0,\n },\n translateY: 0,\n },\n disabled: {\n backgroundColor: lateOceanColorPalette.white,\n borderColor: lateOceanColorPalette.black100,\n borderWidth: 1,\n shadow: {\n color: '',\n offsetX: 0,\n offsetY: 0,\n opacity: 0,\n radius: 0,\n },\n translateY: 0,\n },\n hovered: {\n backgroundColor: lateOceanColorPalette.black100,\n borderColor: lateOceanColorPalette.transparent,\n borderWidth: 0,\n shadow: {\n color: '',\n offsetX: 0,\n offsetY: 0,\n opacity: 0,\n radius: 0,\n },\n translateY: 0,\n },\n focused: {\n backgroundColor: lateOceanColorPalette.black100,\n borderColor: lateOceanColorPalette.transparent,\n borderWidth: 0,\n shadow: {\n color: '',\n offsetX: 0,\n offsetY: 0,\n opacity: 0,\n radius: 0,\n },\n translateY: 0,\n },\n pressed: {\n backgroundColor: lateOceanColorPalette.black100,\n borderColor: lateOceanColorPalette.transparent,\n borderWidth: 0,\n shadow: {\n color: '',\n offsetX: 0,\n offsetY: 0,\n opacity: 0,\n radius: 0,\n },\n translateY: 0,\n },\n },\n highlight: {\n default: {\n backgroundColor: lateOceanColorPalette.moonPurpleLight1,\n borderColor: lateOceanColorPalette.moonPurple,\n borderWidth: 1,\n shadow: {\n color: lateOceanColorPalette.moonPurple,\n offsetX: 0,\n offsetY: 4,\n opacity: 1,\n radius: 0,\n },\n translateY: 0,\n },\n disabled: {\n backgroundColor: lateOceanColorPalette.white,\n borderColor: lateOceanColorPalette.black100,\n borderWidth: 1,\n shadow: {\n color: '',\n offsetX: 0,\n offsetY: 0,\n opacity: 0,\n radius: 0,\n },\n translateY: 0,\n },\n hovered: {\n backgroundColor: hex2rgba(lateOceanColorPalette.moonPurpleLight1, 0.6),\n borderColor: lateOceanColorPalette.moonPurple,\n borderWidth: 1,\n shadow: {\n color: lateOceanColorPalette.moonPurple,\n offsetX: 0,\n offsetY: 4,\n opacity: 1,\n radius: 0,\n },\n translateY: 0,\n },\n focused: {\n backgroundColor: hex2rgba(lateOceanColorPalette.moonPurpleLight1, 0.6),\n borderColor: lateOceanColorPalette.moonPurple,\n borderWidth: 1,\n shadow: {\n color: lateOceanColorPalette.moonPurple,\n offsetX: 0,\n offsetY: 4,\n opacity: 1,\n radius: 0,\n },\n translateY: 0,\n },\n pressed: {\n backgroundColor: hex2rgba(lateOceanColorPalette.moonPurpleLight1, 0.6),\n borderColor: lateOceanColorPalette.moonPurple,\n borderWidth: 1,\n shadow: {\n color: '',\n offsetX: 0,\n offsetY: 0,\n opacity: 0,\n radius: 0,\n },\n translateY: 3,\n },\n },\n};\n","import { lateOceanColorPalette } from '../palettes/lateOceanColorPalette';\nimport { colors } from './colors';\n\nexport const defaultAvatarSize = 40;\nexport const defaultAvatarIconSize = 20;\n\nexport const largeAvatarSize = 120;\nexport const largeAvatarIconSize = 30;\n\nexport interface AvatarThemeColorVariant {\n backgroundColor: string;\n}\n\nexport interface AvatarThemeSizeVariant {\n borderRadius: number;\n size: number;\n iconSize: number;\n}\n\nexport interface AvatarTheme {\n borderRadius: number;\n size: number;\n iconSize: number;\n default: AvatarThemeColorVariant;\n light: AvatarThemeColorVariant;\n large: AvatarThemeSizeVariant;\n}\n\nexport const avatar: AvatarTheme = {\n borderRadius: 10,\n size: defaultAvatarSize,\n iconSize: defaultAvatarIconSize,\n default: {\n backgroundColor: colors.primary,\n },\n light: {\n backgroundColor: lateOceanColorPalette.black100,\n },\n large: {\n borderRadius: 30,\n size: largeAvatarSize,\n iconSize: largeAvatarIconSize,\n },\n};\n","export const spacing = 4;\n","import { lateOceanColorPalette } from '../palettes/lateOceanColorPalette';\nimport { spacing } from './spacing';\n\nexport interface BottomSheetTheme {\n container: {\n padding: number;\n };\n handle: {\n backgroundColor: string;\n };\n}\n\nexport const bottomSheet: BottomSheetTheme = {\n container: {\n padding: spacing * 4,\n },\n handle: {\n backgroundColor: lateOceanColorPalette.black200,\n },\n};\n","import { lateOceanColorPalette } from '../palettes/lateOceanColorPalette';\nimport { colors } from './colors';\n\nexport interface BaseVariantTheme {\n backgroundColor: string;\n pressedBackgroundColor: string;\n hoverBackgroundColor: string;\n focusBorderColor: string;\n}\n\nexport interface GhostVariantTheme extends BaseVariantTheme {\n color: string;\n hoverColor: string;\n activeColor: string;\n}\nexport interface BaseButtonTheme {\n default: BaseVariantTheme;\n}\n\nexport interface BaseButtonWithVariant extends BaseButtonTheme {\n ghost: GhostVariantTheme;\n}\n\nexport interface SubtleBaseVariantTheme extends BaseVariantTheme {\n color: string;\n hoverColor: string;\n activeColor: string;\n}\n\nexport interface SubtleButtonTheme extends BaseButtonTheme {\n default: SubtleBaseVariantTheme;\n}\n\nexport interface DisabledBaseVariantTheme extends BaseVariantTheme {\n borderColor: string;\n}\n\nexport interface DisabledButtonTheme extends BaseButtonTheme {\n default: DisabledBaseVariantTheme;\n}\n\ninterface ButtonPadding {\n horizontal: number;\n vertical: number;\n}\n\nexport interface ButtonTheme {\n borderRadius: number;\n borderWidth: {\n disabled: number;\n focus: number;\n };\n minHeight: number;\n minWidth: number;\n maxWidth: number;\n scale: {\n base: {\n default: number;\n hover: number;\n active: number;\n };\n medium: {\n hover: number;\n };\n };\n /**\n * @deprecated use `padding` instead\n */\n contentPadding: {\n default: string;\n large: string;\n xLarge: string;\n disabled: string;\n };\n padding: {\n default: ButtonPadding;\n large: ButtonPadding;\n xLarge: ButtonPadding;\n disabled: ButtonPadding;\n };\n transition: {\n duration: string;\n timingFunction: string;\n };\n default: BaseButtonWithVariant;\n primary: BaseButtonWithVariant;\n danger: BaseButtonWithVariant;\n white: BaseButtonTheme;\n subtle: SubtleButtonTheme;\n 'subtle-dark': SubtleButtonTheme;\n disabled: DisabledButtonTheme;\n}\n\nexport const button: ButtonTheme = {\n borderRadius: 30,\n borderWidth: {\n disabled: 2,\n focus: 3,\n },\n minHeight: 40,\n minWidth: 40,\n maxWidth: 335,\n scale: {\n base: {\n default: 1,\n hover: 0.95,\n active: 0.95,\n },\n medium: {\n hover: 1.05,\n },\n },\n contentPadding: {\n default: '7px 16px 7px',\n large: '11px 24px 11px',\n xLarge: '15px 24px 15px',\n disabled: '5px 14px 5px',\n },\n padding: {\n default: {\n horizontal: 16,\n vertical: 7,\n },\n large: {\n horizontal: 24,\n vertical: 11,\n },\n xLarge: {\n horizontal: 24,\n vertical: 15,\n },\n disabled: {\n horizontal: 14,\n vertical: 5,\n },\n },\n transition: {\n duration: '200ms',\n timingFunction: 'cubic-bezier(0.645, 0.045, 0.355, 1)',\n },\n default: {\n default: {\n backgroundColor: 'rgba(0, 0, 0, 0.05)',\n pressedBackgroundColor: 'rgba(0, 0, 0, 0.1)',\n hoverBackgroundColor: 'rgba(0, 0, 0, 0.1)',\n focusBorderColor: 'rgba(0, 0, 0, 0.1)',\n },\n ghost: {\n backgroundColor: 'rgba(255, 255, 255, 0.1)',\n pressedBackgroundColor: 'rgba(255, 255, 255, 0.05)',\n hoverBackgroundColor: 'rgba(255, 255, 255, 0.05)',\n focusBorderColor: 'rgba(255, 255, 255, 0.4)',\n color: lateOceanColorPalette.white,\n hoverColor: lateOceanColorPalette.white,\n activeColor: lateOceanColorPalette.white,\n },\n },\n primary: {\n default: {\n backgroundColor: colors.primary,\n pressedBackgroundColor: colors.primaryLight,\n hoverBackgroundColor: colors.primaryLight,\n focusBorderColor: 'rgba(76, 52, 224, 0.2)',\n },\n ghost: {\n backgroundColor: colors.uiBackgroundLight,\n pressedBackgroundColor: colors.uiBackground,\n hoverBackgroundColor: colors.hover,\n focusBorderColor: 'rgba(255,255,255, 0.4)',\n color: colors.primary,\n hoverColor: colors.hover,\n activeColor: colors.hover,\n },\n },\n white: {\n default: {\n backgroundColor: 'rgba(255, 255, 255, 0.05)',\n pressedBackgroundColor: 'rgba(255, 255, 255, 0.1)',\n hoverBackgroundColor: 'rgba(255, 255, 255, 0.1)',\n focusBorderColor: 'rgba(255, 255, 255, 0.1)',\n },\n },\n danger: {\n default: {\n backgroundColor: lateOceanColorPalette.warmEmbraceLight1,\n pressedBackgroundColor: lateOceanColorPalette.warmEmbrace,\n hoverBackgroundColor: lateOceanColorPalette.warmEmbrace,\n focusBorderColor: lateOceanColorPalette.warmEmbrace,\n },\n ghost: {\n backgroundColor: colors.uiBackgroundLight,\n pressedBackgroundColor: 'rgba(255, 255, 255, 0.75)',\n hoverBackgroundColor: 'rgba(255, 255, 255, 0.75)',\n focusBorderColor: 'rgba(255, 255, 255, 0.5)',\n color: lateOceanColorPalette.englishVermillon,\n hoverColor: lateOceanColorPalette.englishVermillon,\n activeColor: lateOceanColorPalette.englishVermillon,\n },\n },\n subtle: {\n default: {\n backgroundColor: colors.transparent,\n pressedBackgroundColor: colors.transparent,\n hoverBackgroundColor: colors.transparent,\n focusBorderColor: 'rgba(76, 52, 224, 0.2)',\n color: colors.primary,\n hoverColor: 'rgba(76, 52, 224, 0.8)',\n activeColor: 'rgba(76, 52, 224, 0.8)',\n },\n },\n 'subtle-dark': {\n default: {\n backgroundColor: colors.transparent,\n pressedBackgroundColor: colors.transparent,\n hoverBackgroundColor: colors.transparent,\n focusBorderColor: 'rgba(0, 0, 0, 0.1)',\n color: colors.black,\n hoverColor: 'rgba(0, 0, 0, 0.8)',\n activeColor: 'rgba(0, 0, 0, 0.8)',\n },\n },\n disabled: {\n default: {\n backgroundColor: colors.disabled,\n pressedBackgroundColor: colors.disabled,\n hoverBackgroundColor: colors.disabled,\n focusBorderColor: lateOceanColorPalette.black100,\n borderColor: lateOceanColorPalette.black100,\n },\n },\n};\n","import { lateOceanColorPalette } from '../palettes/lateOceanColorPalette';\nimport { colors } from './colors';\n\nexport interface CardThemeType {\n backgroundColor: string;\n borderColor: string;\n}\nexport interface CardTheme {\n borderRadius: number;\n borderWidth: number;\n primary: CardThemeType;\n secondary: CardThemeType;\n subtle: CardThemeType;\n}\n\nexport const card: CardTheme = {\n borderRadius: 20,\n borderWidth: 2,\n primary: {\n backgroundColor: colors.uiBackgroundLight,\n borderColor: colors.primary,\n },\n secondary: {\n backgroundColor: colors.uiBackgroundLight,\n borderColor: colors.separator,\n },\n subtle: {\n backgroundColor: lateOceanColorPalette.black50,\n borderColor: colors.separator,\n },\n};\n","import { colors } from './colors';\n\nexport interface CardModalTheme {\n borderRadius: number;\n maxWidth: number;\n maxWidthWithPadding: number;\n shadow: {\n color: string;\n offsetX: number;\n offsetY: number;\n opacity: number;\n radius: number;\n };\n header: {\n height: number;\n borderWidth: number;\n borderColor: string;\n };\n footer: {\n borderWidth: number;\n borderColor: string;\n };\n overlayPadding: {\n horizontal: number;\n vertical: number;\n };\n animation: {\n overlay: {\n duration: number;\n easing: number[];\n };\n content: {\n duration: number;\n easing: number[];\n };\n };\n}\n\nexport const webAnimationContentDuration = 400;\nexport const webAnimationContentEasing = [0.77, 0, 0.175, 1];\n\nexport const webAnimationOverlayDuration = 250;\nexport const webAnimationOverlayEasing = [0.42, 0, 1, 1];\n\nconst maxWidth = 540;\nconst overlayHorizontalPadding = 24;\n\nexport const cardModal: CardModalTheme = {\n borderRadius: 20,\n maxWidth,\n maxWidthWithPadding: maxWidth + overlayHorizontalPadding * 2,\n shadow: {\n color: colors.black,\n offsetX: 0,\n offsetY: 10,\n opacity: 0.15,\n radius: 20,\n },\n header: {\n height: 56,\n borderWidth: 1,\n borderColor: colors.separator,\n },\n footer: {\n borderWidth: 1,\n borderColor: colors.separator,\n },\n overlayPadding: {\n horizontal: 24,\n vertical: 32,\n },\n animation: {\n overlay: {\n duration: webAnimationOverlayDuration,\n easing: webAnimationOverlayEasing,\n },\n content: {\n duration: webAnimationContentDuration,\n easing: webAnimationContentEasing,\n },\n },\n};\n","import { lateOceanColorPalette } from '../palettes/lateOceanColorPalette';\nimport { colors } from './colors';\n\nexport interface ChoicesItemTheme {\n borderRadius: number;\n /** @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 { colors } from './colors';\n\nexport const checkbox = {\n borderWidth: 2,\n borderRadius: 5,\n height: 20,\n width: 20,\n iconSize: 14,\n markColor: colors.uiBackgroundLight,\n textSpacing: 10,\n default: {\n borderColor: colors.separator,\n backgroundColor: colors.uiBackgroundLight,\n },\n checked: {\n borderColor: colors.primary,\n backgroundColor: colors.primary,\n },\n focus: {\n borderColor: colors.primary,\n backgroundColor: colors.uiBackgroundLight,\n },\n hover: {\n borderColor: colors.primary,\n backgroundColor: colors.uiBackgroundLight,\n },\n pressed: {\n borderColor: colors.primary,\n backgroundColor: colors.uiBackgroundLight,\n },\n disabled: {\n borderColor: colors.separator,\n backgroundColor: colors.disabled,\n },\n transition: {\n duration: '200ms',\n timingFunction: 'ease-out',\n },\n};\n","interface DatePickerPartTheme {\n minWidth: number;\n}\n\nexport interface DatePickerTheme {\n day: DatePickerPartTheme;\n month: DatePickerPartTheme;\n year: DatePickerPartTheme;\n}\n\nexport const datePicker: DatePickerTheme = {\n day: {\n minWidth: 64,\n },\n month: {\n minWidth: 64,\n },\n year: {\n minWidth: 82,\n },\n};\n","import { lateOceanColorPalette } from '../palettes/lateOceanColorPalette';\nimport { colors as kittColors } from './colors';\n\nexport const calcLineHeight = (fontSize: number, lineHeightMultiplier: number): number =>\n Math.round(fontSize * lineHeightMultiplier);\n\nexport interface TypographyTypeBreakpointRangeConfig {\n fontSize: number;\n lineHeight: number;\n}\n\nexport interface TypographyTypeConfig {\n baseAndSmall: TypographyTypeBreakpointRangeConfig;\n mediumAndWide: TypographyTypeBreakpointRangeConfig;\n}\n\nexport const createTypographyTypeConfig = (\n lineHeightMultiplier: number,\n baseAndSmallFontSize: number,\n mediumAndWideFontSize: number,\n): TypographyTypeConfig => ({\n baseAndSmall: {\n fontSize: baseAndSmallFontSize,\n lineHeight: calcLineHeight(baseAndSmallFontSize, lineHeightMultiplier),\n },\n mediumAndWide: {\n fontSize: mediumAndWideFontSize,\n lineHeight: calcLineHeight(mediumAndWideFontSize, lineHeightMultiplier),\n },\n});\n\nexport const typography = {\n colors: {\n black: kittColors.black,\n 'black-anthracite': kittColors.blackAnthracite,\n 'black-disabled': lateOceanColorPalette.black400,\n 'black-light': lateOceanColorPalette.black555,\n white: kittColors.white,\n 'white-light': kittColors.white,\n primary: kittColors.primary,\n 'primary-light': kittColors.primaryLight,\n accent: kittColors.accent,\n success: kittColors.success,\n danger: kittColors.danger,\n warning: kittColors.warning,\n },\n types: {\n headers: {\n fontFamily: {\n native: {\n regular: 'Moderat-Black',\n bold: 'Moderat-Black',\n },\n web: {\n regular: 'Moderat',\n bold: 'Moderat',\n },\n },\n fontWeight: 400,\n fontStyle: 'normal',\n configs: {\n // also known as xxlarge\n header1: createTypographyTypeConfig(1.3, 38, 62),\n // also known as xlarge\n header2: createTypographyTypeConfig(1.3, 32, 48),\n // also known as medium\n header3: createTypographyTypeConfig(1.3, 24, 36),\n // also known as xsmall\n header4: createTypographyTypeConfig(1.3, 18, 24),\n // also known as xxsmall\n header5: createTypographyTypeConfig(1.3, 18, 18),\n },\n },\n bodies: {\n fontFamily: {\n web: {\n regular: 'Noto Sans',\n bold: 'Noto Sans',\n },\n native: {\n regular: 'NotoSans',\n bold: 'NotoSans-Bold',\n },\n },\n fontWeight: {\n regular: 400,\n bold: 700,\n },\n fontStyle: {\n regular: 'normal',\n bold: 'normal',\n },\n configs: {\n 'body-large': createTypographyTypeConfig(1.6, 18, 24),\n 'body-medium': createTypographyTypeConfig(1.6, 18, 18),\n body: createTypographyTypeConfig(1.6, 16, 16),\n 'body-small': createTypographyTypeConfig(1.6, 14, 14),\n 'body-xsmall': createTypographyTypeConfig(1.6, 12, 12),\n },\n },\n },\n link: {\n /** @deprecated not used in kitt anymore, use Typography instead */\n disabledColor: kittColors.blackDisabled,\n },\n};\n","import type { InputUIState } from '../../forms/utils';\nimport { lateOceanColorPalette } from '../palettes/lateOceanColorPalette';\nimport { colors } from './colors';\nimport { typography } from './typography';\n\nexport interface InputStateStyle {\n backgroundColor?: string;\n borderColor: string;\n color: string;\n}\n\nexport type InputStateTheme = Record<InputUIState, InputStateStyle>;\n\nconst inputStatesStyle: InputStateTheme = {\n default: {\n backgroundColor: colors.uiBackgroundLight,\n borderColor: colors.separator,\n color: colors.black,\n },\n pending: {\n backgroundColor: colors.uiBackgroundLight,\n borderColor: colors.separator,\n color: colors.black,\n },\n valid: {\n backgroundColor: colors.uiBackgroundLight,\n borderColor: lateOceanColorPalette.black100,\n color: colors.black,\n },\n hover: {\n borderColor: lateOceanColorPalette.black200,\n color: colors.black,\n },\n focus: {\n borderColor: colors.primary,\n color: colors.black,\n },\n disabled: {\n backgroundColor: colors.disabled,\n borderColor: colors.separator,\n color: colors.blackDisabled,\n },\n invalid: {\n borderColor: colors.separator,\n color: colors.black,\n },\n};\n\nexport interface InputTheme {\n minHeight: number;\n color: {\n selection: string;\n placeholder: string;\n };\n borderWidth: number;\n borderRadius: number;\n icon: {\n size: number;\n };\n padding: {\n horizontal: number;\n vertical: number;\n };\n rightContainer: {\n padding: number;\n };\n transition: {\n property: string;\n duration: string;\n timingFunction: string;\n };\n states: InputStateTheme;\n}\n\nexport const input: InputTheme = {\n minHeight: 40,\n color: {\n selection: colors.primary,\n placeholder: typography.colors['black-light'],\n },\n borderWidth: 2,\n borderRadius: 10,\n icon: {\n size: 20,\n },\n rightContainer: {\n padding: 10,\n },\n padding: {\n horizontal: 16,\n vertical: 5,\n },\n transition: {\n property: 'border-color',\n duration: '200ms',\n timingFunction: 'ease-in-out',\n },\n states: inputStatesStyle,\n};\n","export const inputField = {\n containerPaddingTop: 5,\n containerPaddingBottom: 10,\n feedbackPaddingTop: { base: 5, small: 10 },\n labelContainerPaddingBottom: 5,\n labelFeedbackMarginLeft: 6,\n};\n","import { lateOceanColorPalette } from '../palettes/lateOceanColorPalette';\nimport { colors } from './colors';\n\ninterface InputTagTypeTheme {\n backgroundColor: string;\n labelColor: string;\n}\nexport interface InputTagTheme {\n borderRadius: number;\n iconSize: number;\n default: InputTagTypeTheme;\n success: InputTagTypeTheme;\n danger: InputTagTypeTheme;\n}\n\nexport const inputTag: InputTagTheme = {\n success: {\n backgroundColor: colors.success,\n labelColor: colors.uiBackgroundLight,\n },\n danger: {\n backgroundColor: colors.danger,\n labelColor: colors.uiBackgroundLight,\n },\n default: {\n backgroundColor: lateOceanColorPalette.black50,\n labelColor: colors.black,\n },\n borderRadius: 10,\n iconSize: 13.5,\n};\n","import { lateOceanColorPalette } from '../palettes/lateOceanColorPalette';\nimport { colors } from './colors';\n\nexport interface RadioTheme {\n size: number;\n unchecked: {\n backgroundColor: string;\n borderColor: string;\n borderWidth: number;\n };\n checked: {\n backgroundColor: string;\n borderColor: string;\n innerBackgroundColor: string;\n innerSize: number;\n };\n hover: {\n backgroundColor: string;\n borderColor: string;\n };\n pressed: {\n backgroundColor: string;\n borderColor: string;\n };\n disabled: {\n backgroundColor: string;\n borderColor: string;\n };\n transition: {\n duration: string;\n timingFunction: string;\n };\n}\n\nexport const radio: RadioTheme = {\n size: 18,\n unchecked: {\n borderWidth: 2,\n backgroundColor: colors.uiBackgroundLight,\n borderColor: lateOceanColorPalette.black200,\n },\n checked: {\n backgroundColor: colors.primary,\n borderColor: colors.transparent,\n innerSize: 5,\n innerBackgroundColor: colors.uiBackgroundLight,\n },\n hover: {\n backgroundColor: colors.uiBackgroundLight,\n borderColor: colors.primary,\n },\n pressed: {\n backgroundColor: colors.uiBackgroundLight,\n borderColor: colors.primary,\n },\n disabled: {\n backgroundColor: colors.disabled,\n borderColor: colors.separator,\n },\n transition: {\n duration: '200ms',\n timingFunction: 'ease-out',\n },\n};\n","import { colors } from './colors';\n\nexport interface RadioButtonGroupTheme {\n item: {\n minHeight: number;\n borderWidth: number;\n borderColor: {\n default: string;\n hover: string;\n pressed: string;\n active: string;\n disabled: string;\n [key: string]: string;\n };\n backgroundColor: {\n default: string;\n hover: string;\n pressed: string;\n active: string;\n disabled: string;\n };\n borderRadius: number;\n padding: {\n horizontal: number;\n vertical: number;\n };\n transition: {\n property: string;\n duration: string;\n timingFunction: string;\n };\n };\n}\n\nexport const radioButtonGroup: RadioButtonGroupTheme = {\n item: {\n minHeight: 40,\n borderWidth: 2,\n borderRadius: 20,\n borderColor: {\n default: colors.separator,\n hover: colors.primary,\n pressed: colors.primary,\n active: colors.primary,\n disabled: colors.separator,\n },\n backgroundColor: {\n default: colors.uiBackgroundLight,\n hover: colors.white,\n pressed: colors.primary,\n active: colors.primary,\n disabled: colors.disabled,\n },\n padding: {\n horizontal: 18,\n vertical: 6,\n },\n transition: {\n property: 'all',\n duration: '200ms',\n timingFunction: 'ease-in-out',\n },\n },\n};\n","export interface TextAreaTheme {\n minHeight: number;\n}\n\nexport const textArea: TextAreaTheme = {\n minHeight: 120,\n};\n","export interface TimePickerTheme {\n minWidth: number;\n}\n\nexport const timePicker: TimePickerTheme = {\n minWidth: 100,\n};\n","import { checkbox } from './checkbox';\nimport { datePicker } from './datePicker';\nimport { input } from './input';\nimport { inputField } from './inputField';\nimport { inputTag } from './inputTag';\nimport { radio } from './radio';\nimport { radioButtonGroup } from './radioButtonGroup';\nimport { textArea } from './textArea';\nimport { timePicker } from './timePicker';\n\nexport const forms = {\n datePicker,\n input,\n radio,\n inputField,\n textArea,\n checkbox,\n inputTag,\n radioButtonGroup,\n timePicker,\n};\n","export interface FullscreenModalTheme {\n header: {\n height: number;\n };\n footer: {\n verticalPadding: number;\n };\n sharedHorizontalPadding: number;\n body: {\n verticalPadding: number;\n };\n animation: {\n overlay: {\n duration: number;\n easing: number[];\n };\n content: {\n duration: number;\n easing: number[];\n };\n };\n}\n\nexport const webAnimationContentDuration = 600;\nexport const webAnimationContentEasing = [0.77, 0, 0.175, 1];\n\nexport const webAnimationOverlayDuration = 250;\nexport const webAnimationOverlayEasing = [0.42, 0, 1, 1];\n\nexport const fullscreenModal: FullscreenModalTheme = {\n header: {\n height: 56,\n },\n sharedHorizontalPadding: 16,\n footer: {\n verticalPadding: 12,\n },\n body: {\n verticalPadding: 24,\n },\n animation: {\n overlay: {\n duration: webAnimationOverlayDuration,\n easing: webAnimationOverlayEasing,\n },\n content: {\n duration: webAnimationContentDuration,\n easing: webAnimationContentEasing,\n },\n },\n};\n","import { lateOceanColorPalette } from '../palettes/lateOceanColorPalette';\nimport { colors } from './colors';\nimport { spacing } from './spacing';\n\nexport interface HighlightThemeType {\n backgroundColor: string;\n}\n\nexport interface HighlightTheme {\n borderRadius: number;\n padding: number;\n regular: HighlightThemeType;\n primary: HighlightThemeType;\n secondary: HighlightThemeType;\n dark: HighlightThemeType;\n}\n\nexport const highlight: HighlightTheme = {\n borderRadius: spacing * 5,\n /** @deprecated use primary instead */\n regular: {\n backgroundColor: colors.accentLight,\n },\n primary: {\n backgroundColor: colors.accentLight,\n },\n secondary: {\n backgroundColor: lateOceanColorPalette.moonPurple,\n },\n dark: {\n backgroundColor: lateOceanColorPalette.black100,\n },\n padding: spacing * 5,\n};\n","import { lateOceanColorPalette } from '../palettes/lateOceanColorPalette';\nimport { button } from './button';\n\ninterface IconButtonVariationValues {\n pressedBackgroundColor: string;\n}\n\nexport interface IconButtonTheme {\n backgroundColor: string;\n width: number;\n height: number;\n borderRadius: number;\n borderWidth: number;\n borderColor: string;\n transition: {\n property: string;\n duration: string;\n timingFunction: string;\n };\n scale: {\n base: {\n default: number;\n hover: number;\n active: number;\n };\n medium: {\n default: number;\n hover: number;\n active: number;\n };\n };\n disabled: {\n scale: number;\n backgroundColor: string;\n borderColor: string;\n };\n default: IconButtonVariationValues;\n white: IconButtonVariationValues;\n primary: IconButtonVariationValues;\n}\n\nexport const iconButton: IconButtonTheme = {\n backgroundColor: 'transparent',\n width: 40,\n height: 40,\n borderRadius: 20,\n borderWidth: 2,\n borderColor: 'transparent',\n transition: {\n property: 'all',\n duration: '200ms',\n timingFunction: 'cubic-bezier(0.645, 0.045, 0.355, 1)',\n },\n scale: {\n base: {\n default: 1,\n hover: 0.95,\n active: 0.95,\n },\n medium: {\n default: 1,\n hover: 1.05,\n active: 0.95,\n },\n },\n disabled: {\n scale: 1,\n backgroundColor: button.disabled.default.backgroundColor,\n borderColor: button.disabled.default.borderColor,\n },\n default: {\n pressedBackgroundColor: button.default.default.pressedBackgroundColor,\n },\n white: {\n pressedBackgroundColor: button.white.default.hoverBackgroundColor,\n },\n primary: {\n pressedBackgroundColor: lateOceanColorPalette.moonPurpleLight1,\n },\n};\n","import { colors } from './colors';\n\nexport interface ListItemTheme {\n /** @deprecated -- use verticalPadding and horizontalPadding instead */\n padding: string;\n verticalPadding: number;\n horizontalPadding: number;\n borderColor: string;\n borderWidth: number;\n innerMargin: number;\n}\n\nexport const listItem: ListItemTheme = {\n padding: '12px 16px',\n verticalPadding: 12,\n horizontalPadding: 16,\n borderColor: colors.separator,\n borderWidth: 1,\n innerMargin: 8,\n};\n","import { colors } from './colors';\n\nexport interface PageLoaderTheme {\n size: number;\n strokeWidth: number;\n colors: {\n base: string;\n fill: string;\n };\n animation: {\n delay: number;\n circleBackgroundFillDuration: number;\n filledCircleFillDuration: number;\n groupFilledCircleRotationDuration: number;\n filledCircleRotationDuration: number;\n fillEasingFunction: [number, number, number, number];\n };\n}\n\nexport const pageLoader: PageLoaderTheme = {\n size: 60,\n strokeWidth: 3,\n colors: {\n base: colors.separator,\n fill: colors.primary,\n },\n animation: {\n delay: 500,\n circleBackgroundFillDuration: 1000,\n filledCircleFillDuration: 1800,\n groupFilledCircleRotationDuration: 1800,\n filledCircleRotationDuration: 2160,\n fillEasingFunction: [0.39, 0.575, 0.565, 1],\n },\n};\n","import type { TextStyle } from 'react-native';\nimport { colors } from './colors';\nimport { typography } from './typography';\n\nexport interface PickerTheme {\n ios: {\n default: TextStyle;\n landscape: TextStyle;\n selected: {\n color: string;\n };\n };\n android: {\n /** @deprecated use verticalPadding and horizontalPadding instead */\n padding: string;\n verticalPadding: number;\n horizontalPadding: number;\n default: {\n backgroundColor: string;\n };\n selected: {\n backgroundColor: string;\n color: string;\n };\n };\n}\n\nexport const picker: PickerTheme = {\n ios: {\n default: {\n fontFamily: typography.types.bodies.fontFamily.native.regular,\n ...typography.types.bodies.configs.body.baseAndSmall,\n fontSize: 16,\n color: typography.colors['black-light'],\n // 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 android: {\n padding: '12px 24px',\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","import { colors } from './colors';\n\ninterface ShadowShapeTheme {\n color: string;\n offsetX: number;\n offsetY: number;\n opacity: number;\n radius: number;\n}\n\nexport interface ShadowsTheme {\n medium: string;\n cards: Record<string, ShadowShapeTheme>;\n navigation: Record<string, ShadowShapeTheme>;\n panel: ShadowShapeTheme;\n}\n\nexport const shadows: ShadowsTheme = {\n /** @deprecated: use cards.medium instead - shorthand shadow doesnt work with Native Base */\n medium: '0px 10px 20px rgba(41, 48, 51, 0.25)',\n cards: {\n low: {\n color: colors.black,\n offsetX: 0,\n offsetY: 5,\n opacity: 0.1,\n radius: 20,\n },\n medium: {\n color: colors.black,\n offsetX: 0,\n offsetY: 10,\n opacity: 0.15,\n radius: 20,\n },\n highBase: {\n color: colors.black,\n offsetX: 0,\n offsetY: 10,\n opacity: 0.15,\n radius: 20,\n },\n highMedium: {\n color: colors.black,\n offsetX: 0,\n offsetY: 60,\n opacity: 0.08,\n radius: 40,\n },\n highLarge: {\n color: colors.black,\n offsetX: 0,\n offsetY: 80,\n opacity: 0.08,\n radius: 60,\n },\n },\n navigation: {\n left: {\n color: colors.black,\n offsetX: 10,\n offsetY: 0,\n opacity: 0.15,\n radius: 30,\n },\n right: {\n color: colors.black,\n offsetX: -10,\n offsetY: 0,\n opacity: 0.15,\n radius: 30,\n },\n },\n panel: {\n color: colors.black,\n offsetX: 0,\n offsetY: 20,\n opacity: 1,\n radius: 40,\n },\n};\n","import { lateOceanColorPalette } from '../palettes/lateOceanColorPalette';\n\ninterface SkeletonShapeTheme {\n size: number;\n borderRadius: number;\n}\nexport interface SkeletonTheme {\n backgroundColor: string;\n flareColor: string;\n animationDuration: number;\n shape: Record<string, SkeletonShapeTheme>;\n}\n\nexport const skeleton: SkeletonTheme = {\n backgroundColor: lateOceanColorPalette.black100,\n flareColor: lateOceanColorPalette.black200,\n animationDuration: 1000,\n shape: {\n bar: {\n size: 8,\n borderRadius: 4,\n },\n circle: {\n size: 48,\n borderRadius: 24,\n },\n square: {\n size: 48,\n borderRadius: 6,\n },\n },\n};\n","import { lateOceanColorPalette } from '../palettes/lateOceanColorPalette';\nimport { colors } from './colors';\n\nexport interface TagVariantTheme {\n borderWidth: number;\n backgroundColor: string;\n borderColor: string;\n}\n\nexport interface TagTypeTheme {\n fill: TagVariantTheme;\n outline: TagVariantTheme;\n}\n\nexport interface TagTheme {\n borderRadius: number;\n /** @deprecated -- Use verticalPadding and horizontalPadding instead */\n padding: string;\n verticalPadding: number;\n horizontalPadding: number;\n primary: TagTypeTheme;\n default: TagTypeTheme;\n danger: TagTypeTheme;\n warn: TagTypeTheme;\n}\n\nexport const tag: TagTheme = {\n borderRadius: 10,\n padding: '2px 12px',\n verticalPadding: 2,\n horizontalPadding: 12,\n primary: {\n fill: {\n backgroundColor: lateOceanColorPalette.moonPurpleLight1,\n borderWidth: 0,\n borderColor: colors.transparent,\n },\n outline: {\n backgroundColor: colors.transparent,\n borderWidth: 1,\n borderColor: colors.primary,\n },\n },\n default: {\n fill: {\n backgroundColor: lateOceanColorPalette.black50,\n borderWidth: 0,\n borderColor: colors.transparent,\n },\n outline: {\n backgroundColor: colors.transparent,\n borderWidth: 1,\n borderColor: colors.black,\n },\n },\n danger: {\n fill: {\n backgroundColor: colors.danger,\n borderWidth: 0,\n borderColor: colors.transparent,\n },\n outline: {\n backgroundColor: colors.transparent,\n borderWidth: 1,\n borderColor: colors.danger,\n },\n },\n warn: {\n fill: {\n backgroundColor: colors.warning,\n borderWidth: 0,\n borderColor: colors.transparent,\n },\n outline: {\n backgroundColor: colors.transparent,\n borderWidth: 1,\n borderColor: colors.warning,\n },\n },\n};\n","import { hex2rgba } from '../../utils/hexToRgba';\nimport { colors } from './colors';\n\ninterface TooltipTransition {\n duration: string;\n timingFunction: string;\n property: string;\n}\n\nexport interface TooltipTheme {\n backgroundColor: string;\n borderRadius: number;\n opacity: number;\n horizontalPadding: number;\n verticalPadding: number;\n floatingPadding: number;\n maxWidth: number;\n transition: {\n in: TooltipTransition;\n out: TooltipTransition;\n };\n arrow: {\n width: number;\n height: number;\n };\n}\n\nexport const tooltip: TooltipTheme = {\n backgroundColor: hex2rgba(colors.black, 0.95),\n borderRadius: 10,\n opacity: 0.95,\n horizontalPadding: 16,\n verticalPadding: 8,\n floatingPadding: 8,\n maxWidth: 328,\n transition: {\n in: {\n duration: '150ms',\n timingFunction: 'ease-out',\n property: 'opacity',\n },\n out: {\n duration: '75ms',\n timingFunction: 'ease-out',\n property: 'opacity',\n },\n },\n arrow: {\n width: 39,\n height: 9,\n },\n};\n","import { lateOceanColorPalette } from '../palettes/lateOceanColorPalette';\nimport { colors } from './colors';\n\ninterface StepStateTheme {\n icon: {\n backgroundColor: string;\n textColor: string;\n };\n}\n\nexport interface VerticalStepsTheme {\n active: StepStateTheme;\n done: StepStateTheme;\n default: StepStateTheme;\n}\n\nexport const verticalSteps: VerticalStepsTheme = {\n active: {\n icon: {\n backgroundColor: colors.primary,\n textColor: colors.white,\n },\n },\n done: {\n icon: {\n backgroundColor: lateOceanColorPalette.moonPurple,\n textColor: colors.primary,\n },\n },\n default: {\n icon: {\n backgroundColor: colors.disabled,\n textColor: colors.blackDisabled,\n },\n },\n};\n","import { actionCard } from './late-ocean/actionCard';\nimport { avatar } from './late-ocean/avatar';\nimport { bottomSheet } from './late-ocean/bottomSheet';\nimport { button } from './late-ocean/button';\nimport { card } from './late-ocean/card';\nimport { cardModal } from './late-ocean/cardModal';\nimport { choices } from './late-ocean/choices';\nimport { colors } from './late-ocean/colors';\nimport { dialogModal } from './late-ocean/dialogModal';\nimport { feedbackMessage } from './late-ocean/feedback';\nimport { forms } from './late-ocean/forms';\nimport { fullscreenModal } from './late-ocean/fullscreenModal';\nimport { highlight } from './late-ocean/highlight';\nimport { iconButton } from './late-ocean/iconButton';\nimport { listItem } from './late-ocean/listItem';\nimport { pageLoader } from './late-ocean/pageLoader';\nimport { picker } from './late-ocean/picker';\nimport { shadows } from './late-ocean/shadows';\nimport { skeleton } from './late-ocean/skeleton';\nimport { spacing } from './late-ocean/spacing';\nimport { tag } from './late-ocean/tag';\nimport { tooltip } from './late-ocean/tooltip';\nimport { typography } from './late-ocean/typography';\nimport { verticalSteps } from './late-ocean/verticalSteps';\nimport { lateOceanColorPalette } from './palettes/lateOceanColorPalette';\n\nconst breakpoints = {\n values: {\n base: 0,\n small: 480,\n medium: 768,\n large: 1024,\n wide: 1280,\n },\n min: {\n smallBreakpoint: 'min-width: 480px',\n mediumBreakpoint: 'min-width: 768px',\n largeBreakpoint: 'min-width: 1024px',\n wideBreakpoint: 'min-width: 1280px',\n },\n max: {\n smallBreakpoint: 'max-width: 479px',\n mediumBreakpoint: 'max-width: 767px',\n largeBreakpoint: 'max-width: 1023px',\n wideBreakpoint: 'max-width: 1279px',\n },\n};\n\n// eslint-disable-next-line unicorn/expiring-todo-comments\n// TODO : seperate brand color usage definition from proper theme definition and add typings - https://ornikar.atlassian.net/browse/CME-156\nexport const theme = {\n spacing,\n colors,\n palettes: { lateOcean: lateOceanColorPalette },\n avatar,\n breakpoints,\n button,\n bottomSheet,\n card,\n cardModal,\n choices,\n dialogModal,\n feedbackMessage,\n forms,\n highlight,\n iconButton,\n listItem,\n pageLoader,\n picker,\n shadows,\n skeleton,\n tag,\n tooltip,\n typography,\n fullscreenModal,\n actionCard,\n verticalSteps,\n};\n\nexport type Theme = typeof theme;\n","import { createContext, useContext } from 'react';\nimport type { Theme as KittTheme } from './themes/default';\nimport { theme as kittTheme } from './themes/default';\n\nexport interface KittThemeContextValue {\n kitt: KittTheme;\n}\n\nexport const KittThemeContext = createContext<KittThemeContextValue>({\n kitt: kittTheme,\n});\n\nexport const useTheme = (): KittThemeContextValue => useContext(KittThemeContext);\n","import type { ActionCardVariant } from 'themes/late-ocean/actionCard';\n\nexport const getStateKey = (isHovered?: boolean, isPressed?: boolean, isFocused?: boolean): keyof ActionCardVariant => {\n if (isPressed) {\n return 'pressed';\n }\n\n if (isFocused) {\n return 'focused';\n }\n\n if (isHovered) {\n return 'hovered';\n }\n\n return 'default';\n};\n","import type { ActionCardBorderVariantType, ActionCardVariantType } from 'ActionCard/types';\nimport type { ActionCardTheme } from 'themes/late-ocean/actionCard';\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 { ReactElement, ReactNode } from 'react';\nimport { useTheme } from '../KittThemeContext';\nimport { View } from '../native-base/primitives';\nimport type { ActionCardBorderVariantType, ActionCardVariantType } from './types';\nimport { getStateKey } from './utils/getStateKey';\nimport { getThemeName } from './utils/getThemeName';\n\ninterface ActionCardContentWrapperProps {\n isHovered?: boolean;\n isPressed?: boolean;\n isFocused?: boolean;\n variant: ActionCardVariantType;\n borderVariant?: ActionCardBorderVariantType;\n children: ReactNode;\n}\n\nexport function ActionCardContentWrapper({\n isHovered,\n isPressed,\n isFocused,\n variant,\n borderVariant = 'none',\n children,\n}: ActionCardContentWrapperProps): ReactElement {\n const theme = useTheme();\n const state = getStateKey(isHovered, isPressed, isFocused);\n\n if (__DEV__ && borderVariant !== 'none' && variant !== 'primary') {\n throw new Error(`borderVariant=${borderVariant} is only allowed with variant=primary`);\n }\n\n const { translateY } = theme.kitt.actionCard[variant][state];\n\n const sharedTransform = translateY\n ? {\n transform: [{ translateY }],\n }\n : {};\n\n const themeName = getThemeName(variant, borderVariant);\n\n return (\n <View\n _ios={{ style: sharedTransform }}\n _android={{ style: sharedTransform }}\n _web={{\n style: sharedTransform,\n }}\n width=\"100%\"\n backgroundColor={`kitt.actionCard.${themeName}.${state}.backgroundColor`}\n borderRadius=\"kitt.actionCard.borderRadius\"\n borderColor={`kitt.actionCard.${themeName}.${state}.borderColor`}\n borderWidth={`kitt.actionCard.${themeName}.${state}.borderWidth`}\n shadow={`kitt.actionCard.${themeName}.${state}.shadow`}\n >\n {children}\n </View>\n );\n}\n","import type { ReactElement, ReactNode } from 'react';\nimport { View } from '../native-base/primitives';\nimport type { ActionCardVariantType } from './types';\n\ninterface ActionCardDisabledProps {\n variant: ActionCardVariantType;\n children: ReactNode;\n}\n\nexport function ActionCardDisabled({ variant, children }: ActionCardDisabledProps): ReactElement {\n return (\n <View\n borderRadius=\"kitt.actionCard.borderRadius\"\n borderStyle=\"solid\"\n borderWidth={`kitt.actionCard.${variant}.disabled.borderWidth`}\n borderColor={`kitt.actionCard.${variant}.disabled.borderColor`}\n backgroundColor={`kitt.actionCard.${variant}.disabled.backgroundColor`}\n >\n {children}\n </View>\n );\n}\n","import type { ReactElement, ReactNode } from 'react';\nimport { forwardRef } from 'react';\nimport type { PressableProps, ViewProps } from '../native-base/primitives';\nimport { Pressable, View } from '../native-base/primitives';\nimport { ActionCardContentWrapper } from './ActionCardContentWrapper';\nimport { ActionCardDisabled } from './ActionCardDisabled';\nimport type { ActionCardBorderVariantType, ActionCardVariantType } from './types';\n\nexport interface ActionCardProps extends Pick<ViewProps, 'testID'> {\n variant?: ActionCardVariantType;\n borderVariant?: ActionCardBorderVariantType;\n disabled?: boolean;\n children: ReactNode;\n /** @internal used by ActionCard.Pressable only */\n isHovered?: boolean;\n /** @internal used by ActionCard.Pressable only */\n isPressed?: boolean;\n /** @internal used by ActionCard.Pressable only */\n isFocused?: boolean;\n}\n\nexport function ActionCard({\n children,\n variant = 'secondary',\n borderVariant = 'none',\n disabled,\n testID,\n isHovered,\n isPressed,\n isFocused,\n}: ActionCardProps): ReactElement {\n return (\n <View testID={testID}>\n {disabled ? (\n <ActionCardDisabled variant={variant}>{children}</ActionCardDisabled>\n ) : (\n <ActionCardContentWrapper\n variant={variant}\n borderVariant={borderVariant}\n isHovered={isHovered}\n isFocused={isFocused}\n isPressed={isPressed}\n >\n {children}\n </ActionCardContentWrapper>\n )}\n </View>\n );\n}\n\nexport interface ActionCardPressableProps\n extends ActionCardProps,\n Pick<PressableProps, 'testID' | 'href' | 'hrefAttrs' | 'accessibilityRole' | 'onPress'> {\n /** @internal for story purpose */\n isHoveredInternal?: boolean;\n /** @internal for story purpose */\n isPressedInternal?: boolean;\n /** @internal for story purpose */\n isFocusedInternal?: boolean;\n}\n\nconst ActionCardPressable = forwardRef<typeof Pressable, ActionCardPressableProps>(\n (\n {\n children,\n variant = 'secondary',\n borderVariant = 'none',\n disabled,\n testID,\n href,\n hrefAttrs,\n accessibilityRole = 'button',\n isHoveredInternal,\n isPressedInternal,\n isFocusedInternal,\n onPress,\n }: ActionCardPressableProps,\n ref,\n ): ReactElement => {\n return (\n <Pressable\n ref={ref}\n accessibilityRole={accessibilityRole}\n disabled={disabled}\n testID={testID}\n href={href}\n hrefAttrs={hrefAttrs}\n width=\"100%\"\n onPress={onPress}\n >\n {({ isHovered, isPressed, isFocused }) => (\n <ActionCard\n variant={variant}\n borderVariant={borderVariant}\n disabled={disabled}\n isHovered={isHovered || isHoveredInternal}\n isFocused={isFocused || isFocusedInternal}\n isPressed={isPressed || isPressedInternal}\n >\n {children}\n </ActionCard>\n )}\n </Pressable>\n );\n },\n);\n\nActionCard.Pressable = ActionCardPressable;\n","import type { ICenterProps, IStackProps } from 'native-base';\nimport {\n Center as NativeBaseCenter,\n HStack as NativeBaseHStack,\n Stack as NativeBaseStack,\n VStack as NativeBaseVStack,\n} from 'native-base';\nimport type { InterfaceStackProps } from 'native-base/lib/typescript/components/primitives/Stack/Stack';\nimport type { SafeAreaProps, SpaceType } from 'native-base/lib/typescript/components/types';\nimport type { ViewProps as NativeViewProps } from 'react-native';\nimport type { Except } from 'type-fest';\nimport type { KittResponsivePropOrValue } from 'KittBreakpoints';\nimport type {\n ForwardRefComponent,\n NativeBaseAcceptedBorderProps,\n NativeBaseAcceptedBorderRadiusProps,\n NativeBaseAcceptedChildrenProp,\n NativeBaseAcceptedColorsProps,\n NativeBaseAcceptedFlexboxProps,\n NativeBaseAcceptedLayoutProps,\n NativeBaseAcceptedPositionProps,\n NativeBaseAcceptedShadowProps,\n NativeBaseAcceptedSpaceProps,\n} from './acceptable-native-base-props';\n\ntype NativeBaseAcceptedStackProps = Extract<\n keyof InterfaceStackProps,\n | 'divider'\n | 'reversed'\n | 'direction'\n | 'isHovered'\n | 'isFocused'\n | 'isDisabled'\n | 'isInvalid'\n | 'isReadOnly'\n | keyof NativeViewProps\n | keyof SafeAreaProps\n>;\n\nexport interface StackProps\n extends Pick<\n IStackProps,\n | NativeBaseAcceptedChildrenProp\n | NativeBaseAcceptedStackProps\n | NativeBaseAcceptedSpaceProps\n | NativeBaseAcceptedColorsProps\n | NativeBaseAcceptedBorderProps\n | NativeBaseAcceptedBorderRadiusProps\n | NativeBaseAcceptedPositionProps\n | NativeBaseAcceptedShadowProps\n | NativeBaseAcceptedLayoutProps\n | NativeBaseAcceptedFlexboxProps\n > {\n space?: KittResponsivePropOrValue<SpaceType>;\n}\n\nexport const Stack = NativeBaseStack as ForwardRefComponent<StackProps>;\n\nexport interface VStackProps extends Except<StackProps, 'direction'> {\n direction?: Extract<StackProps['direction'], 'column' | 'column-reverse'>;\n}\nexport const VStack = NativeBaseVStack as ForwardRefComponent<VStackProps>;\n\nexport interface HStackProps extends Except<StackProps, 'direction'> {\n direction?: Extract<StackProps['direction'], 'row' | 'row-reverse'>;\n}\nexport const HStack = NativeBaseHStack as ForwardRefComponent<HStackProps>;\n\nexport interface CenterProps\n extends Pick<\n ICenterProps,\n | keyof NativeViewProps\n | keyof SafeAreaProps\n | NativeBaseAcceptedChildrenProp\n | NativeBaseAcceptedSpaceProps\n | NativeBaseAcceptedColorsProps\n | NativeBaseAcceptedBorderProps\n | NativeBaseAcceptedBorderRadiusProps\n | NativeBaseAcceptedPositionProps\n | NativeBaseAcceptedShadowProps\n | NativeBaseAcceptedLayoutProps\n | NativeBaseAcceptedFlexboxProps\n > {}\n\nexport const Center = NativeBaseCenter as ForwardRefComponent<CenterProps>;\n","import type { KittBreakpointNameEnum } from '../../KittBreakpoints';\n\nexport type ResponsiveRecordValue<T> = { [key in KittBreakpointNameEnum]?: T };\nexport type ResponsiveValue<T> = T | ResponsiveRecordValue<T> | undefined;\n\nexport function createResponsiveStyleFromProp<PossibleStyleValue>(\n responsiveBooleanValue: ResponsiveValue<boolean | undefined>,\n valueIfTrue: PossibleStyleValue,\n valueIfFalse?: PossibleStyleValue,\n): ResponsiveValue<PossibleStyleValue> {\n // Handles simple boolean values\n if (!responsiveBooleanValue) return valueIfFalse;\n\n if (responsiveBooleanValue === true) return valueIfTrue;\n\n // Handles responsive value object\n const keys = Object.keys(responsiveBooleanValue) as KittBreakpointNameEnum[];\n\n if (keys.length === 0) return valueIfFalse;\n\n const responsiveValue = {} as ResponsiveRecordValue<PossibleStyleValue>;\n\n keys.forEach((breakpointName) => {\n responsiveValue[breakpointName] = responsiveBooleanValue[breakpointName] ? valueIfTrue : valueIfFalse;\n });\n\n return responsiveValue;\n}\n","export function warn(message: string): void {\n if (process.env.NODE_ENV !== 'production') {\n console.warn(message);\n }\n}\n\nexport function deprecatedMessage(symbol: string, deprecation: string, replaceBy?: string): void {\n const replaceMessage = replaceBy === undefined ? '' : `, please use ${replaceBy} instead`;\n\n warn(`[Deprecation] in ${symbol}: ${deprecation} is deprecated${replaceMessage}.`);\n}\n\nexport function deprecatedInComponent(component: string, deprecation: string, replaceBy?: string): void {\n deprecatedMessage(`<${component} />`, deprecation, replaceBy);\n}\n","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","import { useSx } from 'native-base';\nimport type { ReactElement, ReactNode } from 'react';\nimport type { ViewStyle } from 'react-native';\nimport Animated from 'react-native-reanimated';\nimport type { ButtonProps, ButtonType, ButtonVariant } from './Button';\nimport { getCurrentBackgroundColorForNativeBaseTheme } from './utils/getCurrentBackgroundColorForNativeBaseTheme';\n\nexport interface AnimatedContainerProps {\n children: ReactNode;\n disabled?: boolean;\n variant: ButtonVariant;\n type: ButtonType;\n isHovered?: boolean;\n isPressed?: boolean;\n isStretch?: ButtonProps['stretch'];\n animatedStyles: Partial<ViewStyle>;\n}\n\nexport function AnimatedContainer({\n disabled,\n animatedStyles,\n children,\n isHovered,\n isPressed,\n variant,\n type,\n}: AnimatedContainerProps): ReactElement {\n const currentBackgroundColor = getCurrentBackgroundColorForNativeBaseTheme({\n type,\n variant,\n isDisabled: !!disabled,\n isHovered,\n isPressed,\n });\n const sx = useSx();\n const styles = sx({\n borderRadius: 'kitt.button.borderRadius',\n backgroundColor: currentBackgroundColor,\n });\n return <Animated.View style={disabled ? [styles] : [styles, animatedStyles]}>{children}</Animated.View>;\n}\n","export const KittBreakpoints = {\n /**\n * min-width: 0\n */\n BASE: 0,\n /**\n * min-width: 480px\n */\n SMALL: 480,\n /**\n * min-width: 768px\n */\n MEDIUM: 768,\n /**\n * min-width: 1024px\n */\n LARGE: 1024,\n /**\n * min-width: 1280px\n */\n WIDE: 1280,\n};\n\nexport const KittBreakpointsMax = {\n /**\n * max-width: 479px\n */\n BASE: KittBreakpoints.SMALL - 1,\n /**\n * max-width: 767px\n */\n SMALL: KittBreakpoints.MEDIUM - 1,\n /**\n * max-width: 1023px\n */\n MEDIUM: KittBreakpoints.LARGE - 1,\n /**\n * max-width: 1279px\n */\n LARGE: KittBreakpoints.WIDE - 1,\n};\n\nexport type KittBreakpoint = (typeof KittBreakpoints)[keyof typeof KittBreakpoints];\nexport type KittBreakpointMax = (typeof KittBreakpointsMax)[keyof typeof KittBreakpointsMax];\n\nexport enum KittBreakpointNameEnum {\n BASE = 'base',\n SMALL = 'small',\n MEDIUM = 'medium',\n LARGE = 'large',\n WIDE = 'wide',\n}\n\nexport type KittResponsiveProp<Value> = Record<KittBreakpointNameEnum.BASE, Value> &\n Partial<Record<Exclude<KittBreakpointNameEnum, KittBreakpointNameEnum.BASE>, Value>>;\n\nexport type KittResponsivePropOrValue<Value> = KittResponsiveProp<Value> | Value;\n","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 (isColorTypographyColor(colorName)) {\n return getNBThemeColorFromColorProps(colorName);\n }\n\n return colorName;\n}\n","import type { TypographyHeaderType, TypographyType } from '../Typography';\n\nexport const isTypeHeader = (type: TypographyType): type is TypographyHeaderType => type.startsWith('header');\n","import type { TypographyHeaderType, TypographyType } from '../Typography';\nimport { isTypeHeader } from './isTypeHeader';\n\nexport const isTypographyHeader = (\n type: TypographyType | undefined,\n isHeaderTypographyInContext: boolean | undefined,\n): type is TypographyHeaderType => {\n if (type) return isTypeHeader(type);\n if (isHeaderTypographyInContext != null) return isHeaderTypographyInContext;\n throw new Error('You must set a \"base\" prop or wrap this Typography in one that does.');\n};\n","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, ReactElement, ReactNode } from 'react';\nimport { createContext, useContext } from 'react';\nimport type { TextProps, TextStyle } from 'react-native';\nimport { Platform } from 'react-native';\nimport type { Except, SetOptional } from 'type-fest';\nimport type { KittResponsiveProp } from '../KittBreakpoints';\nimport { KittBreakpointNameEnum } 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 { isTypeHeader } from './utils/isTypeHeader';\nimport { isTypographyHeader } from './utils/isTypographyHeader';\n\nexport type TypographyColor = (typeof typographyColors)[number];\n\nexport type ExtendedTypographyColor = TypographyColor | NonNullable<ITextProps['color']> | string;\n\nexport type TypographyHeaderType = `header${'1' | '2' | '3' | '4' | '5'}`;\nexport type TypographyBodyType = 'body' | `body-${'large' | 'medium' | 'small' | 'xsmall'}`;\nexport type TypographyType = TypographyHeaderType | TypographyBodyType;\ntype TypographyVariant = 'regular' | 'bold';\n\nconst IsHeaderTypographyContext = createContext<boolean | undefined>(undefined);\nconst TypographyColorContext = createContext<ExtendedTypographyColor>('black');\n\nexport function useTypographyColor(): ExtendedTypographyColor {\n return useContext(TypographyColorContext);\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 === 'base' || breakpointName === 'small' ? 'baseAndSmall' : '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 | NativeBaseAcceptedFlexboxProps\n> &\n Pick<TextStyle, 'cursor' | 'transitionProperty' | 'transitionDuration' | 'transitionTimingFunction'>;\n// TODO[native-base@>=3.4.19] this currently does not work. Retest when updating native-base.\n// & {\n// _active?: Pick<NativeBaseTextPropsAcceptedProps, 'underline'>;\n// _hover?: Pick<NativeBaseTextPropsAcceptedProps, 'underline'>;\n// } ;\n\nexport interface TypographyProps\n extends TypographyBreakpointType,\n NativeBaseTextPropsAcceptedProps,\n Pick<PlatformProps<NativeBaseTextPropsAcceptedProps>, '_android' | '_ios' | '_web'> {\n type?: TypographyBreakpointType;\n // Find mapping for web here: https://www.w3.org/TR/html-aria/\n accessibilityRole: NonNullable<TextProps['accessibilityRole']> | 'paragraph' | null;\n /** Default to regular for bodies and bold of headers. Is not inherited. */\n variant?: TypographyVariant;\n /** Inherited from parent Typography if not specified, or black if no Typography parent found. */\n color?: ExtendedTypographyColor;\n children: ReactNode;\n}\nexport type TypographyPropsWithoutRole = Except<TypographyProps, 'accessibilityRole'>;\n\nexport function createNativeBaseFontSize(type: TypographyBreakpointType): ITextProps['fontSize'] {\n const typeWithMediumForced = {\n ...type,\n medium: type.medium || type.small || type.base,\n };\n\n const fontSizeForNativeBase: ITextProps['fontSize'] = {};\n [\n KittBreakpointNameEnum.BASE,\n KittBreakpointNameEnum.SMALL,\n KittBreakpointNameEnum.MEDIUM,\n KittBreakpointNameEnum.LARGE,\n KittBreakpointNameEnum.WIDE,\n ].forEach((typeName) => {\n const value = typeWithMediumForced[typeName];\n if (value) {\n fontSizeForNativeBase[typeName] = `${getTypographyTypeConfigKeyFromTypeName(typeName)}.${value}`;\n }\n });\n\n return fontSizeForNativeBase;\n}\n\nexport function Typography({\n accessibilityRole,\n base: legacyBase,\n small: legacySmall,\n medium: legacyMedium,\n large: legacyLarge,\n wide: legacyWide,\n type = { base: legacyBase, small: legacySmall, medium: legacyMedium, large: legacyLarge, wide: legacyWide },\n variant,\n color,\n ...otherProps\n}: TypographyProps): ReactElement | null {\n const sx = useSx();\n\n const isHeaderTypographyInContext = useContext(IsHeaderTypographyContext);\n\n const defaultColor = useTypographyDefaultColor();\n\n const hasTypographyAncestor = isHeaderTypographyInContext !== undefined;\n const baseOrDefaultToBody = hasTypographyAncestor ? type.base : type.base ?? 'body';\n const isHeader = isTypographyHeader(baseOrDefaultToBody, isHeaderTypographyInContext);\n const nonNullableVariant: TypographyVariant = variant ?? (isHeader ? 'bold' : 'regular');\n\n const fontSizeForNativeBase = createNativeBaseFontSize({ ...type, base: baseOrDefaultToBody });\n\n const currentColor = !color && !hasTypographyAncestor ? defaultColor : color;\n\n const colorStyles = sx({\n color: getTypographyColorValue(currentColor),\n textDecorationColor: getTypographyColorValue(currentColor),\n });\n\n if (process.env.NODE_ENV !== 'production') {\n Object.entries(type).forEach(([key, value]) => {\n if (value && isTypeHeader(value) !== isHeader) {\n throw new Error(\n `Invalid value for \"${key}\": \"${value}\" is ${isHeader ? 'not' : ''} an header. Don't mix headers and bodies.`,\n );\n }\n });\n }\n\n const text = (\n <NBText\n accessibilityRole={(accessibilityRole as TextProps['accessibilityRole']) || undefined}\n fontSize={fontSizeForNativeBase}\n lineHeight={hasTypographyAncestor ? undefined : fontSizeForNativeBase}\n fontWeight={isHeader ? `headers.${nonNullableVariant}` : `bodies.${nonNullableVariant}`}\n fontFamily={isHeader ? `headers.${nonNullableVariant}` : `bodies.${nonNullableVariant}`}\n {...colorStyles}\n {...otherProps}\n />\n );\n\n const content = baseOrDefaultToBody ? (\n <IsHeaderTypographyContext.Provider value={isHeader}>{text}</IsHeaderTypographyContext.Provider>\n ) : (\n text\n );\n\n return color ? <TypographyColorContext.Provider value={color}>{content}</TypographyColorContext.Provider> : content;\n}\n\nexport type TypographyTextProps = SetOptional<TypographyProps, 'accessibilityRole'>;\nfunction TypographyText(props: TypographyTextProps): ReactElement {\n return <Typography accessibilityRole={null} {...props} />;\n}\n\nfunction TypographyParagraph(props: TypographyTextProps): ReactElement {\n // role 'paragraph' does not exist in native, it's a web feature only.\n return <Typography accessibilityRole={Platform.OS === 'web' ? 'paragraph' : null} {...props} />;\n}\n\nexport type TypographyHeadingProps = TypographyPropsWithoutRole;\n\nconst createHeading = (\n level: number,\n /** @deprecated accessibility and design should be independent */\n defaultBase?: TypographyHeadingProps['base'],\n): FC<TypographyHeadingProps> => {\n // https://github.com/necolas/react-native-web/issues/401\n function TypographyHeading(props: TypographyHeadingProps): ReactElement {\n return <Typography accessibilityRole=\"header\" base={defaultBase} {...props} accessibilityLevel={level} />;\n }\n TypographyHeading.displayName = `TypographyHeading${level}`;\n return TypographyHeading;\n};\n\nTypography.SetDefaultColor = TypographyDefaultColorContext.Provider;\n\nTypography.Text = TypographyText;\nTypography.Paragraph = TypographyParagraph;\nTypography.Header1 = createHeading(1);\nTypography.Header2 = createHeading(2);\nTypography.Header3 = createHeading(3);\nTypography.Header4 = createHeading(4);\nTypography.Header5 = createHeading(5);\nTypography.Header6 = createHeading(6);\n\n/** @deprecated use Typography.Header1 */\nTypography.h1 = createHeading(1, 'header1');\n/** @deprecated use Typography.Header2 */\nTypography.h2 = createHeading(2, 'header2');\n/** @deprecated use Typography.Header3 */\nTypography.h3 = createHeading(3, 'header3');\n/** @deprecated use Typography.Header4 */\nTypography.h4 = createHeading(4, 'header4');\n/** @deprecated use Typography.Header6 */\nTypography.h5 = createHeading(5, 'header5');\n","import type { ReactElement } from 'react';\nimport { cloneElement } from 'react';\nimport type { ViewStyle } from 'react-native';\nimport type { ViewProps } from '../native-base/primitives';\nimport { View } from '../native-base/primitives';\n\nexport interface IconProps {\n icon: ReactElement;\n size?: ViewProps['size'];\n color: string;\n align?: ViewStyle['alignSelf'];\n testID?: ViewProps['testID'];\n}\n\nexport function Icon({ icon, size = 'kitt.icon.defaultSize', align = 'auto', color }: IconProps): ReactElement {\n const clonedIcon = cloneElement(icon, { color });\n\n return (\n <View color={color} alignSelf={align} size={size}>\n {clonedIcon}\n </View>\n );\n}\n","import { useSx } from 'native-base';\nimport type { ReactElement } from 'react';\nimport type { Except } from 'type-fest';\nimport type { IconProps } from '../Icon/Icon';\nimport { Icon } from '../Icon/Icon';\nimport type { SetNonNullable } from '../utils/typeUtils';\nimport type { TypographyProps } from './Typography';\nimport { useTypographyColor } from './Typography';\nimport { getTypographyColorValue } from './utils/getTypographyColorValue';\n\nexport interface TypographyIconProps extends Except<IconProps, 'color'> {\n color?: TypographyProps['color'] | 'inherit';\n}\n\nfunction TypographyIconSpecifiedColor({ color, ...props }: SetNonNullable<TypographyIconProps, 'color'>): ReactElement {\n const sx = useSx();\n\n const colorStyle = sx({\n color: getTypographyColorValue(color),\n });\n\n return <Icon {...props} {...colorStyle} />;\n}\n\nfunction TypographyIconInheritColor(props: TypographyIconProps): ReactElement {\n const color = useTypographyColor();\n\n return <TypographyIconSpecifiedColor color={color} {...props} />;\n}\n\nexport function TypographyIcon({ color, ...props }: TypographyIconProps): ReactElement {\n if (color) {\n return <TypographyIconSpecifiedColor color={color} {...props} />;\n }\n\n return <TypographyIconInheritColor {...props} />;\n}\n","import type { TypographyColor } from '../../typography/Typography';\nimport type { ButtonType, ButtonVariant } from '../Button';\n\nexport const getTextColorByType = (\n type: ButtonType,\n variant: ButtonVariant,\n isHovered: boolean,\n isPressed: boolean,\n): TypographyColor => {\n const isButtonInteractedWith = isHovered || isPressed;\n\n switch (type) {\n case 'primary':\n return variant === 'ghost' ? 'primary' : 'white';\n case 'white':\n return 'white';\n case 'danger':\n return 'danger';\n case 'subtle':\n return isButtonInteractedWith ? 'primary-light' : 'primary';\n case 'subtle-dark':\n return isButtonInteractedWith ? 'black-light' : 'black';\n case 'default':\n return variant === 'ghost' ? 'white' : 'black';\n default:\n return 'black';\n }\n};\n","import type { ReactElement } from 'react';\nimport type { Except } from 'type-fest';\nimport { View } from '../native-base/primitives';\nimport { 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 { getTextColorByType } from './utils/getTextColorByType';\n\ninterface ButtonIconProps {\n icon: NonNullable<ButtonContentProps['icon']>;\n iconPosition: ButtonContentProps['iconPosition'];\n color: TypographyIconProps['color'];\n testID?: string;\n}\n\nfunction ButtonIcon({ icon, color, iconPosition, testID }: ButtonIconProps): ReactElement | null {\n return (\n <View marginRight={iconPosition === 'left' ? 'kitt.2' : 0} marginLeft={iconPosition === 'right' ? 'kitt.2' : 0}>\n <TypographyIcon icon={icon} testID={testID} color={color} />\n </View>\n );\n}\n\ninterface ButtonContentProps extends Except<ButtonProps, 'onPress' | 'disabled' | 'stretch'> {\n isDisabled?: boolean;\n type: NonNullable<ButtonType>;\n variant: NonNullable<ButtonVariant>;\n isHovered: boolean;\n isPressed: boolean;\n isFocused: boolean;\n}\n\ninterface ButtonContentChildrenProps extends Except<ButtonProps, 'onPress' | 'disabled' | 'stretch'> {\n isDisabled?: boolean;\n type: NonNullable<ButtonType>;\n color: TypographyColor;\n}\n\nexport function ButtonContentChildren({\n type,\n icon,\n iconPosition,\n color,\n children,\n}: ButtonContentChildrenProps): ReactElement | null {\n if (__DEV__) {\n if (!(children || icon)) {\n throw new Error('kitt(Button): You should provide at least a children or a icon');\n }\n }\n\n if (!children) {\n return (\n <TypographyIcon\n // eslint-disable-next-line @typescript-eslint/no-non-null-assertion\n icon={icon!}\n color={color}\n />\n );\n }\n\n const buttonIconSharedProps = {\n type,\n iconPosition,\n color,\n };\n\n // Make the multilines case work properly on native - Breaks the web implem\n const sharedNativeStyle = {\n flexShrink: 1,\n };\n\n return (\n <View alignItems=\"center\" justifyContent=\"center\" flexDirection=\"row\">\n {icon && iconPosition === 'left' ? (\n <ButtonIcon {...buttonIconSharedProps} testID=\"button.ButtonContent.leftButtonIcon\" icon={icon} />\n ) : null}\n\n <Typography.Text\n /* On native code, this is the only way to ensure that the text is centered */\n textAlign=\"center\"\n _android={sharedNativeStyle}\n _ios={sharedNativeStyle}\n base=\"body\"\n variant=\"bold\"\n color={color}\n >\n {children}\n </Typography.Text>\n\n {icon && iconPosition === 'right' ? <ButtonIcon {...buttonIconSharedProps} icon={icon} /> : null}\n </View>\n );\n}\n\nexport function ButtonContent({\n type,\n variant,\n isDisabled,\n icon,\n children,\n isHovered,\n isPressed,\n isFocused,\n ...props\n}: ButtonContentProps): ReactElement {\n const color = isDisabled ? 'black-light' : getTextColorByType(type, variant, isHovered, isPressed);\n\n return (\n <View\n _web={{\n // Make the multilines case work properly on web\n // We don't apply those styles on native because it will break\n flexGrow: 0,\n flexShrink: 1,\n flexBasis: 'auto',\n }}\n >\n <ButtonContentChildren icon={icon} type={type} isDisabled={isDisabled} color={color} {...props}>\n {children}\n </ButtonContentChildren>\n </View>\n );\n}\n","import type { ReactElement, ReactNode } from 'react';\nimport { View } from '../native-base/primitives';\nimport type { ButtonTheme } from '../themes/late-ocean/button';\nimport type { ButtonSize } from './Button';\n\ninterface GetCurrentPaddingConfigParams {\n size?: ButtonSize;\n isDisabled?: boolean;\n}\n\nfunction getCurrentPaddingConfig({ size, isDisabled }: GetCurrentPaddingConfigParams): keyof ButtonTheme['padding'] {\n if (size === 'large') return 'large';\n if (size === 'xLarge') return 'xLarge';\n if (isDisabled) return 'disabled';\n\n return 'default';\n}\n\ninterface ButtonPaddingProps {\n children: ReactNode;\n size?: ButtonSize;\n isDisabled?: boolean;\n}\n\nexport function ButtonPadding({ children, size, isDisabled }: ButtonPaddingProps): ReactElement {\n const currentPaddingKey = getCurrentPaddingConfig({ size, isDisabled });\n\n return (\n <View\n position=\"relative\"\n flexDirection=\"row\"\n alignItems=\"center\"\n justifyContent=\"center\"\n paddingX={`kitt.button.padding.${currentPaddingKey}.horizontal`}\n paddingY={`kitt.button.padding.${currentPaddingKey}.vertical`}\n minHeight=\"kitt.button.minHeight\"\n >\n {children}\n </View>\n );\n}\n","import type { ReactElement } from 'react';\nimport { View } from '../native-base/primitives';\n\nexport function DisabledBorder(): ReactElement {\n return (\n <View\n position=\"absolute\"\n top={0}\n left={0}\n right={0}\n bottom={0}\n borderWidth=\"kitt.button.borderWidth.disabled\"\n borderColor=\"kitt.button.disabled.default.borderColor\"\n borderRadius=\"kitt.button.borderRadius\"\n />\n );\n}\n","import type { ReactElement } from 'react';\nimport { useTheme } from '../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): ReactElement {\n const {\n kitt: { button: buttonTheme },\n } = useTheme();\n\n const hasPointerInteraction = isPressed || isHovered;\n\n return (\n <View\n _web={{\n style: {\n width: `calc(100% + ${buttonTheme.borderWidth.focus * 2}px)`,\n height: `calc(100% + ${buttonTheme.borderWidth.focus * 2}px)`,\n transitionProperty: 'opacity',\n transitionDuration: buttonTheme.transition.duration,\n transitionTimingFunction: buttonTheme.transition.timingFunction,\n },\n }}\n opacity={isFocused && !hasPointerInteraction ? 1 : 0}\n position=\"absolute\"\n left={-buttonTheme.borderWidth.focus}\n top={-buttonTheme.borderWidth.focus}\n borderWidth=\"kitt.button.borderWidth.focus\"\n borderColor={`kitt.button.${type}.${variant}.focusBorderColor`}\n borderRadius=\"kitt.button.borderRadius\"\n />\n );\n}\n","import type { KittThemeContextValue } from '../KittThemeContext';\nimport type { BaseButtonTheme, BaseButtonWithVariant } from '../themes/late-ocean/button';\nimport type { ButtonType, ButtonVariant } from './Button';\n\nconst hasVariant = (button: BaseButtonTheme, variant: ButtonVariant): button is BaseButtonWithVariant => {\n return variant in button;\n};\n\nexport function getVariantValuesIfExist<V extends ButtonVariant>(\n theme: KittThemeContextValue,\n type: ButtonType,\n variant: ButtonVariant,\n): BaseButtonTheme['default'] | BaseButtonWithVariant[V] {\n const button = theme.kitt.button[type];\n\n if (hasVariant(button, variant)) {\n return button[variant];\n }\n\n return theme.kitt.button[type].default;\n}\n","import type { ViewStyle } from 'react-native';\nimport { interpolateColor, useAnimatedStyle, useSharedValue, withSpring } from 'react-native-reanimated';\nimport { useTheme } from '../../KittThemeContext';\nimport type { ButtonType, ButtonVariant } from '../Button';\nimport { getVariantValuesIfExist } from '../getVariantValuesIfExist';\n\nexport interface UseNativeAnimationOptions {\n type: ButtonType;\n variant: ButtonVariant;\n isPressedInternal?: boolean;\n}\n\nexport interface NativeAnimation {\n onPressIn?: () => void;\n onPressOut?: () => void;\n animatedStyles: ViewStyle;\n}\n\nexport const useNativeAnimation = ({\n type,\n variant,\n isPressedInternal,\n}: UseNativeAnimationOptions): NativeAnimation => {\n const theme = useTheme();\n const pressed = useSharedValue<0 | 1>(isPressedInternal ? 1 : 0);\n const color = useSharedValue(0);\n\n const { backgroundColor, pressedBackgroundColor } = getVariantValuesIfExist(theme, type, variant);\n const { scale } = theme.kitt.button;\n\n const animatedStyles = useAnimatedStyle(() => {\n return {\n backgroundColor: interpolateColor(color.value, [0, 1], [backgroundColor, pressedBackgroundColor]),\n transform: [\n {\n scale: withSpring(pressed.value ? scale.base.active : scale.base.default),\n },\n ],\n };\n });\n\n const handlePressIn = (): void => {\n color.value = withSpring(1);\n pressed.value = 1;\n };\n\n const handlePressOut = (): void => {\n color.value = withSpring(0);\n pressed.value = 0;\n };\n\n return {\n onPressIn: handlePressIn,\n onPressOut: handlePressOut,\n animatedStyles,\n };\n};\n","import type { ButtonProps } from '../Button';\n\nexport const getButtonSize = ({ large, xLarge, size }: Partial<ButtonProps>): ButtonProps['size'] => {\n if (large) return 'large';\n if (xLarge) return 'xLarge';\n return size;\n};\n","import type { ReactElement, ReactNode } from 'react';\nimport { forwardRef } from 'react';\nimport type { PressableProps } from 'react-native';\nimport type { View } from '../native-base/primitives';\nimport { Pressable } from '../native-base/primitives';\nimport type { ResponsiveValue } from '../utils/createResponsiveStyleFromProp/createResponsiveStyleFromProp';\nimport { createResponsiveStyleFromProp } from '../utils/createResponsiveStyleFromProp/createResponsiveStyleFromProp';\nimport { deprecatedInComponent } from '../utils/warnings';\nimport { AnimatedContainer } from './AnimatedContainer';\nimport { ButtonContent } from './ButtonContent';\nimport { ButtonPadding } from './ButtonPadding';\nimport { DisabledBorder } from './DisabledBorder';\nimport { FocusBorder } from './FocusBorder';\nimport { useNativeAnimation } from './hooks/useNativeAnimation';\nimport { getButtonSize } from './utils/getButtonSize';\n\nexport type SubtleButtonType = 'subtle' | 'subtle-dark';\nexport type ButtonType = 'primary' | 'default' | SubtleButtonType | 'white' | 'danger';\nexport type ButtonSize = 'large' | 'xLarge';\nexport type ButtonVariant = 'default' | 'ghost';\n\ntype IconPosition = 'right' | 'left';\n\nconst allowedGhostTypes = ['primary', 'default', 'danger'];\n\nexport interface ButtonProps {\n children?: ReactNode;\n type?: ButtonType;\n variant?: ButtonVariant;\n disabled?: boolean;\n stretch?: ResponsiveValue<boolean | undefined>;\n /**\n * @deprecated use `size` instead\n */\n large?: boolean;\n /**\n * @deprecated use `size` instead\n */\n xLarge?: boolean;\n size?: ButtonSize;\n icon?: ReactElement;\n iconPosition?: IconPosition;\n testID?: PressableProps['testID'];\n href?: PressableProps['href'];\n hrefAttrs?: PressableProps['hrefAttrs'];\n accessibilityRole?: PressableProps['accessibilityRole'];\n /**\n * @deprecated props className is not supported\n */\n className?: string;\n style?: PressableProps['style'];\n /** @internal for story purpose */\n isHoveredInternal?: boolean;\n /** @internal for story purpose */\n isPressedInternal?: boolean;\n /** @internal for story purpose */\n isFocusedInternal?: boolean;\n onPress?: PressableProps['onPress'];\n}\n\nexport const Button = forwardRef<typeof View, ButtonProps>(\n (\n {\n children,\n type = 'default',\n variant = 'default',\n disabled,\n stretch,\n large,\n xLarge,\n icon,\n size: sizeProp,\n iconPosition = 'left',\n testID,\n href,\n hrefAttrs,\n accessibilityRole = 'button',\n isHoveredInternal,\n isPressedInternal,\n isFocusedInternal,\n onPress,\n }: ButtonProps,\n ref,\n ): ReactElement => {\n const { onPressIn, onPressOut, animatedStyles } = useNativeAnimation({\n type,\n variant,\n });\n\n if (__DEV__ && variant === 'ghost' && !allowedGhostTypes.includes(type)) {\n throw new Error('variant=ghost is only allowed with type=primary or default');\n }\n\n if (large || xLarge) {\n const deprecatedProp = large ? 'large' : 'xLarge';\n deprecatedInComponent('Button', `${deprecatedProp} prop`, 'size');\n }\n\n const size = getButtonSize({ large, xLarge, size: sizeProp });\n\n return (\n <Pressable\n ref={ref}\n disabled={disabled}\n accessibilityRole={accessibilityRole}\n testID={testID}\n href={href}\n hrefAttrs={hrefAttrs}\n /* Emulate inline-* css display by making the button taking only its necessary space */\n alignSelf={createResponsiveStyleFromProp(stretch, undefined, 'flex-start')}\n minWidth=\"kitt.button.minWidth\"\n maxWidth={createResponsiveStyleFromProp(stretch, '100%', 'kitt.button.maxWidth')}\n width={createResponsiveStyleFromProp(stretch, '100%', 'auto')}\n onPress={onPress}\n onPressIn={onPressIn}\n onPressOut={onPressOut}\n >\n {({ isHovered, isPressed, isFocused }) => (\n <AnimatedContainer\n animatedStyles={animatedStyles}\n type={type}\n isHovered={isHovered || isHoveredInternal}\n isPressed={isPressed || isPressedInternal}\n disabled={!!disabled}\n variant={variant}\n isStretch={stretch}\n >\n <ButtonPadding size={size} isDisabled={disabled}>\n <ButtonContent\n type={type}\n variant={variant}\n isDisabled={disabled}\n icon={icon}\n iconPosition={iconPosition}\n isHovered={isHovered}\n isPressed={isPressed}\n isFocused={isFocused}\n >\n {children}\n </ButtonContent>\n {disabled ? <DisabledBorder /> : null}\n <FocusBorder\n type={type}\n variant={variant}\n isFocused={isFocused || isFocusedInternal}\n isHovered={isHovered}\n isPressed={isPressed}\n />\n </ButtonPadding>\n </AnimatedContainer>\n )}\n </Pressable>\n );\n },\n);\n","import type { ReactElement } from 'react';\nimport { cloneElement, useEffect, useRef } from 'react';\nimport { Animated, Easing } from 'react-native';\n\nexport interface SpinningIconProps {\n icon: ReactElement;\n color?: string;\n}\n\nexport function SpinningIcon({ icon, color }: SpinningIconProps): ReactElement {\n if (process.env.NODE_ENV !== 'production' && !color) {\n throw new Error(`Invalid color passed to SpinningIcon: ${String(color)}`);\n }\n const clonedIcon = cloneElement(icon, { color });\n const animationRef = useRef(new Animated.Value(0));\n\n const rotation = animationRef.current.interpolate({\n inputRange: [0, 1],\n outputRange: ['0deg', '360deg'],\n });\n\n useEffect(() => {\n if (process.env.NODE_ENV === 'test') return undefined;\n\n const animation = Animated.loop(\n Animated.timing(animationRef.current, {\n toValue: 1,\n duration: 1100,\n easing: Easing.linear,\n useNativeDriver: true,\n }),\n );\n animation.start();\n return () => {\n if (process.env.NODE_ENV === 'test') return undefined;\n\n animation.stop();\n return undefined;\n };\n }, []);\n\n return <Animated.View style={{ transform: [{ rotate: rotation }] }}>{clonedIcon}</Animated.View>;\n}\n","import { ArcIcon } from '@ornikar/kitt-icons';\nimport type { ReactElement } from 'react';\nimport type { SpinningIconProps } from '../Icon/SpinningIcon';\nimport { SpinningIcon } from '../Icon/SpinningIcon';\n\nexport interface LoaderIconProps {\n color?: SpinningIconProps['color'];\n}\n\nexport function LoaderIcon({ color }: LoaderIconProps): ReactElement {\n return <SpinningIcon color={color} icon={<ArcIcon />} />;\n}\n","import { useWindowDimensions } from 'react-native';\nimport type { WindowDimensions } from './createWindowSizeHelper';\n\nexport interface MatchWindowSizeOptions {\n minWidth?: number;\n maxWidth?: number;\n minHeight?: number;\n maxHeight?: number;\n}\nexport function matchWindowSize(\n { width, height }: WindowDimensions,\n { minWidth, maxWidth, minHeight, maxHeight }: MatchWindowSizeOptions,\n): boolean {\n const hasWidthMatched = width ? (!minWidth || width >= minWidth) && (!maxWidth || width <= maxWidth) : true;\n const hasHeightMatched = height ? (!minHeight || height >= minHeight) && (!maxHeight || height <= maxHeight) : true;\n return hasWidthMatched && hasHeightMatched;\n}\n\n/**\n * Returns if a size matches based on dimensions passed as options.\n *\n * WARNING: Not SSR friendly.\n */\nexport function useMatchWindowSize(options: MatchWindowSizeOptions): boolean {\n const { width, height } = useWindowDimensions();\n return matchWindowSize({ width, height }, options);\n}\n","import type { ComponentProps, ElementType, ReactElement, VoidFunctionComponent } from 'react';\nimport { useEffect, useRef, useState } from 'react';\nimport type { ButtonProps } from '../Button/Button';\nimport { KittBreakpoints } from '../KittBreakpoints';\nimport { LoaderIcon } from '../LoaderIcon/LoaderIcon';\nimport { View } from '../native-base/primitives';\nimport { useMatchWindowSize } from '../utils/windowSize/useMatchWindowSize';\n\nfunction getCurrentStretchValue(isStretch: boolean | undefined, isMedium: boolean): boolean | undefined {\n // Stretch will follow the value passed from the component occurence if defined\n if (isStretch) return isStretch;\n\n return !isMedium ? true : undefined;\n}\n\ninterface ActionsItemMinimumRequiredProps extends Pick<ButtonProps, 'onPress'> {}\n\nexport interface ActionsItemProps<C extends VoidFunctionComponent<any>> {\n readonly onPress?: (\n e: Parameters<NonNullable<ButtonProps['onPress']>>[0],\n // eslint-disable-next-line @typescript-eslint/no-invalid-void-type\n ) => Promise<void | undefined | null> | void | undefined | null;\n readonly as: C;\n}\n\n// eslint-disable-next-line @typescript-eslint/ban-types\ntype ActionsItemSendableComponentProps<C extends VoidFunctionComponent<any>> = Omit<\n ComponentProps<C>,\n keyof ActionsItemProps<C> & keyof ActionsItemMinimumRequiredProps\n>;\n\nexport function ActionsItem<C extends VoidFunctionComponent<any>>({\n as,\n onPress,\n disabled,\n icon,\n stretch,\n ...props\n}: ActionsItemProps<C> & ActionsItemSendableComponentProps<C>): ReactElement {\n const isMedium = useMatchWindowSize({\n minWidth: KittBreakpoints.MEDIUM,\n });\n\n const isCurrentStretch = getCurrentStretchValue(stretch, isMedium);\n\n const [isLoading, setIsLoading] = useState(false);\n const mountedRef = useRef(false);\n\n // effect just for tracking mounted state, as onPress can unmount the ActionButton\n useEffect(() => {\n mountedRef.current = true;\n return () => {\n mountedRef.current = false;\n };\n }, []);\n\n const handlePress: ButtonProps['onPress'] = (e) => {\n const callPressAndUpdateLoadingState = async (): Promise<void> => {\n if (!onPress) return;\n setIsLoading(true);\n try {\n await onPress(e);\n if (mountedRef.current) {\n setIsLoading(false);\n }\n } catch (error) {\n if (mountedRef.current) {\n setIsLoading(false);\n }\n throw error;\n }\n };\n\n callPressAndUpdateLoadingState();\n };\n\n const Component: ElementType = as;\n\n return (\n <View>\n <Component\n {...props}\n stretch={isCurrentStretch}\n disabled={isLoading ? true : disabled}\n icon={isLoading ? <LoaderIcon /> : icon}\n onPress={handlePress}\n />\n </View>\n );\n}\n","import type { ReactElement } from 'react';\nimport type { Except } from 'type-fest';\nimport type { ButtonProps } from '../Button/Button';\nimport { Button } from '../Button/Button';\nimport type { ActionsItemProps } from './ActionsItem';\nimport { ActionsItem } from './ActionsItem';\n\nexport interface ActionsButtonProps\n extends Except<ButtonProps, 'onPress'>,\n Pick<ActionsItemProps<typeof Button>, 'onPress'> {}\n\nexport function ActionsButton({ ...props }: ActionsButtonProps): ReactElement {\n return <ActionsItem as={Button} {...props} />;\n}\n","import type { ReactElement } from 'react';\nimport type { Except } from 'type-fest';\nimport { Stack } from '../native-base/layout';\nimport type { StackProps } from '../native-base/layout';\nimport { ActionsButton } from './ActionsButton';\nimport { ActionsItem } from './ActionsItem';\n\ntype ActionsLayout = 'column' | 'row';\n\nfunction getCurrentLayout(layout: ActionsLayout | undefined): StackProps['alignItems'] {\n if (!layout) return { base: 'stretch', medium: 'center' };\n\n if (layout === 'column') return 'stretch';\n\n return 'center';\n}\n\nfunction getCurrentDirection(layout: ActionsLayout | undefined): StackProps['direction'] {\n if (!layout) return { base: 'column', medium: 'row' };\n\n if (layout === 'column') return 'column';\n\n return 'row';\n}\n\nexport interface ActionsProps extends Except<StackProps, 'space'> {\n layout?: ActionsLayout;\n}\n\nexport function Actions({ children, layout, ...props }: ActionsProps): ReactElement {\n const currentAlignItems = getCurrentLayout(layout);\n const currentDirection = getCurrentDirection(layout);\n\n return (\n <Stack alignItems={currentAlignItems} direction={currentDirection} flexGrow={1} {...props} space=\"kitt.3\">\n {children}\n </Stack>\n );\n}\n\nActions.Button = ActionsButton;\nActions.Item = ActionsItem;\n","import { defaultAvatarSize, largeAvatarSize } from '../../themes/late-ocean/avatar';\nimport type { AvatarSizeVariant } from '../Avatar';\n\ninterface GetCurrentRadiusParams {\n size?: number;\n sizeVariant?: AvatarSizeVariant;\n round?: boolean;\n}\n\nexport function getCurrentRadius({ size, sizeVariant, round }: GetCurrentRadiusParams): string | number {\n if (round) {\n if (size) return size * 0.5;\n\n if (sizeVariant === 'large') return largeAvatarSize * 0.5;\n\n return defaultAvatarSize * 0.5;\n }\n\n if (sizeVariant === 'large') return 'kitt.avatar.large.borderRadius';\n\n return 'kitt.avatar.borderRadius';\n}\n","import type { AvatarSizeVariant } from '../Avatar';\n\ninterface GetCurrentSizeParams {\n size?: number;\n sizeVariant?: AvatarSizeVariant;\n}\n\nexport function getCurrentSize({ size, sizeVariant }: GetCurrentSizeParams): string | number {\n if (size) return size;\n\n if (sizeVariant === 'large') return 'kitt.avatar.large.size';\n\n return 'kitt.avatar.size';\n}\n","import { defaultAvatarIconSize, largeAvatarIconSize } from '../../themes/late-ocean/avatar';\nimport type { AvatarSizeVariant } from '../Avatar';\n\nexport function getIconSize(size: string | number, sizeVariant?: AvatarSizeVariant): number {\n if (typeof size === 'number') return size * 0.5;\n\n if (sizeVariant === 'large') return largeAvatarIconSize;\n\n return defaultAvatarIconSize;\n}\n","export function getInitials(firstname: string, lastname: string): string {\n return `${firstname[0]}${lastname[0]}`.toUpperCase();\n}\n","import { UserIcon } from '@ornikar/kitt-icons';\nimport type { ReactElement } from 'react';\nimport { Icon } from '../Icon/Icon';\nimport { Image, View } from '../native-base/primitives';\nimport { Typography } from '../typography/Typography';\nimport { getCurrentRadius } from './utils/getCurrentRadius';\nimport { getCurrentSize } from './utils/getCurrentSize';\nimport { getIconSize } from './utils/getIconSize';\nimport { getInitials } from './utils/getInitials';\n\nexport type AvatarSizeVariant = 'large';\n\ninterface AvatarContentProps extends Omit<AvatarProps, 'light' | 'round' | 'size'> {\n size: string | number;\n isLight?: boolean;\n sizeVariant?: AvatarSizeVariant;\n}\n\nfunction AvatarContent({\n size,\n src,\n firstname,\n lastname,\n alt,\n isLight,\n sizeVariant,\n}: AvatarContentProps): ReactElement {\n if (src) {\n return <Image source={{ uri: src }} width={size} height={size} alt={alt} accessibilityLabel={alt} />;\n }\n\n if (firstname && lastname) {\n return (\n <Typography.Text\n base={sizeVariant === 'large' ? 'body-large' : 'body-small'}\n variant={sizeVariant === 'large' ? 'bold' : 'regular'}\n color={isLight ? 'black' : 'white'}\n >\n {getInitials(firstname, lastname)}\n </Typography.Text>\n );\n }\n\n return <Icon icon={<UserIcon />} color={isLight ? 'black' : 'white'} size={getIconSize(size, sizeVariant)} />;\n}\n\nexport interface AvatarProps {\n size?: number;\n src?: string;\n alt?: string;\n firstname?: string | null;\n lastname?: string | null;\n round?: boolean;\n light?: boolean;\n sizeVariant?: AvatarSizeVariant;\n}\n\nexport function Avatar({ size, round, light, sizeVariant, ...props }: AvatarProps): ReactElement {\n const currentSize = getCurrentSize({ size, sizeVariant });\n const currentBorderRadius = getCurrentRadius({ size, sizeVariant, round });\n\n return (\n <View\n overflow=\"hidden\"\n alignItems=\"center\"\n justifyContent=\"center\"\n width={currentSize}\n height={currentSize}\n borderRadius={currentBorderRadius}\n backgroundColor={`kitt.avatar.${light ? 'light' : 'default'}.backgroundColor`}\n >\n <AvatarContent size={currentSize} isLight={light} sizeVariant={sizeVariant} {...props} />\n </View>\n );\n}\n","import {\n BottomSheetBackdrop,\n BottomSheetHandle,\n BottomSheetModal,\n BottomSheetScrollView,\n BottomSheetView,\n useBottomSheetDynamicSnapPoints,\n} from '@gorhom/bottom-sheet';\nimport type { BottomSheetModalMethods } from '@gorhom/bottom-sheet/lib/typescript/types';\nimport { View } from 'native-base';\nimport type { ComponentRef, ComponentType, ForwardedRef, MutableRefObject, ReactElement, ReactNode, Ref } from 'react';\nimport { forwardRef, useMemo } from 'react';\nimport { SafeAreaView } from 'react-native-safe-area-context';\nimport type { ViewProps } from 'native-base/primitives';\nimport { useTheme } from '../KittThemeContext';\n\nexport interface BottomSheetProps<Data = never> {\n children?: ComponentType<Data> | ReactNode;\n ref: MutableRefObject<BottomSheetModalMethods | null>;\n hasScrollView?: boolean;\n hasHandle?: boolean;\n hasBackdrop?: boolean;\n onDismiss?: () => void;\n}\n\nfunction BottomSheetComp<Data extends JSX.IntrinsicAttributes = Record<string, never>>(\n { children: Content, hasScrollView = false, hasBackdrop = true, hasHandle = true, onDismiss }: BottomSheetProps<Data>,\n ref: Ref<BottomSheetModal>,\n): ReactElement {\n const Wrapper = useMemo(() => (hasScrollView ? BottomSheetScrollView : BottomSheetView), [hasScrollView]);\n const theme = useTheme();\n const initialSnapPoints = useMemo(() => ['CONTENT_HEIGHT'], []);\n const { animatedHandleHeight, animatedSnapPoints, animatedContentHeight, handleContentLayout } =\n useBottomSheetDynamicSnapPoints(initialSnapPoints);\n\n return (\n <BottomSheetModal\n ref={ref}\n enablePanDownToClose\n snapPoints={animatedSnapPoints}\n index={0}\n handleHeight={animatedHandleHeight}\n handleIndicatorStyle={{\n width: 40,\n height: 4,\n borderRadius: 4,\n backgroundColor: theme.kitt.bottomSheet.handle.backgroundColor,\n }}\n handleComponent={(props) => (hasHandle ? <BottomSheetHandle {...props} /> : null)}\n backdropComponent={(props) =>\n hasBackdrop ? <BottomSheetBackdrop {...props} opacity={0.25} appearsOnIndex={0} disappearsOnIndex={-1} /> : null\n }\n contentHeight={animatedContentHeight}\n onDismiss={onDismiss}\n >\n {({ data }) => (\n <SafeAreaView edges={['bottom']} onLayout={handleContentLayout}>\n <Wrapper>{typeof Content === 'function' ? <Content {...(data as Data)} /> : Content}</Wrapper>\n </SafeAreaView>\n )}\n </BottomSheetModal>\n );\n}\n\nfunction BottomSheetContainerView(props: ViewProps): ReactElement {\n return <View padding=\"kitt.bottomSheet.container.padding\" {...props} />;\n}\n\nexport const BottomSheet = forwardRef(BottomSheetComp) as unknown as (<Data = never>(\n props: BottomSheetProps<Data> & { ref?: ForwardedRef<ComponentRef<typeof BottomSheetComp>> },\n) => ReturnType<typeof BottomSheetComp>) & { View: typeof BottomSheetContainerView };\n\nBottomSheet.View = BottomSheetContainerView;\n","import type { BottomSheetModalMethods } from '@gorhom/bottom-sheet/lib/typescript/types';\nimport type { RefObject } from 'react';\nimport { useRef } from 'react';\n\nexport function useBottomSheet(): RefObject<BottomSheetModalMethods> {\n const ref = useRef<BottomSheetModalMethods>(null);\n\n return ref;\n}\n","import type { BottomSheetModalMethods } from '@gorhom/bottom-sheet/lib/typescript/types';\nimport type { ComponentType, ElementType, ReactElement, RefObject } from 'react';\nimport { useMemo, useRef } from 'react';\nimport type { BottomSheetProps } from './BottomSheet';\nimport { BottomSheet } from './BottomSheet';\n\ninterface BottomSheetRef<T> extends BottomSheetModalMethods {\n present: (bottomSheetComponenProps: T) => void;\n}\n\ntype ReducedBottomSheetProps = Pick<BottomSheetProps, 'hasScrollView'>;\n\n// This is used to fix:\n// React.ComponentProps<O> -> if O is a function component without any props it will return unknown but we want to have undefined\ntype IsExact<T, U> = [T] extends [U] ? ([U] extends [T] ? true : false) : false;\n\ntype BottomSheetComponentProps<O extends ElementType> = IsExact<React.ComponentProps<O>, unknown> extends true\n ? undefined\n : React.ComponentProps<O>;\n\nexport function useStaticBottomSheet<T extends ComponentType<P>, P>(\n Content: T,\n): {\n bottomSheetRef: RefObject<BottomSheetRef<BottomSheetComponentProps<T>>>;\n BottomSheet: (props: ReducedBottomSheetProps) => ReactElement;\n} {\n const bottomSheetRef = useRef<BottomSheetRef<BottomSheetComponentProps<T>>>(null);\n\n const BottomSheetMemoized = useMemo(\n () =>\n function renderBottomSheet(props: ReducedBottomSheetProps) {\n return (\n <BottomSheet<P> {...props} ref={bottomSheetRef}>\n {Content}\n </BottomSheet>\n );\n },\n [Content],\n );\n\n return {\n bottomSheetRef,\n BottomSheet: BottomSheetMemoized,\n };\n}\n","import type { ReactElement, ReactNode } from 'react';\n\nexport interface ModalBehaviourPortalProps {\n visible?: boolean;\n children: ReactNode;\n}\n\nexport function ModalBehaviourPortal({ children }: ModalBehaviourPortalProps): ReactElement {\n // eslint-disable-next-line react/jsx-no-useless-fragment\n return <>{children}</>;\n}\n","import type { ReactElement, ReactNode } from 'react';\nimport { createContext, useContext } from 'react';\n\ntype OnCloseCallback = () => void;\n\nexport const OnCloseContext = createContext<OnCloseCallback>(() => {});\n\ninterface OnCloseProviderProps {\n children: ReactNode;\n onClose: OnCloseCallback;\n}\n\nexport function OnCloseProvider({ children, onClose }: OnCloseProviderProps): ReactElement {\n return <OnCloseContext.Provider value={onClose}>{children}</OnCloseContext.Provider>;\n}\n\nexport function useOnCloseModalBehaviour(): OnCloseCallback {\n const onClose = useContext(OnCloseContext);\n return onClose;\n}\n","import type { ReactElement, ReactNode } from 'react';\nimport { cloneElement } from 'react';\nimport { View } from '../native-base/primitives';\nimport { ModalBehaviourPortal } from './ModalBehaviourPortal';\nimport { OnCloseProvider, useOnCloseModalBehaviour } from './OnCloseContext';\n\ninterface CloseButtonProps {\n children: ReactElement;\n onPress?: () => void;\n}\n\nfunction CloseButton({ children, onPress }: CloseButtonProps): ReactElement {\n const onCloseContextCallback = useOnCloseModalBehaviour();\n\n const handleClose = (): void => {\n if (onPress) onPress();\n onCloseContextCallback();\n };\n\n return cloneElement(children, { onPress: handleClose });\n}\n\nexport interface ModalBehaviourProps {\n children: ReactNode;\n visible?: boolean;\n onClose: () => void;\n}\n\nexport function ModalBehaviour({ children, visible, onClose }: ModalBehaviourProps): ReactElement {\n return (\n <OnCloseProvider onClose={onClose}>\n <ModalBehaviourPortal visible={visible}>\n {visible ? (\n <View\n _web={{\n position: 'fixed',\n top: 0,\n left: 0,\n width: '100%',\n height: '100%',\n }}\n >\n {children}\n </View>\n ) : null}\n </ModalBehaviourPortal>\n </OnCloseProvider>\n );\n}\n\nModalBehaviour.CloseButton = CloseButton;\n","import type { ReactElement } from 'react';\nimport type { PressableProps } from 'react-native';\nimport { Pressable } from '../native-base/primitives';\n\ninterface OverlayProps extends Pick<PressableProps, 'onPress'> {}\n\nexport function Overlay({ onPress }: OverlayProps): ReactElement {\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 { ReactElement } from 'react';\nimport type { ViewProps } from '../../native-base/primitives';\nimport { View } from '../../native-base/primitives';\n\ninterface CardModalRotationContainerProps extends ViewProps {}\n\nexport function CardModalRotationContainer(props: CardModalRotationContainerProps): ReactElement {\n return (\n <View\n paddingX=\"kitt.cardModal.overlayPadding.horizontal\"\n paddingY=\"kitt.cardModal.overlayPadding.vertical\"\n maxWidth=\"kitt.cardModal.maxWidthWithPadding\"\n width=\"100%\"\n {...props}\n />\n );\n}\n","import type { ReactElement, ReactNode } from 'react';\nimport { useRef } from 'react';\nimport { StyleSheet } from 'react-native';\nimport Animated, { Easing, runOnJS, useAnimatedStyle, withTiming } from 'react-native-reanimated';\nimport { useTheme } from '../../KittThemeContext';\n\nexport interface NativeOpacityAnimationProps {\n visible?: boolean;\n children: ReactNode;\n onExited: () => void;\n}\n\nexport function NativeOpacityAnimation({ visible, children, onExited }: NativeOpacityAnimationProps): ReactElement {\n const theme = useTheme();\n const hasRunAnimationRef = useRef(false);\n\n function handleAnimationFinished(): void {\n if (visible) {\n hasRunAnimationRef.current = true;\n }\n\n if (!visible && hasRunAnimationRef.current) {\n onExited();\n }\n }\n\n const opacityStyle = useAnimatedStyle(() => {\n const { duration, easing } = theme.kitt.cardModal.animation.overlay;\n const [x1, y1, x2, y2] = easing;\n\n return {\n opacity: withTiming(visible ? 1 : 0, { duration, easing: Easing.bezier(x1, y1, x2, y2) }, (isFinished) => {\n if (!isFinished) return;\n runOnJS(handleAnimationFinished)();\n }),\n };\n });\n\n return <Animated.View style={[StyleSheet.absoluteFillObject, opacityStyle]}>{children}</Animated.View>;\n}\n","import type { ReactElement, ReactNode } from 'react';\nimport { useRef } from 'react';\nimport Animated, { Easing, runOnJS, useAnimatedStyle, useSharedValue, withTiming } from 'react-native-reanimated';\nimport { useTheme } from '../../KittThemeContext';\nimport type { CardModalAnimationProps } from './CardModalAnimation';\n\nexport interface NativeRotationAnimationProps {\n children: ReactNode;\n topInset?: number;\n visible?: CardModalAnimationProps['visible'];\n onEntered?: CardModalAnimationProps['onEntered'];\n onExited: () => void;\n}\n\nexport function NativeRotationAnimation({\n visible,\n children,\n onEntered,\n onExited,\n}: NativeRotationAnimationProps): ReactElement | null {\n const theme = useTheme();\n\n const hasRunAnimationRef = useRef(false);\n\n const rotation = useSharedValue(0.8);\n\n function handleAnimationFinished(): void {\n if (visible) {\n if (onEntered) onEntered();\n hasRunAnimationRef.current = true;\n }\n\n if (!visible && hasRunAnimationRef.current) onExited();\n }\n\n const animatedStyle = useAnimatedStyle(() => {\n const { duration, easing } = theme.kitt.cardModal.animation.content;\n\n const [x1, y1, x2, y2] = easing;\n\n rotation.value = withTiming(visible ? 0 : 5, { duration, easing: Easing.bezier(x1, y1, x2, y2) }, (isFinished) => {\n if (!isFinished) return;\n runOnJS(handleAnimationFinished)();\n });\n\n return {\n opacity: withTiming(visible ? 1 : 0, { duration, easing: Easing.bezier(x1, y1, x2, y2) }),\n transform: [\n { scale: withTiming(visible ? 1 : 0.8, { duration, easing: Easing.bezier(x1, y1, x2, y2) }) },\n {\n rotateZ: `${rotation.value}deg`,\n },\n ],\n };\n });\n\n return <Animated.View style={[animatedStyle]}>{children}</Animated.View>;\n}\n","import type { ReactElement, ReactNode } from 'react';\nimport { useEffect, useState } from 'react';\nimport { Modal, Platform } from 'react-native';\nimport type { ModalAnimationComponentProps } from '../../ModalBehaviour/type';\nimport { Overlay } from '../../Overlay/Overlay';\nimport type { ViewProps } from '../../native-base/primitives';\nimport { ScrollView, View } from '../../native-base/primitives';\nimport { CardModalRotationContainer } from './CardModalRotationContainer';\nimport { NativeOpacityAnimation } from './NativeOpacityAnimation';\nimport { NativeRotationAnimation } from './NativeRotationAnimation';\n\nexport interface CardModalAnimationProps extends ViewProps, ModalAnimationComponentProps {\n children: ReactNode;\n}\n\nexport function CardModalAnimation({\n visible,\n children,\n onEnter,\n onEntered,\n onExit,\n onExited,\n onClose,\n}: CardModalAnimationProps): ReactElement {\n const [isModalVisible, setIsModalVisible] = useState(visible);\n const [isContentVisible, setIsContentVisible] = useState(false);\n\n const handleAnimationExited = (): void => {\n setIsModalVisible(false);\n // Android doesn't handle the onDismiss callback on the modal, we need to call it manually\n if (Platform.OS === 'android' && onExited) onExited();\n };\n\n useEffect(() => {\n const shouldHideContent = !visible && isContentVisible;\n\n if (!shouldHideContent) return;\n\n if (onExit) onExit();\n setIsContentVisible(false);\n }, [visible, isContentVisible, onExit]);\n\n return (\n <Modal\n transparent\n supportedOrientations={['landscape', 'portrait']}\n visible={isModalVisible}\n onShow={() => {\n if (onEnter) onEnter();\n setIsContentVisible(true);\n }}\n onDismiss={() => {\n if (onExited) onExited();\n }}\n >\n <ScrollView bounces={false} contentContainerStyle={{ flexGrow: 1 }}>\n <View position=\"relative\" flexGrow={1} justifyContent=\"center\" alignItems=\"center\">\n <NativeOpacityAnimation visible={isContentVisible} onExited={handleAnimationExited}>\n <Overlay onPress={onClose} />\n </NativeOpacityAnimation>\n\n <CardModalRotationContainer>\n <NativeRotationAnimation visible={isContentVisible} onExited={handleAnimationExited} onEntered={onEntered}>\n {children}\n </NativeRotationAnimation>\n </CardModalRotationContainer>\n </View>\n </ScrollView>\n </Modal>\n );\n}\n","import type { ReactElement } from 'react';\nimport { useEffect, useState } from 'react';\nimport { Platform } from 'react-native';\nimport type { ModalBehaviourProps } from '../ModalBehaviour/ModalBehaviour';\nimport { ModalBehaviour } from '../ModalBehaviour/ModalBehaviour';\nimport { ScrollView, View } from '../native-base/primitives';\nimport type { ScrollViewProps } from '../native-base/primitives';\nimport type { CardModalAnimationProps } from './CardModalAnimation/CardModalAnimation';\nimport { CardModalAnimation } from './CardModalAnimation/CardModalAnimation';\n\ninterface ScrollContainerProps extends ScrollViewProps {}\n\nexport function CardModalScrollContainer({ children, ...props }: ScrollContainerProps): ReactElement {\n if (Platform.OS !== 'web') {\n return <View>{children}</View>;\n }\n\n return <ScrollView {...props}>{children}</ScrollView>;\n}\n\nexport interface CardModalBehaviourProps extends CardModalAnimationProps {\n onClose: ModalBehaviourProps['onClose'];\n}\n\nexport function CardModalBehaviour({\n children,\n visible,\n onClose,\n onExited,\n ...props\n}: CardModalBehaviourProps): ReactElement {\n const [isModalBehaviourVisible, setIsModalBehaviourVisible] = useState(visible);\n\n useEffect(() => {\n if (visible === true) {\n setIsModalBehaviourVisible(true);\n }\n }, [visible]);\n\n const handleExitAnimationDone = (): void => {\n if (onExited) onExited();\n setIsModalBehaviourVisible(false);\n };\n\n return (\n <ModalBehaviour visible={isModalBehaviourVisible} onClose={onClose}>\n <CardModalScrollContainer bounces={false} contentContainerStyle={{ flexGrow: 1 }}>\n <CardModalAnimation {...props} visible={visible} onExited={handleExitAnimationDone} onClose={onClose}>\n {children}\n </CardModalAnimation>\n </CardModalScrollContainer>\n </ModalBehaviour>\n );\n}\n","import type { ReactElement, ReactNode } from 'react';\nimport type { ViewProps } from '../native-base/primitives';\nimport { View } from '../native-base/primitives';\n\nexport interface CardModalBodyProps extends ViewProps {\n children: NonNullable<ReactNode>;\n}\n\nexport function CardModalBody({\n children,\n paddingX = { base: 'kitt.4', medium: 'kitt.6' },\n paddingY = 'kitt.4',\n ...props\n}: CardModalBodyProps): ReactElement {\n return (\n <View paddingX={paddingX} paddingY={paddingY} {...props}>\n {children}\n </View>\n );\n}\n","import type { ReactElement } from 'react';\nimport type { ViewProps } from '../native-base/primitives';\nimport { View } from '../native-base/primitives';\n\nexport interface CardModalFooterProps extends ViewProps {\n hasSeparator?: boolean;\n}\n\nexport function CardModalFooter({\n children,\n padding = { base: 'kitt.4', medium: 'kitt.2' },\n hasSeparator = true,\n ...props\n}: CardModalFooterProps): ReactElement {\n return (\n <View\n {...props}\n marginTop=\"kitt.2\"\n padding={padding}\n borderTopWidth={hasSeparator ? 'kitt.cardModal.footer.borderWidth' : 0}\n borderColor=\"kitt.separator\"\n alignItems={{ base: undefined, medium: 'flex-end' }}\n >\n {children}\n </View>\n );\n}\n","import type { ReactElement, ReactNode } from 'react';\nimport type { Except } from 'type-fest';\nimport type { ViewProps } from '../native-base/primitives';\nimport { View } from '../native-base/primitives';\nimport { Typography } from '../typography/Typography';\n\ninterface BaseHeaderProps extends Except<ViewProps, 'left' | 'right'> {\n hasSeparator?: boolean;\n left?: ReactNode;\n right?: ReactNode;\n}\n\ninterface TitledHeaderProps extends BaseHeaderProps {\n title?: ReactNode;\n children?: never;\n}\n\ninterface ComponentHeaderProps extends BaseHeaderProps {\n title?: never;\n children?: ReactNode;\n}\n\nexport type CardModalHeaderProps = TitledHeaderProps | ComponentHeaderProps;\n\nexport function CardModalHeader({\n children,\n title,\n paddingBottom = { base: 'kitt.4', medium: 'kitt.2' },\n hasSeparator = true,\n right,\n left,\n ...props\n}: CardModalHeaderProps): ReactElement {\n const defaultContainerPadding = { base: 'kitt.4', medium: 'kitt.6' };\n\n return (\n <View\n {...props}\n padding={paddingBottom}\n borderBottomWidth={hasSeparator ? 'kitt.cardModal.footer.borderWidth' : 0}\n borderColor=\"kitt.separator\"\n justifyContent=\"center\"\n width=\"100%\"\n height=\"kitt.cardModal.header.height\"\n paddingRight={right ? 'kitt.2' : defaultContainerPadding}\n paddingLeft={left ? 'kitt.2' : defaultContainerPadding}\n >\n <View alignItems=\"center\" flexDirection=\"row\" justifyContent={!children && !left ? 'flex-end' : 'space-between'}>\n {left ? <View width=\"kitt.iconButton.width\">{left}</View> : null}\n\n <View flexGrow=\"1\" paddingRight={right ? 'kitt.2' : 0} paddingLeft={left ? 'kitt.2' : 0}>\n {title ? (\n <Typography.Text textAlign={!left && right ? 'left' : 'center'} variant=\"bold\">\n {title}\n </Typography.Text>\n ) : null}\n {children}\n </View>\n\n {right ? <View width=\"kitt.iconButton.width\">{right}</View> : null}\n </View>\n </View>\n );\n}\n","import type { ReactElement, 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): ReactElement {\n return (\n <View\n {...props}\n overflow=\"hidden\"\n backgroundColor={backgroundColor}\n shadow={withoutShadow ? undefined : 'kitt.cardModal.shadow'}\n borderRadius=\"kitt.cardModal.borderRadius\"\n width=\"100%\"\n maxWidth={maxWidth}\n >\n {children || (\n <>\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 { useSx } from 'native-base';\nimport type { ReactElement, ReactNode } from 'react';\nimport type { ViewStyle } from 'react-native';\nimport Animated from 'react-native-reanimated';\nimport type { ChoiceItemSize, ChoiceItemVariant } from './ChoiceItem';\nimport { getBackgroundColor } from './utils/getBackgroundColor';\nimport { getBorderRadius } from './utils/getBorderRadius';\n\nexport interface AnimatedChoiceItemViewProps {\n children: ReactNode;\n variant?: ChoiceItemVariant;\n size?: ChoiceItemSize;\n isHovered?: boolean;\n isPressed?: boolean;\n isDisabled?: boolean;\n isSelected?: boolean;\n animatedStyles?: ViewStyle;\n}\n\nexport function AnimatedChoiceItemView({\n children,\n variant,\n size,\n isHovered,\n isPressed,\n isDisabled,\n isSelected,\n animatedStyles,\n}: AnimatedChoiceItemViewProps): ReactElement {\n const sx = useSx();\n\n const style = sx({\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 });\n\n return <Animated.View style={[style, animatedStyles]}>{children}</Animated.View>;\n}\n","import type { ViewStyle } from 'react-native';\nimport {\n interpolateColor,\n useAnimatedStyle,\n useDerivedValue,\n useSharedValue,\n withTiming,\n} from 'react-native-reanimated';\nimport { useTheme } from '../../KittThemeContext';\n\ninterface UseNativeAnimationOptions {\n selected?: boolean;\n disabled?: boolean;\n isPressedInternal?: boolean;\n}\n\ninterface NativeAnimation {\n onPressIn: () => void;\n onPressOut: () => void;\n backgroundStyles: ViewStyle;\n}\n\nexport const useNativeAnimation = ({\n selected,\n disabled,\n isPressedInternal,\n}: UseNativeAnimationOptions): NativeAnimation => {\n const theme = useTheme();\n\n const pressed = useSharedValue(Boolean(isPressedInternal));\n const progress = useDerivedValue(() => {\n return withTiming(pressed.value ? 1 : 0, { duration: theme.kitt.choices.item.transition.duration });\n });\n\n const backgroundStyles = useAnimatedStyle(() => {\n const {\n default: defaultBg,\n pressed: pressedBg,\n selected: selectedBg,\n disabled: disabledBg,\n } = theme.kitt.choices.item.backgroundColor;\n\n if (disabled) return { backgroundColor: disabledBg };\n\n if (selected) return { backgroundColor: selectedBg };\n\n return {\n backgroundColor: interpolateColor(progress.value, [0, 1], [defaultBg, pressedBg]),\n };\n });\n\n const onPressIn = (): void => {\n pressed.value = true;\n };\n\n const onPressOut = (): void => {\n pressed.value = false;\n };\n\n return {\n onPressIn,\n onPressOut,\n backgroundStyles,\n };\n};\n","import type { 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 { ReactElement, 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>): ReactElement {\n const { onPressIn, onPressOut, backgroundStyles } = useNativeAnimation({ selected, disabled, isPressedInternal });\n\n const handleChange = (): void => {\n if (!onChange) return;\n\n // Checkbox can be toggled\n if (type === 'checkbox') {\n onChange(selected ? undefined : value);\n return;\n }\n\n onChange(value);\n };\n\n const handlePress = (e: GestureResponderEvent): void => {\n if (onFocus) onFocus(e);\n\n if (onPress) onPress();\n handleChange();\n\n if (onBlur) onBlur(e);\n };\n\n return (\n <Pressable\n disabled={disabled}\n accessibilityRole={type}\n accessibilityState={{ checked: selected }}\n onBlur={onBlur}\n onFocus={onFocus}\n onPress={handlePress}\n onPressIn={onPressIn}\n onPressOut={onPressOut}\n >\n {({ isHovered, isPressed }) => (\n <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 { ReactElement, 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): ReactElement {\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): ReactElement {\n if (direction === 'row') {\n return <ScrollView horizontal {...props} />;\n }\n\n return <View {...props} />;\n}\n\ntype ChoicesPropsToPick = 'type' | 'variant' | 'disabled' | 'value' | 'onPress' | 'onChange' | 'onBlur' | 'onFocus';\ntype ChoicesSize = 'small';\n\n// eslint-disable-next-line @typescript-eslint/no-unused-vars\nexport interface BaseChoicesProps<V> {\n id?: string;\n testID?: string;\n children: ReactNode;\n direction?: ChoicesDirection;\n size?: ChoicesSize;\n}\n\nexport interface ChoicesButtonProps<V, ChoiceType extends ChoiceItemButtonProps<V>['type']>\n extends BaseChoicesProps<V>,\n Pick<ChoiceItemButtonProps<V>, ChoicesPropsToPick> {\n type?: ChoiceType;\n}\n\nexport interface ChoicesFormElementProps<V, ChoiceType extends ChoiceItemFormElementProps<V>['type']>\n extends BaseChoicesProps<V>,\n Pick<ChoiceItemFormElementProps<V>, ChoicesPropsToPick> {\n type: ChoiceType;\n}\n\nexport type ChoicesItemPropsFromChoiceType<\n V,\n ChoiceType extends ChoiceItemType,\n> = ChoiceType extends ChoiceItemFormElementProps<V>['type'] ? ChoiceItemFormElementProps<V> : ChoiceItemButtonProps<V>;\n\nexport type ChoicesProps<\n V,\n ChoiceType extends ChoiceItemType,\n> = ChoiceType extends ChoiceItemFormElementProps<V>['type']\n ? ChoicesFormElementProps<V, ChoiceType>\n : ChoicesButtonProps<V, 'button'>;\n\ntype ExcludeChoiceItemProvidedByChoices = 'type' | 'onPress' | 'onChange' | 'onFocus' | 'onBlur';\ntype OptionalChoiceItemProvidedByChoices = 'variant' | 'disabled' | 'size';\n\nfunction Choices<V, ChoiceType extends ChoiceItemType>({\n id,\n testID,\n type,\n direction = 'column',\n disabled,\n children,\n value,\n variant,\n onPress,\n onChange,\n onFocus,\n onBlur,\n size,\n}: ChoicesProps<V, ChoiceType>): ReactElement {\n const [currentValue, setCurrentValue] = useState(value);\n\n const isForm = type && ['radio', 'checkbox'].includes(type);\n\n const childrenArray = Children.toArray(children) as ReactElement<\n ChoicesItemPropsFromChoiceType<V, ChoiceType>,\n typeof ChoiceItem\n >[];\n\n const handleChange: ChoicesItemPropsFromChoiceType<V, ChoiceType>['onChange'] = (newValue) => {\n setCurrentValue(newValue);\n if (onChange) onChange(newValue);\n };\n\n const sharedProps: Pick<\n ChoicesItemPropsFromChoiceType<V, ChoiceType>,\n ExcludeChoiceItemProvidedByChoices | OptionalChoiceItemProvidedByChoices\n > = {\n type,\n disabled,\n variant,\n onPress: !isForm ? onPress : undefined,\n onChange: isForm ? handleChange : undefined,\n onFocus,\n onBlur,\n size,\n };\n\n return (\n <ChoicesContainer direction={direction} testID={testID} nativeID={id}>\n {childrenArray.map((child, index) => {\n const element = cloneElement<ChoicesItemPropsFromChoiceType<V, ChoiceType>>(child, {\n selected: isForm ? child.props.value === currentValue : undefined,\n ...sharedProps,\n } as any);\n\n return (\n <ChoiceItemContainer key={child.key} direction={direction} isLast={index === childrenArray.length - 1}>\n {element}\n </ChoiceItemContainer>\n );\n })}\n </ChoicesContainer>\n );\n}\n\nChoices.Item = ChoiceItem;\n\nexport interface CreateChoices<V, ChoiceType extends ChoiceItemType> {\n (props: ChoicesProps<V, ChoiceType>): ReactElement;\n Item: (\n props: SetOptional<\n Except<ChoicesItemPropsFromChoiceType<V, ChoiceType>, OptionalChoiceItemProvidedByChoices>,\n ExcludeChoiceItemProvidedByChoices\n >,\n ) => ReactElement;\n}\n\nexport function createChoicesComponent<V, ChoiceType extends ChoiceItemType>(): CreateChoices<V, ChoiceType> {\n return Choices as CreateChoices<V, ChoiceType>;\n}\n\nconst ButtonChoices = createChoicesComponent<never, 'button'>();\n\nChoices.ButtonChoices = ButtonChoices;\n\nexport const ChoicesElements = {\n Item: ChoiceItem,\n ButtonChoices,\n};\n","import type { ReactElement, ReactNode } from 'react';\nimport { useRef } from 'react';\nimport { StyleSheet } from 'react-native';\nimport Animated, { Easing, runOnJS, useAnimatedStyle, withTiming } from 'react-native-reanimated';\nimport { useTheme } from '../../KittThemeContext';\n\nexport interface NativeOpacityAnimationProps {\n visible?: boolean;\n children: ReactNode;\n onExited: () => void;\n}\n\nexport function NativeOpacityAnimation({ visible, children, onExited }: NativeOpacityAnimationProps): ReactElement {\n const theme = useTheme();\n const hasRunAnimationRef = useRef(false);\n\n function handleAnimationFinished(): void {\n if (visible) {\n hasRunAnimationRef.current = true;\n }\n\n if (!visible && hasRunAnimationRef.current) {\n onExited();\n }\n }\n\n const opacityStyle = useAnimatedStyle(() => {\n const { duration, easing } = theme.kitt.dialogModal.animation.overlay;\n const [x1, y1, x2, y2] = easing;\n\n return {\n opacity: withTiming(visible ? 1 : 0, { duration, easing: Easing.bezier(x1, y1, x2, y2) }, (isFinished) => {\n if (!isFinished) return;\n runOnJS(handleAnimationFinished)();\n }),\n };\n });\n\n return <Animated.View style={[StyleSheet.absoluteFillObject, opacityStyle]}>{children}</Animated.View>;\n}\n","import type { ReactElement, ReactNode } from 'react';\nimport { useRef } from 'react';\nimport Animated, { Easing, runOnJS, useAnimatedStyle, useSharedValue, withTiming } from 'react-native-reanimated';\nimport { useTheme } from '../../KittThemeContext';\nimport type { DialogModalAnimationProps } from './DialogModalAnimation';\n\nexport interface NativeRotationAnimationProps {\n children: ReactNode;\n topInset?: number;\n visible?: DialogModalAnimationProps['visible'];\n onEntered?: DialogModalAnimationProps['onEntered'];\n onExited: () => void;\n}\n\nexport function NativeRotationAnimation({\n visible,\n children,\n onEntered,\n onExited,\n}: NativeRotationAnimationProps): ReactElement | null {\n const theme = useTheme();\n\n const hasRunAnimationRef = useRef(false);\n\n const rotation = useSharedValue(0.8);\n\n function handleAnimationFinished(): void {\n if (visible) {\n if (onEntered) onEntered();\n hasRunAnimationRef.current = true;\n }\n\n if (!visible && hasRunAnimationRef.current) onExited();\n }\n\n const animatedStyle = useAnimatedStyle(() => {\n const { duration, easing } = theme.kitt.dialogModal.animation.content;\n\n const [x1, y1, x2, y2] = easing;\n\n rotation.value = withTiming(visible ? 0 : 5, { duration, easing: Easing.bezier(x1, y1, x2, y2) }, (isFinished) => {\n if (!isFinished) return;\n runOnJS(handleAnimationFinished)();\n });\n\n return {\n opacity: withTiming(visible ? 1 : 0, { duration, easing: Easing.bezier(x1, y1, x2, y2) }),\n transform: [\n { scale: withTiming(visible ? 1 : 0.8, { duration, easing: Easing.bezier(x1, y1, x2, y2) }) },\n {\n rotateZ: `${rotation.value}deg`,\n },\n ],\n };\n });\n\n return <Animated.View style={[animatedStyle]}>{children}</Animated.View>;\n}\n","import type { ReactElement, ReactNode } from 'react';\nimport { useEffect, useState } from 'react';\nimport { Modal, Platform } from 'react-native';\nimport { Overlay } from '../../Overlay/Overlay';\nimport type { ViewProps } from '../../native-base/primitives';\nimport { View } from '../../native-base/primitives';\nimport { NativeOpacityAnimation } from './NativeOpacityAnimation';\nimport { NativeRotationAnimation } from './NativeRotationAnimation';\n\nexport interface DialogModalAnimationProps extends ViewProps {\n children: ReactNode;\n appear?: boolean;\n visible?: boolean;\n unmountOnExit?: boolean;\n isAnimationEnabled?: boolean;\n onEnter?: () => void;\n onEntered?: () => void;\n onExit?: () => void;\n onExited?: () => void;\n onClose?: () => void;\n}\n\nexport function DialogModalAnimation({\n visible,\n children,\n onEnter,\n onEntered,\n onExit,\n onExited,\n onClose,\n}: DialogModalAnimationProps): ReactElement {\n const [isModalVisible, setIsModalVisible] = useState(visible);\n const [isContentVisible, setIsContentVisible] = useState(false);\n\n const handleAnimationExited = (): void => {\n setIsModalVisible(false);\n // Android doesn't handle the onDismiss callback on the modal, we need to call it manually\n if (Platform.OS === 'android' && onExited) onExited();\n };\n\n useEffect(() => {\n const shouldHideContent = !visible && isContentVisible;\n\n if (!shouldHideContent) return;\n\n if (onExit) onExit();\n setIsContentVisible(false);\n }, [visible, isContentVisible, onExit]);\n\n return (\n <Modal\n transparent\n supportedOrientations={['landscape', 'portrait']}\n visible={isModalVisible}\n onShow={() => {\n if (onEnter) onEnter();\n setIsContentVisible(true);\n }}\n onDismiss={() => {\n if (onExited) onExited();\n }}\n >\n <View position=\"relative\" flexGrow={1} justifyContent=\"center\" alignItems=\"center\">\n <NativeOpacityAnimation visible={isContentVisible} onExited={handleAnimationExited}>\n <Overlay onPress={onClose} />\n </NativeOpacityAnimation>\n\n <NativeRotationAnimation visible={isContentVisible} onExited={handleAnimationExited} onEntered={onEntered}>\n <View\n paddingX=\"kitt.dialogModal.overlayPadding.horizontal\"\n paddingY=\"kitt.dialogModal.overlayPadding.vertical\"\n >\n {children}\n </View>\n </NativeRotationAnimation>\n </View>\n </Modal>\n );\n}\n","import type { ReactElement } from 'react';\nimport { useEffect, useState } from 'react';\nimport type { ModalBehaviourProps } from '../ModalBehaviour/ModalBehaviour';\nimport { ModalBehaviour } from '../ModalBehaviour/ModalBehaviour';\nimport { ScrollView } from '../native-base/primitives';\nimport type { DialogModalAnimationProps } from './DialogModalAnimation/DialogModalAnimation';\nimport { DialogModalAnimation } from './DialogModalAnimation/DialogModalAnimation';\n\nexport interface DialogModalBehaviourProps extends DialogModalAnimationProps {\n onClose: ModalBehaviourProps['onClose'];\n}\n\nexport function DialogModalBehaviour({\n children,\n visible,\n onClose,\n onExited,\n ...props\n}: DialogModalBehaviourProps): ReactElement {\n const [isModalBehaviourVisible, setIsModalBehaviourVisible] = useState(visible);\n\n useEffect(() => {\n if (visible === true) {\n setIsModalBehaviourVisible(true);\n }\n }, [visible]);\n\n const handleExitAnimationDone = (): void => {\n if (onExited) onExited();\n setIsModalBehaviourVisible(false);\n };\n\n return (\n <ModalBehaviour visible={isModalBehaviourVisible} onClose={onClose}>\n <ScrollView bounces={false} contentContainerStyle={{ flexGrow: 1 }}>\n <DialogModalAnimation {...props} visible={visible} onExited={handleExitAnimationDone} onClose={onClose}>\n {children}\n </DialogModalAnimation>\n </ScrollView>\n </ModalBehaviour>\n );\n}\n","import type { ReactElement, 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): ReactElement {\n return (\n <View\n alignItems=\"center\"\n maxWidth=\"kitt.dialogModal.maxWidth\"\n backgroundColor=\"kitt.uiBackgroundLight\"\n borderRadius=\"kitt.dialogModal.borderRadius\"\n shadow=\"kitt.dialogModal.shadow\"\n >\n {illustration ? <View>{illustration}</View> : null}\n\n <View\n width=\"100%\"\n alignItems=\"center\"\n padding={{ base: 'kitt.4', medium: 'kitt.6' }}\n paddingTop={illustration ? 'kitt.8' : 'kitt.6'}\n >\n {title ? <View marginBottom=\"kitt.2\">{title}</View> : null}\n\n <View marginBottom=\"kitt.8\">{children}</View>\n\n {actions ? (\n <Actions flex={undefined} width=\"100%\" layout=\"column\">\n {actions}\n </Actions>\n ) : null}\n </View>\n </View>\n );\n}\n\nDialogModal.ModalBehaviour = DialogModalBehaviour;\n\ninterface DialogModalButtonProps extends ActionsButtonProps {}\n\nfunction DialogModalButton({ stretch = true, ...props }: DialogModalButtonProps): ReactElement {\n return <Actions.Button stretch={stretch} {...props} />;\n}\n\nDialogModal.Button = DialogModalButton;\n","import type { IImageProps } from 'native-base';\nimport { Image } from 'native-base';\nimport type { ReactElement } from 'react';\nimport { useMemo } from 'react';\nimport type { ImageProps } from 'react-native';\nimport { Platform } from 'react-native';\nimport { parse } from 'twemoji-parser';\nimport type { KittResponsiveProp } from '../KittBreakpoints';\n\nexport interface EmojiProps extends Pick<ImageProps, 'style' | '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): ReactElement | null {\n const [emojiData] = useMemo(\n () =>\n parse(emoji, {\n // on native plaforms, you can't display svg as Image\n assetType: Platform.OS === 'web' ? 'svg' : 'png',\n }),\n [emoji],\n );\n\n if (!emojiData) return null;\n\n return (\n <Image\n testID={testID}\n size={size}\n alt={emojiData.text}\n accessibilityLabel={emojiData.text}\n source={{ uri: emojiData.url }}\n style={style}\n alignSelf={alignSelf}\n _web={_web}\n />\n );\n}\n","import type { ComponentProps, ReactElement, VoidFunctionComponent } from 'react';\nimport type { GestureResponderEvent, PressableProps, TextProps } from 'react-native';\nimport { Linking } from 'react-native';\n\ntype ExternalAppLinkScheme = 'sms' | 'tel' | 'mailto';\n\nexport interface ExternalAppLinkAsComponentMinimumRequiredProps {\n href?: TextProps['href'];\n hrefAttrs?: TextProps['hrefAttrs'];\n onPress?: PressableProps['onPress'];\n}\n\nexport interface ExternalAppLinkProps<C extends VoidFunctionComponent<any>> {\n as: C;\n appScheme: ExternalAppLinkScheme;\n appValue: string;\n onPress?: PressableProps['onPress'];\n onOpenAppError?: (err: string) => void;\n}\n\nexport interface ExternalAppLinkPhoneProps<C extends VoidFunctionComponent<any>>\n extends Partial<ExternalAppLinkProps<C>> {\n phoneNumber: string;\n}\n\nexport interface ExternalAppLinkMailProps<C extends VoidFunctionComponent<any>>\n extends Partial<ExternalAppLinkProps<C>> {\n emailAddress: string;\n}\n\n/** @internal for ExternalAppLink.web.tsx only */\n// eslint-disable-next-line @typescript-eslint/ban-types\nexport type ExternalAppLinkSendableComponentProps<C extends VoidFunctionComponent<any>> = Omit<\n ComponentProps<C>,\n keyof ExternalAppLinkProps<C> & keyof ExternalAppLinkAsComponentMinimumRequiredProps\n>;\n\nexport function ExternalAppLink<C extends VoidFunctionComponent<any>>({\n as: Component,\n appScheme,\n appValue,\n onPress,\n onOpenAppError,\n ...rest\n}: ExternalAppLinkProps<C> & ExternalAppLinkSendableComponentProps<C>): ReactElement {\n const href = `${appScheme}:${appValue}`;\n\n const handleOnPress = async (e: GestureResponderEvent): Promise<void> => {\n try {\n const canOpen = await Linking.canOpenURL(href);\n\n if (canOpen) {\n if (onPress) {\n onPress(e);\n if (e?.defaultPrevented) return;\n }\n\n Linking.openURL(href).catch((error) => {\n console.error(`An error occurred while opening ${href}`, error);\n\n onOpenAppError?.(`An error occurred while opening ${href}`);\n });\n } else {\n onOpenAppError?.(`Cannot open url: ${href}`);\n }\n } catch {\n onOpenAppError?.('An error occured with Linkinf.canOpenURL');\n }\n };\n\n return <Component href={href} {...(rest as any)} onPress={handleOnPress} />;\n}\n\nExternalAppLink.Sms = function ExternalAppLinkSms<C extends VoidFunctionComponent<any>>({\n phoneNumber,\n children,\n ...rest\n}: ExternalAppLinkPhoneProps<C> & ExternalAppLinkSendableComponentProps<C>): ReactElement {\n return (\n <ExternalAppLink {...(rest as any)} appScheme=\"sms\" appValue={phoneNumber}>\n {children}\n </ExternalAppLink>\n );\n};\n\nExternalAppLink.Tel = function ExternalAppLinkTel<C extends VoidFunctionComponent<any>>({\n phoneNumber,\n children,\n ...rest\n}: ExternalAppLinkPhoneProps<C> & ExternalAppLinkSendableComponentProps<C>): ReactElement {\n return (\n <ExternalAppLink {...(rest as any)} appScheme=\"tel\" appValue={phoneNumber}>\n {children}\n </ExternalAppLink>\n );\n};\n\nExternalAppLink.Mail = function ExternalAppLinkMail<C extends VoidFunctionComponent<any>>({\n emailAddress,\n children,\n ...rest\n}: ExternalAppLinkMailProps<C> & ExternalAppLinkSendableComponentProps<C>): ReactElement {\n return (\n <ExternalAppLink {...(rest as any)} appScheme=\"mailto\" appValue={emailAddress}>\n {children}\n </ExternalAppLink>\n );\n};\n","export interface ExternalLinkOpenLinkBehavior {\n /**\n * @default 'openInModal'\n *\n * @description open link behavior in native\n *\n * \"openInModal\": open via [expo-web-browser](https://docs.expo.dev/versions/latest/sdk/webbrowser/)\n *\n * \"openBrowserApp\": open via [Linking](https://docs.expo.dev/guides/linking/#opening-links-from-your-app)\n */\n native?: 'openInModal' | 'openBrowserApp';\n\n /**\n * @default 'targetBlank'\n *\n * @description open link behavior in native\n *\n * \"targetSelf\": no dom attributes added, behave like `target=\"_self\"`\n *\n * \"targetBlank\": dome attributes: `target=\"_blank\" rel=\"noopener noreferrer\"`\n */\n web?: 'targetSelf' | 'targetBlank';\n}\n\nexport const defaultOpenLinkBehavior: ExternalLinkOpenLinkBehavior = {\n native: 'openInModal',\n web: 'targetBlank',\n};\n","import * as WebBrowser from 'expo-web-browser';\nimport type { ComponentProps, ReactElement, VoidFunctionComponent } from 'react';\nimport type { PressableProps, TextProps } from 'react-native';\nimport { Linking } from 'react-native';\nimport type { ExternalLinkOpenLinkBehavior } from './ExternalLinkOpenLinkBehavior';\nimport { defaultOpenLinkBehavior } from './ExternalLinkOpenLinkBehavior';\n\nexport interface ExternalLinkAsComponentMinimumRequiredProps {\n href?: TextProps['href'];\n hrefAttrs?: TextProps['hrefAttrs'];\n onPress?: PressableProps['onPress'];\n}\n\nexport interface ExternalLinkProps<C extends VoidFunctionComponent<any>> {\n as: C;\n openLinkBehavior?: ExternalLinkOpenLinkBehavior;\n href?: string;\n onPress?: PressableProps['onPress'];\n}\n\n/** @internal for ExternalLink.web.tsx only */\n// eslint-disable-next-line @typescript-eslint/ban-types\nexport type ExternalLinkSendableComponentProps<C extends VoidFunctionComponent<any>> = Omit<\n ComponentProps<C>,\n keyof ExternalLinkProps<C> & keyof ExternalLinkAsComponentMinimumRequiredProps\n>;\n\nexport function ExternalLink<C extends VoidFunctionComponent<any>>({\n as: Component,\n href,\n openLinkBehavior = defaultOpenLinkBehavior,\n onPress,\n ...rest\n}: ExternalLinkProps<C> & ExternalLinkSendableComponentProps<C>): ReactElement {\n const handleOnPress: PressableProps['onPress'] = (e) => {\n if (onPress) {\n onPress(e);\n if (e?.defaultPrevented) return;\n }\n\n if (!href) return;\n\n switch (openLinkBehavior.native) {\n case 'openInModal':\n case undefined:\n WebBrowser.openBrowserAsync(href).catch((error) => {\n console.error(`An error occurred while opening ${href}`, error);\n });\n break;\n case 'openBrowserApp':\n Linking.openURL(href).catch((error) => {\n console.error(`An error occurred while opening ${href}`, error);\n });\n break;\n default:\n if (__DEV__) {\n throw new Error(`Invalid ExternalLink native behavior: ${openLinkBehavior.native as string}`);\n }\n }\n };\n\n return <Component {...(rest as any)} onPress={handleOnPress} />;\n}\n","interface GetBackgroundColorParams {\n isDisabled?: boolean;\n isChecked?: boolean;\n isPressed?: boolean;\n isHovered?: boolean;\n isFocused?: boolean;\n}\n\nexport function getBackgroundColor({\n isDisabled,\n isPressed,\n isHovered,\n isFocused,\n isChecked,\n}: GetBackgroundColorParams): string {\n if (isChecked) return 'kitt.forms.checkbox.checked.backgroundColor';\n\n if (isDisabled) return 'kitt.forms.checkbox.disabled.backgroundColor';\n\n if (isPressed) return 'kitt.forms.checkbox.pressed.backgroundColor';\n\n if (isHovered) return 'kitt.forms.checkbox.hover.backgroundColor';\n\n if (isFocused) return 'kitt.forms.checkbox.focus.backgroundColor';\n\n return 'kitt.forms.checkbox.default.backgroundColor';\n}\n","interface GetBorderColorParams {\n isDisabled?: boolean;\n isChecked?: boolean;\n isPressed?: boolean;\n isHovered?: boolean;\n isFocused?: boolean;\n}\n\nexport function getBorderColor({\n isDisabled,\n isPressed,\n isHovered,\n isFocused,\n isChecked,\n}: GetBorderColorParams): string {\n if (isChecked) return 'kitt.forms.checkbox.checked.borderColor';\n\n if (isDisabled) return 'kitt.forms.checkbox.disabled.borderColor';\n\n if (isPressed) return 'kitt.forms.checkbox.pressed.borderColor';\n\n if (isHovered) return 'kitt.forms.checkbox.hover.borderColor';\n\n if (isFocused) return 'kitt.forms.checkbox.focus.borderColor';\n\n return 'kitt.forms.checkbox.default.borderColor';\n}\n","import { CheckboxMark } from '@ornikar/kitt-icons';\nimport type { ReactElement, ReactNode } from 'react';\nimport { forwardRef } from 'react';\nimport type { GestureResponderEvent, PressableProps } from 'react-native';\nimport { Icon } from '../../Icon/Icon';\nimport { useTheme } from '../../KittThemeContext';\nimport { HStack } from '../../native-base/layout';\nimport { Pressable, View } from '../../native-base/primitives';\nimport { getBackgroundColor } from './utils/getBackgroundColor';\nimport { getBorderColor } from './utils/getBorderColor';\n\nexport interface CheckboxProps {\n checked?: boolean;\n hitSlop?: number;\n testID?: string;\n id?: PressableProps['testID'];\n children?: ReactNode;\n disabled?: boolean;\n onChange?: (checked: boolean, e: GestureResponderEvent) => void;\n onBlur?: (e: any) => void;\n onFocus?: (e: any) => void;\n}\n\nexport const Checkbox = forwardRef<PressableProps, CheckboxProps>(\n (\n { checked, hitSlop = 40, id, children, disabled, testID, onChange, onBlur, onFocus }: CheckboxProps,\n ref,\n ): ReactElement => {\n const theme = useTheme();\n\n const handlePress = (e: GestureResponderEvent): void => {\n if (onFocus) onFocus(e);\n if (onChange) onChange(!checked, e);\n if (onBlur) onBlur(e);\n };\n\n return (\n <Pressable\n ref={ref}\n nativeID={id}\n testID={testID}\n accessibilityRole=\"checkbox\"\n accessibilityState={{ checked: !!checked, disabled }}\n hitSlop={hitSlop}\n disabled={disabled}\n onPress={handlePress}\n >\n {({ isHovered, isPressed, isFocused }) => (\n <HStack space={children ? 'kitt.forms.checkbox.textSpacing' : undefined}>\n <View\n display=\"flex\"\n flexDirection=\"row\"\n alignItems=\"center\"\n justifyContent=\"center\"\n marginTop={children ? 'kitt.1' : undefined}\n height=\"kitt.forms.checkbox.height\"\n width=\"kitt.forms.checkbox.width\"\n borderRadius=\"kitt.forms.checkbox.borderRadius\"\n borderWidth=\"kitt.forms.checkbox.borderWidth\"\n borderColor={getBorderColor({\n isDisabled: disabled,\n isFocused,\n isHovered,\n isPressed,\n isChecked: checked,\n })}\n backgroundColor={getBackgroundColor({\n isDisabled: disabled,\n isFocused,\n isHovered,\n isPressed,\n isChecked: checked,\n })}\n _web={{\n style: {\n transitionDuration: theme.kitt.forms.checkbox.transition.duration,\n transitionProperty: 'all',\n transitionTimingFunction: theme.kitt.forms.checkbox.transition.timingFunction,\n },\n }}\n >\n <View\n opacity={checked ? 1 : 0}\n _web={{\n style: {\n transitionDuration: theme.kitt.forms.checkbox.transition.duration,\n transitionProperty: 'opacity',\n transitionTimingFunction: theme.kitt.forms.checkbox.transition.timingFunction,\n },\n }}\n >\n <Icon\n align=\"center\"\n color={theme.kitt.forms.checkbox.markColor}\n size={theme.kitt.forms.checkbox.iconSize}\n icon={<CheckboxMark />}\n />\n </View>\n </View>\n\n {children ? <View flexShrink={1}>{children}</View> : null}\n </HStack>\n )}\n </Pressable>\n );\n },\n);\n","import type { TextInputProps } from 'react-native';\nimport { Platform } from 'react-native';\n\nexport function getReturnKeyTypeForNumericInput(\n returnKeyType: TextInputProps['returnKeyType'],\n): TextInputProps['returnKeyType'] {\n // returnKey is only displayed on number input on iOS if value is done\n if (Platform.OS === 'ios') return 'done';\n\n return returnKeyType;\n}\n","function prefixWithZero(value: number, maxLength = 2): string {\n return `${value}`.padStart(maxLength, '0');\n}\n\nexport function dayFormatter(day: number): string {\n return prefixWithZero(day);\n}\n\nexport function monthFormatter(month: number): string {\n return prefixWithZero(month);\n}\n\nexport function yearFormatter(year: number): string {\n return prefixWithZero(year, 4);\n}\n","export function getDayInInterval(value: number | undefined): number | undefined {\n const minValue = 1;\n const maxValue = 31;\n\n return value !== undefined ? Math.max(minValue, Math.min(maxValue, value)) : value;\n}\n\nexport function getMonthInInterval(\n value: number | undefined,\n minDate: Date | undefined,\n maxDate: Date | undefined,\n): number | undefined {\n const maxMonthInYear = 12;\n\n const minValue = minDate ? minDate.getMonth() + 1 : 1;\n const maxValue = maxDate ? maxDate.getMonth() + 1 : maxMonthInYear;\n\n return value !== undefined ? Math.max(minValue, Math.min(maxValue, value)) : value;\n}\n\nexport function getYearInInterval(\n value: number | undefined,\n minDate: Date | undefined,\n maxDate: Date | undefined,\n): number | undefined {\n const maxPossibleYear = 9999;\n\n const minValue = minDate ? minDate.getFullYear() : 1;\n const maxValue = maxDate ? maxDate.getFullYear() : maxPossibleYear;\n\n return value !== undefined ? Math.max(minValue, Math.min(maxValue, value)) : value;\n}\n","import type { Reducer } from 'react';\nimport type { DatePickerProps } from '../DatePicker';\nimport { dayFormatter, monthFormatter, yearFormatter } from '../utils/dateFormatter';\nimport { getDayInInterval, getMonthInInterval, getYearInInterval } from '../utils/datePartInInterval';\n\nfunction getValueToDisplayedString(value: number | undefined): string {\n // We exclude the undefined value since 0 is a valid number\n if (value === undefined) return '';\n\n return value.toString();\n}\n\nexport interface State {\n currentValue: DatePickerProps['value'];\n currentDay?: number;\n currentMonth?: number;\n currentYear?: number;\n displayedDay?: string;\n displayedMonth?: string;\n displayedYear?: string;\n minDate: DatePickerProps['minDate'];\n maxDate: DatePickerProps['maxDate'];\n}\n\ninterface DayChangeAction {\n type: 'day-change';\n nextDay?: number;\n}\n\ninterface MonthChangeAction {\n type: 'month-change';\n nextMonth?: number;\n}\n\ninterface YearChangeAction {\n type: 'year-change';\n nextYear?: number;\n}\n\ninterface DayBlurAction {\n type: 'day-blur';\n}\n\ninterface MonthBlurAction {\n type: 'month-blur';\n}\n\ninterface YearBlurAction {\n type: 'year-blur';\n}\n\ntype Actions =\n | DayChangeAction\n | MonthChangeAction\n | YearChangeAction\n | DayBlurAction\n | MonthBlurAction\n | YearBlurAction;\n\nexport const keyboardDatePickerReducer: Reducer<State, Actions> = (state, action) => {\n switch (action.type) {\n case 'day-change': {\n const { nextDay } = action;\n\n return {\n ...state,\n currentDay: nextDay,\n displayedDay: getValueToDisplayedString(nextDay),\n };\n }\n\n case 'month-change': {\n const { nextMonth } = action;\n\n return {\n ...state,\n currentMonth: nextMonth,\n displayedMonth: getValueToDisplayedString(nextMonth),\n };\n }\n\n case 'year-change': {\n const { nextYear } = action;\n\n return {\n ...state,\n currentYear: nextYear,\n displayedYear: getValueToDisplayedString(nextYear),\n };\n }\n\n case 'day-blur': {\n const nextCurrentDay = getDayInInterval(state.currentDay);\n\n return {\n ...state,\n displayedDay: nextCurrentDay ? dayFormatter(nextCurrentDay) : state.displayedDay,\n };\n }\n\n case 'month-blur': {\n const { minDate, maxDate } = state;\n\n const nextCurrentMonth = getMonthInInterval(state.currentMonth, minDate, maxDate);\n\n return {\n ...state,\n currentMonth: nextCurrentMonth,\n displayedMonth: nextCurrentMonth !== undefined ? monthFormatter(nextCurrentMonth) : state.displayedMonth,\n };\n }\n\n case 'year-blur': {\n const { minDate, maxDate } = state;\n\n const nextCurrentYear = getYearInInterval(state.currentYear, minDate, maxDate);\n\n return {\n ...state,\n currentYear: nextCurrentYear,\n displayedYear: nextCurrentYear !== undefined ? yearFormatter(nextCurrentYear) : state.displayedYear,\n };\n }\n\n default:\n return state;\n }\n};\n","export function isNumber(input?: unknown): boolean {\n // Number.isNaN and isNaN are not consistent\n // eslint-disable-next-line no-restricted-globals\n return !isNaN(input as any);\n}\n","interface OnDatePartChangeParams {\n day?: number;\n month?: number;\n year?: number;\n validYearMinLength?: number;\n minDate?: Date;\n maxDate?: Date;\n onChange: (v?: Date) => void;\n onBlur?: () => void;\n onFocus?: () => void;\n}\n\nexport function onDatePartChange({\n day,\n month,\n year,\n validYearMinLength = 4,\n minDate,\n maxDate,\n onChange,\n onBlur,\n onFocus,\n}: OnDatePartChangeParams): void {\n const arrayParts = [day, month, year];\n\n const isEverythingUndefined = arrayParts.every((v) => v === undefined);\n const isEverythingDefined = arrayParts.every(Boolean);\n\n // every parts are undefined\n if (isEverythingUndefined) {\n if (onFocus) onFocus();\n onChange(undefined);\n if (onBlur) onBlur();\n\n return;\n }\n\n // Do nothing if some input parts are empty\n if (!isEverythingDefined) {\n return;\n }\n\n const nextValue = new Date();\n\n const isValidYear = year && year.toString().length >= validYearMinLength;\n\n if (!isValidYear) {\n return;\n }\n\n if (day) nextValue.setDate(day);\n if (month) nextValue.setMonth(month - 1);\n if (year) nextValue.setFullYear(year);\n\n nextValue.setMinutes(0);\n nextValue.setHours(0);\n nextValue.setSeconds(0);\n nextValue.setMilliseconds(0);\n\n if (minDate) {\n minDate.setMinutes(0);\n minDate.setHours(0);\n minDate.setSeconds(0);\n minDate.setMilliseconds(0);\n const isMinDateAfterNextValue = minDate.getTime() > nextValue.getTime();\n\n if (isMinDateAfterNextValue) {\n if (onFocus) onFocus();\n onChange(undefined);\n if (onBlur) onBlur();\n\n return;\n }\n }\n\n if (maxDate) {\n maxDate.setMinutes(0);\n maxDate.setHours(0);\n maxDate.setSeconds(0);\n maxDate.setMilliseconds(0);\n\n const isMaxDateBeforeNextValue = nextValue.getTime() > maxDate.getTime();\n\n if (isMaxDateBeforeNextValue) {\n if (onFocus) onFocus();\n onChange(undefined);\n if (onBlur) onBlur();\n\n return;\n }\n }\n\n if (onFocus) onFocus();\n onChange(nextValue);\n if (onBlur) onBlur();\n}\n","export function stringToNumber(text: string): number | undefined {\n if (text.length === 0) return undefined;\n return parseInt(text, 10);\n}\n","import type { ReactElement, ReactNode } from 'react';\nimport { View } from '../../native-base/primitives';\n\nexport interface InputTextContainerProps {\n children: NonNullable<ReactNode>;\n}\n\nexport function InputTextContainer({ children }: InputTextContainerProps): ReactElement {\n return <View position=\"relative\">{children}</View>;\n}\n","import { Input } from 'native-base';\nimport type { ResponsiveValue } from 'native-base/lib/typescript/components/types';\nimport type { ReactElement, ReactNode } from 'react';\nimport { forwardRef } from 'react';\nimport type { TextInput as RNTextInput, TextInputProps as RNTextInputProps } from 'react-native';\nimport { Platform } from 'react-native';\nimport type { Except } from 'type-fest';\nimport { useTheme } from '../../KittThemeContext';\nimport { View } from '../../native-base/primitives';\nimport { createNativeBaseFontSize } from '../../typography/Typography';\nimport type { InputFormState, InputUIState } from '../utils';\nimport { InputTextContainer } from './InputTextContainer';\n\nexport interface InputTextProps extends Except<RNTextInputProps, 'nativeID'> {\n id?: string;\n name?: string;\n // See InterfaceInputProps from native-base\n variant?: ResponsiveValue<'outline' | 'unstyled'>;\n disabled?: boolean;\n minHeight?: number | string;\n state?: InputFormState;\n right?: ReactNode;\n /**\n * @internal\n * @deprecated\n */\n internalForceState?: InputUIState;\n}\n\nexport const InputText = forwardRef<RNTextInput, InputTextProps>(\n (\n {\n id,\n right,\n state: formState,\n variant = 'outline',\n internalForceState,\n disabled = false,\n autoCorrect = true,\n textContentType = 'none',\n autoComplete = 'off',\n keyboardType = 'default',\n multiline,\n onSubmitEditing,\n ...props\n }: InputTextProps,\n ref,\n ): ReactElement => {\n const theme = useTheme();\n const fontSizeForNativeBase = createNativeBaseFontSize({ base: 'body' });\n const shouldHandleSingleLineOnIOS = Platform.OS === 'ios' && !multiline;\n\n return (\n <InputTextContainer>\n <Input\n ref={ref as any}\n multiline={multiline}\n nativeID={id}\n isDisabled={internalForceState ? internalForceState === 'disabled' : disabled}\n isHovered={internalForceState ? internalForceState === 'hover' : undefined}\n isFocused={internalForceState ? internalForceState === 'focus' : undefined}\n keyboardType={keyboardType}\n autoComplete={autoComplete}\n autoCorrect={autoCorrect}\n textContentType={textContentType}\n fontSize={fontSizeForNativeBase}\n lineHeight={\n // On basic text input, we set the line-height to zero for iOS to fix vertical text alignment\n // This is a iOS only fix since having 0 as a line-height value breaks text inputs on Android\n shouldHandleSingleLineOnIOS ? 0 : fontSizeForNativeBase\n }\n fontWeight=\"bodies.regular\"\n fontFamily=\"bodies.regular\"\n py={!multiline && Platform.OS !== 'web' ? 0 : undefined}\n variant={variant}\n {...props}\n onSubmitEditing={multiline ? () => null : onSubmitEditing}\n />\n {right ? (\n <View\n position=\"absolute\"\n right={0}\n top={0}\n bottom={0}\n justifyContent=\"center\"\n padding={theme.kitt.forms.input.rightContainer.padding}\n >\n {right}\n </View>\n ) : null}\n </InputTextContainer>\n );\n },\n);\n","import type { ReactElement, Ref } from 'react';\nimport { forwardRef } from 'react';\nimport type { TextInput } from 'react-native';\nimport type { InputTextProps } from '../../InputText/InputText';\nimport { InputText } from '../../InputText/InputText';\nimport type { InputUIState } from '../../utils';\n\ninterface GetCurrentInternalForcedStateParams {\n isDisabled?: boolean;\n isFocusedInternal?: boolean;\n isPressedInternal?: boolean;\n isHoveredInternal?: boolean;\n}\n\nfunction getCurrentInternalForcedState({\n isDisabled,\n isHoveredInternal,\n isFocusedInternal,\n isPressedInternal,\n}: GetCurrentInternalForcedStateParams): InputUIState | 'disabled' {\n if (isDisabled) return 'disabled';\n\n if (isHoveredInternal) return 'hover';\n\n if (isFocusedInternal) return 'focus';\n\n if (isPressedInternal) return 'hover';\n\n return 'default';\n}\n\ninterface InputPartProps {\n value?: string;\n placeholder?: InputTextProps['placeholder'];\n disabled?: boolean;\n isFocusedInternal?: boolean;\n isHoveredInternal?: boolean;\n isPressedInternal?: boolean;\n returnKeyType?: InputTextProps['returnKeyType'];\n onChange?: InputTextProps['onChange'];\n onBlur?: () => void;\n onSubmitEditing?: InputTextProps['onSubmitEditing'];\n}\n\nexport const InputPart = forwardRef(\n (\n {\n value,\n placeholder,\n disabled,\n isFocusedInternal,\n isHoveredInternal,\n isPressedInternal,\n returnKeyType,\n onChange,\n onBlur,\n onSubmitEditing,\n }: InputPartProps,\n ref: Ref<TextInput>,\n ): ReactElement => {\n return (\n <InputText\n ref={ref}\n internalForceState={getCurrentInternalForcedState({\n isDisabled: disabled,\n isHoveredInternal,\n isFocusedInternal,\n isPressedInternal,\n })}\n value={value}\n placeholder={placeholder}\n disabled={disabled}\n keyboardType=\"numeric\"\n returnKeyType={returnKeyType}\n textAlign=\"center\"\n onChange={onChange}\n onBlur={onBlur}\n onSubmitEditing={onSubmitEditing}\n />\n );\n },\n);\n","import type { ReactElement, ReactNode } from 'react';\nimport type { ViewProps } from '../../../native-base/primitives';\nimport { View } from '../../../native-base/primitives';\nimport { createResponsiveStyleFromProp } from '../../../utils/createResponsiveStyleFromProp/createResponsiveStyleFromProp';\nimport type { DatePickerProps } from '../DatePicker';\n\ninterface PartContainerProps {\n children: ReactNode;\n isStretch?: DatePickerProps['stretch'];\n width?: ViewProps['width'];\n}\n\nexport function PartContainer({ children, isStretch, width }: PartContainerProps): ReactElement {\n return (\n <View\n flex={createResponsiveStyleFromProp(isStretch, 0.33)}\n flexGrow={createResponsiveStyleFromProp(isStretch, 1)}\n width={isStretch ? undefined : width}\n >\n {children}\n </View>\n );\n}\n","import type { ReactElement } from 'react';\nimport { forwardRef, useReducer, useRef } from 'react';\nimport type { TextInput as RNTextInput } from 'react-native';\nimport { HStack } from '../../../native-base/layout';\nimport { View } from '../../../native-base/primitives';\nimport { getReturnKeyTypeForNumericInput } from '../../../utils/getReturnKeyTypeForNumericInput/getReturnKeyTypeForNumericInput';\nimport type { InputTextProps } from '../../InputText/InputText';\nimport type { DatePickerProps } from '../DatePicker';\nimport { keyboardDatePickerReducer } from '../reducers/keyboardDatePickerReducer';\nimport { dayFormatter, monthFormatter, yearFormatter } from '../utils/dateFormatter';\nimport { isNumber } from '../utils/isNumber';\nimport { onDatePartChange } from '../utils/onDatePartChange';\nimport { stringToNumber } from '../utils/stringToNumber';\nimport { InputPart } from './InputPart';\nimport { PartContainer } from './PartContainer';\n\ninterface KeyboardDatePickerProps extends DatePickerProps {\n onSubmitEditing?: InputTextProps['onSubmitEditing'];\n}\n\nexport const KeyboardDatePicker = forwardRef<RNTextInput, KeyboardDatePickerProps>(\n (\n {\n value,\n testID,\n id,\n stretch,\n placeholder,\n minDate,\n maxDate,\n disabled,\n isFocusedInternal,\n isHoveredInternal,\n isPressedInternal,\n returnKeyType,\n onChange,\n onBlur,\n onFocus,\n onSubmitEditing,\n ...props\n }: KeyboardDatePickerProps,\n ref,\n ): ReactElement => {\n const monthRef = useRef<RNTextInput>(null);\n const yearRef = useRef<RNTextInput>(null);\n\n const defaultValue = value;\n\n const defaultDay = defaultValue?.getDate();\n const defaultMonth = defaultValue ? defaultValue.getMonth() + 1 : undefined;\n const defaultYear = defaultValue?.getFullYear();\n\n const [state, dispatch] = useReducer(keyboardDatePickerReducer, {\n currentValue: defaultValue,\n currentDay: defaultDay,\n currentMonth: defaultMonth,\n currentYear: defaultYear,\n displayedDay: defaultDay ? dayFormatter(defaultDay) : '',\n displayedMonth: defaultMonth ? monthFormatter(defaultMonth) : '',\n displayedYear: defaultYear ? yearFormatter(defaultYear) : '',\n minDate,\n maxDate,\n });\n\n const sharedInputPartProps = {\n isFocusedInternal,\n isHoveredInternal,\n isPressedInternal,\n disabled,\n };\n\n const handleDatePartChange = (\n day: number | undefined,\n month: number | undefined,\n year: number | undefined,\n ): void => {\n onDatePartChange({ day, month, year, minDate: state.minDate, maxDate: state.maxDate, onFocus, onBlur, onChange });\n };\n\n const handleAutoFocusNextField = (currentFieldValue: string, nextFieldRef: React.RefObject<RNTextInput>): void => {\n if (currentFieldValue.length === 2 && nextFieldRef.current) {\n nextFieldRef.current.focus();\n }\n };\n\n return (\n <View testID={testID} nativeID={id}>\n <HStack space=\"kitt.2\">\n <PartContainer isStretch={stretch} width=\"kitt.forms.datePicker.day.minWidth\">\n <InputPart\n ref={ref}\n {...sharedInputPartProps}\n placeholder={placeholder?.day}\n value={state.displayedDay}\n returnKeyType={getReturnKeyTypeForNumericInput('next')}\n onChange={(e) => {\n const nextDay = stringToNumber(e.nativeEvent.text);\n\n dispatch({ type: 'day-change', nextDay });\n\n if (nextDay && isNumber(nextDay)) {\n handleDatePartChange(nextDay, state.currentMonth, state.currentYear);\n }\n\n handleAutoFocusNextField(e.nativeEvent.text, monthRef);\n }}\n onBlur={() => dispatch({ type: 'day-blur' })}\n onSubmitEditing={() => {\n monthRef.current?.focus();\n }}\n />\n </PartContainer>\n\n <PartContainer isStretch={stretch} width=\"kitt.forms.datePicker.month.minWidth\">\n <InputPart\n ref={monthRef}\n {...sharedInputPartProps}\n placeholder={placeholder?.month}\n value={state.displayedMonth}\n returnKeyType={getReturnKeyTypeForNumericInput('next')}\n onChange={(e) => {\n const nextMonth = stringToNumber(e.nativeEvent.text);\n\n dispatch({ type: 'month-change', nextMonth });\n\n if (nextMonth && isNumber(nextMonth)) {\n handleDatePartChange(state.currentDay, nextMonth, state.currentYear);\n }\n\n handleAutoFocusNextField(e.nativeEvent.text, yearRef);\n }}\n onBlur={() => dispatch({ type: 'month-blur' })}\n onSubmitEditing={() => {\n yearRef.current?.focus();\n }}\n />\n </PartContainer>\n\n <PartContainer isStretch={stretch} width=\"kitt.forms.datePicker.year.minWidth\">\n <InputPart\n ref={yearRef}\n {...sharedInputPartProps}\n placeholder={placeholder?.year}\n value={state.displayedYear}\n returnKeyType={returnKeyType ? getReturnKeyTypeForNumericInput(returnKeyType) : undefined}\n onChange={(e) => {\n const nextYear = stringToNumber(e.nativeEvent.text);\n\n dispatch({ type: 'year-change', nextYear });\n\n if (nextYear && isNumber(nextYear)) {\n handleDatePartChange(state.currentDay, state.currentMonth, nextYear);\n }\n }}\n onBlur={() => dispatch({ type: 'year-blur' })}\n onSubmitEditing={onSubmitEditing}\n />\n </PartContainer>\n </HStack>\n </View>\n );\n },\n);\n","import type { ReactElement } from 'react';\nimport { forwardRef } from 'react';\nimport type { PressableProps } from 'react-native';\nimport { HStack } from '../../../native-base/layout';\nimport { Pressable, View } from '../../../native-base/primitives';\nimport { createResponsiveStyleFromProp } from '../../../utils/createResponsiveStyleFromProp/createResponsiveStyleFromProp';\nimport type { DatePickerProps } from '../DatePicker';\nimport { dayFormatter, monthFormatter, yearFormatter } from '../utils/dateFormatter';\nimport { InputPart } from './InputPart';\nimport { PartContainer } from './PartContainer';\n\ninterface PressableDateInputsProps extends Omit<DatePickerProps, 'onChange'> {\n onPress: () => void;\n}\n\nexport const PressableDateInputs = forwardRef<PressableProps, PressableDateInputsProps>(\n (\n {\n disabled,\n stretch,\n id,\n testID,\n value,\n placeholder,\n isFocusedInternal,\n isHoveredInternal,\n isPressedInternal,\n onPress,\n }: PressableDateInputsProps,\n ref,\n ): ReactElement => {\n const sharedInputPartProps = {\n isFocusedInternal,\n isHoveredInternal,\n isPressedInternal,\n disabled,\n };\n\n return (\n <Pressable\n ref={ref}\n display=\"flex\"\n flexDirection=\"row\"\n position=\"relative\"\n alignSelf={createResponsiveStyleFromProp(stretch, undefined, 'baseline')}\n nativeID={id}\n disabled={disabled}\n testID={testID}\n onPress={onPress}\n >\n <View position=\"relative\" width={createResponsiveStyleFromProp(stretch, '100%')} pointerEvents=\"none\">\n <HStack space=\"kitt.2\" width={createResponsiveStyleFromProp(stretch, '100%')}>\n <PartContainer isStretch={stretch} width=\"kitt.forms.datePicker.day.minWidth\">\n <InputPart\n {...sharedInputPartProps}\n placeholder={placeholder?.day}\n value={value ? dayFormatter(value.getDate()) : undefined}\n />\n </PartContainer>\n\n <PartContainer isStretch={stretch} width=\"kitt.forms.datePicker.month.minWidth\">\n <InputPart\n {...sharedInputPartProps}\n placeholder={placeholder?.month}\n value={value ? monthFormatter(value.getMonth() + 1) : undefined}\n />\n </PartContainer>\n\n <PartContainer isStretch={stretch} width=\"kitt.forms.datePicker.year.minWidth\">\n <InputPart\n {...sharedInputPartProps}\n placeholder={placeholder?.year}\n value={value ? yearFormatter(value.getFullYear()) : undefined}\n />\n </PartContainer>\n </HStack>\n <View width=\"100%\" height=\"100%\" position=\"absolute\" top=\"0\" left=\"0\" />\n </View>\n </Pressable>\n );\n },\n);\n","import { DateTimePickerAndroid } from '@react-native-community/datetimepicker';\nimport { forwardRef, useEffect, useState } from 'react';\nimport type { ReactElement } from 'react';\nimport type { PressableProps } from 'react-native';\nimport type { Except } from 'type-fest';\nimport type { DatePickerProps } from '../../DatePicker';\nimport { PressableDateInputs } from '../PressableDateInputs';\n\ninterface DatePickerAndroidProps extends Except<DatePickerProps, 'pickerUITitle' | 'pickerUIValidateButtonLabel'> {}\n\nexport const DatePickerAndroid = forwardRef<PressableProps, DatePickerAndroidProps>(\n (\n {\n onBlur,\n onFocus,\n pickerDefaultDate,\n pickerUITestID,\n isDefaultVisible,\n value,\n onChange,\n ...props\n }: DatePickerAndroidProps,\n ref,\n ): ReactElement => {\n const [isFocused, setIsFocused] = useState(false);\n const [currentValue, setCurrentValue] = useState<Date | undefined>(value);\n\n const handleClose = (): void => {\n if (onBlur) onBlur();\n };\n\n const handleModalOpen = (): void => {\n setIsFocused(true);\n if (onFocus) onFocus();\n\n DateTimePickerAndroid.open({\n testID: pickerUITestID,\n value: currentValue || pickerDefaultDate || new Date(Date.now()),\n onChange: (e) => {\n setIsFocused(false);\n const { timestamp } = e.nativeEvent;\n if (timestamp) {\n const date = new Date(timestamp);\n\n setCurrentValue(date);\n onChange(date);\n handleClose();\n }\n },\n onTouchCancel: handleClose,\n });\n };\n\n useEffect(() => {\n if (isDefaultVisible) handleModalOpen();\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, []);\n\n return (\n <PressableDateInputs\n ref={ref}\n value={currentValue}\n isFocusedInternal={isFocused}\n onPress={handleModalOpen}\n {...props}\n />\n );\n },\n);\n","import type { ReactElement, ReactNode } from 'react';\nimport { ScrollView } from 'react-native';\nimport styled from 'styled-components/native';\n\nconst BodyView = styled.View`\n padding: ${({ theme }) => theme.kitt.spacing * 6}px ${({ theme }) => theme.kitt.spacing * 4}px;\n`;\n\nexport interface BodyProps {\n children: NonNullable<ReactNode>;\n}\n\nexport function ModalBody({ children }: BodyProps): ReactElement {\n return (\n <ScrollView>\n <BodyView>{children}</BodyView>\n </ScrollView>\n );\n}\n","import type { ReactElement, ReactNode } from 'react';\nimport styled from 'styled-components/native';\n\nexport interface FooterProps {\n children: NonNullable<ReactNode>;\n}\n\nconst FooterView = styled.View`\n flex: 0 0 auto;\n padding: ${({ theme }) => theme.kitt.spacing * 4}px;\n border-top-width: 1px;\n border-top-color: ${({ theme }) => theme.kitt.colors.separator};\n`;\n\nexport function ModalFooter({ children }: FooterProps): ReactElement {\n return <FooterView>{children}</FooterView>;\n}\n","import type { ReactElement } from 'react';\nimport type { ViewProps } from '../native-base/primitives';\nimport { View } from '../native-base/primitives';\nimport type { IconButtonColor } from './IconButton';\n\nfunction getBackgroundColor(color: IconButtonColor, isDisabled?: boolean): string {\n if (isDisabled) {\n return 'kitt.iconButton.disabled.backgroundColor';\n }\n\n switch (color) {\n case 'primary':\n return 'kitt.iconButton.primary.pressed.backgroundColor';\n case 'white':\n return 'kitt.iconButton.white.pressed.backgroundColor';\n case 'black':\n default:\n return 'kitt.iconButton.black.pressed.backgroundColor';\n }\n}\n\ninterface BackgroundProps extends ViewProps {\n color: IconButtonColor;\n isDisabled?: boolean;\n _web?: Partial<ViewProps>;\n}\n\nexport function Background({ color, isDisabled, ...props }: BackgroundProps): ReactElement {\n return (\n <View\n {...props}\n width=\"100%\"\n height=\"100%\"\n borderRadius=\"kitt.iconButton.borderRadius\"\n backgroundColor={getBackgroundColor(color, isDisabled)}\n />\n );\n}\n","import type { ReactElement } from 'react';\nimport Animated from 'react-native-reanimated';\nimport { useSx } from '../native-base/utils';\nimport { Background } from './Background';\nimport type { IconButtonColor } from './IconButton';\nimport type { UseNativeAnimation } from './hooks/useNativeAnimation';\n\nexport interface AnimatedBackgroundProps {\n color: IconButtonColor;\n isHovered?: boolean;\n isPressed?: boolean;\n isFocused?: boolean;\n isDisabled?: boolean;\n opacityStyles?: UseNativeAnimation['opacityStyles'];\n}\n\nexport function AnimatedBackground({ color, isDisabled, opacityStyles }: AnimatedBackgroundProps): ReactElement {\n const sx = useSx();\n\n const currentOpacityStyles = isDisabled ? { opacity: 1 } : opacityStyles;\n\n const styles = sx({\n position: 'absolute',\n top: 0,\n left: 0,\n width: '100%',\n height: '100%',\n });\n\n return (\n <Animated.View style={[styles, currentOpacityStyles]}>\n <Background color={color} isDisabled={isDisabled} />\n </Animated.View>\n );\n}\n","import type { ReactElement, ReactNode } from 'react';\nimport Animated from 'react-native-reanimated';\nimport { useSx } from '../native-base/utils';\nimport type { UseNativeAnimation } from './hooks/useNativeAnimation';\n\nexport interface AnimatedScaleProps {\n children: ReactNode;\n isHovered?: boolean;\n isPressed?: boolean;\n isFocused?: boolean;\n isDisabled?: boolean;\n scaleStyles?: UseNativeAnimation['scaleStyles'];\n}\n\nexport function AnimatedScale({ isDisabled, scaleStyles, children }: AnimatedScaleProps): ReactElement {\n const sx = useSx();\n\n const currentOpacityStyles = isDisabled ? { transform: [{ scale: 1 }] } : scaleStyles;\n\n const styles = sx({\n position: 'relative',\n alignItems: 'center',\n justifyContent: 'center',\n width: '100%',\n height: '100%',\n });\n\n return <Animated.View style={[styles, currentOpacityStyles]}>{children}</Animated.View>;\n}\n","import { useAnimatedStyle, useSharedValue, withSpring } from 'react-native-reanimated';\nimport { useTheme } from '../../KittThemeContext';\n\nexport interface UseNativeAnimationParams {\n isDisabled?: boolean;\n isPressed?: boolean;\n}\n\nexport interface UseNativeAnimation {\n opacityStyles?: { opacity: number };\n scaleStyles?: {\n transform: {\n scale: number;\n }[];\n };\n onPressIn: () => void;\n onPressOut: () => void;\n}\n\nexport function useNativeAnimation({ isPressed }: UseNativeAnimationParams): UseNativeAnimation {\n const theme = useTheme();\n const pressed = useSharedValue(!!isPressed);\n\n const opacityStyles = useAnimatedStyle(() => {\n return {\n opacity: withSpring(pressed.value ? 1 : 0),\n };\n });\n\n const scaleStyles = useAnimatedStyle(() => {\n return {\n transform: [\n {\n scale: withSpring(\n pressed.value ? theme.kitt.iconButton.scale.base.active : theme.kitt.iconButton.scale.base.default,\n ),\n },\n ],\n };\n });\n\n const handlePressIn = (): void => {\n pressed.value = true;\n };\n\n const handlePressOut = (): void => {\n pressed.value = false;\n };\n\n return {\n opacityStyles,\n scaleStyles,\n onPressIn: handlePressIn,\n onPressOut: handlePressOut,\n };\n}\n","import type { ReactElement } from 'react';\nimport type { PressableProps } from '../native-base/primitives';\nimport { Pressable, View } from '../native-base/primitives';\nimport { TypographyIcon } from '../typography/TypographyIcon';\nimport { AnimatedBackground } from './AnimatedBackground';\nimport { AnimatedScale } from './AnimatedScale';\nimport { useNativeAnimation } from './hooks/useNativeAnimation';\n\nexport type IconButtonColor = 'black' | 'white' | 'primary';\n\nexport interface IconButtonProps {\n icon: NonNullable<ReactElement>;\n color?: IconButtonColor;\n disabled?: boolean;\n testID?: string;\n accessibilityLabel?: PressableProps['accessibilityLabel'];\n accessibilityRole?: PressableProps['accessibilityRole'];\n /** @internal for story purpose */\n isHoveredInternal?: boolean;\n /** @internal for story purpose */\n isPressedInternal?: boolean;\n /** @internal for story purpose */\n isFocusedInternal?: boolean;\n onPress?: () => void;\n}\n\nexport function IconButton({\n icon,\n color = 'black',\n disabled,\n testID,\n accessibilityLabel,\n accessibilityRole = 'button',\n isHoveredInternal,\n isPressedInternal,\n isFocusedInternal,\n onPress,\n}: IconButtonProps): ReactElement {\n const { onPressIn, onPressOut, opacityStyles, scaleStyles } = useNativeAnimation({\n isDisabled: disabled,\n isPressed: isPressedInternal,\n });\n\n return (\n <Pressable\n testID={testID}\n disabled={disabled}\n width=\"kitt.iconButton.width\"\n height=\"kitt.iconButton.height\"\n accessibilityLabel={accessibilityLabel}\n accessibilityRole={accessibilityRole}\n _web={{\n style: {\n backfaceVisibility: 'hidden',\n transform: [{ translate3d: '0' }],\n },\n }}\n borderRadius=\"kitt.iconButton.borderRadius\"\n borderColor={disabled ? 'kitt.iconButton.disabled.borderColor' : 'kitt.iconButton.borderColor'}\n borderWidth={disabled ? 'kitt.iconButton.borderWidth' : 0}\n onPress={onPress}\n onPressIn={onPressIn}\n onPressOut={onPressOut}\n >\n {({ isHovered, isPressed, isFocused }) => {\n const isCurrentHovered = isHovered || isHoveredInternal;\n const isCurrentPressed = isPressed || isPressedInternal;\n const isCurrentFocused = isFocused || isFocusedInternal;\n\n return (\n <AnimatedScale\n isDisabled={disabled}\n isHovered={isCurrentHovered}\n isPressed={isCurrentPressed}\n scaleStyles={scaleStyles}\n >\n <AnimatedBackground\n color={color}\n isDisabled={disabled}\n isHovered={isCurrentHovered}\n isPressed={isCurrentPressed}\n isFocused={isCurrentFocused}\n opacityStyles={opacityStyles}\n />\n <View alignItems=\"center\" justifyContent=\"center\">\n <TypographyIcon color={disabled ? 'black-light' : color} icon={icon} />\n </View>\n </AnimatedScale>\n );\n }}\n </Pressable>\n );\n}\n","import { createContext } from 'react';\n\nexport const OnCloseContext = createContext<() => void>(() => {});\n","import { XIcon } from '@ornikar/kitt-icons';\nimport type { ReactElement, ReactNode } from 'react';\nimport { useContext } from 'react';\nimport styled from 'styled-components/native';\nimport { IconButton } from '../IconButton/IconButton';\nimport { OnCloseContext } from './OnCloseContext';\n\nexport interface HeaderProps {\n children: NonNullable<ReactNode>;\n left?: ReactNode;\n right?: ReactNode;\n}\n\nconst HeaderView = styled.View`\n position: relative;\n padding: ${({ theme }) => theme.kitt.spacing * 2}px;\n display: flex;\n flex: 0 0 auto;\n flex-direction: row;\n justify-content: space-between;\n align-items: center;\n border-bottom-width: 1px;\n border-bottom-color: ${({ theme }) => theme.kitt.colors.separator};\n min-height: 57px;\n`;\n\nconst LeftIconView = styled.View`\n align-self: flex-start;\n margin-right: ${({ theme }) => theme.kitt.spacing * 2}px;\n`;\n\nconst RightIconView = styled.View`\n align-self: flex-start;\n margin-left: ${({ theme }) => theme.kitt.spacing * 2}px;\n`;\n\ninterface TitleViewProps {\n isIconLeft?: boolean;\n}\n\nconst TitleView = styled.View<TitleViewProps>`\n padding-left: ${({ theme, isIconLeft }) => (isIconLeft ? 0 : theme.kitt.spacing * 2)}px;\n flex-shrink: 1;\n`;\n\nexport function ModalHeader({ left, right, children }: HeaderProps): ReactElement {\n const onClose = useContext(OnCloseContext);\n\n const isIconLeft = !!left;\n\n return (\n <HeaderView>\n {isIconLeft && <LeftIconView>{left}</LeftIconView>}\n\n <TitleView isIconLeft={isIconLeft}>{children}</TitleView>\n\n {right !== undefined ? (\n right\n ) : (\n <RightIconView>\n <IconButton icon={<XIcon />} onPress={onClose} />\n </RightIconView>\n )}\n </HeaderView>\n );\n}\n","import type { ReactElement, ReactNode } from 'react';\nimport { Modal as NativeModal } from 'react-native';\nimport styled from 'styled-components/native';\nimport { Overlay } from '../Overlay/Overlay';\nimport { ModalBody } from './Body';\nimport { ModalFooter } from './Footer';\nimport { ModalHeader } from './Header';\nimport { OnCloseContext } from './OnCloseContext';\n\nexport interface ModalProps {\n visible: boolean;\n children: ReactNode;\n onClose: () => void;\n onEntered?: () => void;\n onExited?: () => void;\n}\n\nconst ModalView = styled.View`\n top: 0;\n left: 0;\n width: 100%;\n height: 100%;\n\n display: flex;\n align-items: center;\n justify-content: center;\n padding: ${({ theme }) => theme.kitt.spacing * 20}px ${({ theme }) => theme.kitt.spacing * 4}px;\n`;\n\nconst ContentView = styled.View`\n position: relative;\n display: flex;\n flex-direction: column;\n max-height: 100%;\n max-width: 540px;\n height: auto;\n width: 100%;\n border-radius: ${({ theme }) => theme.kitt.card.borderRadius}px;\n background-color: ${({ theme }) => theme.kitt.colors.uiBackgroundLight};\n`;\n\n/**\n * @deprecated This component will be deleted in a later Kitt Universal version. Use CardModal instead\n */\nexport function Modal({ visible, children, onClose, onEntered, onExited }: ModalProps): ReactElement {\n return (\n <OnCloseContext.Provider value={onClose}>\n <NativeModal\n transparent\n animationType=\"fade\"\n supportedOrientations={['landscape', 'portrait']}\n visible={visible}\n onShow={onEntered}\n onDismiss={onExited}\n onRequestClose={onClose}\n >\n <ModalView>\n <Overlay onPress={onClose} />\n\n <ContentView>{children}</ContentView>\n </ModalView>\n </NativeModal>\n </OnCloseContext.Provider>\n );\n}\n\nModal.Header = ModalHeader;\nModal.Body = ModalBody;\nModal.Footer = ModalFooter;\n","import DateTimePicker from '@react-native-community/datetimepicker';\nimport type { DateTimePickerEvent } from '@react-native-community/datetimepicker';\nimport type { ComponentProps, ReactElement } from 'react';\nimport { Platform } from 'react-native';\nimport { useTheme } from '../../../../KittThemeContext';\n\ntype DateTimePickerProps = ComponentProps<typeof DateTimePicker>;\n\nfunction getDatePickerDisplayMode(): DateTimePickerProps['display'] {\n if (Platform.OS === 'android') return 'calendar';\n\n if (Platform.OS === 'ios') return 'spinner';\n\n return 'default';\n}\n\nexport interface PlatformDateTimePickerProps {\n value?: Date;\n defaultDate?: Date;\n maximumDate?: DateTimePickerProps['maximumDate'];\n minimuDate?: DateTimePickerProps['minimumDate'];\n testID?: DateTimePickerProps['testID'];\n onChange: (newDate?: Date) => void;\n}\n\nexport function PlatformDateTimePicker({\n value,\n defaultDate = new Date(),\n maximumDate,\n minimuDate,\n testID,\n onChange,\n}: PlatformDateTimePickerProps): ReactElement {\n const theme = useTheme();\n const displayMode = getDatePickerDisplayMode();\n\n const iosProps = Platform.OS === 'ios' ? { textColor: theme.kitt.colors.primary } : {};\n\n return (\n <DateTimePicker\n is24Hour\n testID={testID}\n value={value || defaultDate}\n mode=\"date\"\n maximumDate={maximumDate}\n minimumDate={minimuDate}\n display={displayMode}\n {...iosProps}\n onChange={(_event: DateTimePickerEvent, date?: Date | undefined) => onChange(date)}\n />\n );\n}\n","import type { ReactElement, ReactNode } from 'react';\nimport { useState } from 'react';\nimport { FormattedMessage } from 'react-intl';\nimport { Text } from 'react-native';\nimport { Button } from '../../../../Button/Button';\nimport { Modal } from '../../../../Modal/Modal';\nimport { Typography } from '../../../../typography/Typography';\nimport type { PlatformDateTimePickerProps } from './PlatformDateTimePicker';\nimport { PlatformDateTimePicker } from './PlatformDateTimePicker';\n\ninterface ModalTitleProps {\n children: NonNullable<ReactNode>;\n}\n\nfunction ModalTitle({ children }: ModalTitleProps): ReactElement {\n return (\n <Modal.Header>\n <Typography.Text base=\"body\" variant=\"bold\">\n {children}\n </Typography.Text>\n </Modal.Header>\n );\n}\n\ninterface ModalPlatformDateTimePickerProps extends PlatformDateTimePickerProps {\n title?: ReactNode;\n isVisible?: boolean;\n validateButtonLabel?: string;\n onClose: () => void;\n}\n\nexport function ModalPlatformDateTimePicker({\n title,\n isVisible,\n value,\n validateButtonLabel,\n onClose,\n onChange,\n ...props\n}: ModalPlatformDateTimePickerProps): ReactElement {\n const [currentValue, setCurrentValue] = useState(value);\n\n // Prevent unsynced value between the modal and its parent state\n const handleClose = (): void => {\n setCurrentValue(value);\n onClose();\n };\n\n const handleSubmit = (): void => {\n onChange(currentValue);\n };\n\n const handleChange = (newDate?: Date): void => {\n setCurrentValue((prev) => {\n return newDate || prev;\n });\n };\n\n return (\n <Modal visible={Boolean(isVisible)} onClose={handleClose}>\n {isVisible ? (\n <>\n {title ? <ModalTitle>{title}</ModalTitle> : null}\n\n <Modal.Body>\n <PlatformDateTimePicker {...props} value={currentValue} onChange={handleChange} />\n </Modal.Body>\n\n <Modal.Footer>\n <Button stretch type=\"primary\" onPress={handleSubmit}>\n {validateButtonLabel ? (\n <Text>{validateButtonLabel}</Text>\n ) : (\n <FormattedMessage id=\"kitt-universal.ModalPlatformDateTimePicker.confirm\" defaultMessage=\"Valider\" />\n )}\n </Button>\n </Modal.Footer>\n </>\n ) : null}\n </Modal>\n );\n}\n","import type { ReactElement } from 'react';\nimport { forwardRef, useState } from 'react';\nimport type { PressableProps } from 'react-native';\nimport type { DatePickerProps } from '../../DatePicker';\nimport { PressableDateInputs } from '../PressableDateInputs';\nimport { ModalPlatformDateTimePicker } from './ModalPlatformDateTimePicker';\n\nexport const DefaultNativeUIDatePicker = forwardRef<PressableProps, DatePickerProps>(\n (\n {\n value,\n pickerUITestID,\n pickerUITitle,\n pickerUIValidateButtonLabel,\n isDefaultVisible,\n pickerDefaultDate,\n isFocusedInternal,\n isHoveredInternal,\n isPressedInternal,\n onChange,\n onFocus,\n onBlur,\n ...props\n }: DatePickerProps,\n ref,\n ): ReactElement => {\n const [isPickerUIVisible, setIsPickerUIVisible] = useState(isDefaultVisible);\n const [isFocused, setIsFocused] = useState(false);\n const [currentValue, setCurrentValue] = useState<Date | undefined>(value);\n\n const handleModalOpen = (): void => {\n if (onFocus) onFocus();\n\n setIsPickerUIVisible(true);\n\n setIsFocused(true);\n };\n\n const handleModalClose = (): void => {\n if (onBlur) onBlur();\n\n setIsPickerUIVisible(false);\n\n setIsFocused(false);\n };\n\n const handleChange = (newDate?: Date): void => {\n setCurrentValue(newDate);\n\n onChange(newDate);\n\n handleModalClose();\n };\n\n return (\n <>\n <PressableDateInputs\n ref={ref}\n value={currentValue}\n isFocusedInternal={isFocused || isFocusedInternal}\n isHoveredInternal={isHoveredInternal}\n isPressedInternal={isPressedInternal}\n onPress={handleModalOpen}\n {...props}\n />\n\n <ModalPlatformDateTimePicker\n testID={pickerUITestID}\n value={currentValue}\n isVisible={isPickerUIVisible}\n title={pickerUITitle}\n validateButtonLabel={pickerUIValidateButtonLabel}\n defaultDate={pickerDefaultDate}\n onClose={handleModalClose}\n onChange={handleChange}\n />\n </>\n );\n },\n);\n","import type { ReactElement } from 'react';\nimport { forwardRef } from 'react';\nimport type { PressableProps } from 'react-native';\nimport { Platform } from 'react-native';\nimport type { DatePickerProps } from '../../DatePicker';\nimport { DatePickerAndroid } from './DatePickerAndroid';\nimport { DefaultNativeUIDatePicker } from './DefaultNativeUIDatePicker';\n\ninterface NativeUIDatePickerProps extends DatePickerProps {}\n\nexport const NativeUIDatePicker = forwardRef<PressableProps, NativeUIDatePickerProps>(\n (\n { value, pickerUITestID, isDefaultVisible, pickerDefaultDate, onChange, onBlur, ...props }: NativeUIDatePickerProps,\n ref,\n ): ReactElement => {\n if (Platform.OS === 'android') {\n return (\n <DatePickerAndroid\n ref={ref}\n pickerDefaultDate={pickerDefaultDate}\n pickerUITestID={pickerUITestID}\n isDefaultVisible={isDefaultVisible}\n value={value}\n onChange={onChange}\n onBlur={onBlur}\n {...props}\n />\n );\n }\n\n return (\n <DefaultNativeUIDatePicker\n ref={ref}\n value={value}\n isDefaultVisible={isDefaultVisible}\n pickerUITestID={pickerUITestID}\n onChange={onChange}\n onBlur={onBlur}\n {...props}\n />\n );\n },\n);\n","import type { ReactElement } from 'react';\nimport type React from 'react';\nimport { forwardRef } from 'react';\nimport type { PressableProps, TextInput as RNTextInput } from 'react-native';\nimport type { ResponsiveValue } from '../../utils/createResponsiveStyleFromProp/createResponsiveStyleFromProp';\nimport type { InputTextProps } from '../InputText/InputText';\nimport { KeyboardDatePicker } from './components/KeyboardDatePicker';\nimport { NativeUIDatePicker } from './components/NativeUIDatePicker/NativeUIDatePicker';\n\ntype DatePickerFillMode = 'keyboard' | 'native';\n\ninterface DatePickerPlaceholder {\n day: string;\n month: string;\n year: string;\n}\n\nexport interface DatePickerProps {\n id?: string;\n testID?: string;\n disabled?: boolean;\n /**\n * @description value of the input\n */\n value?: Date;\n placeholder?: DatePickerPlaceholder;\n /** @description minimum date for the value to be valid */\n minDate?: Date;\n /** @description maximum date for the value to be valid */\n maxDate?: Date;\n /** @description Native only props - testID of the native platform picker */\n pickerUITestID?: string;\n /** @description Display a keyboard or the native picker. Web only has \"keyboard\" mode available */\n fillMode?: DatePickerFillMode;\n /** @description Native only props - Default date to be displayed on the native UI before any interactions */\n pickerDefaultDate?: Date;\n /** @description iOS only props - Text of the title of the Kitt modal displaying the platform picker on iOS */\n pickerUITitle?: string;\n /** @description iOS only props - Label of the validate button shown in the Kitt modal displaying the platform picker on iOS */\n pickerUIValidateButtonLabel?: string;\n /** @description Native only props - Controls the default visibility of the native picker */\n isDefaultVisible?: boolean;\n stretch?: ResponsiveValue<boolean | undefined>;\n returnKeyType?: InputTextProps['returnKeyType'];\n /** @internal for story purpose */\n isHoveredInternal?: boolean;\n /** @internal for story purpose */\n isPressedInternal?: boolean;\n /** @internal for story purpose */\n isFocusedInternal?: boolean;\n onChange: (date?: Date) => void;\n onBlur?: (e?: any) => void;\n onFocus?: (e?: any) => void;\n onSubmitEditing?: InputTextProps['onSubmitEditing'];\n}\n\nexport const DatePicker = forwardRef<PressableProps | RNTextInput, DatePickerProps>(\n ({ fillMode = 'native', returnKeyType, value, onSubmitEditing, ...props }: DatePickerProps, ref): ReactElement => {\n // in apps, final-form can give a string value that will break the component\n const currentValue = value || undefined;\n\n if (fillMode === 'keyboard') {\n return (\n <KeyboardDatePicker\n ref={ref as React.ForwardedRef<RNTextInput>}\n {...props}\n value={currentValue}\n returnKeyType={returnKeyType}\n onSubmitEditing={onSubmitEditing}\n />\n );\n }\n\n return <NativeUIDatePicker ref={ref as React.ForwardedRef<PressableProps>} {...props} value={currentValue} />;\n },\n);\n","import type { ReactElement } from 'react';\nimport { forwardRef } from 'react';\nimport type { TextInput as RNTextInput } from 'react-native';\nimport type { Except } from 'type-fest';\nimport type { InputTextProps } from '../InputText/InputText';\nimport { InputText } from '../InputText/InputText';\n\nexport interface InputEmailProps\n extends Except<InputTextProps, 'autoComplete' | 'keyboardType' | 'textContentType' | 'autoCapitalize'> {}\n\nexport const InputEmail = forwardRef<RNTextInput, InputEmailProps>((props: InputEmailProps, ref): ReactElement => {\n return (\n <InputText\n ref={ref}\n autoComplete=\"email\"\n keyboardType=\"email-address\"\n textContentType=\"emailAddress\"\n autoCapitalize=\"none\"\n {...props}\n />\n );\n});\n","import type { ReactElement, ReactNode } from 'react';\nimport { 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): ReactElement {\n return (\n <Typography.Text base=\"body-small\" color={getColorFromState(state)} testID={testID}>\n {children}\n </Typography.Text>\n );\n}\n","import type { ReactElement, ReactNode } from 'react';\nimport { useTheme } from '../../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): ReactElement {\n const theme = useTheme();\n return (\n <View\n paddingTop={theme.kitt.forms.inputField.containerPaddingTop}\n paddingBottom={theme.kitt.forms.inputField.containerPaddingBottom}\n >\n {label ? (\n <View\n flexDirection=\"row\"\n alignItems=\"center\"\n paddingBottom={theme.kitt.forms.inputField.labelContainerPaddingBottom}\n >\n <View marginRight={theme.kitt.forms.inputField.labelFeedbackMarginLeft}>{label}</View>\n {labelFeedback}\n </View>\n ) : null}\n {input}\n {feedback ? <View paddingTop={theme.kitt.forms.inputField.feedbackPaddingTop}>{feedback}</View> : null}\n </View>\n );\n}\n","import type { ReactElement } from 'react';\nimport type { InputFormState } from 'forms/utils';\nimport { useTheme } from '../../KittThemeContext';\nimport type { TypographyIconProps } from '../../typography/TypographyIcon';\nimport { TypographyIcon } from '../../typography/TypographyIcon';\n\nfunction getIconColor(state?: InputFormState, disabled?: boolean): TypographyIconProps['color'] {\n if (disabled) return 'black-light';\n\n switch (state) {\n case 'invalid':\n return 'danger';\n case 'valid':\n return 'success';\n default:\n return undefined;\n }\n}\n\nexport interface InputIconProps {\n icon: NonNullable<ReactElement>;\n disabled?: boolean;\n state?: InputFormState;\n}\n\nexport function InputIcon({ icon, state, disabled }: InputIconProps): ReactElement {\n const theme = useTheme();\n\n const color = getIconColor(state, disabled);\n\n return <TypographyIcon color={color} icon={icon} size={theme.kitt.forms.input.icon.size} />;\n}\n","import type { ReactElement } from 'react';\nimport type { PressableProps } from 'react-native';\nimport { Pressable } from 'react-native';\n\nexport interface InputPressableProps extends PressableProps {}\n\nexport function InputPressable({ ...props }: InputPressableProps): ReactElement {\n return <Pressable {...props} />;\n}\n","import { EyeIcon, EyeOffIcon } from '@ornikar/kitt-icons';\nimport type { ReactElement } from 'react';\nimport { forwardRef, useState } from 'react';\nimport type { TextInput as RNTextInput } from 'react-native';\nimport { InputIcon } from '../InputIcon/InputIcon';\nimport { InputPressable } from '../InputPressable/InputPressable';\nimport type { InputTextProps } from '../InputText/InputText';\nimport { InputText } from '../InputText/InputText';\n\nexport interface InputPasswordProps extends InputTextProps {\n isPasswordDefaultVisible?: boolean;\n}\n\nexport const InputPassword = forwardRef<RNTextInput, InputPasswordProps>(\n ({ isPasswordDefaultVisible, right, ...props }: InputPasswordProps, ref): ReactElement => {\n const [isVisible, setIsVisible] = useState(Boolean(isPasswordDefaultVisible));\n\n return (\n <InputText\n ref={ref}\n {...props}\n textContentType=\"password\"\n autoComplete=\"password\"\n autoCorrect={false}\n secureTextEntry={!isVisible}\n right={\n right || (\n <InputPressable\n testID=\"kitt.InputPassword.passwordToggle\"\n hitSlop={20}\n accessibilityRole=\"button\"\n onPress={() => setIsVisible((prev) => !prev)}\n >\n <InputIcon icon={isVisible ? <EyeOffIcon /> : <EyeIcon />} />\n </InputPressable>\n )\n }\n />\n );\n },\n);\n","import type { CountryCallingCode, ParsedNumber } from 'libphonenumber-js';\nimport { getCountryCallingCode, isValidNumber, parseNumber } from 'libphonenumber-js';\nimport type { ReactElement } from 'react';\nimport { forwardRef, useState } from 'react';\nimport type { NativeSyntheticEvent, TextInput as RNTextInput, TextInputChangeEventData } from 'react-native';\nimport type { Except } from 'type-fest';\nimport { getReturnKeyTypeForNumericInput } from '../../utils/getReturnKeyTypeForNumericInput/getReturnKeyTypeForNumericInput';\nimport type { InputTextProps } from '../InputText/InputText';\nimport { InputText } from '../InputText/InputText';\n\nfunction isPhoneNumberValid(number: Record<string, never> | ParsedNumber): number is ParsedNumber {\n return isValidNumber(number as ParsedNumber);\n}\n\nfunction prefixWithZero(value: string, phoneNumberLength: number): string {\n return value.padStart(phoneNumberLength, '0');\n}\n\nexport interface InputPhoneNumberData extends ParsedNumber {\n countryCode: CountryCallingCode;\n originalNativeEventText: string;\n}\n\nexport interface InputPhoneProps extends Except<InputTextProps, 'keyboardType' | 'textContentType'> {\n phoneNumberLength?: number;\n onChange?: (event: NativeSyntheticEvent<TextInputChangeEventData>, phoneNumberData?: InputPhoneNumberData) => void;\n}\n\nexport const InputPhone = forwardRef<RNTextInput, InputPhoneProps>(\n (\n { returnKeyType, autoComplete = 'tel', phoneNumberLength = 10, value, onChange, ...props }: InputPhoneProps,\n ref,\n ): ReactElement => {\n const [currentValue, setCurrentValue] = useState(value);\n\n const currentReturnKeyType = returnKeyType ? getReturnKeyTypeForNumericInput(returnKeyType) : undefined;\n\n const handleChange = (event: NativeSyntheticEvent<TextInputChangeEventData>): void => {\n const number = parseNumber(event.nativeEvent.text);\n\n // When intl phone number is valid :\n // 1 - We extract intl data\n // 2 - We recreate the local value to display\n if (isPhoneNumberValid(number)) {\n const { phone } = number;\n\n const finalPhoneNumber = prefixWithZero(`${phone || ''}`, phoneNumberLength);\n\n const eventWithoutCountryCode = {\n ...event,\n nativeEvent: {\n ...event.nativeEvent,\n text: finalPhoneNumber,\n },\n };\n\n setCurrentValue(finalPhoneNumber);\n\n if (onChange) {\n onChange(eventWithoutCountryCode, {\n ...(number as ParsedNumber),\n countryCode: getCountryCallingCode(number.country),\n originalNativeEventText: event.nativeEvent.text,\n });\n }\n\n return;\n }\n\n // Value is correctly parsed but might not pass validation\n setCurrentValue(event.nativeEvent.text);\n if (onChange) onChange(event);\n };\n\n return (\n <InputText\n ref={ref}\n {...props}\n value={currentValue}\n keyboardType=\"phone-pad\"\n returnKeyType={currentReturnKeyType}\n autoComplete={autoComplete}\n textContentType=\"telephoneNumber\"\n onChange={handleChange}\n />\n );\n },\n);\n","import type { ReactElement, ReactNode } from 'react';\nimport { useTheme } from '../../KittThemeContext';\nimport { View } from '../../native-base/primitives';\nimport { Typography } from '../../typography/Typography';\nimport type { TypographyColor } from '../../typography/Typography';\nimport { TypographyIcon } from '../../typography/TypographyIcon';\n\ntype InputTagType = 'success' | 'danger';\n\nconst getTypographyColor = (type: InputTagType | undefined): TypographyColor => (type ? 'white' : 'black');\n\nexport interface InputTagProps {\n type?: InputTagType;\n children: ReactNode;\n icon?: ReactElement;\n}\n\nexport function InputTag({ children, type, icon }: InputTagProps): ReactElement {\n const typographyColor = getTypographyColor(type);\n const theme = useTheme();\n\n return (\n <View\n alignItems=\"center\"\n justifyContent=\"center\"\n flexDirection=\"row\"\n alignSelf=\"flex-start\"\n overflow=\"hidden\"\n paddingX=\"kitt.2\"\n backgroundColor={`kitt.forms.inputTag.${type || 'default'}.backgroundColor`}\n borderRadius=\"kitt.forms.inputTag.borderRadius\"\n >\n {icon ? (\n <View marginRight=\"kitt.1\">\n <TypographyIcon icon={icon} size={theme.kitt.forms.inputTag.iconSize} color={typographyColor} />\n </View>\n ) : null}\n <Typography.Text base=\"body-small\" color={typographyColor}>\n {children}\n </Typography.Text>\n </View>\n );\n}\n","import type { ReactElement, ReactNode } from 'react';\nimport { Platform } from 'react-native';\nimport { Typography } from '../../typography/Typography';\n\nexport interface LabelProps {\n htmlFor: string;\n children: NonNullable<ReactNode>;\n}\n\nexport function Label({ htmlFor, children }: LabelProps): ReactElement {\n return (\n <Typography.Text base=\"body\">\n {Platform.OS === 'web' ? <label htmlFor={htmlFor}>{children}</label> : children}\n </Typography.Text>\n );\n}\n","import type { ReactElement } from 'react';\nimport { useTheme } from '../../KittThemeContext';\nimport { View } from '../../native-base/primitives';\n\ninterface InnerCircleProps {\n isChecked?: boolean;\n}\n\nexport function InnerCircle({ isChecked }: InnerCircleProps): ReactElement {\n const theme = useTheme();\n\n const sharedTransform = [{ scale: isChecked ? 1 : 0 }];\n\n return (\n <View\n width=\"kitt.forms.radio.innerCircle.size\"\n height=\"kitt.forms.radio.innerCircle.size\"\n borderRadius=\"kitt.forms.radio.innerCircle.borderRadius\"\n backgroundColor=\"kitt.forms.radio.innerCircle.backgroundColor\"\n _web={{\n style: {\n transform: sharedTransform,\n transitionProperty: 'all',\n transitionDuration: theme.kitt.forms.radio.transition.duration,\n transitionTimingFunction: theme.kitt.forms.radio.transition.timingFunction,\n },\n }}\n _ios={{\n style: {\n transform: sharedTransform,\n },\n }}\n _android={{\n style: {\n transform: sharedTransform,\n },\n }}\n />\n );\n}\n","interface GetBackgroundColorParams {\n isDisabled?: boolean;\n isChecked?: boolean;\n isPressed?: boolean;\n isHovered?: boolean;\n isFocused?: boolean;\n}\n\nexport function getBackgroundColor({\n isDisabled,\n isPressed,\n isHovered,\n isFocused,\n isChecked,\n}: GetBackgroundColorParams): string {\n if (isChecked) return 'kitt.forms.radio.checked.backgroundColor';\n\n if (isDisabled) return 'kitt.forms.radio.disabled.backgroundColor';\n\n if (isPressed) return 'kitt.forms.radio.pressed.backgroundColor';\n\n if (isHovered) return 'kitt.forms.radio.hover.backgroundColor';\n\n if (isFocused) return 'kitt.forms.radio.focus.backgroundColor';\n\n return 'kitt.forms.radio.default.backgroundColor';\n}\n","interface GetBorderColorParams {\n isDisabled?: boolean;\n isChecked?: boolean;\n isPressed?: boolean;\n isHovered?: boolean;\n isFocused?: boolean;\n}\n\nexport function getBorderColor({\n isDisabled,\n isPressed,\n isHovered,\n isFocused,\n isChecked,\n}: GetBorderColorParams): string {\n if (isChecked) return 'kitt.forms.radio.checked.borderColor';\n\n if (isDisabled) return 'kitt.forms.radio.disabled.borderColor';\n\n if (isPressed) return 'kitt.forms.radio.pressed.borderColor';\n\n if (isHovered) return 'kitt.forms.radio.hover.borderColor';\n\n if (isFocused) return 'kitt.forms.radio.focus.borderColor';\n\n return 'kitt.forms.radio.default.borderColor';\n}\n","import type { ReactElement } from 'react';\nimport { useTheme } from '../../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): ReactElement {\n const theme = useTheme();\n\n return (\n <View\n alignItems=\"center\"\n justifyContent=\"center\"\n borderWidth=\"kitt.forms.radio.borderWidth\"\n width=\"kitt.forms.radio.size\"\n height=\"kitt.forms.radio.size\"\n borderRadius=\"kitt.forms.radio.borderRadius\"\n backgroundColor={getBackgroundColor({ isChecked, isDisabled, isFocused, isHovered, isPressed })}\n borderColor={getBorderColor({ isChecked, isDisabled, isFocused, isHovered, isPressed })}\n _web={{\n style: {\n transitionProperty: 'all',\n transitionDuration: theme.kitt.forms.radio.transition.duration,\n transitionTimingFunction: theme.kitt.forms.radio.transition.timingFunction,\n },\n }}\n >\n {children}\n </View>\n );\n}\n","import type { ReactElement, ReactNode } from 'react';\nimport { forwardRef } from 'react';\nimport type { GestureResponderEvent, PressableProps } from 'react-native';\nimport { HStack } from '../../native-base/layout';\nimport { Pressable } from '../../native-base/primitives';\nimport { Typography } from '../../typography/Typography';\nimport { InnerCircle } from './InnerCircle';\nimport { OuterCircle } from './OuterCircle';\n\nexport interface RadioProps {\n id?: string;\n testID?: string;\n name?: string;\n checked?: boolean;\n disabled?: boolean;\n right?: boolean;\n children?: NonNullable<ReactNode>;\n value: string;\n onChange?: (newValue: string, event: GestureResponderEvent) => void;\n onBlur?: () => void;\n onFocus?: () => void;\n}\n\nexport const Radio = forwardRef<PressableProps, RadioProps>(\n ({ id, checked, value, disabled, children, testID, onChange, onFocus, onBlur }: RadioProps, ref): ReactElement => {\n const handlePress: PressableProps['onPress'] = (event: GestureResponderEvent) => {\n if (onFocus) onFocus();\n if (onChange) onChange(value, event);\n if (onBlur) onBlur();\n };\n\n return (\n <Pressable\n ref={ref}\n testID={testID}\n nativeID={id}\n disabled={disabled}\n accessibilityRole=\"radio\"\n aria-checked={checked}\n focusable={checked && !disabled}\n flexDirection=\"row\"\n alignItems=\"center\"\n onPress={handlePress}\n onFocus={onFocus}\n onBlur={onBlur}\n >\n {({ isHovered, isPressed, isFocused }) => (\n <HStack space={children ? 'kitt.2' : undefined} alignItems=\"center\">\n <OuterCircle\n isChecked={checked}\n isDisabled={disabled}\n isHovered={isHovered}\n isFocused={isFocused}\n isPressed={isPressed}\n >\n <InnerCircle isChecked={checked} />\n </OuterCircle>\n\n {children ? (\n <Typography.SetDefaultColor value={disabled ? 'black-light' : 'black'}>\n <Typography.Text base=\"body\">{children}</Typography.Text>\n </Typography.SetDefaultColor>\n ) : null}\n </HStack>\n )}\n </Pressable>\n );\n },\n);\n","import { useSx } from 'native-base';\nimport type { ReactElement, ReactNode } from 'react';\nimport type { ViewStyle } from 'react-native';\nimport Animated from 'react-native-reanimated';\n\nexport interface AnimatedContainerProps {\n children: ReactNode;\n isFocused?: boolean;\n isPressed?: boolean;\n isSelected?: boolean;\n isDisabled?: boolean;\n isFirst?: boolean;\n isLast?: boolean;\n animatedStyles: Partial<ViewStyle>;\n}\n\nexport function AnimatedContainer({ children, isFirst, isLast, animatedStyles }: AnimatedContainerProps): ReactElement {\n const sx = useSx();\n\n const styles = sx({\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 borderLeftWidth: isFirst ? 'kitt.forms.radioButtonGroup.item.borderWidth' : 0,\n });\n\n return <Animated.View style={[styles, animatedStyles]}>{children}</Animated.View>;\n}\n","import type { ReactElement } from 'react';\nimport { useTheme } from '../../KittThemeContext';\nimport { View } from '../../native-base/primitives';\n\ninterface FocusBorderProps {\n isPressed?: boolean;\n isHovered?: boolean;\n isSelected?: boolean;\n isFocused?: boolean;\n isFirst?: boolean;\n isLast?: boolean;\n}\n\nexport function HoverBorder({\n isFirst,\n isLast,\n isSelected,\n isHovered,\n isFocused,\n isPressed,\n}: FocusBorderProps): ReactElement {\n const theme = useTheme();\n const hasPointerInteraction = isPressed || isHovered || isFocused;\n const shouldDisplayBorder = isSelected ? true : hasPointerInteraction;\n\n return (\n <View\n _web={{\n style: {\n width: `calc(100% + ${theme.kitt.forms.radioButtonGroup.item.borderWidth * 2}px)`,\n height: `calc(100% + ${theme.kitt.forms.radioButtonGroup.item.borderWidth * 2}px)`,\n transitionProperty: theme.kitt.forms.radioButtonGroup.item.transition.property,\n transitionDuration: theme.kitt.forms.radioButtonGroup.item.transition.duration,\n transitionTimingFunction: theme.kitt.forms.radioButtonGroup.item.transition.timingFunction,\n },\n }}\n opacity={shouldDisplayBorder ? 1 : 0}\n position=\"absolute\"\n top={-theme.kitt.forms.radioButtonGroup.item.borderWidth}\n left={-theme.kitt.forms.radioButtonGroup.item.borderWidth}\n margin={0}\n borderColor={`kitt.forms.radioButtonGroup.item.borderColor.${\n isHovered || isSelected || isFocused ? 'hover' : 'default'\n }`}\n borderWidth=\"kitt.forms.radioButtonGroup.item.borderWidth\"\n borderTopLeftRadius={isFirst ? 'kitt.forms.radioButtonGroup.item.borderRadius' : 0}\n borderBottomLeftRadius={isFirst ? 'kitt.forms.radioButtonGroup.item.borderRadius' : 0}\n borderTopRightRadius={isLast ? 'kitt.forms.radioButtonGroup.item.borderRadius' : 0}\n borderBottomRightRadius={isLast ? 'kitt.forms.radioButtonGroup.item.borderRadius' : 0}\n />\n );\n}\n","import type { ViewStyle } from 'react-native';\nimport { interpolateColor, useAnimatedStyle, useSharedValue, withSpring } from 'react-native-reanimated';\nimport { useTheme } from '../../../KittThemeContext';\n\nexport interface UseNativeAnimationOptions {\n isDisabled?: boolean;\n isSelected?: boolean;\n isPressedInternal?: boolean;\n}\n\nexport interface NativeAnimation {\n onPressIn?: () => void;\n onPressOut?: () => void;\n animatedStyles: ViewStyle;\n}\n\nexport const useNativeAnimation = ({\n isDisabled,\n isSelected,\n isPressedInternal,\n}: UseNativeAnimationOptions): NativeAnimation => {\n const theme = useTheme();\n const pressed = useSharedValue<0 | 1>(isPressedInternal ? 1 : 0);\n const color = useSharedValue(0);\n\n const { default: backgroundColor, pressed: pressedBackgroundColor } =\n theme.kitt.forms.radioButtonGroup.item.backgroundColor;\n\n const { default: borderColor, pressed: pressedBorderColor } = theme.kitt.forms.radioButtonGroup.item.borderColor;\n\n const animatedStyles = useAnimatedStyle(() => {\n if (isDisabled) {\n return {\n backgroundColor: theme.kitt.forms.radioButtonGroup.item.backgroundColor.disabled,\n borderColor: theme.kitt.forms.radioButtonGroup.item.borderColor.disabled,\n };\n }\n\n if (isSelected) {\n return {\n backgroundColor: pressedBackgroundColor,\n borderColor: pressedBorderColor,\n };\n }\n\n return {\n backgroundColor: interpolateColor(color.value, [0, 1], [backgroundColor, pressedBackgroundColor]),\n borderColor: interpolateColor(color.value, [0, 1], [borderColor, pressedBorderColor]),\n };\n });\n\n const handlePressIn = (): void => {\n color.value = withSpring(1);\n pressed.value = 1;\n };\n\n const handlePressOut = (): void => {\n color.value = withSpring(0);\n pressed.value = 0;\n };\n\n return {\n onPressIn: handlePressIn,\n onPressOut: handlePressOut,\n animatedStyles,\n };\n};\n","import type { TypographyColor } from '../../../typography/Typography';\n\ninterface GetCurrentTextColorParams {\n isDisabled?: boolean;\n isSelected?: boolean;\n isPressed?: boolean;\n isHovered?: boolean;\n isFocused?: boolean;\n}\n\nexport function getCurrentTextColor({\n isDisabled,\n isSelected,\n isPressed,\n isHovered,\n isFocused,\n}: GetCurrentTextColorParams): TypographyColor {\n if (isDisabled) return 'black-light';\n\n if (isSelected) return 'white';\n\n if (isPressed) return 'white';\n\n if (isFocused) return 'white';\n\n if (isHovered && !isSelected) return 'black';\n\n return 'black';\n}\n","import type { ReactElement, ReactNode } from 'react';\nimport type { GestureResponderEvent } from 'react-native';\nimport { Platform } from 'react-native';\nimport { Pressable, View } from '../../native-base/primitives';\nimport { Typography } from '../../typography/Typography';\nimport { AnimatedContainer } from './AnimatedContainer/AnimatedContainer';\nimport { HoverBorder } from './HoverBorder';\nimport { useNativeAnimation } from './hooks/useNativeAnimation';\nimport { getCurrentTextColor } from './utils/getCurrentTextColor';\n\nexport interface RadioButtonProps<V> {\n children: ReactNode;\n isFirst?: boolean;\n isLast?: boolean;\n disabled?: boolean;\n value: V;\n selected?: boolean;\n stretch?: boolean;\n /**\n * @internal Used to display pressed UI for testing and storybook purpose\n */\n isPressedInternal?: boolean;\n /**\n * @internal Used to display hovered UI for testing and storybook purpose\n */\n isHoveredInternal?: boolean;\n /**\n * @internal Used to display focused UI for testing and storybook purpose\n */\n isFocusedInternal?: boolean;\n onChange?: (value?: V) => void;\n onFocus?: (e?: any | GestureResponderEvent) => void;\n onBlur?: (e?: any | GestureResponderEvent) => void;\n}\n\nexport function RadioButton<V>({\n children,\n value,\n selected,\n isFirst,\n isLast,\n disabled,\n stretch,\n isHoveredInternal,\n isPressedInternal,\n isFocusedInternal,\n onChange,\n onFocus,\n onBlur,\n}: RadioButtonProps<V>): ReactElement {\n const { onPressIn, onPressOut, animatedStyles } = useNativeAnimation({\n isDisabled: disabled,\n isSelected: selected,\n isPressedInternal,\n });\n\n const handlePress = (e: GestureResponderEvent): void => {\n if (onFocus) onFocus(e);\n\n if (onChange) onChange(value);\n\n if (onBlur) onBlur(e);\n };\n\n return (\n <Pressable\n accessibilityRole=\"radiogroup\"\n accessibilityState={{ checked: selected }}\n flex={stretch ? 1 : undefined}\n disabled={disabled}\n onPress={handlePress}\n onPressIn={onPressIn}\n onPressOut={onPressOut}\n onFocus={onFocus}\n onBlur={onBlur}\n >\n {({ isHovered, isPressed, isFocused }) => (\n <AnimatedContainer\n animatedStyles={animatedStyles}\n isFocused={isFocused || isFocusedInternal}\n isPressed={isPressed || isPressedInternal}\n isSelected={selected}\n isDisabled={disabled}\n isFirst={isFirst}\n isLast={isLast}\n >\n <View\n paddingX=\"kitt.forms.radioButtonGroup.item.padding.horizontal\"\n paddingY=\"kitt.forms.radioButtonGroup.item.padding.vertical\"\n alignItems=\"center\"\n >\n <Typography.SetDefaultColor\n value={getCurrentTextColor({\n isSelected: selected || isPressedInternal,\n isPressed,\n isHovered: isHovered || isHoveredInternal,\n isDisabled: disabled,\n isFocused: isFocused || isFocusedInternal,\n })}\n >\n {children}\n </Typography.SetDefaultColor>\n {Platform.OS === 'web' ? (\n <HoverBorder\n isFirst={isFirst}\n isLast={isLast}\n isSelected={selected}\n isHovered={isHovered || isHoveredInternal}\n isPressed={isPressed || isPressedInternal}\n isFocused={isFocused || isFocusedInternal}\n />\n ) : null}\n </View>\n </AnimatedContainer>\n )}\n </Pressable>\n );\n}\n","import type { ReactElement, ReactNode } from 'react';\nimport { Children, cloneElement, useState } from 'react';\nimport type { ViewProps } from '../../native-base/primitives';\nimport { View } from '../../native-base/primitives';\nimport type { RadioButtonProps } from './RadioButton';\nimport { RadioButton } from './RadioButton';\n\ntype InternalInheritedProps =\n | 'isFirst'\n | 'isLast'\n | 'selected'\n | 'stretch'\n | 'disabled'\n | 'onChange'\n | 'onFocus'\n | 'onBlur';\n\ninterface RadioButtonGroupItemProps<V> extends Omit<RadioButtonProps<V>, InternalInheritedProps> {}\n\nfunction RadioButtonGroupItem<V>({ ...props }: RadioButtonGroupItemProps<V>): ReactElement {\n return <RadioButton {...props} />;\n}\n\nexport interface RadioButtonGroupProps<V> extends Exclude<ViewProps, 'onBlur' | 'onFocus'> {\n children: ReactNode;\n disabled?: boolean;\n hovered?: boolean;\n selected?: boolean;\n stretch?: boolean;\n value?: V;\n onChange?: (newValue: V) => void;\n onFocus?: (e?: any) => void;\n onBlur?: (e?: any) => void;\n}\n\nexport function RadioButtonGroup<V>({\n children,\n stretch,\n value,\n disabled,\n onFocus,\n onBlur,\n onChange,\n ...props\n}: RadioButtonGroupProps<V>): ReactElement {\n const [currentValue, setCurrentValue] = useState(value);\n\n const handleChange = (newValue: V): void => {\n if (disabled) return;\n\n setCurrentValue(newValue);\n if (onChange) onChange(newValue);\n };\n\n const childrenArray = Children.toArray(children) as ReactElement<RadioButtonProps<V>, typeof RadioButton>[];\n\n return (\n <View flexDirection=\"row\" flexWrap=\"wrap\" {...props}>\n {childrenArray.map((child, index) => {\n const clone = cloneElement<RadioButtonProps<V>>(child, {\n stretch,\n disabled,\n selected: child.props.value === currentValue,\n isFirst: index === 0,\n isLast: index === childrenArray.length - 1,\n onChange: handleChange,\n onFocus,\n onBlur,\n } as any);\n\n return clone;\n })}\n </View>\n );\n}\n\nRadioButtonGroup.RadioButton = RadioButtonGroupItem;\n","import type { ReactElement } from 'react';\nimport { forwardRef } from 'react';\nimport type { TextInput as RNTextInput } from 'react-native';\nimport type { InputTextProps } from '../InputText/InputText';\nimport { InputText } from '../InputText/InputText';\n\nexport interface TextAreaProps extends InputTextProps {}\n\nexport const TextArea = forwardRef<RNTextInput, TextAreaProps>(({ ...props }: TextAreaProps, ref): ReactElement => {\n return <InputText ref={ref} multiline textAlignVertical=\"top\" minHeight=\"kitt.forms.textArea.minHeight\" {...props} />;\n});\n","import type { ReactElement, ReactNode } from 'react';\nimport 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): ReactElement {\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 { ReactElement } 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): ReactElement {\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 type { ReactElement, ReactNode } from 'react';\nimport { StyleSheet } from 'react-native';\nimport Animated, { Easing, useAnimatedStyle, withTiming } from 'react-native-reanimated';\nimport { useTheme } from '../../KittThemeContext';\n\nexport interface NativeOpacityAnimationProps {\n visible?: boolean;\n children: ReactNode;\n}\n\nexport function NativeOpacityAnimation({ visible, children }: NativeOpacityAnimationProps): ReactElement {\n const theme = useTheme();\n\n const opacityStyle = useAnimatedStyle(() => {\n const { duration, easing } = theme.kitt.fullscreenModal.animation.overlay;\n const [x1, y1, x2, y2] = easing;\n\n return {\n opacity: withTiming(visible ? 1 : 0, { duration, easing: Easing.bezier(x1, y1, x2, y2) }),\n };\n });\n\n return <Animated.View style={[StyleSheet.absoluteFillObject, opacityStyle]}>{children}</Animated.View>;\n}\n","import type { ReactElement, ReactNode } from 'react';\nimport { useRef } from 'react';\nimport { useWindowDimensions } from 'react-native';\nimport Animated, { Easing, runOnJS, useAnimatedStyle, withTiming } from 'react-native-reanimated';\nimport { useTheme } from '../../KittThemeContext';\nimport type { FullscreenModalAnimationProps } from '../FullscreenModalAnimation';\n\nexport interface NativeSlideInAnimationProps {\n children: ReactNode;\n visible?: FullscreenModalAnimationProps['visible'];\n onEntered?: FullscreenModalAnimationProps['onEntered'];\n onExited: () => void;\n}\n\nexport function NativeSlideInAnimation({\n visible,\n children,\n onEntered,\n onExited,\n}: NativeSlideInAnimationProps): ReactElement | null {\n const theme = useTheme();\n const { height: wHeight } = useWindowDimensions();\n const hasRunAnimationRef = useRef(false);\n\n function handleAnimationFinished(): void {\n if (visible) {\n if (onEntered) onEntered();\n hasRunAnimationRef.current = true;\n }\n\n // Since animation callback is called on component mount, we must make sure that the animation has been runed once to call it an exit\n if (!visible && hasRunAnimationRef.current) onExited();\n }\n\n const translateStyle = useAnimatedStyle(() => {\n const { duration, easing } = theme.kitt.fullscreenModal.animation.content;\n const [x1, y1, x2, y2] = easing;\n\n return {\n transform: [\n {\n translateY: withTiming(\n visible ? 0 : wHeight,\n { duration, easing: Easing.bezier(x1, y1, x2, y2) },\n (isFinished) => {\n if (!isFinished) return;\n runOnJS(handleAnimationFinished)();\n },\n ),\n },\n ],\n };\n });\n\n return (\n <Animated.View style={[{ transform: [{ translateY: wHeight }] }, translateStyle, { width: '100%', flex: 1 }]}>\n {children}\n </Animated.View>\n );\n}\n","import type { ReactElement, ReactNode } from 'react';\nimport { useEffect, useState } from 'react';\nimport { Modal, Platform } from 'react-native';\nimport type { ModalAnimationComponentProps } from '../ModalBehaviour/type';\nimport { Overlay } from '../Overlay/Overlay';\nimport type { ViewProps } from '../native-base/primitives';\nimport { View } from '../native-base/primitives';\nimport { NativeOpacityAnimation } from './components/NativeOpacityAnimation';\nimport { NativeSlideInAnimation } from './components/NativeSlideInAnimation';\n\nexport interface FullscreenModalAnimationProps extends ViewProps, ModalAnimationComponentProps {\n children: ReactNode;\n}\n\nexport function FullscreenModalAnimation({\n visible,\n children,\n onEnter,\n onEntered,\n onExit,\n onExited,\n}: FullscreenModalAnimationProps): ReactElement {\n const [isModalVisible, setIsModalVisible] = useState(visible);\n const [isContentVisible, setIsContentVisible] = useState(false);\n\n const handleAnimationExited = (): void => {\n setIsModalVisible(false);\n // Android doesn't handle the onDismiss callback on the modal, we need to call it manually\n if (Platform.OS === 'android' && onExited) onExited();\n };\n\n // When parent visibility is set to false, in order to have our exit animation we must in this order :\n // 1 - run the exit animation\n // 2 - once it is done, unmount the Modal\n useEffect(() => {\n const shouldHideContent = !visible && isContentVisible;\n\n if (!shouldHideContent) return;\n\n if (onExit) onExit();\n setIsContentVisible(false);\n }, [visible, isContentVisible, onExit]);\n\n return (\n <Modal\n transparent\n supportedOrientations={['landscape', 'portrait']}\n visible={isModalVisible}\n onShow={() => {\n if (onEnter) onEnter();\n setIsContentVisible(true);\n }}\n onDismiss={() => {\n if (onExited) onExited();\n }}\n >\n <View position=\"relative\" flexGrow={1} justifyContent=\"center\" alignItems=\"center\">\n <NativeOpacityAnimation visible={isContentVisible}>\n <Overlay onPress={handleAnimationExited} />\n </NativeOpacityAnimation>\n <NativeSlideInAnimation visible={isContentVisible} onExited={handleAnimationExited} onEntered={onEntered}>\n <View flexGrow={1}>{children}</View>\n </NativeSlideInAnimation>\n </View>\n </Modal>\n );\n}\n","import type { ReactElement } from 'react';\nimport { useEffect, useState } from 'react';\nimport type { ModalBehaviourProps } from '../ModalBehaviour/ModalBehaviour';\nimport { ModalBehaviour } from '../ModalBehaviour/ModalBehaviour';\nimport type { 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): ReactElement {\n const [isModalBehaviourVisible, setIsModalBehaviourVisible] = useState(visible);\n\n useEffect(() => {\n if (visible === true) {\n setIsModalBehaviourVisible(true);\n }\n }, [visible]);\n\n const handleExitAnimationDone = (): void => {\n if (onExited) onExited();\n setIsModalBehaviourVisible(false);\n };\n\n return (\n <ModalBehaviour visible={isModalBehaviourVisible} onClose={onClose}>\n <FullscreenModalAnimation {...props} visible={visible} onExited={handleExitAnimationDone}>\n {children}\n </FullscreenModalAnimation>\n </ModalBehaviour>\n );\n}\n","import type { ReactElement, 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): ReactElement {\n return (\n <View\n position=\"relative\"\n flex={1}\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 */\n _web={{ minHeight: '100vh', maxHeight: '100vh' }}\n backgroundColor={backgroundColor ?? 'kitt.uiBackgroundLight'}\n >\n {children}\n </View>\n );\n}\n","import type { ReactElement, 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): ReactElement {\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 flex={1} paddingLeft={hasLeft ? 'kitt.2' : undefined} paddingRight={hasRight ? 'kitt.2' : 0}>\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 flex={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 { ReactElement, 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): ReactElement {\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 { ReactElement, ReactNode } from 'react';\nimport { View } from '../native-base/primitives';\n\n/** @deprecated use primary instead */\ntype DeprecatedHighlightVariant = 'regular';\n\ntype HighlightVariant = 'primary' | 'secondary' | 'dark' | DeprecatedHighlightVariant;\n\nexport interface HighlightProps {\n variant?: HighlightVariant;\n children: NonNullable<ReactNode>;\n}\n\nexport function Highlight({ variant = 'regular', children }: HighlightProps): ReactElement {\n return (\n <View\n borderRadius=\"kitt.highlight.borderRadius\"\n padding=\"kitt.highlight.padding\"\n backgroundColor={`kitt.highlight.${variant}.backgroundColor`}\n >\n {children}\n </View>\n );\n}\n","import type { ReactElement, ReactNode } from 'react';\nimport { createContext, useMemo } from 'react';\n\nexport interface KittMapConfigProviderConfig {\n mapId: string;\n apiToken: string;\n}\n\nexport const KittMapConfigProviderContext = createContext<KittMapConfigProviderConfig | undefined>(undefined);\n\nexport interface KittMapProviderProps {\n mapId: string;\n apiToken: string;\n children: ReactNode;\n}\n\nexport function KittMapConfigProvider({ children, mapId, apiToken }: KittMapProviderProps): ReactElement {\n const providerValue = useMemo(\n () => ({\n mapId,\n apiToken,\n }),\n [mapId, apiToken],\n );\n\n return (\n <KittMapConfigProviderContext.Provider value={providerValue}>{children}</KittMapConfigProviderContext.Provider>\n );\n}\n","import { useContext } from 'react';\nimport type { KittMapConfigProviderConfig } from '../KittMapConfigProvider';\nimport { KittMapConfigProviderContext } from '../KittMapConfigProvider';\n\nexport function useKittMapConfig(): KittMapConfigProviderConfig {\n const context = useContext(KittMapConfigProviderContext);\n\n if (!context) {\n throw new Error('<KittMapConfigProvider> missing in the react tree');\n }\n\n return context;\n}\n","import type { ReactElement, ReactNode } from 'react';\nimport type { ViewProps } from 'react-native';\nimport { View } from '../native-base/primitives';\n\nexport interface ListItemContentProps extends ViewProps {\n children: NonNullable<ReactNode>;\n}\n\nexport function ListItemContent({ children, ...rest }: ListItemContentProps): ReactElement {\n return (\n <View alignSelf=\"center\" flexBasis=\"0%\" flexGrow={1} flexShrink={0} {...rest}>\n {children}\n </View>\n );\n}\n","import type { ReactElement, 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): ReactElement {\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): ReactElement {\n return (\n <View alignSelf={align} {...rest}>\n {children}\n </View>\n );\n}\n","import type { ReactElement, ReactNode } from 'react';\nimport { Fragment } from 'react';\nimport type { PressableProps, ViewProps } from 'react-native';\nimport { Pressable } from 'react-native';\nimport { 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({\n children,\n withPadding,\n borders,\n left,\n right,\n onPress,\n ...rest\n}: ListItemProps): ReactElement {\n const Wrapper = onPress ? Pressable : Fragment;\n const wrapperProps = onPress ? { accessibilityRole: 'button', onPress, ...rest } : undefined;\n const containerProps = onPress ? undefined : rest;\n\n return (\n <Wrapper {...(wrapperProps as any)}>\n <View\n flexDirection=\"row\"\n paddingX={withPadding ? 'kitt.listItem.horizontalPadding' : undefined}\n paddingY={withPadding ? 'kitt.listItem.verticalPadding' : undefined}\n borderColor=\"kitt.listItem.borderColor\"\n backgroundColor=\"kitt.uiBackgroundLight\"\n borderTopWidth={borders === 'top' || borders === 'both' ? 'kitt.listItem.borderWidth' : undefined}\n borderBottomWidth={borders === 'bottom' || borders === 'both' ? 'kitt.listItem.borderWidth' : undefined}\n {...containerProps}\n >\n {left ? <ListItemSideContainer side=\"left\">{left}</ListItemSideContainer> : null}\n\n <ListItemContent>{children}</ListItemContent>\n\n {right ? <ListItemSideContainer side=\"right\">{right}</ListItemSideContainer> : null}\n </View>\n </Wrapper>\n );\n}\n\nListItem.Content = ListItemContent;\nListItem.SideContent = ListItemSideContent;\nListItem.SideContainer = ListItemSideContainer;\n","<svg fill=\"currentColor\" viewBox=\"0 0 54 56\" width=\"54\" xmlns=\"http://www.w3.org/2000/svg\"><linearGradient id=\"marker-large_inline_svg__b\" gradientUnits=\"userSpaceOnUse\" x1=\"26.828\" x2=\"7.181\" y1=\"5.072\" y2=\"39.102\"><stop offset=\"0\" stop-opacity=\".01\"/><stop offset=\"1\"/></linearGradient><filter id=\"marker-large_inline_svg__a\" color-interpolation-filters=\"sRGB\" filterUnits=\"userSpaceOnUse\" height=\"48.706\" width=\"42.761\" x=\"10.437\" y=\"5.167\"><feFlood flood-opacity=\"0\" result=\"BackgroundImageFix\"/><feBlend in=\"SourceGraphic\" in2=\"BackgroundImageFix\" result=\"shape\"/><feGaussianBlur result=\"effect1_foregroundBlur_257_3018\" stdDeviation=\"2.718\"/></filter><mask id=\"marker-large_inline_svg__c\" height=\"43\" maskUnits=\"userSpaceOnUse\" width=\"31\" x=\"3\" y=\"3\"><path d=\"M16.303 44.99a3.002 3.002 0 0 0 4.394 0C29.631 35.38 34 26.678 34 18.938 34 10.12 27.04 3 18.5 3S3 10.12 3 18.938c0 7.74 4.369 16.442 13.303 26.052z\" fill=\"#fff\"/></mask><g filter=\"url(#marker-large_inline_svg__a)\" opacity=\".25\"><path d=\"M24.022 48.149c-3.018 1.02-6.128-.775-6.753-3.899-1.372-6.862-2.799-18.548 1.348-25.73C22.966 10.985 32.545 8.374 40 12.678c7.454 4.303 9.982 13.903 5.63 21.44-4.146 7.182-14.98 11.79-21.608 14.032z\" fill=\"url(#marker-large_inline_svg__b)\"/></g><g mask=\"url(#marker-large_inline_svg__c)\"><path d=\"M3 3h31v43H3z\" fill=\"#4c34e0\"/></g><path d=\"M15.677 46.315c-2.682-3.029-6.253-7.443-9.145-12.356C3.622 29.015 1.5 23.735 1.5 18.938 1.5 9.27 9.152 1.5 18.5 1.5c9.349 0 17 7.771 17 17.438 0 4.797-2.122 10.077-5.032 15.02-2.892 4.914-6.463 9.328-9.145 12.357-1.536 1.735-4.11 1.735-5.646 0z\" stroke=\"#fff\" stroke-width=\"3\"/></svg>","<svg viewBox=\"0 0 40 39\" fill=\"currentColor\" xmlns=\"http://www.w3.org/2000/svg\"><path d=\"M16.417 33.38c-2.3.776-4.668-.592-5.146-2.971-1.059-5.274-2.171-14.297 1.027-19.837 3.348-5.798 10.717-7.806 16.452-4.495 5.735 3.31 7.68 10.697 4.333 16.495-3.198 5.54-11.57 9.088-16.666 10.808z\" fill=\"url(#marker_inline_svg__a)\" opacity=\".25\" filter=\"url(#marker_inline_svg__b)\"/><path d=\"M10.89 29.536a2.81 2.81 0 0 0 4.22 0C20.428 23.492 23 18.054 23 13.256 23 7.58 18.507 3 13 3S3 7.58 3 13.256c0 4.798 2.572 10.236 7.89 16.28z\" fill=\"#4C34E0\"/><mask id=\"marker_inline_svg__c\" style=\"mask-type:alpha\" maskUnits=\"userSpaceOnUse\" x=\"3\" y=\"3\" width=\"20\" height=\"28\"><path d=\"M10.89 29.536a2.81 2.81 0 0 0 4.22 0C20.428 23.492 23 18.054 23 13.256 23 7.58 18.507 3 13 3S3 7.58 3 13.256c0 4.798 2.572 10.236 7.89 16.28z\" fill=\"#fff\"/></mask><g mask=\"url(#marker_inline_svg__c)\"><path fill=\"#4C34E0\" d=\"M3 3h20v27H3z\"/></g><path d=\"M10.374 31c-1.884-2.216-4.125-5.144-5.888-8.307C2.71 19.505 1.5 16.22 1.5 13.256 1.5 6.734 6.681 1.5 13 1.5s11.5 5.234 11.5 11.756c0 2.964-1.21 6.249-2.986 9.437-1.763 3.163-4.004 6.091-5.888 8.307-1.414 1.662-3.838 1.662-5.252 0z\" stroke=\"#fff\" stroke-width=\"3\"/><defs><linearGradient id=\"marker_inline_svg__a\" x1=\"18.616\" y1=\".226\" x2=\"3.501\" y2=\"26.405\" gradientUnits=\"userSpaceOnUse\"><stop stop-opacity=\".01\"/><stop offset=\"1\"/></linearGradient><filter id=\"marker_inline_svg__b\" x=\"6.046\" y=\".339\" width=\"32.817\" height=\"37.4\" filterUnits=\"userSpaceOnUse\" color-interpolation-filters=\"sRGB\"><feFlood flood-opacity=\"0\" result=\"BackgroundImageFix\"/><feBlend in=\"SourceGraphic\" in2=\"BackgroundImageFix\" result=\"shape\"/><feGaussianBlur stdDeviation=\"2.071\" result=\"effect1_foregroundBlur_257_3020\"/></filter></defs></svg>","<svg viewBox=\"0 0 47 47\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\"><path fill-rule=\"evenodd\" clip-rule=\"evenodd\" d=\"M23.5 36C30.404 36 36 30.404 36 23.5S30.404 11 23.5 11 11 16.596 11 23.5 16.596 36 23.5 36z\" fill=\"#38836D\" opacity=\".8\" filter=\"url(#position-marker_inline_svg__a)\"/><path d=\"M31 18.5a7.5 7.5 0 1 1-15 0 7.5 7.5 0 0 1 15 0z\" fill=\"#fff\" stroke=\"#38836D\" stroke-width=\"10\"/><circle cx=\"23.5\" cy=\"18.5\" r=\"2.5\" fill=\"#fff\"/><defs><filter id=\"position-marker_inline_svg__a\" x=\".127\" y=\".127\" width=\"46.746\" height=\"46.746\" filterUnits=\"userSpaceOnUse\" color-interpolation-filters=\"sRGB\"><feFlood flood-opacity=\"0\" result=\"BackgroundImageFix\"/><feBlend in=\"SourceGraphic\" in2=\"BackgroundImageFix\" result=\"shape\"/><feGaussianBlur stdDeviation=\"5.437\" result=\"effect1_foregroundBlur_257_3019\"/></filter></defs></svg>","import { useSx } from 'native-base';\nimport type { ColorType } from 'native-base/lib/typescript/components/types';\nimport type { ReactElement } from 'react';\nimport LargeMarkerSvg from './assets/marker-large.inline.svg';\nimport DefaultMarkerSvg from './assets/marker.inline.svg';\nimport PositionMarkerSvg from './assets/position-marker.inline.svg';\n\ninterface BaseMarkerWithSizeProps {\n width: number;\n height: number;\n}\n\ninterface BaseMarkerWithoutSizeProps {\n width?: never;\n height?: never;\n}\n\ninterface BaseMarkerWithColorProp {\n color?: ColorType;\n}\n\nexport type MapMarkerProps = BaseMarkerWithSizeProps | BaseMarkerWithoutSizeProps;\n\nexport function MapMarkerSimple({\n width = 40,\n height = 39,\n color = 'kitt.primary',\n}: MapMarkerProps & BaseMarkerWithColorProp): ReactElement {\n const sx = useSx();\n const styles = sx({\n color,\n });\n\n return <DefaultMarkerSvg width={width} height={height} color={styles.color} />;\n}\n\nexport function MapMarkerLarge({\n width = 54,\n height = 56,\n color = 'kitt.primary',\n}: MapMarkerProps & BaseMarkerWithColorProp): ReactElement {\n const sx = useSx();\n const styles = sx({\n color,\n });\n\n return <LargeMarkerSvg width={width} height={height} color={styles.color} />;\n}\n\nexport function MapMarkerPosition({ width = 47, height = 47 }: MapMarkerProps): ReactElement {\n return <PositionMarkerSvg width={width} height={height} />;\n}\n","import { AlertCircleIcon, AlertTriangleIcon, CheckIcon, InfoIcon } from '@ornikar/kitt-icons';\nimport type { ReactElement } from 'react';\nimport type { TypographyColor } from '../typography/Typography';\nimport type { MessageType } from './BaseMessage';\n\ninterface IconContentProps {\n type: MessageType;\n color: TypographyColor;\n}\n\nexport function IconContent({ type, color }: IconContentProps): ReactElement {\n switch (type) {\n case 'warning':\n return <AlertCircleIcon color={color} />;\n case 'success':\n return <CheckIcon color={color} />;\n case 'danger':\n return <AlertTriangleIcon color={color} />;\n default:\n return <InfoIcon color={color} />;\n }\n}\n","import type { IconButtonProps } from '../IconButton/IconButton';\nimport type { TypographyColor } from '../typography/Typography';\nimport type { MessageType } from './BaseMessage';\n\nexport const getColorByType = (type: MessageType): TypographyColor => {\n switch (type) {\n case 'success':\n return 'white';\n case 'danger':\n return 'white';\n case 'warning':\n default:\n return 'black';\n }\n};\n\nexport const getIconButtonColor = (messageType: MessageType): IconButtonProps['color'] => {\n switch (messageType) {\n case 'success':\n case 'danger':\n return 'white';\n case 'warning':\n default:\n return 'black';\n }\n};\n","import { XIcon } from '@ornikar/kitt-icons';\nimport type { ReactElement, ReactNode } from 'react';\nimport type { EdgeInsets } from 'react-native-safe-area-context';\nimport { Icon } from '../Icon/Icon';\nimport { IconButton } from '../IconButton/IconButton';\nimport { HStack } from '../native-base/layout';\nimport { View } from '../native-base/primitives';\nimport { Typography } from '../typography/Typography';\nimport { IconContent } from './IconContent';\nimport { getColorByType, getIconButtonColor } from './helper';\n\nexport type MessageType = 'success' | 'warning' | 'danger' | 'info';\n\nexport interface BaseMessageProps {\n type?: MessageType;\n children: NonNullable<ReactNode>;\n /**\n * @internal for styling between Message and Notification\n */\n hasNoRadius?: boolean;\n centeredText?: boolean;\n insets?: EdgeInsets;\n onDismiss?: () => void;\n}\n\nexport function BaseMessage({\n type = 'info',\n children,\n hasNoRadius,\n centeredText,\n insets,\n onDismiss,\n}: BaseMessageProps): ReactElement {\n const color = getColorByType(type);\n\n return (\n <HStack\n alignItems=\"flex-start\"\n justifyContent=\"space-between\"\n minHeight=\"kitt.feedbackMessage.minHeight\"\n paddingTop={insets?.top}\n borderRadius={hasNoRadius ? undefined : 'kitt.5'}\n backgroundColor={`kitt.feedbackMessage.${type}.backgroundColor`}\n >\n <HStack\n flexGrow={1}\n flexShrink={1}\n alignSelf=\"center\"\n alignItems=\"flex-start\"\n paddingY=\"kitt.4\"\n paddingX=\"kitt.5\"\n >\n {centeredText ? null : (\n <View marginTop=\"kitt.1\" marginRight=\"kitt.5\">\n <Icon color={color} icon={<IconContent type={type} color={color} />} />\n </View>\n )}\n <Typography.Text\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 <IconButton color={getIconButtonColor(type)} icon={<XIcon />} onPress={onDismiss} />\n </View>\n ) : null}\n </HStack>\n );\n}\n","import type { ReactElement } from 'react';\nimport type { BaseMessageProps } from '../BaseMessage/BaseMessage';\nimport { BaseMessage } from '../BaseMessage/BaseMessage';\n\nexport interface MessageProps extends BaseMessageProps {}\n\nexport function Message({\n type = 'info',\n children,\n hasNoRadius,\n centeredText,\n insets,\n onDismiss,\n}: MessageProps): ReactElement {\n return (\n <BaseMessage\n insets={insets}\n hasNoRadius={hasNoRadius}\n type={type}\n centeredText={centeredText}\n onDismiss={onDismiss}\n >\n {children}\n </BaseMessage>\n );\n}\n","import type { NativeBaseProviderProps } from 'native-base';\nimport { NativeBaseProvider, extendTheme } from 'native-base';\nimport type { ReactElement, ReactNode } from 'react';\nimport { useMemo } from 'react';\nimport { Platform } from 'react-native';\nimport type { KittTheme } from '..';\nimport { KittBreakpoints } from '../KittBreakpoints';\nimport { 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 = (spacing: number): KittSizeRecord => {\n const MAX_SIZE = 64;\n const sizes: KittSizeRecord = {\n positive: {},\n negative: {},\n };\n for (let size = 1; size <= MAX_SIZE; size++) {\n sizes.positive[`kitt.${size}` as KittSize] = size * spacing;\n sizes.negative[`-kitt.${size}` as KittNegativeSize] = -size * spacing;\n }\n return sizes;\n};\n\n// reset native-base to be able to set size / space as a number\n// https://docs.nativebase.io/next/default-theme#h2-size\nconst overridenNativeBaseSizeandSpaceScale = Object.fromEntries(\n [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 12, 16, 20, 24, 32, 40, 48, 56, 64, 72, 80, 96, 0.5, 1.5, 2.5, 3.5].map((value) => [\n value,\n value,\n ]),\n);\n\nexport interface AppKittThemeExtensionsBreakpoints {}\nexport interface AppKittThemeExtensionsColors {}\nexport interface AppKittThemeExtensionsSizes {}\nexport interface AppKittThemeExtensionsSpace {}\nexport interface AppKittThemeExtensionsShadows {}\nexport interface AppKittThemeExtensionsOpacity {}\nexport interface AppKittThemeExtensionsBorderWidths {}\nexport interface AppKittThemeExtensionsRadii {}\n\nexport interface AppKittThemeExtensions {\n sizes: AppKittThemeExtensionsSpace;\n space: AppKittThemeExtensionsSpace;\n shadows: AppKittThemeExtensionsShadows;\n opacity: AppKittThemeExtensionsOpacity;\n borderWidths: AppKittThemeExtensionsBorderWidths;\n colors: AppKittThemeExtensionsColors;\n radii: AppKittThemeExtensionsRadii;\n breakpoints: AppKittThemeExtensionsBreakpoints;\n}\n\nexport type ExtensibleNativeBaseThemeKey =\n | 'sizes'\n | 'space'\n | 'shadows'\n | 'opacity'\n | 'borderWidths'\n | 'colors'\n | 'radii'\n | 'breakpoints';\n\nexport type ExtensibleNativeBaseAppThemeConfig = Partial<Record<ExtensibleNativeBaseThemeKey, Record<string, any>>>;\n\ntype ValidAppTheme<T> = T extends ExtensibleNativeBaseAppThemeConfig ? T : never;\n\nexport type AppTheme = Partial<ValidAppTheme<AppKittThemeExtensions>>;\n\n// eslint-disable-next-line @typescript-eslint/explicit-module-boundary-types, @typescript-eslint/explicit-function-return-type -- let typescript infer types\nexport function createKittNativeBaseCustomTheme(theme: Theme, appTheme?: AppTheme) {\n const spaces = createKittSpaces(theme.spacing);\n\n const appBreakpoints: AppKittThemeExtensionsBreakpoints =\n appTheme?.breakpoints || ({} as AppKittThemeExtensionsBreakpoints);\n\n const extendedTheme = extendTheme({\n colors: {\n kitt: {\n ...theme.colors,\n actionCard: {\n secondary: {\n default: {\n backgroundColor: theme.actionCard.secondary.default.backgroundColor,\n borderColor: theme.actionCard.secondary.default.borderColor,\n },\n disabled: {\n backgroundColor: theme.actionCard.secondary.disabled.backgroundColor,\n borderColor: theme.actionCard.secondary.disabled.borderColor,\n },\n hovered: {\n backgroundColor: theme.actionCard.secondary.hovered.backgroundColor,\n borderColor: theme.actionCard.secondary.hovered.borderColor,\n },\n focused: {\n backgroundColor: theme.actionCard.secondary.focused.backgroundColor,\n borderColor: theme.actionCard.secondary.focused.borderColor,\n },\n pressed: {\n backgroundColor: theme.actionCard.secondary.pressed.backgroundColor,\n borderColor: theme.actionCard.secondary.pressed.borderColor,\n },\n },\n primary: {\n default: {\n backgroundColor: theme.actionCard.primary.default.backgroundColor,\n borderColor: theme.actionCard.primary.default.borderColor,\n },\n disabled: {\n backgroundColor: theme.actionCard.primary.disabled.backgroundColor,\n borderColor: theme.actionCard.primary.disabled.borderColor,\n },\n hovered: {\n backgroundColor: theme.actionCard.primary.hovered.backgroundColor,\n borderColor: theme.actionCard.primary.hovered.borderColor,\n },\n focused: {\n backgroundColor: theme.actionCard.primary.focused.backgroundColor,\n borderColor: theme.actionCard.primary.focused.borderColor,\n },\n pressed: {\n backgroundColor: theme.actionCard.primary.pressed.backgroundColor,\n borderColor: theme.actionCard.primary.pressed.borderColor,\n },\n },\n 'primary-border-soft': {\n default: {\n backgroundColor: theme.actionCard['primary-border-soft'].default.backgroundColor,\n borderColor: theme.actionCard['primary-border-soft'].default.borderColor,\n },\n disabled: {\n backgroundColor: theme.actionCard['primary-border-soft'].disabled.backgroundColor,\n borderColor: theme.actionCard['primary-border-soft'].disabled.borderColor,\n },\n hovered: {\n backgroundColor: theme.actionCard['primary-border-soft'].hovered.backgroundColor,\n borderColor: theme.actionCard['primary-border-soft'].hovered.borderColor,\n },\n focused: {\n backgroundColor: theme.actionCard['primary-border-soft'].focused.backgroundColor,\n borderColor: theme.actionCard['primary-border-soft'].focused.borderColor,\n },\n pressed: {\n backgroundColor: theme.actionCard['primary-border-soft'].pressed.backgroundColor,\n borderColor: theme.actionCard['primary-border-soft'].pressed.borderColor,\n },\n },\n 'primary-border-hard': {\n default: {\n backgroundColor: theme.actionCard['primary-border-hard'].default.backgroundColor,\n borderColor: theme.actionCard['primary-border-hard'].default.borderColor,\n },\n disabled: {\n backgroundColor: theme.actionCard['primary-border-hard'].disabled.backgroundColor,\n borderColor: theme.actionCard['primary-border-hard'].disabled.borderColor,\n },\n hovered: {\n backgroundColor: theme.actionCard['primary-border-hard'].hovered.backgroundColor,\n borderColor: theme.actionCard['primary-border-hard'].hovered.borderColor,\n },\n focused: {\n backgroundColor: theme.actionCard['primary-border-hard'].focused.backgroundColor,\n borderColor: theme.actionCard['primary-border-hard'].focused.borderColor,\n },\n pressed: {\n backgroundColor: theme.actionCard['primary-border-hard'].pressed.backgroundColor,\n borderColor: theme.actionCard['primary-border-hard'].pressed.borderColor,\n },\n },\n highlight: {\n default: {\n backgroundColor: theme.actionCard.highlight.default.backgroundColor,\n borderColor: theme.actionCard.highlight.default.borderColor,\n },\n disabled: {\n backgroundColor: theme.actionCard.highlight.disabled.backgroundColor,\n borderColor: theme.actionCard.highlight.disabled.borderColor,\n },\n hovered: {\n backgroundColor: theme.actionCard.highlight.hovered.backgroundColor,\n borderColor: theme.actionCard.highlight.hovered.borderColor,\n },\n focused: {\n backgroundColor: theme.actionCard.highlight.focused.backgroundColor,\n borderColor: theme.actionCard.highlight.focused.borderColor,\n },\n pressed: {\n backgroundColor: theme.actionCard.highlight.pressed.backgroundColor,\n borderColor: theme.actionCard.highlight.pressed.borderColor,\n },\n },\n },\n avatar: {\n default: {\n backgroundColor: theme.colors.primary,\n },\n light: {\n backgroundColor: theme.palettes.lateOcean.black100,\n },\n },\n button: {\n default: theme.button.default,\n primary: theme.button.primary,\n danger: theme.button.danger,\n white: theme.button.white,\n subtle: theme.button.subtle,\n 'subtle-dark': theme.button['subtle-dark'],\n disabled: theme.button.disabled,\n },\n choices: {\n item: {\n default: {\n backgroundColor: theme.choices.item.backgroundColor.default,\n },\n disabled: {\n backgroundColor: theme.choices.item.backgroundColor.disabled,\n borderColor: theme.choices.item.disabled.border.color,\n },\n selected: {\n backgroundColor: theme.choices.item.backgroundColor.selected,\n },\n pressed: {\n backgroundColor: theme.choices.item.backgroundColor.pressed,\n },\n hover: {\n backgroundColor: theme.choices.item.backgroundColor.hover,\n },\n hoverWhenSelected: {\n backgroundColor: theme.choices.item.backgroundColor.hoverWhenSelected,\n },\n },\n },\n tag: {\n primary: {\n fill: {\n backgroundColor: theme.tag.primary.fill.backgroundColor,\n borderColor: theme.tag.primary.fill.borderColor,\n },\n outline: {\n backgroundColor: theme.tag.primary.outline.backgroundColor,\n borderColor: theme.tag.primary.outline.borderColor,\n },\n },\n default: {\n fill: {\n backgroundColor: theme.tag.default.fill.backgroundColor,\n borderColor: theme.tag.default.fill.borderColor,\n },\n outline: {\n backgroundColor: theme.tag.default.outline.backgroundColor,\n borderColor: theme.tag.default.outline.borderColor,\n },\n },\n danger: {\n fill: {\n backgroundColor: theme.tag.danger.fill.backgroundColor,\n borderColor: theme.tag.danger.fill.borderColor,\n },\n outline: {\n backgroundColor: theme.tag.danger.outline.backgroundColor,\n borderColor: theme.tag.danger.outline.borderColor,\n },\n },\n warn: {\n fill: {\n backgroundColor: theme.tag.warn.fill.backgroundColor,\n borderColor: theme.tag.warn.fill.borderColor,\n },\n outline: {\n backgroundColor: theme.tag.warn.outline.backgroundColor,\n borderColor: theme.tag.warn.outline.borderColor,\n },\n },\n },\n tooltip: {\n backgroundColor: theme.tooltip.backgroundColor,\n },\n typography: theme.typography.colors,\n palettes: theme.palettes,\n feedbackMessage: {\n danger: { backgroundColor: theme.feedbackMessage.danger.backgroundColor },\n info: { backgroundColor: theme.feedbackMessage.info.backgroundColor },\n success: { backgroundColor: theme.feedbackMessage.success.backgroundColor },\n warning: { backgroundColor: theme.feedbackMessage.warning.backgroundColor },\n },\n forms: {\n 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 white: {\n pressed: {\n backgroundColor: theme.iconButton.white.pressedBackgroundColor,\n },\n },\n primary: {\n pressed: {\n backgroundColor: theme.iconButton.primary.pressedBackgroundColor,\n },\n },\n },\n highlight: {\n regular: {\n backgroundColor: theme.highlight.regular.backgroundColor,\n },\n primary: {\n backgroundColor: theme.highlight.primary.backgroundColor,\n },\n secondary: {\n backgroundColor: theme.highlight.secondary.backgroundColor,\n },\n dark: {\n backgroundColor: theme.highlight.dark.backgroundColor,\n },\n },\n verticalSteps: {\n active: {\n icon: {\n backgroundColor: theme.verticalSteps.active.icon.backgroundColor,\n textColor: theme.verticalSteps.active.icon.textColor,\n },\n },\n done: {\n icon: {\n backgroundColor: theme.verticalSteps.done.icon.backgroundColor,\n textColor: theme.verticalSteps.done.icon.textColor,\n },\n },\n default: {\n icon: {\n backgroundColor: theme.verticalSteps.default.icon.backgroundColor,\n textColor: theme.verticalSteps.default.icon.textColor,\n },\n },\n },\n listItem: {\n borderColor: theme.listItem.borderColor,\n },\n picker: {\n ios: {\n item: {\n selected: {\n color: theme.picker.ios.selected.color,\n },\n },\n },\n android: {\n item: {\n default: {\n backgroundColor: theme.picker.android.default.backgroundColor,\n },\n selected: {\n color: theme.picker.android.selected.color,\n backgroundColor: theme.picker.android.selected.backgroundColor,\n },\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 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 },\n app: appTheme?.radii,\n },\n borderWidths: {\n kitt: {\n actionCard: {\n secondary: {\n default: {\n borderWidth: theme.actionCard.secondary.default.borderWidth,\n },\n disabled: {\n borderWidth: theme.actionCard.secondary.disabled.borderWidth,\n },\n hovered: {\n borderWidth: theme.actionCard.secondary.hovered.borderWidth,\n },\n focused: {\n borderWidth: theme.actionCard.secondary.focused.borderWidth,\n },\n pressed: {\n borderWidth: theme.actionCard.secondary.pressed.borderWidth,\n },\n },\n primary: {\n default: {\n borderWidth: theme.actionCard.primary.default.borderWidth,\n },\n disabled: {\n borderWidth: theme.actionCard.primary.disabled.borderWidth,\n },\n hovered: {\n borderWidth: theme.actionCard.primary.hovered.borderWidth,\n },\n focused: {\n borderWidth: theme.actionCard.primary.focused.borderWidth,\n },\n pressed: {\n borderWidth: theme.actionCard.primary.pressed.borderWidth,\n },\n },\n 'primary-border-soft': {\n default: {\n borderWidth: theme.actionCard['primary-border-soft'].default.borderWidth,\n },\n disabled: {\n borderWidth: theme.actionCard['primary-border-soft'].disabled.borderWidth,\n },\n hovered: {\n borderWidth: theme.actionCard['primary-border-soft'].hovered.borderWidth,\n },\n focused: {\n borderWidth: theme.actionCard['primary-border-soft'].focused.borderWidth,\n },\n pressed: {\n borderWidth: theme.actionCard['primary-border-soft'].pressed.borderWidth,\n },\n },\n 'primary-border-hard': {\n default: {\n borderWidth: theme.actionCard['primary-border-hard'].default.borderWidth,\n },\n disabled: {\n borderWidth: theme.actionCard['primary-border-hard'].disabled.borderWidth,\n },\n hovered: {\n borderWidth: theme.actionCard['primary-border-hard'].hovered.borderWidth,\n },\n focused: {\n borderWidth: theme.actionCard['primary-border-hard'].focused.borderWidth,\n },\n pressed: {\n borderWidth: theme.actionCard['primary-border-hard'].pressed.borderWidth,\n },\n },\n highlight: {\n default: {\n borderWidth: theme.actionCard.highlight.default.borderWidth,\n },\n disabled: {\n borderWidth: theme.actionCard.highlight.disabled.borderWidth,\n },\n hovered: {\n borderWidth: theme.actionCard.highlight.hovered.borderWidth,\n },\n focused: {\n borderWidth: theme.actionCard.highlight.focused.borderWidth,\n },\n pressed: {\n borderWidth: theme.actionCard.highlight.pressed.borderWidth,\n },\n },\n },\n button: {\n borderWidth: theme.button.borderWidth,\n },\n choices: {\n item: {\n disabled: {\n borderWidth: theme.choices.item.disabled.border.width,\n },\n },\n },\n iconButton: {\n borderWidth: theme.iconButton.borderWidth,\n },\n forms: {\n input: {\n borderWidth: theme.forms.input.borderWidth,\n },\n radioButtonGroup: {\n item: {\n borderWidth: theme.forms.radioButtonGroup.item.borderWidth,\n },\n },\n checkbox: {\n borderWidth: theme.forms.checkbox.borderWidth,\n },\n radio: {\n borderWidth: theme.forms.radio.unchecked.borderWidth,\n },\n },\n cardModal: {\n header: {\n borderWidth: theme.cardModal.header.borderWidth,\n },\n footer: {\n borderWidth: theme.cardModal.footer.borderWidth,\n },\n },\n listItem: {\n borderWidth: theme.listItem.borderWidth,\n },\n tag: {\n primary: {\n fill: {\n borderWidth: theme.tag.primary.fill.borderWidth,\n },\n outline: {\n borderWidth: theme.tag.primary.outline.borderWidth,\n },\n },\n default: {\n fill: {\n borderWidth: theme.tag.default.fill.borderWidth,\n },\n outline: {\n borderWidth: theme.tag.default.outline.borderWidth,\n },\n },\n danger: {\n fill: {\n borderWidth: theme.tag.danger.fill.borderWidth,\n },\n outline: {\n borderWidth: theme.tag.danger.outline.borderWidth,\n },\n },\n warn: {\n fill: {\n borderWidth: theme.tag.warn.fill.borderWidth,\n },\n outline: {\n borderWidth: theme.tag.warn.outline.borderWidth,\n },\n },\n },\n },\n app: appTheme?.borderWidths,\n },\n sizes: {\n ...spaces.positive,\n ...spaces.negative,\n ...overridenNativeBaseSizeandSpaceScale,\n kitt: {\n avatar: {\n size: theme.avatar.size,\n iconSize: theme.avatar.iconSize,\n large: {\n size: theme.avatar.large.size,\n iconSize: theme.avatar.large.iconSize,\n },\n },\n button: {\n minWidth: theme.button.minWidth,\n maxWidth: theme.button.maxWidth,\n minHeight: theme.button.minHeight,\n },\n icon: {\n defaultSize: 20,\n },\n cardModal: {\n header: {\n height: theme.cardModal.header.height,\n },\n maxWidth: theme.cardModal.maxWidth,\n maxWidthWithPadding: theme.cardModal.maxWidthWithPadding,\n },\n dialogModal: {\n maxWidth: theme.dialogModal.maxWidth,\n overlayPadding: theme.dialogModal.overlayPadding,\n },\n feedbackMessage: {\n minHeight: theme.feedbackMessage.minHeight,\n },\n forms: {\n datePicker: {\n minHeight: theme.forms.input.minHeight,\n day: {\n minWidth: theme.forms.datePicker.day.minWidth,\n },\n month: {\n minWidth: theme.forms.datePicker.month.minWidth,\n },\n year: {\n minWidth: theme.forms.datePicker.year.minWidth,\n },\n },\n input: {\n minHeight: theme.forms.input.minHeight,\n },\n radioButtonGroup: {\n item: {\n minHeight: theme.forms.radioButtonGroup.item.minHeight,\n },\n },\n checkbox: {\n height: theme.forms.checkbox.height,\n width: theme.forms.checkbox.width,\n iconSize: theme.forms.checkbox.iconSize,\n textSpacing: theme.forms.checkbox.textSpacing,\n },\n radio: {\n size: theme.forms.radio.size,\n innerCircle: {\n size: theme.forms.radio.checked.innerSize,\n },\n },\n textArea: {\n minHeight: theme.forms.textArea.minHeight,\n },\n timePicker: {\n minWidth: theme.forms.timePicker.minWidth,\n },\n },\n iconButton: {\n size: theme.iconButton.width - theme.iconButton.borderWidth,\n width: theme.iconButton.width,\n height: theme.iconButton.height,\n },\n fullscreenModal: {\n header: {\n height: theme.fullscreenModal.header.height,\n },\n },\n pageLoader: {\n size: theme.pageLoader.size,\n },\n tooltip: {\n maxWidth: theme.tooltip.maxWidth,\n arrow: {\n width: theme.tooltip.arrow.width,\n height: theme.tooltip.arrow.height,\n },\n },\n skeleton: {\n shape: {\n bar: {\n size: theme.skeleton.shape.bar.size,\n },\n circle: {\n size: theme.skeleton.shape.circle.size,\n },\n square: {\n size: theme.skeleton.shape.square.size,\n },\n },\n },\n picker: {\n ios: {\n default: {\n height: theme.picker.ios.default.height,\n },\n landscape: {\n height: theme.picker.ios.landscape.height,\n },\n },\n },\n },\n app: appTheme?.sizes,\n },\n space: {\n ...spaces.positive,\n ...spaces.negative,\n ...overridenNativeBaseSizeandSpaceScale,\n kitt: {\n bottomSheet: {\n container: {\n padding: theme.bottomSheet.container.padding,\n },\n },\n button: {\n padding: theme.button.padding,\n },\n cardModal: {\n overlayPadding: theme.dialogModal.overlayPadding,\n },\n dialogModal: {\n overlayPadding: theme.dialogModal.overlayPadding,\n },\n forms: {\n datePicker: {\n padding: theme.forms.input.padding,\n },\n input: {\n padding: theme.forms.input.padding,\n },\n radioButtonGroup: {\n item: {\n padding: theme.forms.radioButtonGroup.item.padding,\n },\n },\n },\n fullscreenModal: {\n horizontalPadding: theme.fullscreenModal.sharedHorizontalPadding,\n body: {\n verticalPadding: theme.fullscreenModal.body.verticalPadding,\n },\n footer: {\n verticalPadding: theme.fullscreenModal.footer.verticalPadding,\n },\n },\n highlight: {\n padding: theme.highlight.padding,\n },\n listItem: {\n verticalPadding: theme.listItem.verticalPadding,\n horizontalPadding: theme.listItem.horizontalPadding,\n },\n tag: {\n verticalPadding: theme.tag.verticalPadding,\n horizontalPadding: theme.tag.horizontalPadding,\n },\n tooltip: {\n horizontalPadding: theme.tooltip.horizontalPadding,\n verticalPadding: theme.tooltip.verticalPadding,\n floatingPadding: theme.tooltip.floatingPadding,\n },\n picker: {\n android: {\n item: {\n verticalPadding: theme.picker.android.verticalPadding,\n horizontalPadding: theme.picker.android.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 header1: `${theme.typography.types.headers.configs.header1.baseAndSmall.fontSize}px`,\n header2: `${theme.typography.types.headers.configs.header2.baseAndSmall.fontSize}px`,\n header3: `${theme.typography.types.headers.configs.header3.baseAndSmall.fontSize}px`,\n header4: `${theme.typography.types.headers.configs.header4.baseAndSmall.fontSize}px`,\n header5: `${theme.typography.types.headers.configs.header5.baseAndSmall.fontSize}px`,\n 'body-large': `${theme.typography.types.bodies.configs['body-large'].baseAndSmall.fontSize}px`,\n 'body-medium': `${theme.typography.types.bodies.configs['body-medium'].baseAndSmall.fontSize}px`,\n body: `${theme.typography.types.bodies.configs.body.baseAndSmall.fontSize}px`,\n 'body-small': `${theme.typography.types.bodies.configs['body-small'].baseAndSmall.fontSize}px`,\n 'body-xsmall': `${theme.typography.types.bodies.configs['body-xsmall'].baseAndSmall.fontSize}px`,\n },\n mediumAndWide: {\n header1: `${theme.typography.types.headers.configs.header1.mediumAndWide.fontSize}px`,\n header2: `${theme.typography.types.headers.configs.header2.mediumAndWide.fontSize}px`,\n header3: `${theme.typography.types.headers.configs.header3.mediumAndWide.fontSize}px`,\n header4: `${theme.typography.types.headers.configs.header4.mediumAndWide.fontSize}px`,\n header5: `${theme.typography.types.headers.configs.header5.mediumAndWide.fontSize}px`,\n 'body-large': `${theme.typography.types.bodies.configs['body-large'].mediumAndWide.fontSize}px`,\n 'body-medium': `${theme.typography.types.bodies.configs['body-medium'].mediumAndWide.fontSize}px`,\n body: `${theme.typography.types.bodies.configs.body.mediumAndWide.fontSize}px`,\n 'body-small': `${theme.typography.types.bodies.configs['body-small'].mediumAndWide.fontSize}px`,\n 'body-xsmall': `${theme.typography.types.bodies.configs['body-xsmall'].mediumAndWide.fontSize}px`,\n },\n },\n lineHeights: {\n baseAndSmall: {\n header1: theme.typography.types.headers.configs.header1.baseAndSmall.lineHeight,\n header2: theme.typography.types.headers.configs.header2.baseAndSmall.lineHeight,\n header3: theme.typography.types.headers.configs.header3.baseAndSmall.lineHeight,\n header4: theme.typography.types.headers.configs.header4.baseAndSmall.lineHeight,\n header5: theme.typography.types.headers.configs.header5.baseAndSmall.lineHeight,\n 'body-large': theme.typography.types.bodies.configs['body-large'].baseAndSmall.lineHeight,\n 'body-medium': theme.typography.types.bodies.configs['body-medium'].baseAndSmall.lineHeight,\n body: theme.typography.types.bodies.configs.body.baseAndSmall.lineHeight,\n 'body-small': theme.typography.types.bodies.configs['body-small'].baseAndSmall.lineHeight,\n 'body-xsmall': theme.typography.types.bodies.configs['body-xsmall'].baseAndSmall.lineHeight,\n },\n mediumAndWide: {\n header1: theme.typography.types.headers.configs.header1.mediumAndWide.lineHeight,\n header2: theme.typography.types.headers.configs.header2.mediumAndWide.lineHeight,\n header3: theme.typography.types.headers.configs.header3.mediumAndWide.lineHeight,\n header4: theme.typography.types.headers.configs.header4.mediumAndWide.lineHeight,\n header5: theme.typography.types.headers.configs.header5.mediumAndWide.lineHeight,\n 'body-large': theme.typography.types.bodies.configs['body-large'].mediumAndWide.lineHeight,\n 'body-medium': theme.typography.types.bodies.configs['body-medium'].mediumAndWide.lineHeight,\n body: theme.typography.types.bodies.configs.body.mediumAndWide.lineHeight,\n 'body-small': theme.typography.types.bodies.configs['body-small'].mediumAndWide.lineHeight,\n 'body-xsmall': theme.typography.types.bodies.configs['body-xsmall'].mediumAndWide.lineHeight,\n },\n },\n fontWeights: {\n headers: {\n regular: theme.typography.types.headers.fontWeight,\n bold: theme.typography.types.headers.fontWeight,\n },\n bodies: {\n regular: theme.typography.types.bodies.fontWeight.regular,\n // TODO [https://ornikar.atlassian.net/browse/CME-767] This quick fix should be replaced by a 700 in every case, and native font weights should be handled by expo-fonts\n bold: Platform.OS === 'android' ? 400 : theme.typography.types.bodies.fontWeight.bold,\n },\n },\n fonts: {\n headers:\n Platform.OS === 'web'\n ? theme.typography.types.headers.fontFamily.web\n : theme.typography.types.headers.fontFamily.native,\n bodies:\n Platform.OS === 'web'\n ? theme.typography.types.bodies.fontFamily.web\n : theme.typography.types.bodies.fontFamily.native,\n },\n\n shadows: {\n kitt: {\n shadows: {\n cards: {\n low: {\n shadowColor: theme.shadows.cards.low.color,\n shadowOffset: { width: theme.shadows.cards.low.offsetX, height: theme.shadows.cards.low.offsetY },\n shadowOpacity: theme.shadows.cards.low.opacity,\n shadowRadius: theme.shadows.cards.low.radius,\n },\n medium: {\n shadowColor: theme.shadows.cards.medium.color,\n shadowOffset: { width: theme.shadows.cards.medium.offsetX, height: theme.shadows.cards.medium.offsetY },\n shadowOpacity: theme.shadows.cards.medium.opacity,\n shadowRadius: theme.shadows.cards.medium.radius,\n },\n highBase: {\n shadowColor: theme.shadows.cards.highBase.color,\n shadowOffset: {\n width: theme.shadows.cards.highBase.offsetX,\n height: theme.shadows.cards.highBase.offsetY,\n },\n shadowOpacity: theme.shadows.cards.highBase.opacity,\n shadowRadius: theme.shadows.cards.highBase.radius,\n },\n highMedium: {\n shadowColor: theme.shadows.cards.highMedium.color,\n shadowOffset: {\n width: theme.shadows.cards.highMedium.offsetX,\n height: theme.shadows.cards.highMedium.offsetY,\n },\n shadowOpacity: theme.shadows.cards.highMedium.opacity,\n shadowRadius: theme.shadows.cards.highMedium.radius,\n },\n highLarge: {\n shadowColor: theme.shadows.cards.highLarge.color,\n shadowOffset: {\n width: theme.shadows.cards.highLarge.offsetX,\n height: theme.shadows.cards.highLarge.offsetY,\n },\n shadowOpacity: theme.shadows.cards.highLarge.opacity,\n shadowRadius: theme.shadows.cards.highLarge.radius,\n },\n },\n navigation: {\n left: {\n shadowColor: theme.shadows.navigation.left.color,\n shadowOffset: {\n width: theme.shadows.navigation.left.offsetX,\n height: theme.shadows.navigation.left.offsetY,\n },\n shadowOpacity: theme.shadows.navigation.left.opacity,\n shadowRadius: theme.shadows.navigation.left.radius,\n },\n right: {\n shadowColor: theme.shadows.navigation.right.color,\n shadowOffset: {\n width: theme.shadows.navigation.right.offsetX,\n height: theme.shadows.navigation.right.offsetY,\n },\n shadowOpacity: theme.shadows.navigation.right.opacity,\n shadowRadius: theme.shadows.navigation.right.radius,\n },\n },\n panel: {\n shadowColor: theme.shadows.panel.color,\n shadowOffset: { width: theme.shadows.panel.offsetX, height: theme.shadows.panel.offsetY },\n shadowOpacity: theme.shadows.panel.opacity,\n shadowRadius: theme.shadows.panel.radius,\n },\n },\n actionCard: {\n secondary: {\n default: {\n shadow: {\n shadowColor: theme.actionCard.secondary.default.shadow.color,\n shadowOffset: {\n width: theme.actionCard.secondary.default.shadow.offsetX,\n height: theme.actionCard.secondary.default.shadow.offsetY,\n },\n shadowOpacity: theme.actionCard.secondary.default.shadow.opacity,\n shadowRadius: theme.actionCard.secondary.default.shadow.radius,\n },\n },\n hovered: {\n shadow: {\n shadowColor: theme.actionCard.secondary.hovered.shadow.color,\n shadowOffset: {\n width: theme.actionCard.secondary.hovered.shadow.offsetX,\n height: theme.actionCard.secondary.hovered.shadow.offsetY,\n },\n shadowOpacity: theme.actionCard.secondary.hovered.shadow.opacity,\n shadowRadius: theme.actionCard.secondary.hovered.shadow.radius,\n },\n },\n focused: {\n shadow: {\n shadowColor: theme.actionCard.secondary.focused.shadow.color,\n shadowOffset: {\n width: theme.actionCard.secondary.focused.shadow.offsetX,\n height: theme.actionCard.secondary.focused.shadow.offsetY,\n },\n shadowOpacity: theme.actionCard.secondary.focused.shadow.opacity,\n shadowRadius: theme.actionCard.secondary.focused.shadow.radius,\n },\n },\n pressed: {\n shadow: {\n shadowColor: theme.actionCard.secondary.pressed.shadow.color,\n shadowOffset: {\n width: theme.actionCard.secondary.pressed.shadow.offsetX,\n height: theme.actionCard.secondary.pressed.shadow.offsetY,\n },\n shadowOpacity: theme.actionCard.secondary.pressed.shadow.opacity,\n shadowRadius: theme.actionCard.secondary.pressed.shadow.radius,\n },\n },\n },\n primary: {\n default: {\n shadow: {\n shadowColor: theme.actionCard.primary.default.shadow.color,\n shadowOffset: {\n width: theme.actionCard.primary.default.shadow.offsetX,\n height: theme.actionCard.primary.default.shadow.offsetY,\n },\n shadowOpacity: theme.actionCard.primary.default.shadow.opacity,\n shadowRadius: theme.actionCard.primary.default.shadow.radius,\n },\n },\n hovered: {\n shadow: {\n shadowColor: theme.actionCard.primary.hovered.shadow.color,\n shadowOffset: {\n width: theme.actionCard.primary.hovered.shadow.offsetX,\n height: theme.actionCard.primary.hovered.shadow.offsetY,\n },\n shadowOpacity: theme.actionCard.primary.hovered.shadow.opacity,\n shadowRadius: theme.actionCard.primary.hovered.shadow.radius,\n },\n },\n focused: {\n shadow: {\n shadowColor: theme.actionCard.primary.focused.shadow.color,\n shadowOffset: {\n width: theme.actionCard.primary.focused.shadow.offsetX,\n height: theme.actionCard.primary.focused.shadow.offsetY,\n },\n shadowOpacity: theme.actionCard.primary.focused.shadow.opacity,\n shadowRadius: theme.actionCard.primary.focused.shadow.radius,\n },\n },\n pressed: {\n shadow: {\n shadowColor: theme.actionCard.highlight.pressed.shadow.color,\n shadowOffset: {\n width: theme.actionCard.highlight.pressed.shadow.offsetX,\n height: theme.actionCard.highlight.pressed.shadow.offsetY,\n },\n shadowOpacity: theme.actionCard.highlight.pressed.shadow.opacity,\n shadowRadius: theme.actionCard.highlight.pressed.shadow.radius,\n },\n },\n },\n 'primary-border-soft': {\n default: {\n shadow: {\n shadowColor: theme.actionCard['primary-border-soft'].default.shadow.color,\n shadowOffset: {\n width: theme.actionCard['primary-border-soft'].default.shadow.offsetX,\n height: theme.actionCard['primary-border-soft'].default.shadow.offsetY,\n },\n shadowOpacity: theme.actionCard['primary-border-soft'].default.shadow.opacity,\n shadowRadius: theme.actionCard['primary-border-soft'].default.shadow.radius,\n },\n },\n hovered: {\n shadow: {\n shadowColor: theme.actionCard['primary-border-soft'].hovered.shadow.color,\n shadowOffset: {\n width: theme.actionCard['primary-border-soft'].hovered.shadow.offsetX,\n height: theme.actionCard['primary-border-soft'].hovered.shadow.offsetY,\n },\n shadowOpacity: theme.actionCard['primary-border-soft'].hovered.shadow.opacity,\n shadowRadius: theme.actionCard['primary-border-soft'].hovered.shadow.radius,\n },\n },\n focused: {\n shadow: {\n shadowColor: theme.actionCard['primary-border-soft'].focused.shadow.color,\n shadowOffset: {\n width: theme.actionCard['primary-border-soft'].focused.shadow.offsetX,\n height: theme.actionCard['primary-border-soft'].focused.shadow.offsetY,\n },\n shadowOpacity: theme.actionCard['primary-border-soft'].focused.shadow.opacity,\n shadowRadius: theme.actionCard['primary-border-soft'].focused.shadow.radius,\n },\n },\n pressed: {\n shadow: {\n shadowColor: theme.actionCard['primary-border-soft'].pressed.shadow.color,\n shadowOffset: {\n width: theme.actionCard['primary-border-soft'].pressed.shadow.offsetX,\n height: theme.actionCard['primary-border-soft'].pressed.shadow.offsetY,\n },\n shadowOpacity: theme.actionCard['primary-border-soft'].pressed.shadow.opacity,\n shadowRadius: theme.actionCard['primary-border-soft'].pressed.shadow.radius,\n },\n },\n },\n 'primary-border-hard': {\n default: {\n shadow: {\n shadowColor: theme.actionCard['primary-border-hard'].default.shadow.color,\n shadowOffset: {\n width: theme.actionCard['primary-border-hard'].default.shadow.offsetX,\n height: theme.actionCard['primary-border-hard'].default.shadow.offsetY,\n },\n shadowOpacity: theme.actionCard['primary-border-hard'].default.shadow.opacity,\n shadowRadius: theme.actionCard['primary-border-hard'].default.shadow.radius,\n },\n },\n hovered: {\n shadow: {\n shadowColor: theme.actionCard['primary-border-hard'].hovered.shadow.color,\n shadowOffset: {\n width: theme.actionCard['primary-border-hard'].hovered.shadow.offsetX,\n height: theme.actionCard['primary-border-hard'].hovered.shadow.offsetY,\n },\n shadowOpacity: theme.actionCard['primary-border-hard'].hovered.shadow.opacity,\n shadowRadius: theme.actionCard['primary-border-hard'].hovered.shadow.radius,\n },\n },\n focused: {\n shadow: {\n shadowColor: theme.actionCard['primary-border-hard'].focused.shadow.color,\n shadowOffset: {\n width: theme.actionCard['primary-border-hard'].focused.shadow.offsetX,\n height: theme.actionCard['primary-border-hard'].focused.shadow.offsetY,\n },\n shadowOpacity: theme.actionCard['primary-border-hard'].focused.shadow.opacity,\n shadowRadius: theme.actionCard['primary-border-hard'].focused.shadow.radius,\n },\n },\n pressed: {\n shadow: {\n shadowColor: theme.actionCard['primary-border-hard'].pressed.shadow.color,\n shadowOffset: {\n width: theme.actionCard['primary-border-hard'].pressed.shadow.offsetX,\n height: theme.actionCard['primary-border-hard'].pressed.shadow.offsetY,\n },\n shadowOpacity: theme.actionCard['primary-border-hard'].pressed.shadow.opacity,\n shadowRadius: theme.actionCard['primary-border-hard'].pressed.shadow.radius,\n },\n },\n },\n highlight: {\n default: {\n shadow: {\n shadowColor: theme.actionCard.highlight.default.shadow.color,\n shadowOffset: {\n width: theme.actionCard.highlight.default.shadow.offsetX,\n height: theme.actionCard.highlight.default.shadow.offsetY,\n },\n shadowOpacity: theme.actionCard.highlight.default.shadow.opacity,\n shadowRadius: theme.actionCard.highlight.default.shadow.radius,\n },\n },\n hovered: {\n shadow: {\n shadowColor: theme.actionCard.highlight.hovered.shadow.color,\n shadowOffset: {\n width: theme.actionCard.highlight.hovered.shadow.offsetX,\n height: theme.actionCard.highlight.hovered.shadow.offsetY,\n },\n shadowOpacity: theme.actionCard.highlight.hovered.shadow.opacity,\n shadowRadius: theme.actionCard.highlight.hovered.shadow.radius,\n },\n },\n focused: {\n shadow: {\n shadowColor: theme.actionCard.highlight.focused.shadow.color,\n shadowOffset: {\n width: theme.actionCard.highlight.focused.shadow.offsetX,\n height: theme.actionCard.highlight.focused.shadow.offsetY,\n },\n shadowOpacity: theme.actionCard.highlight.focused.shadow.opacity,\n shadowRadius: theme.actionCard.highlight.focused.shadow.radius,\n },\n },\n pressed: {\n shadow: {\n shadowColor: theme.actionCard.highlight.pressed.shadow.color,\n shadowOffset: {\n width: theme.actionCard.highlight.pressed.shadow.offsetX,\n height: theme.actionCard.highlight.pressed.shadow.offsetY,\n },\n shadowOpacity: theme.actionCard.highlight.pressed.shadow.opacity,\n shadowRadius: theme.actionCard.highlight.pressed.shadow.radius,\n },\n },\n },\n },\n cardModal: {\n shadow: {\n shadowColor: theme.cardModal.shadow.color,\n shadowOffset: { width: theme.cardModal.shadow.offsetX, height: theme.cardModal.shadow.offsetY },\n shadowOpacity: theme.cardModal.shadow.opacity,\n shadowRadius: theme.cardModal.shadow.radius,\n },\n },\n dialogModal: {\n shadow: {\n shadowColor: theme.dialogModal.shadow.color,\n shadowOffset: { width: theme.dialogModal.shadow.offsetX, height: theme.dialogModal.shadow.offsetY },\n shadowOpacity: theme.dialogModal.shadow.opacity,\n shadowRadius: theme.dialogModal.shadow.radius,\n },\n },\n },\n app: appTheme?.shadows,\n },\n\n opacity: {\n app: appTheme?.opacity,\n kitt: {\n tooltip: {\n opacity: theme.tooltip.opacity,\n },\n },\n },\n\n components: {\n Input: {\n baseStyle: {\n width: '100%',\n minHeight: theme.forms.input.minHeight,\n py: theme.forms.input.padding.vertical,\n px: theme.forms.input.padding.horizontal,\n borderRadius: theme.forms.input.borderRadius,\n _disabled: {\n opacity: 1, // override default native-base opacity\n },\n _light: {\n color: theme.forms.input.states.default.color,\n placeholderTextColor: theme.forms.input.color.placeholder,\n borderColor: theme.forms.input.states.default.borderColor,\n bg: theme.forms.input.states.default.backgroundColor,\n _hover: {\n borderColor: theme.forms.input.states.hover.borderColor,\n color: theme.forms.input.states.hover.color,\n _focus: {\n borderColor: theme.forms.input.states.focus.borderColor,\n color: theme.forms.input.states.focus.color,\n },\n },\n _focus: {\n borderColor: theme.forms.input.states.focus.borderColor,\n color: theme.forms.input.states.focus.color,\n _hover: {\n borderColor: theme.forms.input.states.focus.borderColor,\n color: theme.forms.input.states.focus.color,\n },\n _stack: {\n style: {\n outlineWidth: 0,\n boxShadow: 'none',\n },\n },\n _ios: {\n selectionColor: theme.forms.input.color.selection,\n },\n _android: {\n selectionColor: theme.forms.input.color.selection,\n },\n },\n _invalid: {\n borderColor: theme.forms.input.states.invalid.borderColor,\n color: theme.forms.input.states.invalid.color,\n _hover: {\n borderColor: theme.forms.input.states.hover.borderColor,\n color: theme.forms.input.states.hover.color,\n },\n },\n _ios: {\n selectionColor: theme.forms.input.color.selection,\n },\n _android: {\n selectionColor: theme.forms.input.color.selection,\n },\n _disabled: {\n placeholderTextColor: theme.forms.input.states.disabled.color,\n color: theme.forms.input.states.disabled.color,\n borderColor: theme.forms.input.states.disabled.borderColor,\n bg: theme.forms.input.states.disabled.backgroundColor,\n },\n },\n },\n variants: {\n outline: {\n borderWidth: theme.forms.input.borderWidth,\n _focus: {\n bg: theme.forms.input.states.default.backgroundColor,\n },\n },\n underlined: {},\n rounded: {},\n filled: {},\n unstyled: {},\n },\n },\n Text: {\n baseStyle: {\n _light: {\n color: 'kitt.typography.black',\n },\n _dark: {\n color: 'kitt.typography.white',\n },\n fontFamily:\n Platform.OS === 'web'\n ? theme.typography.types.bodies.fontFamily.web.regular\n : theme.typography.types.bodies.fontFamily.native.regular,\n fontStyle: theme.typography.types.bodies.fontStyle.regular,\n fontWeight: theme.typography.types.bodies.fontWeight.regular,\n fontSize: undefined,\n lineHeight: theme.typography.types.bodies.configs.body.baseAndSmall.lineHeight,\n },\n },\n },\n });\n\n return { ...extendedTheme, space: extendedTheme.space as typeof spaces.positive & typeof spaces.negative };\n}\n\ntype KittNativeBaseCustomTheme = ReturnType<typeof createKittNativeBaseCustomTheme>;\n\ndeclare module 'native-base' {\n interface ICustomTheme extends KittNativeBaseCustomTheme {}\n}\n\nexport interface KittNativeBaseProviderProps {\n /**\n * `theme` should come from `useKittTheme`\n */\n theme: KittTheme;\n isSSR: NativeBaseProviderProps['isSSR'];\n /**\n * `appTheme` is optional and provides extended theme configuration. It's a native-base representation of your application theme.\n * This variable must not change at each render\n */\n appTheme?: AppTheme;\n children: ReactNode;\n}\n\n/**\n * Provide theme to native-base\n *\n * `appTheme` is optional and provides extended theme configuration. This variable must not change at each render\n *\n * @exemple\n * ```tsx\n * const appTheme = {};\n * export function MyAppThemeProvider({ children }) {\n * const theme = useKittTheme();\n * return <KittNativeBaseProvider theme={theme} appTheme={appTheme}>{children}</KittNativeBaseProvider>\n * }\n * ```\n */\nexport function KittNativeBaseProvider({\n theme,\n isSSR,\n appTheme,\n children,\n}: KittNativeBaseProviderProps): ReactElement {\n const kittTheme = theme.kitt;\n\n const nativeBaseCustomTheme = useMemo(\n () => createKittNativeBaseCustomTheme(kittTheme, appTheme),\n [kittTheme, appTheme],\n );\n\n 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 { useBreakpointValue } from 'native-base';\nimport type { ReactElement } from 'react';\nimport { useEffect, useState } from 'react';\nimport type { CardModalAnimationProps } from '../CardModal/CardModalAnimation/CardModalAnimation';\nimport { CardModalAnimation } from '../CardModal/CardModalAnimation/CardModalAnimation';\nimport { CardModalScrollContainer } from '../CardModal/CardModalBehaviour';\nimport { FullscreenModalAnimation } from '../FullscreenModal/FullscreenModalAnimation';\nimport type { ModalBehaviourProps } from '../ModalBehaviour/ModalBehaviour';\nimport { ModalBehaviour } from '../ModalBehaviour/ModalBehaviour';\nimport type { ModalAnimationComponentProps } from '../ModalBehaviour/type';\n\ninterface SimpleContainerProps extends CardModalAnimationProps {}\n\nfunction SimpleContainer({ children }: SimpleContainerProps): ReactElement {\n return children as ReactElement;\n}\n\ntype AnimationComponentType = typeof CardModalAnimation | typeof FullscreenModalAnimation;\ntype CurrentContainerComponentType = typeof SimpleContainer | typeof CardModalScrollContainer;\n\nexport interface NavigationModalBehaviourProps extends ModalBehaviourProps, ModalAnimationComponentProps {\n onClose: () => void;\n}\n\nexport function NavigationModalBehaviour({\n children,\n visible,\n appear = true,\n onExited,\n onEnter,\n onExit,\n onClose,\n ...props\n}: NavigationModalBehaviourProps): ReactElement {\n const AnimationComponent: AnimationComponentType = useBreakpointValue({\n base: FullscreenModalAnimation,\n small: CardModalAnimation,\n });\n\n const CurrentContainerComponent: CurrentContainerComponentType = useBreakpointValue({\n base: SimpleContainer,\n small: CardModalScrollContainer,\n });\n\n const [isModalBehaviourVisible, setIsModalBehaviourVisible] = useState(visible);\n const [shouldAppear, setShouldAppear] = useState(appear);\n\n useEffect(() => {\n if (visible === true) {\n setIsModalBehaviourVisible(true);\n }\n }, [visible]);\n\n const handleExitAnimationDone = (): void => {\n if (onExited) onExited();\n setIsModalBehaviourVisible(false);\n };\n\n const handleEnter = (): void => {\n if (onEnter) onEnter();\n\n // Once a children as been displayed, we force appear to false in order to avoid replaying animation on breakpoint change\n setShouldAppear(false);\n };\n\n const handleExit = (): void => {\n if (onExit) onExit();\n\n // Reset appear value to its original value for future modal display\n setShouldAppear(appear);\n };\n\n return (\n <ModalBehaviour visible={isModalBehaviourVisible} onClose={onClose}>\n <CurrentContainerComponent bounces={false} contentContainerStyle={{ flexGrow: 1 }}>\n <AnimationComponent\n {...props}\n appear={shouldAppear}\n visible={visible}\n onEnter={handleEnter}\n onExit={handleExit}\n onExited={handleExitAnimationDone}\n onClose={onClose}\n >\n {children}\n </AnimationComponent>\n </CurrentContainerComponent>\n </ModalBehaviour>\n );\n}\n","import { useBreakpointValue } from 'native-base';\nimport type { ReactElement } 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 { NavigationModalBehaviour } from './NavigationModalBehaviour';\n\nexport interface NavigationModalProps extends FullscreenModalProps {}\n\nexport function NavigationModal({ body, backgroundColor, footer, header }: NavigationModalProps): ReactElement {\n const Component: typeof FullscreenModal | typeof CardModal = useBreakpointValue({\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): ReactElement {\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): ReactElement {\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): ReactElement {\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 { ReactElement } from 'react';\nimport { BaseMessage } from '../BaseMessage/BaseMessage';\nimport type { BaseMessageProps } from '../BaseMessage/BaseMessage';\n\nexport interface NotificationProps extends BaseMessageProps {\n /**\n * @deprecated use onDismiss instead\n */\n onDelete?: BaseMessageProps['onDismiss'];\n}\n\nexport function Notification({\n type,\n children,\n centeredText,\n insets,\n onDelete,\n onDismiss,\n}: NotificationProps): ReactElement {\n if (__DEV__) {\n if (onDelete) {\n throw new Error('onDelete is deprecated us onDismiss instead');\n }\n }\n\n return (\n <BaseMessage hasNoRadius type={type} centeredText={centeredText} insets={insets} onDismiss={onDismiss}>\n {children}\n </BaseMessage>\n );\n}\n","import type { ReactElement } from 'react';\nimport Animated, { useAnimatedProps } from 'react-native-reanimated';\nimport type { CircleProps } from 'react-native-svg';\nimport { Circle } from 'react-native-svg';\nimport { useTheme } from '../KittThemeContext';\n\nconst AnimatedCircle = Animated.createAnimatedComponent(Circle);\n\ninterface PageLoaderCircleProps {\n color: CircleProps['stroke'];\n progress: Animated.SharedValue<number>;\n}\n\nexport function AnimatedLoaderCircle({ color, progress }: PageLoaderCircleProps): ReactElement {\n const theme = useTheme();\n\n const { strokeWidth, size } = theme.kitt.pageLoader;\n\n const centerCoord = size * 0.5;\n const radius = centerCoord - strokeWidth;\n const circlePerimeter = 2 * Math.PI * (size * 0.5 - strokeWidth);\n\n const strokeAnimation = useAnimatedProps(() => {\n return {\n strokeDashoffset: circlePerimeter - circlePerimeter * progress.value,\n };\n });\n\n return (\n <AnimatedCircle\n transform-origin=\"center center\"\n strokeWidth={strokeWidth}\n stroke={color}\n strokeLinecap=\"round\"\n cx={centerCoord}\n cy={centerCoord}\n r={radius}\n fill=\"none\"\n strokeDasharray={circlePerimeter}\n animatedProps={strokeAnimation}\n />\n );\n}\n","import type { ReactElement } from 'react';\nimport { useEffect } from 'react';\nimport { Easing, useSharedValue, withDelay, withTiming } from 'react-native-reanimated';\nimport Svg from 'react-native-svg';\nimport { useTheme } from '../KittThemeContext';\nimport { AnimatedLoaderCircle } from './AnimatedLoaderCircle';\n\nexport function AnimatedBackgroundCircle(): ReactElement {\n const theme = useTheme();\n const progress = useSharedValue(0);\n\n const { animation, colors, size } = theme.kitt.pageLoader;\n\n useEffect(() => {\n const { delay, circleBackgroundFillDuration, fillEasingFunction } = animation;\n const [x1, y1, x2, y2] = fillEasingFunction;\n\n progress.value = withDelay(\n delay,\n withTiming(1, { duration: circleBackgroundFillDuration, easing: Easing.bezier(x1, y1, x2, y2) }),\n );\n }, [progress, animation]);\n\n return (\n <Svg width={size} height={size} viewBox={`0 0 ${size} ${size}`}>\n <AnimatedLoaderCircle color={colors.base} progress={progress} />\n </Svg>\n );\n}\n","import type { ReactElement, ReactNode } from 'react';\nimport { useEffect } from 'react';\nimport { StyleSheet } from 'react-native';\nimport Animated, {\n Easing,\n useAnimatedStyle,\n useSharedValue,\n withDelay,\n withRepeat,\n withTiming,\n} from 'react-native-reanimated';\nimport { useTheme } from '../KittThemeContext';\n\nconst isInfinitAnimation = -1;\n\ninterface AnimatedFillCircleContainerProps {\n children: NonNullable<ReactNode>;\n duration: number;\n}\n\nexport function AnimatedFillCircleContainer({ children, duration }: AnimatedFillCircleContainerProps): ReactElement {\n const theme = useTheme();\n const progress = useSharedValue(0);\n\n const { animation } = theme.kitt.pageLoader;\n\n useEffect(() => {\n const { delay } = animation;\n\n progress.value = withDelay(\n delay,\n withRepeat(withTiming(1, { duration, easing: Easing.linear }), isInfinitAnimation),\n );\n }, [progress, animation, duration]);\n\n const rotationStyles = useAnimatedStyle(() => {\n return {\n transform: [\n {\n rotate: `${360 * progress.value}deg`,\n },\n ],\n };\n });\n\n return <Animated.View style={[StyleSheet.absoluteFill, rotationStyles]}>{children}</Animated.View>;\n}\n","import type { ReactElement } from 'react';\nimport { useEffect } from 'react';\nimport { Easing, useSharedValue, withDelay, withRepeat, withTiming } from 'react-native-reanimated';\nimport Svg from 'react-native-svg';\nimport { useTheme } from '../KittThemeContext';\nimport { AnimatedFillCircleContainer } from './AnimatedFillCircleContainer';\nimport { AnimatedLoaderCircle } from './AnimatedLoaderCircle';\n\nconst isInfinitAnimation = -1;\nconst shouldReverse = true;\n\nexport function AnimatedFilledCircle(): ReactElement {\n const theme = useTheme();\n const progress = useSharedValue(0);\n\n const { size, animation, colors } = theme.kitt.pageLoader;\n\n useEffect(() => {\n const { delay, filledCircleFillDuration, fillEasingFunction } = animation;\n const [x1, y1, x2, y2] = fillEasingFunction;\n\n progress.value = withDelay(\n delay,\n withRepeat(\n withTiming(0.8, { duration: filledCircleFillDuration, easing: Easing.bezier(x1, y1, x2, y2) }),\n isInfinitAnimation,\n shouldReverse,\n ),\n );\n }, [progress, animation]);\n\n return (\n <AnimatedFillCircleContainer duration={animation.groupFilledCircleRotationDuration}>\n <AnimatedFillCircleContainer duration={animation.filledCircleRotationDuration}>\n <Svg width={size} height={size} viewBox={`0 0 ${size} ${size}`}>\n <AnimatedLoaderCircle color={colors.fill} progress={progress} />\n </Svg>\n </AnimatedFillCircleContainer>\n </AnimatedFillCircleContainer>\n );\n}\n","import type { ReactElement } from 'react';\nimport { View } from '../native-base/primitives';\nimport { AnimatedBackgroundCircle } from './AnimatedBackgroundCircle';\nimport { AnimatedFilledCircle } from './AnimatedFillCircle';\n\nexport type PageLoaderProps = Record<string, never>;\n\nexport function PageLoader(props: PageLoaderProps): ReactElement {\n const sharedTransformStyle = {\n style: {\n /* Needed to make the animation starting from the top of the circles */\n transform: [{ rotate: '90deg' }, { scale: -1 }],\n },\n };\n\n return (\n <View\n position=\"relative\"\n height=\"kitt.pageLoader.size\"\n width=\"kitt.pageLoader.size\"\n _ios={sharedTransformStyle}\n _android={sharedTransformStyle}\n >\n <AnimatedBackgroundCircle />\n <AnimatedFilledCircle />\n </View>\n );\n}\n","import type { PickerItemProps as NativePickerItemProps } from '@react-native-picker/picker';\nimport type { ReactElement } from 'react';\nimport { Pressable } from '../native-base/primitives';\nimport { Typography } from '../typography/Typography';\n\nexport interface PickerItemProps<T> extends Pick<NativePickerItemProps<T>, 'label'> {\n isSelected?: boolean;\n value: T;\n onPress?: (value: T) => void;\n}\n\n// This item is for Android only, iOS uses its own implementation and web is not supported yet\nexport function PickerItem<T>({ label, value, isSelected, onPress }: PickerItemProps<T>): ReactElement {\n const handelPress = (): void => {\n if (onPress) {\n onPress(value);\n }\n };\n\n return (\n <Pressable\n accessibilityRole=\"button\"\n accessibilityState={{\n selected: isSelected,\n }}\n backgroundColor={\n isSelected\n ? 'kitt.picker.android.item.selected.backgroundColor'\n : 'kitt.picker.android.item.default.backgroundColor'\n }\n paddingX=\"kitt.picker.android.horizontalPadding\"\n paddingY=\"kitt.picker.android.verticalPadding\"\n onPress={handelPress}\n >\n <Typography.Text base=\"body\" color={isSelected ? 'white' : undefined}>\n {label}\n </Typography.Text>\n </Pressable>\n );\n}\n","import { XIcon } from '@ornikar/kitt-icons';\nimport type { PickerItemProps as NativePickerItemProps } from '@react-native-picker/picker';\nimport { Picker as NativePicker } from '@react-native-picker/picker';\nimport { useSx } from 'native-base';\nimport type { ReactElement, ReactNode } from 'react';\nimport React, { cloneElement, useState } from 'react';\nimport { FormattedMessage } from 'react-intl';\nimport { Platform, ScrollView } from 'react-native';\nimport { Button } from '../Button/Button';\nimport { CardModal } from '../CardModal/CardModal';\nimport { IconButton } from '../IconButton/IconButton';\nimport { Typography } from '../typography/Typography';\nimport { useMediaQuery } from '../utils/windowSize/useMediaQuery';\nimport type { PickerItemProps } from './PickerItem';\nimport { PickerItem } from './PickerItem';\n\nexport interface PickerProps<T> {\n children: ReactNode;\n isVisible: boolean;\n title: ReactNode;\n initialValue: T;\n validateButtonLabel?: ReactNode;\n testID?: string;\n onValueSelected: (value: T) => void;\n onClose: () => void;\n}\n\nexport function Picker<T>({\n children,\n isVisible,\n title,\n initialValue,\n validateButtonLabel,\n testID,\n onValueSelected,\n onClose,\n}: PickerProps<T>): ReactElement {\n const sx = useSx();\n\n // Max height is based on base Modal sizes (which are not themified): padding (4*20*2) + footer (58) + header (58) + default iOS picker height (216)\n const [isMatchingMaxHeight] = useMediaQuery({\n maxHeight: 492,\n });\n\n const iosItemStyle = sx({\n fontSize: 'baseAndSmall.body',\n lineHeight: 'baseAndSmall.body',\n fontFamily: 'bodies.regular',\n color: 'kitt.typography.black-light',\n\n // As it is displayed in a modal, we must hard code an height to ensure that the picker doesn't bleed out of it\n // We can't set a percentage as it will be computed based on the page height\n height: isMatchingMaxHeight ? 'kitt.picker.ios.landscape.height' : 'kitt.picker.ios.default.height',\n });\n\n const getIosTextStyle = (isSelected: boolean) => {\n return sx({\n color: isSelected ? 'kitt.picker.ios.selected.color' : undefined,\n });\n };\n\n const [value, setValue] = useState<T>(initialValue);\n\n const handleValueSelected = (): void => {\n onValueSelected(value);\n\n onClose();\n };\n\n return (\n <CardModal.ModalBehaviour visible={isVisible} onClose={onClose}>\n <CardModal>\n <CardModal.Header right={<IconButton icon={<XIcon />} onPress={onClose} />}>\n <Typography.Text base=\"body\" variant=\"bold\">\n {title}\n </Typography.Text>\n </CardModal.Header>\n\n {Platform.OS === 'ios' ? (\n <NativePicker<T>\n testID={testID}\n selectedValue={value}\n itemStyle={iosItemStyle}\n onValueChange={(itemValue) => setValue(itemValue)}\n >\n {React.Children.map(children, (child) => {\n const item = child as ReactElement<NativePickerItemProps<T>>;\n\n // iOS Picker doesn't support a custom Item component, we need to override its props manually for the selected one\n return cloneElement(item, {\n color: getIosTextStyle(item.props.value === value).color,\n });\n })}\n </NativePicker>\n ) : (\n <ScrollView testID={testID}>\n {React.Children.map(children, (child) => {\n const item = child as ReactElement<PickerItemProps<T>>;\n\n return cloneElement(item, {\n onPress: (newValue: T) => setValue(newValue),\n isSelected: item.props.value === value,\n });\n })}\n </ScrollView>\n )}\n\n <CardModal.Footer>\n <Button stretch type=\"primary\" onPress={handleValueSelected}>\n {validateButtonLabel || <FormattedMessage defaultMessage=\"Valider\" id=\"kitt-universal.Picker.validate\" />}\n </Button>\n </CardModal.Footer>\n </CardModal>\n </CardModal.ModalBehaviour>\n );\n}\n\nPicker.Item = 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 { ReactElement } 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): ReactElement {\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 flex={1}\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 { LinearGradient } from 'expo-linear-gradient';\nimport type { ReactElement } from 'react';\nimport { useEffect } from 'react';\nimport { StyleSheet } from 'react-native';\nimport Animated, {\n Easing,\n interpolate,\n useAnimatedStyle,\n useSharedValue,\n withRepeat,\n withTiming,\n} from 'react-native-reanimated';\nimport { useTheme } from '../KittThemeContext';\nimport { View } from '../native-base/primitives';\n\ninterface SkeletonProps {\n isLoading?: boolean;\n width: number;\n}\n\nconst AnimatedLinearGradient = Animated.createAnimatedComponent(LinearGradient);\n\nexport function SkeletonContent({ isLoading, width }: SkeletonProps): ReactElement {\n const theme = useTheme();\n const sharedX = useSharedValue(0);\n\n useEffect(() => {\n if (isLoading) {\n sharedX.value = withRepeat(\n withTiming(1, { duration: theme.kitt.skeleton.animationDuration, easing: Easing.inOut(Easing.ease) }),\n -1,\n );\n }\n }, [sharedX, width, isLoading, theme]);\n\n const linearGradientStyle = useAnimatedStyle(() => {\n return {\n transform: [{ translateX: interpolate(sharedX.value, [0, 1], [-width, width]) }],\n };\n });\n\n return (\n <View\n height=\"100%\"\n width=\"100%\"\n backgroundColor=\"kitt.skeleton.backgroundColor\"\n borderColor=\"kitt.skeleton.flareColor\"\n >\n <AnimatedLinearGradient\n colors={[\n theme.kitt.skeleton.backgroundColor,\n theme.kitt.skeleton.flareColor,\n theme.kitt.skeleton.backgroundColor,\n ]}\n locations={[0.1, 0.5, 0.9]}\n start={{ x: 0, y: 0 }}\n end={{ x: 1, y: 0 }}\n style={[StyleSheet.absoluteFill, linearGradientStyle]}\n />\n </View>\n );\n}\n","import type { ReactElement } from 'react';\nimport { useState } from 'react';\nimport type { StyleProp, ViewStyle } from 'react-native';\nimport type { ViewProps } from '../native-base/primitives';\nimport { View } from '../native-base/primitives';\nimport { SkeletonContent } from './SkeletonContent';\n\nexport interface SkeletonProps extends Omit<ViewProps, 'onLayout'> {\n isLoading?: boolean;\n style?: StyleProp<ViewStyle>;\n}\n\nexport function Skeleton({ isLoading = false, style, ...props }: SkeletonProps): ReactElement {\n const [width, setWidth] = useState(0);\n\n return (\n <View {...props} overflow=\"hidden\" style={style} onLayout={({ nativeEvent }) => setWidth(nativeEvent.layout.width)}>\n <SkeletonContent isLoading={isLoading} width={width} />\n </View>\n );\n}\n\nexport interface BarSkeletonProps extends Omit<SkeletonProps, 'width' | 'height' | 'borderRadius'> {\n size?: number;\n}\n\nfunction Bar({ size, ...props }: BarSkeletonProps): ReactElement {\n const currentBorderRadius = size ? size * 0.5 : 'kitt.skeleton.shape.bar.borderRadius';\n\n return (\n <Skeleton\n {...props}\n width=\"100%\"\n height={size || 'kitt.skeleton.shape.bar.size'}\n borderRadius={currentBorderRadius}\n />\n );\n}\n\nexport interface CircleSkeletonProps extends Omit<SkeletonProps, 'width' | 'height' | 'borderRadius'> {\n size?: number;\n}\n\nfunction Circle({ size, ...props }: CircleSkeletonProps): ReactElement {\n const currentSize = size || 'kitt.skeleton.shape.circle.size';\n const currentBorderRadius = size ? size * 0.5 : 'kitt.skeleton.shape.circle.borderRadius';\n\n return <Skeleton {...props} width={currentSize} height={currentSize} borderRadius={currentBorderRadius} />;\n}\n\nexport interface SquareSkeletonProps extends Omit<SkeletonProps, 'width' | 'height' | 'borderRadius'> {\n size?: number;\n}\n\nfunction Square({ size, ...props }: SquareSkeletonProps): ReactElement {\n const currentSize = size || 'kitt.skeleton.shape.square.size';\n const currentBorderRadius = size ? size * 0.5 : 'kitt.skeleton.shape.square.borderRadius';\n\n return <Skeleton {...props} width={currentSize} height={currentSize} borderRadius={currentBorderRadius} />;\n}\n\nSkeleton.Bar = Bar;\nSkeleton.Circle = Circle;\nSkeleton.Square = Square;\n","export interface MapCenter {\n long: number;\n lat: number;\n zoom: number;\n}\n\nexport interface GetStaticMapImageUrlParams {\n mapId: string;\n apiToken: string;\n mapWidth: number;\n mapHeight: number;\n center: MapCenter;\n is2x?: boolean;\n}\n\nexport function getStaticMapImageUrl({\n mapId,\n apiToken,\n mapWidth,\n mapHeight,\n center,\n is2x,\n}: GetStaticMapImageUrlParams): string {\n const width = Math.round(mapWidth);\n const height = Math.round(mapHeight);\n\n const centerPart = `${center.long},${center.lat},${center.zoom}/`;\n\n const sizePart = `${width}x${height}`;\n\n const urlParts = [\n `https://api.mapbox.com/styles/v1/ornikar/${mapId}/static/`,\n centerPart,\n sizePart,\n is2x ? '@2x' : '',\n ];\n\n const mapImageUrl = new URL(urlParts.join(''));\n mapImageUrl.searchParams.append('access_token', apiToken);\n\n return mapImageUrl.toString();\n}\n","import { useEffect, useRef, useState } from 'react';\nimport { useKittMapConfig } from '../../KittMapConfigProvider/hooks/useKittMapConfig';\nimport type { GetStaticMapImageUrlParams } from '../utils/getStaticMapImageUrl';\nimport { getStaticMapImageUrl } from '../utils/getStaticMapImageUrl';\n\ninterface UseGetStaticMapImageUrlParams extends Omit<GetStaticMapImageUrlParams, 'mapId' | 'apiToken'> {\n forceMapId?: string;\n forceApiToken?: string;\n}\n\nexport function useGetStaticMapImageUrl({\n forceMapId,\n forceApiToken,\n mapWidth,\n mapHeight,\n center,\n is2x,\n}: UseGetStaticMapImageUrlParams): string {\n const { mapId, apiToken } = useKittMapConfig();\n const [currentUrl, setCurrentUrl] = useState<string>('');\n\n const currentMapIdRef = useRef(forceMapId || mapId);\n const currentApiTokenRef = useRef(forceApiToken || apiToken);\n\n useEffect(() => {\n const newUrl = getStaticMapImageUrl({\n center,\n is2x,\n mapHeight,\n mapWidth,\n mapId: currentMapIdRef.current,\n apiToken: currentApiTokenRef.current,\n });\n\n setCurrentUrl(newUrl);\n }, [mapHeight, mapWidth, center, is2x]);\n\n return currentUrl;\n}\n","import { RotateCCWIcon } from '@ornikar/kitt-icons';\nimport type { ReactElement } from 'react';\nimport { IconButton } from '../IconButton/IconButton';\nimport { View } from '../native-base/primitives';\n\ninterface StaticMapErrorProps {\n onReload?: () => void;\n}\n\nexport function StaticMapError({ onReload }: StaticMapErrorProps): ReactElement {\n return (\n <View alignItems=\"center\" justifyContent=\"center\" height=\"100%\" backgroundColor=\"kitt.separator\">\n <IconButton icon={<RotateCCWIcon />} onPress={onReload} />\n </View>\n );\n}\n","import type { ReactElement } from 'react';\nimport { Image } from '../native-base/primitives';\n\ninterface StaticMapImageProps {\n url: string;\n alt?: string;\n width: number;\n height: number;\n onLoadEnd?: () => void;\n onError?: () => void;\n}\n\nexport function StaticMapImage({ url, alt, width, height, onLoadEnd, onError }: StaticMapImageProps): ReactElement {\n return (\n <Image source={{ uri: url }} width={width} height={height} alt={alt} onError={onError} onLoadEnd={onLoadEnd} />\n );\n}\n","import type { ReactElement } from 'react';\nimport { Skeleton } from '../Skeleton/Skeleton';\nimport { View } from '../native-base/primitives';\n\nexport function StaticMapLoader(): ReactElement {\n return (\n <View alignItems=\"center\" justifyContent=\"center\" height=\"100%\">\n <Skeleton isLoading width=\"100%\" height=\"100%\" />\n </View>\n );\n}\n","import type { ReactElement } from 'react';\nimport { MapMarkerLarge, MapMarkerPosition, MapMarkerSimple } from '../MapMarker/MapMarker';\nimport { View } from '../native-base/primitives';\n\ntype MarkerVariant = 'large' | 'position' | 'simple';\n\ninterface MarkerProps {\n variant?: MarkerVariant;\n}\n\nfunction getMarkerPosition(variant: MarkerVariant): [{ translateX: number }, { translateY: number }] {\n if (variant === 'position') return [{ translateX: -2 }, { translateY: 8 }];\n\n if (variant === 'large') return [{ translateX: 8 }, { translateY: -20 }];\n\n return [{ translateX: 6 }, { translateY: -15 }];\n}\n\nexport function StaticMapMarker({ variant = 'simple' }: MarkerProps): ReactElement {\n return (\n <View position=\"absolute\" top=\"0\" left=\"0\" width=\"100%\" height=\"100%\">\n <View\n justifyContent=\"center\"\n alignItems=\"center\"\n height=\"100%\"\n style={{\n transform: getMarkerPosition(variant),\n }}\n >\n {variant === 'position' ? <MapMarkerPosition /> : null}\n {variant === 'large' ? <MapMarkerLarge /> : null}\n {variant === 'simple' ? <MapMarkerSimple /> : null}\n </View>\n </View>\n );\n}\n","export function getRangedWidthValue(nextWidth: number, maxValue: number): number {\n const rangedMapWidth = Math.max(1, Math.min(nextWidth, maxValue));\n\n return rangedMapWidth;\n}\n","import { PixelRatio } from 'react-native';\n\nexport function getShouldDisplay2x(): boolean {\n const currentDevicePixelRatio = PixelRatio.get();\n\n return currentDevicePixelRatio > 1;\n}\n","import type { ReactElement, ReactNode } from 'react';\nimport { useState } from 'react';\nimport type { LayoutChangeEvent } from 'react-native';\nimport type { ViewProps } from '../native-base/primitives';\nimport { View } from '../native-base/primitives';\nimport { StaticMapError } from './StaticMapError';\nimport { StaticMapImage } from './StaticMapImage';\nimport { StaticMapLoader } from './StaticMapLoader';\nimport { StaticMapMarker } from './StaticMapMarker';\nimport { useGetStaticMapImageUrl } from './hooks/useGetStaticMapImageUrl';\nimport { getRangedWidthValue } from './utils/getRangedWidthValue';\nimport { getShouldDisplay2x } from './utils/getShouldDisplay2x';\nimport type { MapCenter } from './utils/getStaticMapImageUrl';\n\nconst mapBoxMaxPictureWidth = 1280;\n\n// Mapbox requestable width for image is between 1 - 1280px\nfunction getPictureWidth(nextWidth: number): number {\n return getRangedWidthValue(nextWidth, mapBoxMaxPictureWidth);\n}\n\nexport interface StaticMapProps extends Omit<ViewProps, 'onLayout'> {\n width?: number;\n height: number;\n alt?: string;\n center: MapCenter;\n marker?: ReactNode;\n /**\n * Mapbox map id.\n * Only use this props if you want to use something different that the config in <KittMapConfigProvider />\n */\n mapId?: string;\n /**\n * Mapbox api access token.\n * Only use this props if you want to use something different that the config in <KittMapConfigProvider />\n */\n apiToken?: string;\n\n onLoaded?: () => void;\n onError?: () => void;\n}\n\nexport function StaticMap({\n width = 0,\n height,\n alt,\n apiToken,\n mapId,\n marker,\n center,\n onLoaded,\n onError,\n ...props\n}: StaticMapProps): ReactElement {\n const [currentWidth, setCurrentWidth] = useState(getPictureWidth(width));\n const [isLoading, setIsLoading] = useState(true);\n const [hasError, setHasError] = useState(false);\n const [currentMapKey, setCurrentMapKey] = useState(0);\n\n const shouldDisplay2xImage = getShouldDisplay2x();\n\n const mapUrl = useGetStaticMapImageUrl({\n forceApiToken: apiToken,\n forceMapId: mapId,\n mapWidth: currentWidth,\n mapHeight: height,\n center,\n is2x: shouldDisplay2xImage,\n });\n\n const handleParentLayout = (event: LayoutChangeEvent): void => {\n const { nativeEvent } = event;\n const rangedMapWidth = getPictureWidth(nativeEvent.layout.width);\n\n setCurrentWidth(rangedMapWidth);\n };\n\n const handleImageLoadEnd = (): void => {\n setIsLoading(false);\n\n if (onLoaded) onLoaded();\n };\n\n const handleError = (): void => {\n setHasError(true);\n\n if (onError) onError();\n };\n\n const handleReload = (): void => {\n setHasError(false);\n setIsLoading(true);\n setCurrentMapKey((prev) => prev + 1);\n };\n\n const shouldDisplayMarker = marker && !isLoading && !hasError;\n\n // Prevents requesting unusable image\n const shouldDisplayPicture = currentWidth > 1 && mapUrl;\n\n return (\n <View\n position=\"relative\"\n maxWidth={mapBoxMaxPictureWidth}\n height={height}\n onLayout={handleParentLayout}\n {...props}\n data-chromatic={process.env.KITT_MAP_CHROMATIC_IGNORE === 'true' ? 'ignore' : undefined}\n >\n {shouldDisplayPicture ? (\n <StaticMapImage\n key={`map-key-${currentMapKey}`}\n url={mapUrl}\n width={currentWidth}\n height={height}\n alt={alt}\n onLoadEnd={handleImageLoadEnd}\n onError={handleError}\n />\n ) : null}\n\n {shouldDisplayMarker ? (\n <View position=\"absolute\" top=\"0\" left=\"0\" width=\"100%\" height=\"100%\">\n {marker}\n </View>\n ) : null}\n\n {isLoading ? (\n <View position=\"absolute\" top=\"0\" left=\"0\" width=\"100%\" height=\"100%\">\n <StaticMapLoader />\n </View>\n ) : null}\n\n {hasError ? (\n <View position=\"absolute\" top=\"0\" left=\"0\" width=\"100%\" height=\"100%\">\n <StaticMapError onReload={handleReload} />\n </View>\n ) : null}\n </View>\n );\n}\n\nStaticMap.Image = StaticMapImage;\nStaticMap.Loader = StaticMapLoader;\nStaticMap.Error = StaticMapError;\nStaticMap.Marker = StaticMapMarker;\n","import type { ReactElement } 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): ReactElement {\n return <View {...props} flexDirection={direction} flexWrap={wrap} />;\n}\n","export const storyPadding = 'kitt.4';\n","import type { ReactElement, 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): ReactElement {\n const theme = useTheme();\n return (\n <View\n paddingTop=\"kitt.4\"\n paddingX={storyPadding}\n marginX={`-${storyPadding}`}\n background={getBackgroundColorFromBlockColor(theme, background)}\n >\n <StoryBlockColorContext.Provider value={getTypographyColorFromBlockColor(background)}>\n <StoryBlockBackgroundContext.Provider value={background}>{children}</StoryBlockBackgroundContext.Provider>\n </StoryBlockColorContext.Provider>\n </View>\n );\n}\n","import type { ReactElement, ReactNode } from 'react';\nimport { View } from '../native-base/primitives';\nimport { 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): ReactElement {\n return (\n <View marginBottom={30}>\n <Typography.Header1 variant=\"bold\" base=\"header1\" color={useStoryBlockColor(color)} numberOfLines={numberOfLines}>\n {children}\n </Typography.Header1>\n </View>\n );\n}\n\nfunction StoryTitleLevel2({ color, children, numberOfLines }: StoryTitleProps): ReactElement {\n return (\n <View marginBottom={30}>\n <Typography.Header2 variant=\"bold\" base=\"header2\" color={useStoryBlockColor(color)} numberOfLines={numberOfLines}>\n {children}\n </Typography.Header2>\n </View>\n );\n}\n\nStoryTitleLevel2.displayName = 'StoryTitle.Level2';\n\nfunction StoryTitleLevel3({ color, children, numberOfLines }: StoryTitleProps): ReactElement {\n return (\n <View marginBottom={10}>\n <Typography.Header3\n variant=\"bold\"\n base=\"header3\"\n medium=\"header4\"\n color={useStoryBlockColor(color)}\n numberOfLines={numberOfLines}\n >\n {children}\n </Typography.Header3>\n </View>\n );\n}\n\nStoryTitleLevel3.displayName = 'StoryTitle.Level3';\n\nfunction StoryTitleLevel4({ color, children, numberOfLines }: StoryTitleProps): ReactElement {\n return (\n <View marginBottom={10}>\n <Typography.Header4\n variant=\"bold\"\n base=\"header4\"\n medium=\"header5\"\n color={useStoryBlockColor(color)}\n numberOfLines={numberOfLines}\n >\n {children}\n </Typography.Header4>\n </View>\n );\n}\n\nStoryTitleLevel4.displayName = 'StoryTitle.Level3';\n\nStoryTitle.Level2 = StoryTitleLevel2;\nStoryTitle.Level3 = StoryTitleLevel3;\nStoryTitle.Level4 = StoryTitleLevel4;\n","import type { ReactElement, ReactNode } from 'react';\nimport type { ScrollViewProps } from '../native-base/primitives';\nimport { ScrollView } from '../native-base/primitives';\nimport { StoryTitle } from './StoryTitle';\nimport { storyPadding } from './theme';\n\nexport interface StoryProps {\n title: ReactNode;\n children: ReactNode;\n contentContainerStyle?: ScrollViewProps['contentContainerStyle'];\n}\n\nexport function Story({ title, contentContainerStyle, children }: StoryProps): ReactElement {\n return (\n <ScrollView padding={storyPadding} contentContainerStyle={contentContainerStyle}>\n <StoryTitle>{title}</StoryTitle>\n {children}\n </ScrollView>\n );\n}\n","import type { ReactElement, ReactNode } from 'react';\nimport type { Except } from 'type-fest';\nimport type { ViewProps } from '../native-base/primitives';\nimport { View } from '../native-base/primitives';\nimport { StoryTitle } from './StoryTitle';\n\nexport interface StorySectionProps extends Except<ViewProps, 'marginBottom'> {\n title: ReactNode;\n children: ReactNode;\n /** @private */\n internalIsDemoSection?: boolean;\n}\n\nexport function StorySection({ title, children, internalIsDemoSection, ...props }: StorySectionProps): ReactElement {\n if (title === 'Demo' && !internalIsDemoSection) throw new Error('Use StorySection.Demo instead');\n return (\n <View marginBottom=\"kitt.8\" {...props}>\n <StoryTitle.Level2>{title}</StoryTitle.Level2>\n {children}\n </View>\n );\n}\n\nfunction SubSection({ title, children, ...props }: StorySectionProps): ReactElement {\n return (\n <View marginBottom=\"kitt.4\" {...props}>\n <StoryTitle.Level3>{title}</StoryTitle.Level3>\n {children}\n </View>\n );\n}\n\nfunction BlockSection({ title, children, ...props }: StorySectionProps): ReactElement {\n return (\n <View marginBottom=\"kitt.4\" {...props}>\n <StoryTitle.Level4>{title}</StoryTitle.Level4>\n {children}\n </View>\n );\n}\n\nexport interface DemoSectionProps {\n children: ReactNode;\n}\n\nfunction DemoSection({ children }: DemoSectionProps): ReactElement {\n return (\n <View marginBottom=\"kitt.16\">\n <StorySection internalIsDemoSection title=\"Demo\">\n {children}\n </StorySection>\n </View>\n );\n}\n\nStorySection.SubSection = SubSection;\nStorySection.BlockSection = BlockSection;\n/** @deprecated use StorySection.Demo instead */\nStorySection.DemoSection = DemoSection;\nStorySection.Demo = DemoSection;\n\n/** @deprecated use StorySection instead */\nexport const DeprecatedSection = StorySection;\n","import type { ReactElement, ReactNode } from 'react';\nimport { StorySection } from './StorySection';\n\nexport interface StoryContainerProps {\n children: NonNullable<ReactNode>;\n state?: 'none' | 'active' | 'hover' | 'focus';\n platform?: 'all' | 'native' | 'web';\n title?: ReactNode;\n}\n\nexport function StoryContainer({\n children,\n title,\n state = 'none',\n platform = 'all',\n}: StoryContainerProps): ReactElement | null {\n if (platform === 'web') return null;\n\n return (\n <StorySection.BlockSection testID={state} title={title}>\n {children}\n </StorySection.BlockSection>\n );\n}\n","import type { DecoratorFunction } from '@storybook/addons';\nimport type { ReactElement } 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<ReactElement<unknown>> = (storyFn, context) => {\n return <StoryContainer title={context.name}>{storyFn()}</StoryContainer>;\n};\n","import type { ReactElement, ReactNode } from 'react';\nimport { Children } from 'react';\nimport { Platform } from 'react-native';\nimport type { TypographyProps } from '..';\nimport { View } from '../native-base/primitives';\nimport { StoryTitle } from './StoryTitle';\n\nexport interface StoryGridRowProps {\n children: NonNullable<ReactNode>;\n breakpoint?: 'small' | 'medium';\n}\n\nfunction StoryGridRow({ children, breakpoint = 'small' }: StoryGridRowProps): ReactElement {\n return (\n <View\n flexDirection={{ base: 'column', [breakpoint]: 'row' }}\n marginX={{ [breakpoint]: '-kitt.1' }}\n marginBottom={{ [breakpoint]: 'kitt.4' }}\n >\n {Children.map(children, (child) => (\n <View\n flexGrow={{ [breakpoint]: 1 }}\n flexBasis={{ [breakpoint]: 0 }}\n paddingTop={{ base: 'kitt.2', [breakpoint]: 0 }}\n paddingBottom={{ base: 'kitt.4', [breakpoint]: 0 }}\n marginX={{ [breakpoint]: 'kitt.2' }}\n >\n {child}\n </View>\n ))}\n </View>\n );\n}\n\nexport interface StoryGridColProps {\n children: NonNullable<ReactNode>;\n title?: string;\n titleColor?: TypographyProps['color'];\n platform?: 'all' | 'native' | 'web';\n}\n\nfunction StoryGridCol({ title, titleColor, children, platform = 'all' }: StoryGridColProps): ReactElement | null {\n const isNative = Platform.OS === 'ios' || Platform.OS === 'android';\n\n if (Platform.OS === 'web' && platform === 'native') {\n return null;\n }\n\n if (isNative && platform === 'web') {\n return null;\n }\n\n return (\n <>\n {title ? (\n <StoryTitle.Level4 numberOfLines={1} color={titleColor}>\n {title}\n </StoryTitle.Level4>\n ) : null}\n {children}\n </>\n );\n}\n\nexport const StoryGrid = {\n Row: StoryGridRow,\n Col: StoryGridCol,\n};\n","import type { ReactElement, ReactNode } from 'react';\nimport { View } from '../native-base/primitives';\nimport { Typography } from '../typography/Typography';\nimport type { TypographyColor } from '../typography/Typography';\n\nexport type TagType = 'primary' | 'default' | 'danger' | 'warn';\n\nexport type TagVariant = 'outline' | 'fill';\n\nexport interface TagProps {\n label: ReactNode;\n type?: TagType;\n variant?: TagVariant;\n}\n\nexport const getLabelColor = (type: TagType, variant: TagVariant): TypographyColor => {\n switch (type) {\n case 'danger': {\n return variant === 'outline' ? 'danger' : 'white';\n }\n case 'warn': {\n return variant === 'outline' ? 'warning' : 'black';\n }\n case 'primary': {\n return 'primary';\n }\n case 'default': {\n return 'black';\n }\n default: {\n return 'black';\n }\n }\n};\n\nexport function Tag({ label, type = 'default', variant = 'fill' }: TagProps): ReactElement {\n return (\n <View\n alignSelf=\"flex-start\"\n borderRadius=\"kitt.tag.borderRadius\"\n paddingX=\"kitt.tag.horizontalPadding\"\n paddingY=\"kitt.tag.verticalPadding\"\n backgroundColor={`kitt.tag.${type}.${variant}.backgroundColor`}\n borderColor={`kitt.tag.${type}.${variant}.borderColor`}\n borderWidth={`kitt.tag.${type}.${variant}.borderWidth`}\n >\n <Typography.Text base=\"body-xsmall\" color={getLabelColor(type, variant)}>\n {label}\n </Typography.Text>\n </View>\n );\n}\n","import { XIcon } from '@ornikar/kitt-icons';\nimport type { DateTimePickerEvent } from '@react-native-community/datetimepicker';\nimport DateTimePicker from '@react-native-community/datetimepicker';\nimport type { ReactElement, ReactNode } from 'react';\nimport { useState } from 'react';\nimport { FormattedMessage } from 'react-intl';\nimport { Platform } from 'react-native';\nimport type { ButtonProps } from '../Button/Button';\nimport { Button } from '../Button/Button';\nimport type { CardModalProps } from '../CardModal/CardModal';\nimport { CardModal } from '../CardModal/CardModal';\nimport { IconButton } from '../IconButton/IconButton';\n\ninterface ModalDateTimePickerProps {\n title?: ReactNode;\n visible?: boolean;\n value: Date;\n validateButtonLabel?: ButtonProps['children'];\n testID?: CardModalProps['testID'];\n pickerTestID?: string;\n onChange: (newDate: Date) => void;\n onClose: () => void;\n}\n\nexport function ModalDateTimePicker({\n title,\n visible,\n value,\n validateButtonLabel,\n testID,\n pickerTestID,\n onChange,\n onClose,\n}: ModalDateTimePickerProps): ReactElement {\n const [currentValue, setCurrentValue] = useState(value);\n\n // Prevent unsynced value between the modal and its parent state\n const handleClose = (): void => {\n setCurrentValue(value);\n onClose();\n };\n\n const handleSubmit = (): void => {\n onChange(currentValue);\n };\n\n const handleChange = (nextDate?: Date): void => {\n if (nextDate) setCurrentValue(nextDate);\n };\n\n const buttonContent = validateButtonLabel || (\n <FormattedMessage id=\"kitt-universal.ModalDateTimePicker.confirm\" defaultMessage=\"Valider\" />\n );\n\n return (\n <CardModal.ModalBehaviour visible={Boolean(visible)} onClose={handleClose}>\n <CardModal testID={testID}>\n {title ? (\n <CardModal.Header\n title={title}\n right={\n <IconButton testID=\"timePicker.ModalDateTimePicker.closeButton\" icon={<XIcon />} onPress={handleClose} />\n }\n />\n ) : null}\n\n <CardModal.Body>\n <DateTimePicker\n is24Hour\n testID={pickerTestID}\n value={currentValue}\n mode=\"time\"\n display={Platform.OS === 'ios' ? 'spinner' : 'default'}\n onChange={(event: DateTimePickerEvent, date?: Date) => handleChange(date)}\n />\n </CardModal.Body>\n <CardModal.Footer>\n <Button stretch testID=\"timePicker.ModalDateTimePicker.submitButton\" type=\"primary\" onPress={handleSubmit}>\n {buttonContent}\n </Button>\n </CardModal.Footer>\n </CardModal>\n </CardModal.ModalBehaviour>\n );\n}\n","function formatNumberToTimeString(time: number): string {\n return `${String(time).padStart(2, '0')}`;\n}\n\nexport function formatDateToTimeString(date: Date): string {\n return `${formatNumberToTimeString(date.getHours())}:${formatNumberToTimeString(date.getMinutes())}`;\n}\n","import type { InputUIState } from '../../forms/utils';\n\ninterface GetCurrentInternalForcedStateParams {\n isDisabled?: boolean;\n isFocusedInternal?: boolean;\n isPressedInternal?: boolean;\n isHoveredInternal?: boolean;\n}\n\nexport function 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","import type { ReactElement } from 'react';\nimport { InputText } from '../forms/InputText/InputText';\nimport type { PressableProps } from '../native-base/primitives';\nimport { Pressable, View } from '../native-base/primitives';\nimport type { ResponsiveValue } from '../utils/createResponsiveStyleFromProp/createResponsiveStyleFromProp';\nimport { createResponsiveStyleFromProp } from '../utils/createResponsiveStyleFromProp/createResponsiveStyleFromProp';\nimport { formatDateToTimeString } from './utils/formatDateToTimeString';\nimport { getCurrentInternalForcedState } from './utils/getCurrentInternalForcedState';\n\ninterface TimePickerPressableProps {\n testID?: PressableProps['testID'];\n disabled?: boolean;\n stretch?: ResponsiveValue<boolean | undefined>;\n value?: Date;\n placeholder?: string;\n /** @internal for story purpose */\n isHoveredInternal?: boolean;\n /** @internal for story purpose */\n isFocusedInternal?: boolean;\n /** @internal for story purpose */\n isPressedInternal?: boolean;\n onPress?: () => void;\n}\n\nexport function TimePickerPressable({\n testID,\n disabled,\n stretch,\n value,\n placeholder,\n isHoveredInternal,\n isFocusedInternal,\n isPressedInternal,\n onPress,\n}: TimePickerPressableProps): ReactElement {\n return (\n <Pressable\n testID={testID}\n disabled={disabled}\n accessibilityRole=\"button\"\n width={createResponsiveStyleFromProp(stretch, '100%', 'kitt.forms.timePicker.minWidth')}\n onPress={onPress}\n >\n {({ isHovered, isFocused, isPressed }) => (\n <View position=\"relative\">\n <InputText\n internalForceState={getCurrentInternalForcedState({\n isDisabled: disabled,\n isHoveredInternal: isHovered || isHoveredInternal,\n isFocusedInternal: isFocused || isFocusedInternal,\n isPressedInternal: isPressed || isPressedInternal,\n })}\n value={value ? formatDateToTimeString(value) : undefined}\n placeholder={placeholder}\n disabled={disabled}\n textAlign=\"center\"\n />\n <View position=\"absolute\" top=\"0\" left=\"0\" height=\"100%\" width=\"100%\" />\n </View>\n )}\n </Pressable>\n );\n}\n","import type { DateTimePickerEvent } from '@react-native-community/datetimepicker';\nimport DateTimePicker from '@react-native-community/datetimepicker';\nimport type { ReactElement, ReactNode } from 'react';\nimport { useState } from 'react';\nimport { Platform } from 'react-native';\nimport type { CardModalProps } from '../CardModal/CardModal';\nimport type { PressableProps } from '../native-base/primitives';\nimport type { ResponsiveValue } from '../utils/createResponsiveStyleFromProp/createResponsiveStyleFromProp';\nimport { ModalDateTimePicker } from './ModalDateTimePicker';\nimport { TimePickerPressable } from './TimePickerPressable';\n\nexport interface TimePickerProps {\n /** @descritpion title displayed in the CardModal that shows the native picker */\n title?: ReactNode;\n disabled?: boolean;\n value?: Date;\n validateButtonLabel?: string;\n placeholder?: string;\n stretch?: ResponsiveValue<boolean | undefined>;\n isDefaultVisible?: boolean;\n testID?: PressableProps['testID'];\n modalTestID?: CardModalProps['testID'];\n pickerTestID?: string;\n /** @internal for story purpose */\n isHoveredInternal?: boolean;\n /** @internal for story purpose */\n isFocusedInternal?: boolean;\n /** @internal for story purpose */\n isPressedInternal?: boolean;\n onChange?: (nextDate: Date | undefined) => void;\n onBlur?: () => void;\n}\n\nexport function TimePicker({\n title,\n disabled = false,\n stretch,\n value,\n validateButtonLabel,\n isDefaultVisible,\n placeholder = '--:--',\n testID,\n modalTestID,\n pickerTestID = 'timePicker.ModalDateTimePicker.dateTimeNativePicker',\n isHoveredInternal,\n isFocusedInternal,\n isPressedInternal,\n onChange,\n onBlur,\n}: TimePickerProps): ReactElement {\n const [currentValue, setCurrentValue] = useState<Date | undefined>(value);\n const [isPickerVisible, setIsPickerVisible] = useState(isDefaultVisible);\n\n const handleClose = (): void => {\n setIsPickerVisible(false);\n };\n\n const handleChange = (nextDate?: Date | undefined): void => {\n setCurrentValue(nextDate);\n setIsPickerVisible(false);\n\n if (onChange) onChange(nextDate);\n\n if (onBlur) onBlur();\n };\n\n const handlePress = (): void => {\n setIsPickerVisible(true);\n };\n\n const pickerValue = currentValue || new Date();\n\n return (\n <>\n <TimePickerPressable\n testID={testID}\n disabled={disabled}\n stretch={stretch}\n value={currentValue}\n placeholder={placeholder}\n isHoveredInternal={isHoveredInternal}\n isFocusedInternal={isFocusedInternal}\n isPressedInternal={isPressedInternal}\n onPress={handlePress}\n />\n\n {Platform.OS === 'android' && isPickerVisible ? (\n <DateTimePicker\n is24Hour\n testID={pickerTestID}\n value={pickerValue}\n mode=\"time\"\n display=\"default\"\n onChange={(event: DateTimePickerEvent, date?: Date) => handleChange(date)}\n />\n ) : null}\n\n {Platform.OS !== 'android' ? (\n <ModalDateTimePicker\n visible={isPickerVisible}\n title={title}\n testID={modalTestID}\n pickerTestID={pickerTestID}\n value={pickerValue}\n validateButtonLabel={validateButtonLabel}\n onChange={handleChange}\n onClose={handleClose}\n />\n ) : null}\n </>\n );\n}\n","import { TooltipArrowIcon } from '@ornikar/kitt-icons';\nimport 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';\n\nexport interface ArrowProps {\n position: TooltipPosition;\n top?: number;\n left?: number;\n display?: ViewProps['display'];\n}\n\nexport const Arrow = forwardRef<typeof View, ArrowProps>(\n ({ position, top, left, display }: ArrowProps, ref): ReactElement => {\n const theme = useTheme();\n\n const transformStyle = [\n {\n rotate: position === 'bottom' ? '180deg' : '0deg',\n },\n ];\n\n return (\n <View\n ref={ref}\n display={display || { base: 'none', small: 'flex' }}\n width=\"kitt.tooltip.arrow.width\"\n height=\"kitt.tooltip.arrow.height\"\n left={left}\n top={top}\n style={{\n transform: transformStyle,\n }}\n >\n <TooltipArrowIcon color={theme.kitt.tooltip.backgroundColor} opacity={theme.kitt.tooltip.opacity} />\n </View>\n );\n },\n);\n","import type { ReactElement, ReactNode } from 'react';\nimport { View } from '../native-base/primitives';\nimport { Typography } from '../typography/Typography';\n\ninterface TooltipContentProps {\n children: ReactNode;\n}\n\nexport function TooltipContent({ children }: TooltipContentProps): ReactElement {\n return (\n <View\n backgroundColor=\"kitt.tooltip.backgroundColor\"\n borderRadius=\"kitt.tooltip.borderRadius\"\n opacity=\"kitt.tooltip.opacity\"\n paddingY=\"kitt.tooltip.verticalPadding\"\n paddingX=\"kitt.tooltip.horizontalPadding\"\n >\n <Typography.Text base=\"body-small\" color=\"white-light\">\n {children}\n </Typography.Text>\n </View>\n );\n}\n","import { useEffect, useState } from 'react';\nimport { useWindowDimensions } from 'react-native';\n\ninterface CustomShiftParams {\n tooltipX: number;\n refPageX: number;\n refWidth: number;\n floatingWidth: number;\n wWidth: number;\n}\n// HG 08/11/2022\n// At the moment `shift` from `@floating-ui/react-native` does not work properly\nexport function customShift({ tooltipX, refPageX, refWidth, floatingWidth, wWidth }: CustomShiftParams): {\n left?: number;\n right?: number;\n} {\n const refCenterOnScreen = refPageX + refWidth * 0.5;\n const halfFloatingWith = floatingWidth * 0.5;\n\n // Left collisions\n if (refCenterOnScreen - halfFloatingWith < 0) {\n return {\n left: 0,\n right: undefined,\n };\n }\n\n // Right collisions\n if (refCenterOnScreen + halfFloatingWith > wWidth) {\n return {\n left: undefined,\n right: 0,\n };\n }\n\n // No collisions\n return {\n left: tooltipX,\n right: undefined,\n };\n}\n\ninterface UseCustomShiftParams {\n tooltipX: number;\n pressableRect?: {\n pageX: number;\n width: number;\n };\n floatingWidth?: number;\n}\n\nexport function useCustomShift({ tooltipX, pressableRect, floatingWidth }: UseCustomShiftParams): {\n left?: number;\n right?: number;\n} {\n const windowDimensions = useWindowDimensions();\n const [customShiftData, setCustomShiftData] = useState<{ left?: number; right?: number }>({\n left: undefined,\n right: undefined,\n });\n\n useEffect(() => {\n if (tooltipX === undefined || !pressableRect || floatingWidth === undefined) return;\n\n const res = customShift({\n tooltipX,\n refPageX: pressableRect.pageX,\n refWidth: pressableRect.width,\n wWidth: windowDimensions.width,\n floatingWidth,\n });\n\n setCustomShiftData(res);\n }, [floatingWidth, tooltipX, windowDimensions, pressableRect]);\n\n return customShiftData;\n}\n","import type { MiddlewareData, Placement } from '@floating-ui/react-native';\nimport { autoPlacement, offset, useFloating } from '@floating-ui/react-native';\nimport type { ReactElement, ReactNode, RefObject } from 'react';\nimport { useCallback, useEffect, useRef, useState } from 'react';\nimport Animated, { useAnimatedStyle, useSharedValue, withSpring } from 'react-native-reanimated';\nimport { useTheme } from '../KittThemeContext';\nimport { Pressable, View } from '../native-base/primitives';\nimport { Arrow } from './Arrow';\nimport { TooltipContent } from './TooltipContent';\nimport { useCustomShift } from './hooks/useCustomShift';\n\nexport type TooltipPosition = 'bottom' | 'top';\nexport type WebFloatingPosition = 'fixed' | 'absolute';\n\nexport interface UpdateCallbackParams {\n x: number;\n y: number;\n placement: Placement;\n strategy: string;\n refs: {\n reference: RefObject<any>;\n floating: RefObject<any>;\n offsetParent?: RefObject<any>;\n };\n middlewareData: MiddlewareData;\n update: () => void;\n}\n\ntype OnUpdateCallback = (params: UpdateCallbackParams) => void;\n\nexport interface TooltipProps {\n children: NonNullable<ReactNode>;\n content: NonNullable<ReactNode>;\n floatingPadding?: number;\n position?: TooltipPosition;\n zIndex?: number;\n fullWidth?: boolean;\n /**\n * @description\n * This value init the internal visibile state of the tooltip. This is mainly used for testing purpose.\n */\n defaultVisible?: boolean;\n /**\n * @default absolute\n * @description\n * Specific position strategy to apply to the tooltip.\n * Might be usefull when dealing with edge case (see https://floating-ui.com/docs/misc#z-index-stacking).\n */\n floatingStrategy?: {\n web: WebFloatingPosition;\n };\n onToggle?: (isVisible: boolean) => void;\n onUpdate?: OnUpdateCallback;\n}\n\n// eslint-disable-next-line unicorn/expiring-todo-comments\n// TODO : update position on scroll in future iteration\nexport function Tooltip({\n children,\n defaultVisible,\n position = 'top',\n content,\n floatingPadding,\n zIndex = 1000,\n fullWidth,\n onUpdate,\n onToggle,\n}: TooltipProps): ReactElement {\n const theme = useTheme();\n const currentFloatingPadding = floatingPadding || theme.kitt.tooltip.floatingPadding;\n\n const [floatingWidth, setFloatingWidth] = useState<number | undefined>(undefined);\n const pressableRectRef = useRef<{ width: number; pageX: number } | undefined>(undefined);\n\n const pressed = useSharedValue(defaultVisible);\n\n const animatedStyles = useAnimatedStyle(() => {\n return {\n opacity: withSpring(pressed.value ? theme.kitt.tooltip.opacity : 0),\n transform: [\n {\n scale: withSpring(pressed.value ? 1 : 0.8),\n },\n ],\n };\n });\n\n const { x, y, reference, floating, update, refs, middlewareData, strategy, placement } = useFloating({\n placement: position,\n middleware: [\n // Order matters\n offset(currentFloatingPadding),\n // shift() => shift is replaced by customShift\n autoPlacement({\n allowedPlacements: ['top', 'bottom'],\n padding: currentFloatingPadding,\n }),\n // arrow is not reliable enough for implementation\n // arrow({ element: arrowRef }),\n ],\n });\n\n const tooltipY = Math.round(y ?? 0);\n const tooltipX = Math.round(x ?? 0);\n\n useEffect(() => {\n if (!onUpdate) return;\n onUpdate({\n x: tooltipX,\n y: tooltipY,\n placement,\n strategy,\n update,\n refs,\n middlewareData,\n });\n }, [tooltipX, tooltipY, placement, strategy, update, refs, middlewareData, onUpdate]);\n\n const getPressableRect = useCallback(\n (element: any) => {\n if (element) {\n element.measure((_x: number, _y: number, width: number, _h: number, pageX: number) => {\n pressableRectRef.current = { width, pageX };\n });\n }\n },\n [pressableRectRef],\n );\n\n const customShiftData = useCustomShift({ tooltipX, pressableRect: pressableRectRef.current, floatingWidth });\n\n const handlePress = (): void => {\n if (onToggle) onToggle(!!pressed.value);\n pressed.value = !pressed.value;\n };\n\n return (\n <View position=\"relative\">\n <View ref={reference}>\n <Pressable ref={getPressableRect} accessibilityRole=\"button\" onPress={handlePress}>\n {children}\n </Pressable>\n </View>\n\n <View\n ref={floating}\n accessibilityElementsHidden={!pressed.value}\n importantForAccessibility={pressed.value === true ? 'auto' : 'no-hide-descendants'}\n position=\"absolute\"\n maxWidth={fullWidth ? undefined : { base: '100%', small: 'kitt.tooltip.maxWidth' }}\n top={tooltipY}\n left={customShiftData.left}\n right={customShiftData.right}\n onLayout={({ nativeEvent }) => setFloatingWidth(nativeEvent.layout.width)}\n >\n <Animated.View style={[animatedStyles]}>\n <TooltipContent>{content}</TooltipContent>\n </Animated.View>\n </View>\n </View>\n );\n}\n\nTooltip.Arrow = Arrow;\nTooltip.Content = TooltipContent;\n","import type { ReactElement } from 'react';\nimport { useMemo } from 'react';\nimport type { 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 { isTypographyHeader } from './utils/isTypographyHeader';\n\nfunction getTypographyTypeConfig(type: TypographyType, theme: KittThemeContextValue): TypographyTypeConfig {\n if (isTypographyHeader(type, undefined)) {\n return theme.kitt.typography.types.headers.configs[type];\n }\n\n return theme.kitt.typography.types.bodies.configs[type];\n}\n\ninterface Sizes {\n size: EmojiProps['size'];\n marginLeft: NonNullable<EmojiProps['_web']>['marginLeft'];\n marginRight: NonNullable<EmojiProps['_web']>['marginRight'];\n}\n\nfunction calcSizesFromType(type: TypographyBreakpointType, theme: 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): ReactElement {\n const theme = useTheme();\n const { base, small, medium, large, wide } = type;\n const { size, marginLeft, marginRight } = useMemo(\n () => calcSizesFromType({ base, small, medium, large, wide }, theme),\n [base, small, medium, large, wide, theme],\n );\n\n return (\n <Emoji\n size={size}\n emoji={emoji}\n alignSelf=\"center\"\n _web={{\n // @ts-expect-error -- transform expects number, but string works on web\n style: {\n transform: 'translateY(20%)',\n },\n /* Style Twemoji: https://github.com/twitter/twemoji#inline-styles */\n marginLeft,\n marginRight,\n }}\n />\n );\n}\n","import type { ComponentProps, ElementType, ReactElement, ReactNode } from 'react';\nimport { Platform } from 'react-native';\n\nexport interface StyleWebWrapperProps<T extends ElementType> {\n as: T;\n children: ReactNode;\n}\n\nexport function StyleWebWrapper<T extends ElementType = 'div'>({\n as,\n children,\n ...props\n}: StyleWebWrapperProps<T> & ComponentProps<T>): ReactElement {\n if (Platform.OS !== 'web') return children as ReactElement;\n const Component: T = as || ('div' as T); // as or default to div. If as is undefined, T is div but typescript is not sure\n return <Component {...(props as any)}>{children}</Component>;\n}\n","import { styled as styledLinaria } from '@linaria/react';\nimport type { ReactElement, ReactNode } from 'react';\nimport type { TextProps } from 'react-native';\nimport type { Except } from 'type-fest';\nimport { StyleWebWrapper } from '../utils/StyleWebWrapper';\nimport type { TypographyPropsWithoutRole } from './Typography';\nimport { Typography } from './Typography';\n\ninterface TypographyLinkWebWrapperProps {\n $hasNoUnderline?: boolean;\n}\n\n// overrides :global(a) in Link styles.module.css\nconst TypographyLinkWebWrapper = styledLinaria.span<TypographyLinkWebWrapperProps>`\n & > * {\n text-decoration: ${({ $hasNoUnderline }) => ($hasNoUnderline ? 'none' : 'underline')}\n }\n\n & > *:hover,\n & > *:active,\n .kitt-hover & > * {\n text-decoration: ${({ $hasNoUnderline }) => ($hasNoUnderline ? 'underline' : 'none')}\n }\n`;\n\nexport interface TypographyLinkProps extends Except<TypographyPropsWithoutRole, 'children'> {\n children: NonNullable<ReactNode>;\n disabled?: boolean;\n noUnderline?: boolean;\n variant: NonNullable<TypographyPropsWithoutRole['variant']>;\n href?: TextProps['href'];\n hrefAttrs?: TextProps['hrefAttrs'];\n onPress?: TextProps['onPress'];\n}\n\nexport function TypographyLink({\n children,\n disabled,\n noUnderline,\n href,\n hrefAttrs,\n onPress,\n ...otherProps\n}: TypographyLinkProps): ReactElement {\n return (\n <StyleWebWrapper as={TypographyLinkWebWrapper} $hasNoUnderline={noUnderline}>\n <Typography\n underline={!noUnderline}\n color={disabled ? 'black-disabled' : undefined}\n href={href}\n hrefAttrs={hrefAttrs}\n accessibilityRole=\"link\"\n dataSet={{\n // remove data-kitt-universal when we delete kitt web. See :global(a) in Link styles.module.css\n 'kitt-universal': 'true',\n }}\n _web={{\n cursor: disabled ? 'not-allowed' : 'pointer',\n transitionProperty: 'color',\n transitionDuration: '0.2s',\n transitionTimingFunction: 'ease-in-out',\n }}\n // TODO[native-base@>=3.4.19] this currently does not work. Retest when updating native-base.\n // _active={{\n // underline: !!noUnderline,\n // }}\n // _hover={{\n // underline: !!noUnderline,\n // }}\n onPress={disabled ? undefined : onPress}\n {...otherProps}\n >\n {children}\n </Typography>\n </StyleWebWrapper>\n );\n}\n","// eslint-disable-next-line no-restricted-imports\nimport type { FlattenSimpleInterpolation } from 'styled-components';\nimport type { MatchWindowSizeOptions } from './useMatchWindowSize';\nimport { matchWindowSize } from './useMatchWindowSize';\n\nexport interface WindowSizeHelper {\n /**\n * @deprecated use native-base responsive props or `useBreakpointValue` or `useMatchWindowSize` instead\n *\n * Prefer using if or map variants, at it should be more web friendly\n * */\n matchWindowSize: (options: MatchWindowSizeOptions) => boolean;\n\n /**\n * @deprecated use native-base responsive props or `useBreakpointValue` or `useMatchWindowSize` instead\n *\n * @example\n * ```typescript\n * const Container = styled.View`\n * ${({ theme }) =>\n * theme.responsive.ifWindowSizeMatches(\n * { minWidth: KittBreakpoints.SMALL },\n * 'padding: 5px 0 10px;'\n * )\n * )};\n * `;\n * ```\n */\n ifWindowSizeMatches: <T extends string | FlattenSimpleInterpolation | null>(\n options: MatchWindowSizeOptions,\n valueIfTrue: T,\n valueIfFalse?: T,\n ) => T | undefined;\n\n /**\n *\n * @deprecated use native-base responsive props or `useBreakpointValue` or `useMatchWindowSize` instead\n *\n * @example\n * ```typescript\n * const Container = styled.View`\n * ${({ theme }) =>\n * theme.responsive.mapWindowWidth(\n * [KittBreakpoints.BASE, 'padding: 5px 0 10px;'],\n * [KittBreakpoints.SMALL, 'padding: 10px 0;'],\n * )\n * )};\n * `;\n * ```\n */\n mapWindowWidth: <V extends string>(...widthList: [number, V][]) => V | null;\n}\n\nexport interface WindowDimensions {\n width?: number;\n height?: number;\n}\n\n/** @deprecated use native-base responsive props or `useBreakpointValue` or `useMatchWindowSize` instead */\nexport function createWindowSizeHelper(dimensions: WindowDimensions): WindowSizeHelper {\n return {\n matchWindowSize: (options) => matchWindowSize(dimensions, options),\n\n ifWindowSizeMatches: (options, valueIfTrue, valueIfFalse) =>\n matchWindowSize(dimensions, options) ? valueIfTrue : valueIfFalse,\n\n mapWindowWidth: <V extends string>(...widthList: [number, V][]): V | null => {\n if (__DEV__) {\n widthList.slice(1).forEach(([minWidth], index) => {\n const previousMinWidth = widthList[index][0];\n if (previousMinWidth > minWidth) {\n throw new Error(\n `mapWindowWidth: sort your values to be mobile first. ${minWidth} is < ${previousMinWidth}, so ${minWidth} should be before ${previousMinWidth}.`,\n );\n }\n });\n }\n const found = widthList.find(([minWidth, value]) => matchWindowSize(dimensions, { minWidth: Number(minWidth) }));\n if (!found) return null;\n return found[1];\n },\n };\n}\n","import { useMemo } from 'react';\nimport type { Theme } from './themes/default';\nimport { theme as kittTheme } from './themes/default';\nimport type { WindowSizeHelper } from './utils/windowSize/createWindowSizeHelper';\nimport { createWindowSizeHelper } from './utils/windowSize/createWindowSizeHelper';\nimport { useWindowSize } from './utils/windowSize/useWindowSize';\n\nexport interface KittTheme {\n kitt: Theme;\n /** @deprecated responsive is not SSR friendly and will be remove soon. Please use native-base breakpoints instead. */\n responsive: WindowSizeHelper;\n}\n\nexport function useKittTheme(): KittTheme {\n const dimensions = useWindowSize();\n return useMemo(() => {\n return { kitt: kittTheme, responsive: createWindowSizeHelper(dimensions) };\n }, [dimensions]);\n}\n","import { makeDecorator } from '@storybook/addons';\nimport type { ReactElement, ReactNode } from 'react';\nimport { ThemeProvider } from 'styled-components/native';\nimport type { AppTheme, KittNativeBaseProviderProps } from '../../native-base/KittNativeBaseProvider';\nimport { KittNativeBaseProvider } from '../../native-base/KittNativeBaseProvider';\nimport type { KittTheme } from '../../useKittTheme';\nimport { useKittTheme } from '../../useKittTheme';\n\ndeclare module 'styled-components' {\n export interface DefaultTheme extends KittTheme {}\n}\n\ninterface KittThemeProviderProps {\n appTheme?: AppTheme;\n isSSR?: KittNativeBaseProviderProps['isSSR'];\n children: ReactNode;\n}\n\nexport function KittThemeProvider({ isSSR, children, appTheme }: KittThemeProviderProps): ReactElement {\n const theme = useKittTheme();\n return (\n <ThemeProvider theme={theme}>\n <KittNativeBaseProvider theme={theme} isSSR={isSSR} appTheme={appTheme}>\n {children}\n </KittNativeBaseProvider>\n </ThemeProvider>\n );\n}\n\nexport const KittThemeDecorator = makeDecorator({\n name: 'ThemeDecorator',\n parameterName: 'theme',\n wrapper: (storyFn, context, { options = {}, parameters = {} }) => {\n return (\n <KittThemeProvider isSSR={parameters.isSSR ?? (options as any).isSSR}>\n {storyFn(context) as ReactNode}\n </KittThemeProvider>\n );\n },\n});\n","import type { ReactElement, ReactNode } from 'react';\nimport type { MatchWindowSizeOptions } from './useMatchWindowSize';\nimport { useMatchWindowSize } from './useMatchWindowSize';\n\ninterface MatchWindowSizeProps extends MatchWindowSizeOptions {\n children: ReactNode;\n}\n\n/**\n * Display children if match window size options\n *\n * WARNING: Not SSR friendly.\n */\nexport function MatchWindowSize({ children, ...matchWindowSizeOptions }: MatchWindowSizeProps): ReactElement | null {\n const match = useMatchWindowSize(matchWindowSizeOptions);\n if (!match) return null;\n return children as ReactElement;\n}\n","import { useBreakpointValue } from 'native-base';\nimport { KittBreakpointNameEnum } from '../../KittBreakpoints';\n\nexport function useCurrentBreakpointName(): KittBreakpointNameEnum {\n return useBreakpointValue({\n base: KittBreakpointNameEnum.BASE,\n small: KittBreakpointNameEnum.SMALL,\n medium: KittBreakpointNameEnum.MEDIUM,\n large: KittBreakpointNameEnum.LARGE,\n wide: KittBreakpointNameEnum.WIDE,\n });\n}\n","import type { ComponentType, ForwardRefExoticComponent, PropsWithoutRef, RefAttributes } from 'react';\nimport { forwardRef } from 'react';\nimport type { DefaultTheme } from 'styled-components/native';\nimport type { Except } from 'type-fest';\nimport { useTheme } from '../KittThemeContext';\n\n// type $Without<T, K extends keyof any> = T extends any ? Pick<T, Exclude<keyof T, K>> : never;\n// type $DeepPartial<T> = { [P in keyof T]?: $DeepPartial<T[P]> };\n\n// export function withTheme<Props extends { theme: DefaultTheme }, C>(\n// WrappedComponent: ComponentType<Props> & C,\n// ): ComponentType<SetOptional<Props, 'theme'>> & hoistNonReactStatics.NonReactStatics<typeof WrappedComponent> {\n// return function ThemedComponent(props) {\n// const theme = useTheme();\n\n// return (<WrappedComponent theme={theme} {...(props as any)} />) as any;\n// };\n// }\n\nexport function withTheme<Props extends { theme: DefaultTheme }, T>(\n WrappedComponent: ComponentType<Props>,\n): ForwardRefExoticComponent<PropsWithoutRef<Except<Props, 'theme'>> & RefAttributes<T>> {\n // eslint-disable-next-line prefer-arrow-callback\n return forwardRef<T, Except<Props, 'theme'>>(function ThemedComponent(props, ref) {\n const theme = useTheme();\n\n return <WrappedComponent ref={ref} theme={theme} {...(props as any)} />;\n });\n}\n","import { CheckIcon } from '@ornikar/kitt-icons';\nimport type { ReactElement } 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): ReactElement {\n if (state === 'done') {\n return <TypographyIcon icon={<CheckIcon />} color=\"kitt.verticalSteps.done.icon.textColor\" />;\n }\n\n if (state === 'active') {\n return (\n <Typography.Text textAlign=\"center\" variant=\"bold\" color=\"kitt.verticalSteps.active.icon.textColor\">\n {index + 1}\n </Typography.Text>\n );\n }\n\n return (\n <Typography.Text textAlign=\"center\" variant=\"bold\" color=\"kitt.verticalSteps.default.icon.textColor\">\n {index + 1}\n </Typography.Text>\n );\n}\n\ninterface StepIconProps {\n index: number;\n state?: StepState;\n}\n\nexport function StepIcon({ index, state = 'default' }: StepIconProps): ReactElement {\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 { ReactElement, 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): ReactElement | null {\n return null;\n}\n\nexport interface StepProps {\n index?: number;\n children: ReactNode;\n state?: StepState;\n isLast?: boolean;\n shouldDisableNextLink?: boolean;\n}\n\nexport function Step({\n index = 0,\n children,\n state = 'default',\n isLast = false,\n shouldDisableNextLink = false,\n}: StepProps): ReactElement {\n return (\n <HStack space=\"kitt.2\" flexGrow={1}>\n <View marginTop=\"kitt.2\" paddingY=\"kitt.2\" backgroundColor=\"kitt.white\">\n <StepIcon state={state} index={index} />\n {!isLast ? (\n <View\n backgroundColor={\n shouldDisableNextLink ? 'kitt.palettes.lateOcean.black100' : 'kitt.palettes.lateOcean.moonPurple'\n }\n width={1}\n position=\"absolute\"\n top={46}\n left={15}\n zIndex={-1}\n height=\"100%\"\n />\n ) : null}\n </View>\n <View flexGrow={1}>\n <ActionCard variant=\"primary\">{children}</ActionCard>\n </View>\n </HStack>\n );\n}\n","import type { StepState } from 'VerticalSteps/Step';\n\nexport function getStepState(index: number, activeIndex: number): StepState {\n if (index === activeIndex) {\n return 'active';\n }\n if (index < activeIndex) {\n return 'done';\n }\n return 'default';\n}\n","import type { ViewProps } from '@ornikar/kitt-universal';\nimport { VStack } from 'native-base';\nimport type { ReactComponentElement, ReactElement } from 'react';\nimport { Children, createElement } from 'react';\nimport type { StepProps } from './Step';\nimport { ExternalStep, Step } from './Step';\nimport { getStepState } from './utils/getStepState';\n\nexport interface VerticalStepsProps extends ViewProps {\n children: ReactComponentElement<typeof ExternalStep> | ReactComponentElement<typeof ExternalStep>[];\n activeIndex: number;\n}\n\nexport function VerticalSteps({ children, activeIndex, ...props }: VerticalStepsProps): ReactElement {\n return (\n <VStack space=\"kitt.4\" width=\"100%\" {...props}>\n {Children.map(children, (child: ReactComponentElement<typeof ExternalStep>, index) => {\n if (__DEV__ && child.type !== ExternalStep) {\n throw new Error('VerticalSteps only accepts VerticalSteps.Step as children');\n }\n\n const isLast = index === Children.count(children) - 1;\n return createElement<StepProps>(\n Step,\n {\n ...child.props,\n index,\n isLast,\n state: getStepState(index, activeIndex),\n },\n child.props.children,\n );\n })}\n </VStack>\n );\n}\n\nVerticalSteps.Step = ExternalStep;\n"],"names":["View","NativeBaseView","ScrollView","NativeBaseScrollView","Pressable","NativeBasePressable","Image","NativeBaseImage","FlatList","NativeBaseFlatList","SectionList","NativeBaseSectionList","hex2rgba","hex","alpha","arguments","length","undefined","r","parseInt","slice","g","b","concat","lateOceanColorPalette","lateOcean","lateOceanLight1","lateOceanLight2","lateOceanLight3","warmEmbrace","warmEmbraceLight1","black1000","black800","black555","black400","black200","black100","black50","black25","white","viride","englishVermillon","goldCrayola","aero","seaShell","transparent","moonPurple","moonPurpleLight1","colors","primary","primaryLight","accent","accentLight","success","correct","danger","info","warning","separator","hover","black","blackDisabled","blackLight","blackAnthracite","uiBackground","uiBackgroundLight","disabled","overlay","dark","light","actionCard","borderRadius","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","checkbox","markColor","textSpacing","checked","datePicker","day","month","year","calcLineHeight","fontSize","lineHeightMultiplier","Math","round","createTypographyTypeConfig","baseAndSmallFontSize","mediumAndWideFontSize","baseAndSmall","lineHeight","mediumAndWide","typography","kittColors","types","headers","fontFamily","regular","bold","web","fontWeight","fontStyle","configs","header1","header2","header3","header4","header5","bodies","body","link","disabledColor","inputStatesStyle","pending","valid","invalid","input","selection","placeholder","icon","rightContainer","states","inputField","containerPaddingTop","containerPaddingBottom","feedbackPaddingTop","labelContainerPaddingBottom","labelFeedbackMarginLeft","inputTag","labelColor","radio","unchecked","innerSize","innerBackgroundColor","radioButtonGroup","textArea","timePicker","forms","fullscreenModal","sharedHorizontalPadding","verticalPadding","iconButton","listItem","horizontalPadding","innerMargin","pageLoader","strokeWidth","fill","delay","circleBackgroundFillDuration","filledCircleFillDuration","groupFilledCircleRotationDuration","filledCircleRotationDuration","fillEasingFunction","picker","ios","_objectSpread","landscape","android","shadows","cards","low","highBase","highMedium","highLarge","navigation","left","right","panel","skeleton","flareColor","animationDuration","shape","bar","circle","square","tag","outline","warn","tooltip","floatingPadding","out","arrow","verticalSteps","textColor","done","breakpoints","values","wide","min","smallBreakpoint","mediumBreakpoint","largeBreakpoint","wideBreakpoint","max","theme","palettes","KittThemeContext","createContext","kitt","kittTheme","useTheme","useContext","getStateKey","isHovered","isPressed","isFocused","getThemeName","variant","borderVariant","ActionCardContentWrapper","_ref","_ref$borderVariant","children","state","__DEV__","Error","sharedTransform","transform","themeName","_jsx","_ios","style","_android","_web","ActionCardDisabled","borderStyle","ActionCard","_ref$variant","testID","ActionCardPressable","forwardRef","_ref2","ref","_ref2$variant","_ref2$borderVariant","href","hrefAttrs","_ref2$accessibilityRo","accessibilityRole","isHoveredInternal","isPressedInternal","isFocusedInternal","onPress","_ref3","Stack","NativeBaseStack","VStack","NativeBaseVStack","HStack","NativeBaseHStack","Center","NativeBaseCenter","createResponsiveStyleFromProp","responsiveBooleanValue","valueIfTrue","valueIfFalse","keys","Object","responsiveValue","forEach","breakpointName","message","process","env","NODE_ENV","console","deprecatedMessage","symbol","deprecation","replaceBy","replaceMessage","deprecatedInComponent","component","getCurrentBackgroundColorForNativeBaseTheme","type","isDisabled","baseKey","AnimatedContainer","animatedStyles","currentBackgroundColor","sx","useSx","styles","Animated","KittBreakpoints","BASE","SMALL","MEDIUM","LARGE","WIDE","KittBreakpointsMax","KittBreakpointNameEnum","typographyColors","getNBThemeColorFromColorProps","colorName","isColorTypographyColor","includes","getTypographyColorValue","isTypeHeader","startsWith","isTypographyHeader","isHeaderTypographyInContext","IsHeaderTypographyContext","TypographyColorContext","useTypographyColor","TypographyDefaultColorContext","useTypographyDefaultColor","getTypographyTypeConfigKeyFromTypeName","createNativeBaseFontSize","typeWithMediumForced","fontSizeForNativeBase","typeName","value","Typography","_type$base","legacyBase","legacySmall","legacyMedium","legacyLarge","legacyWide","_ref$type","otherProps","_objectWithoutProperties","_excluded","defaultColor","hasTypographyAncestor","baseOrDefaultToBody","isHeader","nonNullableVariant","currentColor","colorStyles","textDecorationColor","entries","_slicedToArray","key","text","NBText","Provider","TypographyText","props","TypographyParagraph","Platform","OS","createHeading","level","defaultBase","TypographyHeading","accessibilityLevel","displayName","SetDefaultColor","Text","Paragraph","Header1","Header2","Header3","Header4","Header5","Header6","h1","h2","h3","h4","h5","Icon","_ref$size","_ref$align","align","clonedIcon","cloneElement","alignSelf","TypographyIconSpecifiedColor","colorStyle","TypographyIconInheritColor","TypographyIcon","_excluded2","getTextColorByType","isButtonInteractedWith","ButtonIcon","iconPosition","marginRight","marginLeft","ButtonContentChildren","buttonIconSharedProps","sharedNativeStyle","flexShrink","_jsxs","alignItems","justifyContent","flexDirection","textAlign","ButtonContent","flexGrow","flexBasis","getCurrentPaddingConfig","ButtonPadding","currentPaddingKey","position","paddingX","paddingY","DisabledBorder","top","bottom","FocusBorder","_useTheme","buttonTheme","transitionProperty","transitionDuration","transitionTimingFunction","hasVariant","getVariantValuesIfExist","useNativeAnimation","useSharedValue","_getVariantValuesIfEx","useAnimatedStyle","_f","interpolateColor","withSpring","_closure","asString","__workletHash","__location","__optimalization","onPressIn","handlePressIn","onPressOut","handlePressOut","getButtonSize","allowedGhostTypes","Button","stretch","sizeProp","_ref$iconPosition","_ref$accessibilityRol","_useNativeAnimation","deprecatedProp","isStretch","SpinningIcon","String","animationRef","useRef","Value","rotation","current","interpolate","inputRange","outputRange","useEffect","loop","timing","toValue","Easing","linear","useNativeDriver","start","stop","rotate","LoaderIcon","ArcIcon","matchWindowSize","maxHeight","hasWidthMatched","hasHeightMatched","useMatchWindowSize","options","_useWindowDimensions","useWindowDimensions","getCurrentStretchValue","isMedium","ActionsItem","as","isCurrentStretch","_useState","useState","_useState2","isLoading","setIsLoading","mountedRef","handlePress","e","callPressAndUpdateLoadingState","_asyncToGenerator","_regeneratorRuntime","mark","_callee","wrap","_context","prev","next","abrupt","t0","apply","ActionsButton","_extends","_objectDestructuringEmpty","getCurrentLayout","layout","getCurrentDirection","Actions","currentAlignItems","currentDirection","direction","space","Item","getCurrentRadius","sizeVariant","getCurrentSize","getIconSize","getInitials","firstname","lastname","toUpperCase","AvatarContent","src","alt","isLight","source","uri","accessibilityLabel","UserIcon","Avatar","currentSize","currentBorderRadius","overflow","BottomSheetComp","Content","_ref$hasScrollView","hasScrollView","_ref$hasBackdrop","hasBackdrop","_ref$hasHandle","hasHandle","onDismiss","Wrapper","useMemo","BottomSheetScrollView","BottomSheetView","initialSnapPoints","_useBottomSheetDynami","useBottomSheetDynamicSnapPoints","animatedHandleHeight","animatedSnapPoints","animatedContentHeight","handleContentLayout","BottomSheetModal","enablePanDownToClose","snapPoints","index","handleHeight","handleIndicatorStyle","handleComponent","BottomSheetHandle","backdropComponent","BottomSheetBackdrop","appearsOnIndex","disappearsOnIndex","contentHeight","data","SafeAreaView","edges","onLayout","BottomSheetContainerView","BottomSheet","useBottomSheet","useStaticBottomSheet","bottomSheetRef","BottomSheetMemoized","ModalBehaviourPortal","_Fragment","OnCloseContext","OnCloseProvider","onClose","useOnCloseModalBehaviour","CloseButton","onCloseContextCallback","handleClose","ModalBehaviour","visible","Overlay","CardModalRotationContainer","NativeOpacityAnimation","onExited","hasRunAnimationRef","handleAnimationFinished","opacityStyle","_theme$kitt$cardModal","_easing","x1","y1","x2","y2","withTiming","bezier","isFinished","runOnJS","StyleSheet","absoluteFillObject","NativeRotationAnimation","onEntered","animatedStyle","rotateZ","CardModalAnimation","onEnter","onExit","isModalVisible","setIsModalVisible","_useState3","_useState4","isContentVisible","setIsContentVisible","handleAnimationExited","Modal","supportedOrientations","onShow","bounces","contentContainerStyle","CardModalScrollContainer","CardModalBehaviour","isModalBehaviourVisible","setIsModalBehaviourVisible","handleExitAnimationDone","CardModalBody","_ref$paddingX","_ref$paddingY","CardModalFooter","_ref$padding","_ref$hasSeparator","hasSeparator","marginTop","borderTopWidth","CardModalHeader","title","_ref$paddingBottom","paddingBottom","defaultContainerPadding","borderBottomWidth","paddingRight","paddingLeft","CardModal","_ref$backgroundColor","_ref$maxWidth","withoutShadow","Body","Header","Footer","getBackgroundColor","isSelected","getBorderRadius","Number","MAX_SAFE_INTEGER","AnimatedChoiceItemView","Boolean","progress","useDerivedValue","backgroundStyles","_theme$kitt$choices$i","defaultBg","pressedBg","selectedBg","disabledBg","getCurrentTextColor","ChoiceItem","onChange","onBlur","onFocus","handleChange","accessibilityState","ChoiceItemContainer","isLast","currentItemMarginValue","marginBottom","ChoicesContainer","Choices","id","_ref2$direction","currentValue","setCurrentValue","isForm","childrenArray","Children","toArray","sharedProps","newValue","nativeID","map","child","element","createChoicesComponent","ButtonChoices","ChoicesElements","_theme$kitt$dialogMod","DialogModalAnimation","DialogModalBehaviour","DialogModal","illustration","actions","paddingTop","flex","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","_ref4","_excluded3","Mail","_ref5","emailAddress","_excluded4","defaultOpenLinkBehavior","ExternalLink","_ref$openLinkBehavior","openLinkBehavior","WebBrowser","openBrowserAsync","isChecked","getBorderColor","Checkbox","_ref$hitSlop","hitSlop","display","CheckboxMark","getReturnKeyTypeForNumericInput","returnKeyType","prefixWithZero","maxLength","padStart","dayFormatter","monthFormatter","yearFormatter","getDayInInterval","getMonthInInterval","minDate","maxDate","minValue","getMonth","maxValue","getYearInInterval","getFullYear","getValueToDisplayedString","toString","keyboardDatePickerReducer","action","nextDay","currentDay","displayedDay","nextMonth","currentMonth","displayedMonth","nextYear","currentYear","displayedYear","nextCurrentDay","nextCurrentMonth","nextCurrentYear","isNumber","isNaN","onDatePartChange","_ref$validYearMinLeng","validYearMinLength","arrayParts","isEverythingUndefined","every","v","isEverythingDefined","nextValue","Date","isValidYear","setDate","setMonth","setFullYear","setMinutes","setHours","setSeconds","setMilliseconds","isMinDateAfterNextValue","getTime","isMaxDateBeforeNextValue","stringToNumber","InputTextContainer","InputText","internalForceState","_ref$disabled","_ref$autoCorrect","autoCorrect","_ref$textContentType","textContentType","_ref$autoComplete","autoComplete","_ref$keyboardType","keyboardType","multiline","onSubmitEditing","shouldHandleSingleLineOnIOS","Input","py","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","PressableDateInputs","pointerEvents","DatePickerAndroid","pickerDefaultDate","pickerUITestID","isDefaultVisible","setIsFocused","handleModalOpen","DateTimePickerAndroid","open","now","timestamp","date","onTouchCancel","BodyView","styled","withConfig","ModalBody","FooterView","ModalFooter","Background","AnimatedBackground","opacityStyles","currentOpacityStyles","AnimatedScale","scaleStyles","IconButton","_ref$color","backfaceVisibility","translate3d","isCurrentHovered","isCurrentPressed","HeaderView","LeftIconView","RightIconView","TitleView","isIconLeft","ModalHeader","_ref6","XIcon","ModalView","ContentView","NativeModal","animationType","onRequestClose","getDatePickerDisplayMode","PlatformDateTimePicker","_ref$defaultDate","defaultDate","maximumDate","minimuDate","displayMode","iosProps","DateTimePicker","is24Hour","mode","minimumDate","_event","ModalTitle","ModalPlatformDateTimePicker","isVisible","validateButtonLabel","newDate","handleSubmit","FormattedMessage","DefaultNativeUIDatePicker","pickerUITitle","pickerUIValidateButtonLabel","isPickerUIVisible","setIsPickerUIVisible","_useState5","_useState6","handleModalClose","NativeUIDatePicker","DatePicker","_ref$fillMode","fillMode","InputEmail","autoCapitalize","getColorFromState","InputFeedback","InputField","label","labelFeedback","feedback","getIconColor","InputIcon","InputPressable","InputPassword","isPasswordDefaultVisible","setIsVisible","secureTextEntry","EyeOffIcon","EyeIcon","isPhoneNumberValid","number","isValidNumber","phoneNumberLength","InputPhone","_ref$phoneNumberLengt","currentReturnKeyType","event","parseNumber","phone","finalPhoneNumber","eventWithoutCountryCode","countryCode","getCountryCallingCode","country","originalNativeEventText","getTypographyColor","InputTag","typographyColor","Label","htmlFor","InnerCircle","OuterCircle","Radio","focusable","isFirst","borderTopLeftRadius","borderBottomLeftRadius","borderTopRightRadius","borderBottomRightRadius","borderLeftWidth","HoverBorder","shouldDisplayBorder","margin","_theme$kitt$forms$rad","_theme$kitt$forms$rad2","pressedBorderColor","RadioButton","RadioButtonGroupItem","RadioButtonGroup","flexWrap","clone","TextArea","textAlignVertical","FullscreenModalBody","shouldHandleBottomNotch","shouldHandleTopNotch","_useSafeAreaInsets","useSafeAreaInsets","FullscreenModalFooter","_ref$shouldHandleBott","borderTopColor","_theme$kitt$fullscree","NativeSlideInAnimation","wHeight","translateStyle","FullscreenModalAnimation","FullscreenModalBehaviour","FullscreenModalContainer","FullscreenModalHeader","isTransparent","_ref$shouldHandleTopN","hasRight","hasLeft","hasContent","borderBottomColor","FullscreenModal","Highlight","KittMapConfigProviderContext","KittMapConfigProvider","mapId","apiToken","providerValue","useKittMapConfig","context","ListItemContent","ListItemSideContainer","_ref$side","side","ListItemSideContent","_ref2$align","ListItem","withPadding","borders","Fragment","wrapperProps","containerProps","SideContent","SideContainer","Circle","MapMarkerSimple","_ref$width","_ref$height","DefaultMarkerSvg","MapMarkerLarge","_ref2$width","_ref2$height","_ref2$color","LargeMarkerSvg","MapMarkerPosition","_ref3$width","_ref3$height","PositionMarkerSvg","IconContent","AlertCircleIcon","CheckIcon","AlertTriangleIcon","InfoIcon","getColorByType","getIconButtonColor","messageType","BaseMessage","hasNoRadius","centeredText","insets","Message","createKittSpaces","sizes","positive","negative","overridenNativeBaseSizeandSpaceScale","fromEntries","createKittNativeBaseCustomTheme","appTheme","spaces","appBreakpoints","extendedTheme","extendTheme","innerCircle","app","radii","lg","md","sm","xl","xs","borderWidths","defaultSize","fontSizes","lineHeights","fontWeights","fonts","shadowColor","shadowOffset","shadowOpacity","shadowRadius","components","baseStyle","px","_disabled","_light","placeholderTextColor","bg","_hover","_focus","_stack","outlineWidth","boxShadow","selectionColor","_invalid","variants","underlined","rounded","filled","unstyled","_dark","KittNativeBaseProvider","isSSR","nativeBaseCustomTheme","kittInternalTheme","NativeBaseProvider","SimpleContainer","NavigationModalBehaviour","_ref2$appear","appear","AnimationComponent","useBreakpointValue","CurrentContainerComponent","shouldAppear","setShouldAppear","handleEnter","handleExit","NavigationModal","Notification","onDelete","AnimatedCircle","createAnimatedComponent","AnimatedLoaderCircle","_theme$kitt$pageLoade","centerCoord","circlePerimeter","PI","strokeAnimation","useAnimatedProps","strokeDashoffset","stroke","strokeLinecap","cx","cy","strokeDasharray","animatedProps","AnimatedBackgroundCircle","_fillEasingFunction","withDelay","Svg","viewBox","isInfinitAnimation","AnimatedFillCircleContainer","withRepeat","rotationStyles","absoluteFill","shouldReverse","AnimatedFilledCircle","PageLoader","sharedTransformStyle","PickerItem","handelPress","Picker","initialValue","onValueSelected","_useMediaQuery","useMediaQuery","_useMediaQuery2","isMatchingMaxHeight","iosItemStyle","getIosTextStyle","setValue","NativePicker","selectedValue","itemStyle","onValueChange","itemValue","React","handleValueSelected","SegmentedProgressBar","_ref$currentStep","currentStep","stepsCount","_ref$colorVariant","colorVariant","withCurrentInProgress","fillColor","steps","_toConsumableArray","Array","from","stepNumber","isSegmentCurrentInProgress","Stripes","AnimatedLinearGradient","LinearGradient","SkeletonContent","sharedX","inOut","ease","linearGradientStyle","translateX","locations","x","y","end","Skeleton","_ref$isLoading","setWidth","Bar","Square","getStaticMapImageUrl","mapWidth","mapHeight","center","is2x","centerPart","lat","zoom","sizePart","urlParts","mapImageUrl","URL","join","searchParams","append","useGetStaticMapImageUrl","forceMapId","forceApiToken","_useKittMapConfig","currentUrl","setCurrentUrl","currentMapIdRef","currentApiTokenRef","newUrl","StaticMapError","onReload","RotateCCWIcon","StaticMapImage","onLoadEnd","onError","StaticMapLoader","getMarkerPosition","StaticMapMarker","getRangedWidthValue","nextWidth","rangedMapWidth","getShouldDisplay2x","currentDevicePixelRatio","PixelRatio","get","mapBoxMaxPictureWidth","getPictureWidth","StaticMap","marker","onLoaded","currentWidth","setCurrentWidth","hasError","setHasError","_useState7","_useState8","currentMapKey","setCurrentMapKey","shouldDisplay2xImage","mapUrl","handleParentLayout","KITT_MAP_CHROMATIC_IGNORE","handleImageLoadEnd","handleError","handleReload","Loader","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","_ref$state","_ref$platform","platform","StoryDecorator","storyFn","name","StoryGridRow","_ref$breakpoint","breakpoint","_defineProperty","StoryGridCol","_ref10","titleColor","_ref10$platform","isNative","StoryGrid","Row","Col","getLabelColor","Tag","ModalDateTimePicker","pickerTestID","nextDate","buttonContent","formatNumberToTimeString","time","formatDateToTimeString","getHours","getMinutes","TimePickerPressable","TimePicker","_ref$placeholder","modalTestID","_ref$pickerTestID","isPickerVisible","setIsPickerVisible","pickerValue","Arrow","transformStyle","TooltipArrowIcon","TooltipContent","customShift","tooltipX","refPageX","refWidth","floatingWidth","wWidth","refCenterOnScreen","halfFloatingWith","useCustomShift","pressableRect","windowDimensions","customShiftData","setCustomShiftData","res","pageX","Tooltip","defaultVisible","_ref$position","zIndex","fullWidth","onUpdate","onToggle","currentFloatingPadding","setFloatingWidth","pressableRectRef","_useFloating","useFloating","placement","middleware","offset","autoPlacement","allowedPlacements","reference","floating","update","refs","middlewareData","strategy","tooltipY","getPressableRect","useCallback","measure","_x","_y","_h","accessibilityElementsHidden","importantForAccessibility","getTypographyTypeConfig","calcSizesFromType","TypographyEmoji","_ref3$type","StyleWebWrapper","TypographyLinkWebWrapper","TypographyLink","noUnderline","$hasNoUnderline","underline","dataSet","cursor","createWindowSizeHelper","dimensions","ifWindowSizeMatches","mapWindowWidth","_len","widthList","_key","previousMinWidth","found","find","useKittTheme","useWindowSize","responsive","KittThemeProvider","ThemeProvider","KittThemeDecorator","makeDecorator","parameterName","wrapper","_parameters$isSSR","_ref2$options","_ref2$parameters","parameters","MatchWindowSize","matchWindowSizeOptions","match","useCurrentBreakpointName","withTheme","WrappedComponent","backgroundColors","IconStatus","StepIcon","_ref2$state","ExternalStep","Step","_ref$index","_ref$isLast","_ref$shouldDisableNex","shouldDisableNextLink","getStepState","activeIndex","VerticalSteps","count","createElement"],"mappings":"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"}
|