@ornikar/kitt-universal 11.2.0 → 13.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (150) hide show
  1. package/.vscode/settings.json +3 -0
  2. package/babel-plugin-csf-to-jest.js +15 -1
  3. package/dist/definitions/BottomSheet/BottomSheet.d.ts +1 -1
  4. package/dist/definitions/Choices/AnimatedChoiceItemView.d.ts +15 -0
  5. package/dist/definitions/Choices/AnimatedChoiceItemView.d.ts.map +1 -0
  6. package/dist/definitions/Choices/AnimatedChoiceItemView.web.d.ts +4 -0
  7. package/dist/definitions/Choices/AnimatedChoiceItemView.web.d.ts.map +1 -0
  8. package/dist/definitions/Choices/ChoiceItem.d.ts +2 -3
  9. package/dist/definitions/Choices/ChoiceItem.d.ts.map +1 -1
  10. package/dist/definitions/Choices/ChoiceItemContainer.d.ts +5 -5
  11. package/dist/definitions/Choices/ChoiceItemContainer.d.ts.map +1 -1
  12. package/dist/definitions/Choices/utils/getBackgroundColor.d.ts +9 -0
  13. package/dist/definitions/Choices/utils/getBackgroundColor.d.ts.map +1 -0
  14. package/dist/definitions/Choices/utils/getBorderRadius.d.ts +3 -0
  15. package/dist/definitions/Choices/utils/getBorderRadius.d.ts.map +1 -0
  16. package/dist/definitions/Choices/utils/getCurrentTextColor.d.ts +10 -0
  17. package/dist/definitions/Choices/utils/getCurrentTextColor.d.ts.map +1 -0
  18. package/dist/definitions/Icon/SpinningIcon.web.d.ts.map +1 -1
  19. package/dist/definitions/ListItem/ListItem.d.ts.map +1 -1
  20. package/dist/definitions/ListItem/ListItemContent.d.ts.map +1 -1
  21. package/dist/definitions/ListItem/ListItemSideContent.d.ts.map +1 -1
  22. package/dist/definitions/Overlay/Overlay.d.ts.map +1 -1
  23. package/dist/definitions/PageLoader/PageLoader.d.ts.map +1 -1
  24. package/dist/definitions/PageLoader/PageLoader.web.d.ts.map +1 -1
  25. package/dist/definitions/Picker/Picker.d.ts.map +1 -1
  26. package/dist/definitions/Picker/PickerItem.d.ts.map +1 -1
  27. package/dist/definitions/Skeleton/SkeletonContent.d.ts.map +1 -1
  28. package/dist/definitions/Skeleton/SkeletonContent.web.d.ts.map +1 -1
  29. package/dist/definitions/Tag/Tag.d.ts.map +1 -1
  30. package/dist/definitions/TimePicker/ModalDateTimePicker.d.ts +7 -3
  31. package/dist/definitions/TimePicker/ModalDateTimePicker.d.ts.map +1 -1
  32. package/dist/definitions/TimePicker/TimePicker.d.ts +19 -8
  33. package/dist/definitions/TimePicker/TimePicker.d.ts.map +1 -1
  34. package/dist/definitions/TimePicker/TimePicker.web.d.ts +2 -1
  35. package/dist/definitions/TimePicker/TimePicker.web.d.ts.map +1 -1
  36. package/dist/definitions/TimePicker/TimePickerPressable.d.ts +20 -0
  37. package/dist/definitions/TimePicker/TimePickerPressable.d.ts.map +1 -0
  38. package/dist/definitions/TimePicker/utils/formatDateToTimeString.d.ts +2 -0
  39. package/dist/definitions/TimePicker/utils/formatDateToTimeString.d.ts.map +1 -0
  40. package/dist/definitions/TimePicker/utils/getCurrentInternalForcedState.d.ts +10 -0
  41. package/dist/definitions/TimePicker/utils/getCurrentInternalForcedState.d.ts.map +1 -0
  42. package/dist/definitions/VerticalSteps/Step.d.ts +16 -0
  43. package/dist/definitions/VerticalSteps/Step.d.ts.map +1 -0
  44. package/dist/definitions/VerticalSteps/StepIcon.d.ts +13 -0
  45. package/dist/definitions/VerticalSteps/StepIcon.d.ts.map +1 -0
  46. package/dist/definitions/VerticalSteps/VerticalSteps.d.ts +12 -0
  47. package/dist/definitions/VerticalSteps/VerticalSteps.d.ts.map +1 -0
  48. package/dist/definitions/VerticalSteps/utils/getStepState.d.ts +3 -0
  49. package/dist/definitions/VerticalSteps/utils/getStepState.d.ts.map +1 -0
  50. package/dist/definitions/forms/DatePicker/components/NativeUIDatePicker/ModalPlatformDateTimePicker.d.ts.map +1 -1
  51. package/dist/definitions/forms/InputTag/InputTag.d.ts.map +1 -1
  52. package/dist/definitions/forms/InputText/InputTextContainer.d.ts +2 -4
  53. package/dist/definitions/forms/InputText/InputTextContainer.d.ts.map +1 -1
  54. package/dist/definitions/forms/InputText/InputTextContainer.web.d.ts +2 -9
  55. package/dist/definitions/forms/InputText/InputTextContainer.web.d.ts.map +1 -1
  56. package/dist/definitions/forms/RadioButtonGroup/AnimatedContainer/AnimatedContainer.d.ts +1 -1
  57. package/dist/definitions/forms/RadioButtonGroup/AnimatedContainer/AnimatedContainer.d.ts.map +1 -1
  58. package/dist/definitions/index.d.ts +1 -6
  59. package/dist/definitions/index.d.ts.map +1 -1
  60. package/dist/definitions/native-base/KittNativeBaseProvider.d.ts +190 -0
  61. package/dist/definitions/native-base/KittNativeBaseProvider.d.ts.map +1 -1
  62. package/dist/definitions/story-components/Flex.d.ts +6 -4
  63. package/dist/definitions/story-components/Flex.d.ts.map +1 -1
  64. package/dist/definitions/themes/default.d.ts +2 -0
  65. package/dist/definitions/themes/default.d.ts.map +1 -1
  66. package/dist/definitions/themes/late-ocean/choices.d.ts +2 -0
  67. package/dist/definitions/themes/late-ocean/choices.d.ts.map +1 -1
  68. package/dist/definitions/themes/late-ocean/forms.d.ts +1 -0
  69. package/dist/definitions/themes/late-ocean/forms.d.ts.map +1 -1
  70. package/dist/definitions/themes/late-ocean/input.d.ts +3 -0
  71. package/dist/definitions/themes/late-ocean/input.d.ts.map +1 -1
  72. package/dist/definitions/themes/late-ocean/listItem.d.ts +3 -0
  73. package/dist/definitions/themes/late-ocean/listItem.d.ts.map +1 -1
  74. package/dist/definitions/themes/late-ocean/pageLoader.d.ts +7 -0
  75. package/dist/definitions/themes/late-ocean/pageLoader.d.ts.map +1 -1
  76. package/dist/definitions/themes/late-ocean/picker.d.ts +3 -0
  77. package/dist/definitions/themes/late-ocean/picker.d.ts.map +1 -1
  78. package/dist/definitions/themes/late-ocean/skeleton.d.ts +2 -0
  79. package/dist/definitions/themes/late-ocean/skeleton.d.ts.map +1 -1
  80. package/dist/definitions/themes/late-ocean/tag.d.ts +3 -0
  81. package/dist/definitions/themes/late-ocean/tag.d.ts.map +1 -1
  82. package/dist/definitions/themes/late-ocean/timePicker.d.ts +5 -0
  83. package/dist/definitions/themes/late-ocean/timePicker.d.ts.map +1 -0
  84. package/dist/definitions/themes/late-ocean/verticalSteps.d.ts +14 -0
  85. package/dist/definitions/themes/late-ocean/verticalSteps.d.ts.map +1 -0
  86. package/dist/definitions/typography/TypographyLink.d.ts.map +1 -1
  87. package/dist/definitions/typography/TypographyLinkWebWrapper.d.ts +7 -0
  88. package/dist/definitions/typography/TypographyLinkWebWrapper.d.ts.map +1 -0
  89. package/dist/definitions/typography/TypographyLinkWebWrapper.web.d.ts +4 -0
  90. package/dist/definitions/typography/TypographyLinkWebWrapper.web.d.ts.map +1 -0
  91. package/dist/definitions/useKittTheme.d.ts +0 -3
  92. package/dist/definitions/useKittTheme.d.ts.map +1 -1
  93. package/dist/definitions/utils/StyleWebWrapper.d.ts +3 -0
  94. package/dist/definitions/utils/StyleWebWrapper.d.ts.map +1 -1
  95. package/dist/definitions/utils/storybook/KittThemeDecorator.d.ts +0 -5
  96. package/dist/definitions/utils/storybook/KittThemeDecorator.d.ts.map +1 -1
  97. package/dist/definitions/utils/windowSize/useMatchWindowSize.d.ts +4 -1
  98. package/dist/definitions/utils/windowSize/useMatchWindowSize.d.ts.map +1 -1
  99. package/dist/index-browser-all.es.android.js +1278 -1181
  100. package/dist/index-browser-all.es.android.js.map +1 -1
  101. package/dist/index-browser-all.es.ios.js +1278 -1181
  102. package/dist/index-browser-all.es.ios.js.map +1 -1
  103. package/dist/index-browser-all.es.js +1285 -1209
  104. package/dist/index-browser-all.es.js.map +1 -1
  105. package/dist/index-browser-all.es.web.js +819 -791
  106. package/dist/index-browser-all.es.web.js.map +1 -1
  107. package/dist/index-node-14.17.cjs.js +1143 -1041
  108. package/dist/index-node-14.17.cjs.js.map +1 -1
  109. package/dist/index-node-14.17.cjs.web.css +7 -5
  110. package/dist/index-node-14.17.cjs.web.js +693 -619
  111. package/dist/index-node-14.17.cjs.web.js.map +1 -1
  112. package/dist/linaria-themes-browser-all.es.android.js +59 -14
  113. package/dist/linaria-themes-browser-all.es.android.js.map +1 -1
  114. package/dist/linaria-themes-browser-all.es.ios.js +59 -14
  115. package/dist/linaria-themes-browser-all.es.ios.js.map +1 -1
  116. package/dist/linaria-themes-browser-all.es.js +59 -14
  117. package/dist/linaria-themes-browser-all.es.js.map +1 -1
  118. package/dist/linaria-themes-browser-all.es.web.js +59 -14
  119. package/dist/linaria-themes-browser-all.es.web.js.map +1 -1
  120. package/dist/linaria-themes-node-14.17.cjs.js +59 -14
  121. package/dist/linaria-themes-node-14.17.cjs.js.map +1 -1
  122. package/dist/linaria-themes-node-14.17.cjs.web.js +59 -14
  123. package/dist/linaria-themes-node-14.17.cjs.web.js.map +1 -1
  124. package/dist/styles.css +7 -5
  125. package/dist/tsbuildinfo +1 -1
  126. package/package.json +7 -11
  127. package/typings/react-native-web.d.ts +2 -0
  128. package/.stylelintrc +0 -3
  129. package/dist/definitions/Modal/Body.d.ts +0 -6
  130. package/dist/definitions/Modal/Body.d.ts.map +0 -1
  131. package/dist/definitions/Modal/Footer.d.ts +0 -6
  132. package/dist/definitions/Modal/Footer.d.ts.map +0 -1
  133. package/dist/definitions/Modal/Header.d.ts +0 -8
  134. package/dist/definitions/Modal/Header.d.ts.map +0 -1
  135. package/dist/definitions/Modal/Modal.d.ts +0 -21
  136. package/dist/definitions/Modal/Modal.d.ts.map +0 -1
  137. package/dist/definitions/Modal/OnCloseContext.d.ts +0 -3
  138. package/dist/definitions/Modal/OnCloseContext.d.ts.map +0 -1
  139. package/dist/definitions/TimePicker/useTimePicker.d.ts +0 -14
  140. package/dist/definitions/TimePicker/useTimePicker.d.ts.map +0 -1
  141. package/dist/definitions/forms/styledTextInputMixin.d.ts +0 -8
  142. package/dist/definitions/forms/styledTextInputMixin.d.ts.map +0 -1
  143. package/dist/definitions/utils/tests/styled-component-typing-test.d.ts +0 -19
  144. package/dist/definitions/utils/tests/styled-component-typing-test.d.ts.map +0 -1
  145. package/dist/definitions/utils/windowSize/createWindowSizeHelper.d.ts +0 -50
  146. package/dist/definitions/utils/windowSize/createWindowSizeHelper.d.ts.map +0 -1
  147. package/dist/definitions/utils/withTheme.d.ts +0 -7
  148. package/dist/definitions/utils/withTheme.d.ts.map +0 -1
  149. package/dist/index-browser-all.es.css +0 -1
  150. package/dist/index-node-14.17.cjs.css +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"index-node-14.17.cjs.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","r","parseInt","slice","g","b","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","default","backgroundColor","borderColor","borderWidth","shadow","color","offsetX","offsetY","opacity","radius","translateY","hovered","focused","pressed","secondary","highlight","defaultAvatarSize","defaultAvatarIconSize","largeAvatarSize","largeAvatarIconSize","avatar","size","iconSize","large","spacing","bottomSheet","container","padding","handle","button","focus","minHeight","minWidth","maxWidth","scale","base","active","medium","contentPadding","xLarge","horizontal","vertical","transition","duration","timingFunction","pressedBackgroundColor","hoverBackgroundColor","focusBorderColor","ghost","hoverColor","activeColor","subtle","card","webAnimationContentDuration","webAnimationContentEasing","webAnimationOverlayDuration","webAnimationOverlayEasing","overlayHorizontalPadding","cardModal","maxWidthWithPadding","header","height","footer","overlayPadding","animation","easing","content","choices","row","column","item","small","selected","hoverWhenSelected","border","width","property","dialogModal","feedbackMessage","checkbox","markColor","textSpacing","checked","datePicker","day","month","year","calcLineHeight","fontSize","lineHeightMultiplier","Math","round","createTypographyTypeConfig","baseAndSmallFontSize","mediumAndWideFontSize","baseAndSmall","lineHeight","mediumAndWide","typography","kittColors","types","headers","fontFamily","native","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","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","in","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","children","state","__DEV__","Error","sharedTransform","transform","themeName","_jsx","_ios","style","_android","_web","ActionCardDisabled","borderStyle","ActionCard","testID","ActionCardPressable","forwardRef","href","hrefAttrs","accessibilityRole","isHoveredInternal","isPressedInternal","isFocusedInternal","onPress","ref","Stack","NativeBaseStack","VStack","NativeBaseVStack","HStack","NativeBaseHStack","Center","NativeBaseCenter","createResponsiveStyleFromProp","responsiveBooleanValue","valueIfTrue","valueIfFalse","keys","Object","length","responsiveValue","forEach","breakpointName","message","process","env","NODE_ENV","console","deprecatedMessage","symbol","deprecation","replaceBy","replaceMessage","undefined","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","legacyBase","legacySmall","legacyMedium","legacyLarge","legacyWide","otherProps","defaultColor","hasTypographyAncestor","baseOrDefaultToBody","isHeader","nonNullableVariant","currentColor","colorStyles","textDecorationColor","entries","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","align","clonedIcon","cloneElement","alignSelf","TypographyIconSpecifiedColor","colorStyle","TypographyIconInheritColor","TypographyIcon","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","buttonTheme","transitionProperty","transitionDuration","transitionTimingFunction","hasVariant","getVariantValuesIfExist","useNativeAnimation","useSharedValue","useAnimatedStyle","_f","interpolateColor","withSpring","_closure","asString","__workletHash","__location","__optimalization","onPressIn","onPressOut","getButtonSize","allowedGhostTypes","Button","stretch","sizeProp","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","getCurrentStretchValue","isMedium","ActionsItem","as","isCurrentStretch","isLoading","setIsLoading","useState","mountedRef","e","error","ActionsButton","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","hasScrollView","hasBackdrop","hasHandle","onDismiss","Wrapper","useMemo","BottomSheetScrollView","BottomSheetView","initialSnapPoints","animatedHandleHeight","animatedSnapPoints","animatedContentHeight","handleContentLayout","useBottomSheetDynamicSnapPoints","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","ModalBehaviour","visible","OverlayPressable","styled","withConfig","componentId","StyleSheet","absoluteFillObject","Overlay","CardModalRotationContainer","NativeOpacityAnimation","onExited","hasRunAnimationRef","handleAnimationFinished","opacityStyle","x1","y1","x2","y2","withTiming","bezier","isFinished","runOnJS","NativeRotationAnimation","onEntered","animatedStyle","rotateZ","CardModalAnimation","onEnter","onExit","isModalVisible","setIsModalVisible","isContentVisible","setIsContentVisible","handleAnimationExited","Modal","supportedOrientations","onShow","bounces","contentContainerStyle","CardModalScrollContainer","CardModalBehaviour","isModalBehaviourVisible","setIsModalBehaviourVisible","CardModalBody","CardModalFooter","hasSeparator","marginTop","borderTopWidth","CardModalHeader","title","paddingBottom","defaultContainerPadding","borderBottomWidth","paddingRight","paddingLeft","CardModal","withoutShadow","Body","Header","Footer","Boolean","progress","useDerivedValue","backgroundStyles","defaultBg","pressedBg","selectedBg","disabledBg","getCurrentTextColor","isSelected","getBorderRadius","defaultRadius","$variant","css","ChoiceItemView","$isHovered","$isPressed","$isDisabled","$isSelected","defaultBackground","$size","responsive","ifWindowSizeMatches","ChoiceItem","onChange","onBlur","onFocus","handleChange","accessibilityState","ChoiceItemContainer","$isLast","$direction","ChoicesContainer","Choices","id","currentValue","setCurrentValue","isForm","childrenArray","Children","toArray","sharedProps","newValue","nativeID","map","child","element","createChoicesComponent","ButtonChoices","ChoicesElements","DialogModalAnimation","DialogModalBehaviour","DialogModal","illustration","actions","paddingTop","marginBottom","flex","DialogModalButton","Emoji","emoji","emojiData","parse","assetType","url","ExternalAppLink","Component","appScheme","appValue","onOpenAppError","rest","canOpen","Linking","canOpenURL","defaultPrevented","openURL","catch","Sms","phoneNumber","Tel","Mail","emailAddress","defaultOpenLinkBehavior","ExternalLink","openLinkBehavior","WebBrowser","openBrowserAsync","getBackgroundColor","isChecked","getBorderColor","Checkbox","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","validYearMinLength","arrayParts","isEverythingUndefined","every","v","isEverythingDefined","nextValue","Date","isValidYear","setDate","setMonth","setFullYear","setMinutes","setHours","setSeconds","setMilliseconds","isMinDateAfterNextValue","getTime","isMaxDateBeforeNextValue","stringToNumber","InputTextContainer","InputText","formState","internalForceState","autoCorrect","textContentType","autoComplete","keyboardType","multiline","onSubmitEditing","shouldHandleSingleLineOnIOS","Input","py","getCurrentInternalForcedState","InputPart","PartContainer","KeyboardDatePicker","monthRef","yearRef","defaultValue","defaultDay","getDate","defaultMonth","defaultYear","dispatch","useReducer","sharedInputPartProps","handleDatePartChange","handleAutoFocusNextField","currentFieldValue","nextFieldRef","nativeEvent","PressableDateInputs","pointerEvents","DatePickerAndroid","pickerDefaultDate","pickerUITestID","isDefaultVisible","setIsFocused","handleClose","handleModalOpen","DateTimePickerAndroid","open","now","timestamp","date","onTouchCancel","BodyView","ModalBody","FooterView","ModalFooter","Background","AnimatedBackground","opacityStyles","currentOpacityStyles","AnimatedScale","scaleStyles","IconButton","backfaceVisibility","translate3d","isCurrentHovered","isCurrentPressed","HeaderView","LeftIconView","RightIconView","TitleView","isIconLeft","ModalHeader","XIcon","ModalView","ContentView","NativeModal","animationType","onRequestClose","getDatePickerDisplayMode","PlatformDateTimePicker","defaultDate","maximumDate","minimuDate","displayMode","iosProps","textColor","DateTimePicker","is24Hour","mode","minimumDate","_event","ModalTitle","ModalPlatformDateTimePicker","isVisible","validateButtonLabel","newDate","prev","FormattedMessage","DefaultNativeUIDatePicker","pickerUITitle","pickerUIValidateButtonLabel","isPickerUIVisible","setIsPickerUIVisible","handleModalClose","NativeUIDatePicker","DatePicker","fillMode","InputEmail","autoCapitalize","getColorFromState","InputFeedback","InputField","label","labelFeedback","feedback","getIconColor","InputIcon","InputPressable","InputPassword","isPasswordDefaultVisible","setIsVisible","secureTextEntry","EyeOffIcon","EyeIcon","isPhoneNumberValid","number","isValidNumber","phoneNumberLength","InputPhone","currentReturnKeyType","event","parseNumber","phone","finalPhoneNumber","eventWithoutCountryCode","countryCode","getCountryCallingCode","country","originalNativeEventText","getTypographyColor","InputTagContainer","IconContainer","InputTag","typographyColor","Label","htmlFor","InnerCircle","OuterCircle","Radio","focusable","StyledAnimatedView","$isFirst","isFirst","isLast","$isFocused","HoverBorder","shouldDisplayBorder","margin","borderTopLeftRadius","borderBottomLeftRadius","borderTopRightRadius","borderBottomRightRadius","pressedBorderColor","RadioButton","RadioButtonGroupItem","RadioButtonGroup","flexWrap","clone","TextArea","textAlignVertical","FullscreenModalBody","shouldHandleBottomNotch","shouldHandleTopNotch","useSafeAreaInsets","FullscreenModalFooter","borderTopColor","NativeSlideInAnimation","wHeight","translateStyle","FullscreenModalAnimation","FullscreenModalBehaviour","FullscreenModalContainer","FullscreenModalHeader","isTransparent","hasRight","hasLeft","hasContent","borderBottomColor","FullscreenModal","Highlight","KittMapConfigProviderContext","KittMapConfigProvider","mapId","apiToken","providerValue","useKittMapConfig","context","ListItemContent","SideContainerView","side","ListItemSideContainer","SideContentView","ListItemSideContent","ContainerView","withPadding","borders","ListItem","Fragment","wrapperProps","containerProps","SideContent","SideContainer","MapMarkerSimple","DefaultMarkerSvg","MapMarkerLarge","LargeMarkerSvg","MapMarkerPosition","PositionMarkerSvg","IconContent","AlertCircleIcon","CheckIcon","AlertTriangleIcon","InfoIcon","getColorByType","getIconButtonColor","messageType","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","appear","AnimationComponent","useBreakpointValue","CurrentContainerComponent","shouldAppear","setShouldAppear","NavigationModal","Notification","onDelete","AnimatedCircle","createAnimatedComponent","Circle","AnimatedLoaderCircle","centerCoord","circlePerimeter","PI","strokeAnimation","useAnimatedProps","strokeDashoffset","stroke","strokeLinecap","cx","cy","strokeDasharray","animatedProps","AnimatedBackgroundCircle","withDelay","Svg","viewBox","isInfinitAnimation","AnimatedFillCircleContainer","withRepeat","rotationStyles","absoluteFill","shouldReverse","AnimatedFilledCircle","PageLoaderContainer","PageLoader","ContainerPressable","PickerItem","Picker","initialValue","onValueSelected","isMatchingMaxHeight","useMediaQuery","setValue","NativePicker","selectedValue","itemStyle","onValueChange","itemValue","React","SegmentedProgressBar","currentStep","stepsCount","colorVariant","withCurrentInProgress","fillColor","steps","Array","from","stepNumber","isSegmentCurrentInProgress","Stripes","Container","AnimatedLinearGradient","LinearGradient","SkeletonContent","sharedX","inOut","ease","linearGradientStyle","translateX","locations","x","y","end","Skeleton","setWidth","Bar","Square","getStaticMapImageUrl","mapWidth","mapHeight","center","is2x","centerPart","long","lat","zoom","urlParts","mapImageUrl","URL","join","searchParams","append","useGetStaticMapImageUrl","forceMapId","forceApiToken","currentUrl","setCurrentUrl","currentMapIdRef","currentApiTokenRef","newUrl","StaticMapError","onReload","RotateCCWIcon","StaticMapImage","onLoadEnd","onError","StaticMapLoader","getMarkerPosition","StaticMapMarker","getRangedWidthValue","nextWidth","rangedMapWidth","getShouldDisplay2x","currentDevicePixelRatio","PixelRatio","get","mapBoxMaxPictureWidth","getPictureWidth","StaticMap","marker","onLoaded","currentWidth","setCurrentWidth","hasError","setHasError","currentMapKey","setCurrentMapKey","shouldDisplay2xImage","mapUrl","KITT_MAP_CHROMATIC_IGNORE","Loader","Marker","Flex","shouldForwardProp","prop","defaultValidatorFn","storyPadding","getBackgroundColorFromBlockColor","getTypographyColorFromBlockColor","StoryBlockBackgroundContext","StoryBlockColorContext","useStoryBlockColor","storyBlockColor","StoryBlock","background","marginX","StoryTitle","numberOfLines","StoryTitleLevel2","StoryTitleLevel3","StoryTitleLevel4","Level2","Level3","Level4","Story","StorySection","internalIsDemoSection","SubSection","BlockSection","DemoSection","Demo","DeprecatedSection","StoryContainer","platform","StoryDecorator","storyFn","name","StoryGridRow","breakpoint","StoryGridCol","titleColor","isNative","StoryGrid","Row","Col","getLabelColor","Tag","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","Arrow","transformStyle","TooltipArrowIcon","TooltipContent","customShift","tooltipX","refPageX","refWidth","floatingWidth","wWidth","refCenterOnScreen","halfFloatingWith","useCustomShift","pressableRect","windowDimensions","customShiftData","setCustomShiftData","res","pageX","Tooltip","defaultVisible","zIndex","fullWidth","onUpdate","onToggle","currentFloatingPadding","setFloatingWidth","pressableRectRef","reference","floating","update","refs","middlewareData","strategy","placement","useFloating","middleware","offset","autoPlacement","allowedPlacements","tooltipY","getPressableRect","useCallback","measure","_x","_y","_h","accessibilityElementsHidden","importantForAccessibility","getTypographyTypeConfig","calcSizesFromType","TypographyEmoji","StyleWebWrapper","_exp","$hasNoUnderline","_exp2","TypographyLinkWebWrapper","styledLinaria","class","propsAsIs","vars","TypographyLink","noUnderline","TypographyLinkProps","underline","dataSet","cursor","createWindowSizeHelper","dimensions","mapWindowWidth","widthList","previousMinWidth","found","find","useKittTheme","useWindowSize","KittThemeProvider","ThemeProvider","KittThemeDecorator","makeDecorator","parameterName","wrapper","parameters","MatchWindowSize","matchWindowSizeOptions","match","useCurrentBreakpointName","withTheme","WrappedComponent"],"mappings":"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"}
1
+ {"version":3,"file":"index-node-14.17.cjs.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/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/IconButton/Background.tsx","../src/IconButton/AnimatedBackground.tsx","../src/IconButton/AnimatedScale.tsx","../src/IconButton/hooks/useNativeAnimation.ts","../src/IconButton/IconButton.tsx","../src/KittMapConfigProvider/KittMapConfigProvider.tsx","../src/KittMapConfigProvider/hooks/useKittMapConfig.ts","../src/ListItem/ListItemContent.tsx","../src/ListItem/ListItemSideContent.tsx","../src/ListItem/ListItem.tsx","../src/MapMarker/assets/marker-large.inline.svg","../src/MapMarker/assets/marker.inline.svg","../src/MapMarker/assets/position-marker.inline.svg","../src/MapMarker/MapMarker.tsx","../src/BaseMessage/IconContent.tsx","../src/BaseMessage/helper.ts","../src/BaseMessage/BaseMessage.tsx","../src/Message/Message.tsx","../src/native-base/KittNativeBaseProvider.tsx","../src/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/typography/TypographyLinkWebWrapper.tsx","../src/typography/TypographyLink.tsx","../src/useKittTheme.tsx","../src/utils/storybook/KittThemeDecorator.tsx","../src/utils/StyleWebWrapper.tsx","../src/utils/windowSize/MatchWindowSize.tsx","../src/utils/windowSize/useCurrentBreakpointName.ts","../src/VerticalSteps/StepIcon.tsx","../src/VerticalSteps/Step.tsx","../src/VerticalSteps/utils/getStepState.ts","../src/VerticalSteps/VerticalSteps.tsx"],"sourcesContent":["import type { IImageProps, IPressableProps, IScrollViewProps } from 'native-base';\nimport {\n FlatList as NativeBaseFlatList,\n Image as NativeBaseImage,\n Pressable as NativeBasePressable,\n ScrollView as NativeBaseScrollView,\n SectionList as NativeBaseSectionList,\n View as NativeBaseView,\n} from 'native-base';\nimport type {\n IFlatListProps,\n InterfaceFlatListProps,\n} from 'native-base/lib/typescript/components/basic/FlatList/types';\nimport type { InterfaceScrollViewProps } from 'native-base/lib/typescript/components/basic/ScrollView/types';\nimport type {\n ISectionListProps,\n InterfaceSectionListProps,\n} from 'native-base/lib/typescript/components/basic/SectionList/types';\nimport type { IViewProps, InterfaceViewProps } from 'native-base/lib/typescript/components/basic/View/types';\nimport type { InterfacePressableProps } from 'native-base/lib/typescript/components/primitives/Pressable/types';\nimport type { ForwardedRef, MutableRefObject } from 'react';\nimport type {\n FlatList as NativeFlatList,\n FlatListProps as NativeFlatListProps,\n PressableProps as NativePressableProps,\n ScrollViewProps as NativeScrollViewProps,\n SectionList as NativeSectionList,\n SectionListProps as NativeSectionListProps,\n ViewProps as NativeViewProps,\n} from 'react-native';\nimport type {\n ForwardRefComponent,\n NativeBaseAcceptedBorderProps,\n NativeBaseAcceptedBorderRadiusProps,\n NativeBaseAcceptedColorsProps,\n NativeBaseAcceptedFlexboxProps,\n NativeBaseAcceptedLayoutProps,\n NativeBaseAcceptedPositionProps,\n NativeBaseAcceptedShadowProps,\n NativeBaseAcceptedSpaceProps,\n} from './acceptable-native-base-props';\n\ntype NativeBaseAcceptedViewProps = Extract<keyof InterfaceViewProps, 'children' | keyof NativeViewProps>;\n\nexport interface ViewProps\n extends Pick<\n IViewProps,\n | NativeBaseAcceptedViewProps\n | NativeBaseAcceptedSpaceProps\n | NativeBaseAcceptedColorsProps\n | NativeBaseAcceptedBorderProps\n | NativeBaseAcceptedBorderRadiusProps\n | NativeBaseAcceptedPositionProps\n | NativeBaseAcceptedShadowProps\n | NativeBaseAcceptedLayoutProps\n | NativeBaseAcceptedFlexboxProps\n > {}\n\nexport const View = NativeBaseView as ForwardRefComponent<ViewProps>;\n\ntype NativeBaseAcceptedScrollViewProps = Extract<\n keyof InterfaceScrollViewProps,\n 'children' | '_contentContainerStyle' | keyof NativeScrollViewProps\n>;\nexport interface ScrollViewProps\n extends Pick<\n IScrollViewProps,\n | NativeBaseAcceptedScrollViewProps\n | NativeBaseAcceptedSpaceProps\n | NativeBaseAcceptedColorsProps\n | NativeBaseAcceptedBorderProps\n | NativeBaseAcceptedBorderRadiusProps\n | NativeBaseAcceptedPositionProps\n | NativeBaseAcceptedShadowProps\n | NativeBaseAcceptedLayoutProps\n | NativeBaseAcceptedFlexboxProps\n > {}\n\nexport const ScrollView = NativeBaseScrollView as ForwardRefComponent<ScrollViewProps>;\n\ntype NativeBaseAcceptedPressableProps = Extract<\n keyof InterfacePressableProps,\n | 'children'\n | 'onHoverIn'\n | 'onHoverOut'\n | 'onFocus'\n | 'onBlur'\n | '_hover'\n | '_pressed'\n | '_focus'\n | '_disabled'\n | 'isDisabled'\n | 'isHovered'\n | 'isPressed'\n | 'isFocused'\n | 'isFocusVisible'\n | '_focusVisible'\n | keyof NativePressableProps\n>;\nexport interface PressableProps\n extends Pick<\n IPressableProps,\n | NativeBaseAcceptedPressableProps\n | NativeBaseAcceptedSpaceProps\n | NativeBaseAcceptedColorsProps\n | NativeBaseAcceptedBorderProps\n | NativeBaseAcceptedBorderRadiusProps\n | NativeBaseAcceptedPositionProps\n | NativeBaseAcceptedShadowProps\n | NativeBaseAcceptedLayoutProps\n | NativeBaseAcceptedFlexboxProps\n > {}\n\nexport const Pressable = NativeBasePressable as ForwardRefComponent<PressableProps>;\n\nexport const Image = NativeBaseImage as ForwardRefComponent<IImageProps>;\n\ntype NativeBaseAcceptedFlatListProps<ItemT> = Extract<\n keyof InterfaceFlatListProps<ItemT>,\n 'ref' | '_contentContainerStyle' | keyof NativeFlatListProps<ItemT>\n>;\nexport interface FlatListProps<ItemT>\n extends Pick<\n IFlatListProps<ItemT>,\n | NativeBaseAcceptedFlatListProps<ItemT>\n | NativeBaseAcceptedSpaceProps\n | NativeBaseAcceptedColorsProps\n | NativeBaseAcceptedBorderProps\n | NativeBaseAcceptedBorderRadiusProps\n | NativeBaseAcceptedPositionProps\n | NativeBaseAcceptedShadowProps\n | NativeBaseAcceptedLayoutProps\n | NativeBaseAcceptedFlexboxProps\n > {}\n\n// See: https://fettblog.eu/typescript-react-generic-forward-refs/\nexport const FlatList = NativeBaseFlatList as <ItemT>(\n props: FlatListProps<ItemT> & { ref?: MutableRefObject<NativeFlatList<ItemT> | undefined> },\n) => ReturnType<typeof NativeBaseFlatList>;\n\ntype NativeBaseAcceptedSectionListProps<ItemT, SectionT> = Extract<\n keyof InterfaceSectionListProps<ItemT, SectionT>,\n 'ref' | keyof NativeSectionListProps<ItemT, SectionT>\n>;\nexport interface SectionListProps<ItemT, SectionT>\n extends Pick<\n ISectionListProps<ItemT, SectionT>,\n | NativeBaseAcceptedSectionListProps<ItemT, SectionT>\n | NativeBaseAcceptedSpaceProps\n | NativeBaseAcceptedColorsProps\n | NativeBaseAcceptedBorderProps\n | NativeBaseAcceptedBorderRadiusProps\n | NativeBaseAcceptedPositionProps\n | NativeBaseAcceptedShadowProps\n | NativeBaseAcceptedLayoutProps\n | NativeBaseAcceptedFlexboxProps\n > {}\n\n// See: https://fettblog.eu/typescript-react-generic-forward-refs/\nexport const SectionList = NativeBaseSectionList as <ItemT, SectionT>(\n props: SectionListProps<ItemT, SectionT> & { ref?: ForwardedRef<NativeSectionList<ItemT, SectionT> | undefined> },\n) => ReturnType<typeof NativeBaseSectionList>;\n","export const hex2rgba = (hex: string, alpha = 1): string => {\n const r = parseInt(hex.slice(1, 3), 16);\n const g = parseInt(hex.slice(3, 5), 16);\n const b = parseInt(hex.slice(5, 7), 16);\n\n return `rgba(${r}, ${g}, ${b}, ${alpha})`;\n};\n","export const lateOceanColorPalette = {\n lateOcean: '#4C34E0',\n lateOceanLight1: '#705DE6',\n lateOceanLight2: '#9485EC',\n lateOceanLight3: '#D6BAF9',\n\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 webAnimationDuration = '200ms';\nexport const webAnimationTimingFunction = 'ease-in-out';\nexport const webAnimationProperty = 'border-color';\n\nexport const input: InputTheme = {\n minHeight: 40,\n color: {\n selection: colors.primary,\n placeholder: typography.colors['black-light'],\n },\n borderWidth: 2,\n borderRadius: 10,\n icon: {\n size: 20,\n },\n rightContainer: {\n padding: 10,\n },\n padding: {\n horizontal: 16,\n vertical: 5,\n },\n transition: {\n property: webAnimationProperty,\n duration: webAnimationDuration,\n timingFunction: webAnimationTimingFunction,\n },\n states: inputStatesStyle,\n};\n","export const inputField = {\n containerPaddingTop: 5,\n containerPaddingBottom: 10,\n feedbackPaddingTop: { base: 5, small: 10 },\n labelContainerPaddingBottom: 5,\n labelFeedbackMarginLeft: 6,\n};\n","import { lateOceanColorPalette } from '../palettes/lateOceanColorPalette';\nimport { colors } from './colors';\n\ninterface InputTagTypeTheme {\n backgroundColor: string;\n labelColor: string;\n}\nexport interface InputTagTheme {\n borderRadius: number;\n iconSize: number;\n default: InputTagTypeTheme;\n success: InputTagTypeTheme;\n danger: InputTagTypeTheme;\n}\n\nexport const inputTag: InputTagTheme = {\n success: {\n backgroundColor: colors.success,\n labelColor: colors.uiBackgroundLight,\n },\n danger: {\n backgroundColor: colors.danger,\n labelColor: colors.uiBackgroundLight,\n },\n default: {\n backgroundColor: lateOceanColorPalette.black50,\n labelColor: colors.black,\n },\n borderRadius: 10,\n iconSize: 13.5,\n};\n","import { lateOceanColorPalette } from '../palettes/lateOceanColorPalette';\nimport { colors } from './colors';\n\nexport interface RadioTheme {\n size: number;\n unchecked: {\n backgroundColor: string;\n borderColor: string;\n borderWidth: number;\n };\n checked: {\n backgroundColor: string;\n borderColor: string;\n innerBackgroundColor: string;\n innerSize: number;\n };\n hover: {\n backgroundColor: string;\n borderColor: string;\n };\n pressed: {\n backgroundColor: string;\n borderColor: string;\n };\n disabled: {\n backgroundColor: string;\n borderColor: string;\n };\n transition: {\n duration: string;\n timingFunction: string;\n };\n}\n\nexport const radio: RadioTheme = {\n size: 18,\n unchecked: {\n borderWidth: 2,\n backgroundColor: colors.uiBackgroundLight,\n borderColor: lateOceanColorPalette.black200,\n },\n checked: {\n backgroundColor: colors.primary,\n borderColor: colors.transparent,\n innerSize: 5,\n innerBackgroundColor: colors.uiBackgroundLight,\n },\n hover: {\n backgroundColor: colors.uiBackgroundLight,\n borderColor: colors.primary,\n },\n pressed: {\n backgroundColor: colors.uiBackgroundLight,\n borderColor: colors.primary,\n },\n disabled: {\n backgroundColor: colors.disabled,\n borderColor: colors.separator,\n },\n transition: {\n duration: '200ms',\n timingFunction: 'ease-out',\n },\n};\n","import { colors } from './colors';\n\nexport interface RadioButtonGroupTheme {\n item: {\n minHeight: number;\n borderWidth: number;\n borderColor: {\n default: string;\n hover: string;\n pressed: string;\n active: string;\n disabled: string;\n [key: string]: string;\n };\n backgroundColor: {\n default: string;\n hover: string;\n pressed: string;\n active: string;\n disabled: string;\n };\n borderRadius: number;\n padding: {\n horizontal: number;\n vertical: number;\n };\n transition: {\n property: string;\n duration: string;\n timingFunction: string;\n };\n };\n}\n\nexport const radioButtonGroup: RadioButtonGroupTheme = {\n item: {\n minHeight: 40,\n borderWidth: 2,\n borderRadius: 20,\n borderColor: {\n default: colors.separator,\n hover: colors.primary,\n pressed: colors.primary,\n active: colors.primary,\n disabled: colors.separator,\n },\n backgroundColor: {\n default: colors.uiBackgroundLight,\n hover: colors.white,\n pressed: colors.primary,\n active: colors.primary,\n disabled: colors.disabled,\n },\n padding: {\n horizontal: 18,\n vertical: 6,\n },\n transition: {\n property: 'all',\n duration: '200ms',\n timingFunction: 'ease-in-out',\n },\n },\n};\n","export interface TextAreaTheme {\n minHeight: number;\n}\n\nexport const textArea: TextAreaTheme = {\n minHeight: 120,\n};\n","export interface TimePickerTheme {\n minWidth: number;\n}\n\nexport const timePicker: TimePickerTheme = {\n minWidth: 100,\n};\n","import { 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 pageLoaderSize = 60;\nexport const pageLoaderStrokeWidth = 3;\n\nexport const webAnimationDelay = 500;\nexport const webAnimationCircleBackgroundFillDuration = 1000;\nexport const webAnimationFilledCircleFillDuration = 1800;\nexport const webAnimationFilledCircleRotationDuration = 2160;\nexport const fillEasingFunction: [number, number, number, number] = [0.39, 0.575, 0.565, 1];\n\nexport const pageLoader: PageLoaderTheme = {\n size: pageLoaderSize,\n strokeWidth: pageLoaderStrokeWidth,\n colors: {\n base: colors.separator,\n fill: colors.primary,\n },\n animation: {\n delay: webAnimationDelay,\n circleBackgroundFillDuration: webAnimationCircleBackgroundFillDuration,\n filledCircleFillDuration: webAnimationFilledCircleFillDuration,\n groupFilledCircleRotationDuration: 1800,\n filledCircleRotationDuration: webAnimationFilledCircleRotationDuration,\n fillEasingFunction,\n },\n};\n","import type { TextStyle } from 'react-native';\nimport { 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 skeletonBackgroundColor = lateOceanColorPalette.black100;\nexport const skeletonFlareColor = lateOceanColorPalette.black200;\n\nexport const skeleton: SkeletonTheme = {\n backgroundColor: skeletonBackgroundColor,\n flareColor: skeletonFlareColor,\n animationDuration: 1000,\n shape: {\n bar: {\n size: 8,\n borderRadius: 4,\n },\n circle: {\n size: 48,\n borderRadius: 24,\n },\n square: {\n size: 48,\n borderRadius: 6,\n },\n },\n};\n","import { lateOceanColorPalette } from '../palettes/lateOceanColorPalette';\nimport { colors } from './colors';\n\nexport interface TagVariantTheme {\n borderWidth: number;\n backgroundColor: string;\n borderColor: string;\n}\n\nexport interface TagTypeTheme {\n fill: TagVariantTheme;\n outline: TagVariantTheme;\n}\n\nexport interface TagTheme {\n borderRadius: number;\n /** @deprecated -- Use verticalPadding and horizontalPadding instead */\n padding: string;\n verticalPadding: number;\n horizontalPadding: number;\n primary: TagTypeTheme;\n default: TagTypeTheme;\n danger: TagTypeTheme;\n warn: TagTypeTheme;\n}\n\nexport const tag: TagTheme = {\n borderRadius: 10,\n padding: '2px 12px',\n verticalPadding: 2,\n horizontalPadding: 12,\n primary: {\n fill: {\n backgroundColor: lateOceanColorPalette.moonPurpleLight1,\n borderWidth: 0,\n borderColor: colors.transparent,\n },\n outline: {\n backgroundColor: colors.transparent,\n borderWidth: 1,\n borderColor: colors.primary,\n },\n },\n default: {\n fill: {\n backgroundColor: lateOceanColorPalette.black50,\n borderWidth: 0,\n borderColor: colors.transparent,\n },\n outline: {\n backgroundColor: colors.transparent,\n borderWidth: 1,\n borderColor: colors.black,\n },\n },\n danger: {\n fill: {\n backgroundColor: colors.danger,\n borderWidth: 0,\n borderColor: colors.transparent,\n },\n outline: {\n backgroundColor: colors.transparent,\n borderWidth: 1,\n borderColor: colors.danger,\n },\n },\n warn: {\n fill: {\n backgroundColor: colors.warning,\n borderWidth: 0,\n borderColor: colors.transparent,\n },\n outline: {\n backgroundColor: colors.transparent,\n borderWidth: 1,\n borderColor: colors.warning,\n },\n },\n};\n","import { hex2rgba } from '../../utils/hexToRgba';\nimport { colors } from './colors';\n\ninterface TooltipTransition {\n duration: string;\n timingFunction: string;\n property: string;\n}\n\nexport interface TooltipTheme {\n backgroundColor: string;\n borderRadius: number;\n opacity: number;\n horizontalPadding: number;\n verticalPadding: number;\n floatingPadding: number;\n maxWidth: number;\n transition: {\n in: TooltipTransition;\n out: TooltipTransition;\n };\n arrow: {\n width: number;\n height: number;\n };\n}\n\nexport const tooltip: TooltipTheme = {\n backgroundColor: hex2rgba(colors.black, 0.95),\n borderRadius: 10,\n opacity: 0.95,\n horizontalPadding: 16,\n verticalPadding: 8,\n floatingPadding: 8,\n maxWidth: 328,\n transition: {\n in: {\n duration: '150ms',\n timingFunction: 'ease-out',\n property: 'opacity',\n },\n out: {\n duration: '75ms',\n timingFunction: 'ease-out',\n property: 'opacity',\n },\n },\n arrow: {\n width: 39,\n height: 9,\n },\n};\n","import { lateOceanColorPalette } from '../palettes/lateOceanColorPalette';\nimport { colors } from './colors';\n\ninterface StepStateTheme {\n icon: {\n backgroundColor: string;\n textColor: string;\n };\n}\n\nexport interface VerticalStepsTheme {\n active: StepStateTheme;\n done: StepStateTheme;\n default: StepStateTheme;\n}\n\nexport const verticalSteps: VerticalStepsTheme = {\n active: {\n icon: {\n backgroundColor: colors.primary,\n textColor: colors.white,\n },\n },\n done: {\n icon: {\n backgroundColor: lateOceanColorPalette.moonPurple,\n textColor: colors.primary,\n },\n },\n default: {\n icon: {\n backgroundColor: colors.disabled,\n textColor: colors.blackDisabled,\n },\n },\n};\n","import { actionCard } from './late-ocean/actionCard';\nimport { avatar } from './late-ocean/avatar';\nimport { bottomSheet } from './late-ocean/bottomSheet';\nimport { button } from './late-ocean/button';\nimport { card } from './late-ocean/card';\nimport { cardModal } from './late-ocean/cardModal';\nimport { choices } from './late-ocean/choices';\nimport { colors } from './late-ocean/colors';\nimport { dialogModal } from './late-ocean/dialogModal';\nimport { feedbackMessage } from './late-ocean/feedback';\nimport { forms } from './late-ocean/forms';\nimport { fullscreenModal } from './late-ocean/fullscreenModal';\nimport { highlight } from './late-ocean/highlight';\nimport { 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';\n\nexport interface WindowDimensions {\n width?: number;\n height?: number;\n}\n\nexport interface MatchWindowSizeOptions {\n minWidth?: number;\n maxWidth?: number;\n minHeight?: number;\n maxHeight?: number;\n}\nexport function matchWindowSize(\n { width, height }: WindowDimensions,\n { minWidth, maxWidth, minHeight, maxHeight }: MatchWindowSizeOptions,\n): boolean {\n const hasWidthMatched = width ? (!minWidth || width >= minWidth) && (!maxWidth || width <= maxWidth) : true;\n const hasHeightMatched = height ? (!minHeight || height >= minHeight) && (!maxHeight || height <= maxHeight) : true;\n return hasWidthMatched && hasHeightMatched;\n}\n\n/**\n * Returns if a size matches based on dimensions passed as options.\n *\n * WARNING: Not SSR friendly.\n */\nexport function useMatchWindowSize(options: MatchWindowSizeOptions): boolean {\n const { width, height } = useWindowDimensions();\n return matchWindowSize({ width, height }, options);\n}\n","import type { 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 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 { CardModal } from '../../../../CardModal/CardModal';\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 <CardModal.Header>\n <Typography.Text base=\"body\" variant=\"bold\">\n {children}\n </Typography.Text>\n </CardModal.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 <CardModal.ModalBehaviour visible={Boolean(isVisible)} onClose={handleClose}>\n <CardModal>\n {isVisible ? (\n <>\n {title ? <ModalTitle>{title}</ModalTitle> : null}\n\n <CardModal.Body>\n <PlatformDateTimePicker {...props} value={currentValue} onChange={handleChange} />\n </CardModal.Body>\n\n <CardModal.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 </CardModal.Footer>\n </>\n ) : null}\n </CardModal>\n </CardModal.ModalBehaviour>\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 } 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 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 { ReactElement, ReactNode } from 'react';\n\nexport interface TypographyLinkWebWrapperProps {\n children: ReactNode;\n hasNoUnderline?: boolean;\n}\n\nexport function TypographyLinkWebWrapper({ children, ...props }: TypographyLinkWebWrapperProps): ReactElement {\n return children as ReactElement;\n}\n","import type { ReactElement, ReactNode } from 'react';\nimport type { TextProps } from 'react-native';\nimport type { Except } from 'type-fest';\nimport type { TypographyPropsWithoutRole } from './Typography';\nimport { Typography } from './Typography';\nimport { TypographyLinkWebWrapper } from './TypographyLinkWebWrapper';\n\nexport interface TypographyLinkProps extends Except<TypographyPropsWithoutRole, 'children'> {\n children: NonNullable<ReactNode>;\n disabled?: boolean;\n noUnderline?: boolean;\n variant: NonNullable<TypographyPropsWithoutRole['variant']>;\n href?: TextProps['href'];\n hrefAttrs?: TextProps['hrefAttrs'];\n onPress?: TextProps['onPress'];\n}\n\nexport function TypographyLink({\n children,\n disabled,\n noUnderline,\n href,\n hrefAttrs,\n onPress,\n ...otherProps\n}: TypographyLinkProps): ReactElement {\n return (\n <TypographyLinkWebWrapper hasNoUnderline={noUnderline}>\n <Typography\n underline={!noUnderline}\n color={disabled ? 'black-disabled' : undefined}\n href={href}\n hrefAttrs={hrefAttrs}\n accessibilityRole=\"link\"\n dataSet={{\n // remove data-kitt-universal when we delete kitt web. See :global(a) in Link styles.module.css\n 'kitt-universal': 'true',\n }}\n _web={{\n cursor: disabled ? 'not-allowed' : 'pointer',\n transitionProperty: 'color',\n transitionDuration: '0.2s',\n transitionTimingFunction: 'ease-in-out',\n }}\n // TODO[native-base@>=3.4.19] this currently does not work. Retest when updating native-base.\n // _active={{\n // underline: !!noUnderline,\n // }}\n // _hover={{\n // underline: !!noUnderline,\n // }}\n onPress={disabled ? undefined : onPress}\n {...otherProps}\n >\n {children}\n </Typography>\n </TypographyLinkWebWrapper>\n );\n}\n","import { useMemo } from 'react';\nimport type { Theme } from './themes/default';\nimport { theme as kittTheme } from './themes/default';\n\nexport interface KittTheme {\n kitt: Theme;\n}\n\nexport function useKittTheme(): KittTheme {\n return useMemo(() => {\n return { kitt: kittTheme };\n }, []);\n}\n","import { makeDecorator } from '@storybook/addons';\nimport type { ReactElement, ReactNode } from 'react';\nimport type { AppTheme, KittNativeBaseProviderProps } from '../../native-base/KittNativeBaseProvider';\nimport { KittNativeBaseProvider } from '../../native-base/KittNativeBaseProvider';\nimport { useKittTheme } from '../../useKittTheme';\n\ninterface KittThemeProviderProps {\n appTheme?: AppTheme;\n isSSR?: KittNativeBaseProviderProps['isSSR'];\n children: ReactNode;\n}\n\nexport function KittThemeProvider({ isSSR, children, appTheme }: KittThemeProviderProps): ReactElement {\n const theme = useKittTheme();\n return (\n <KittNativeBaseProvider theme={theme} isSSR={isSSR} appTheme={appTheme}>\n {children}\n </KittNativeBaseProvider>\n );\n}\n\nexport const KittThemeDecorator = makeDecorator({\n name: 'ThemeDecorator',\n parameterName: 'theme',\n wrapper: (storyFn, context, { options = {}, parameters = {} }) => {\n return (\n <KittThemeProvider isSSR={parameters.isSSR ?? (options as any).isSSR}>\n {storyFn(context) as ReactNode}\n </KittThemeProvider>\n );\n },\n});\n","import type { ComponentProps, ElementType, ReactElement, ReactNode } from 'react';\nimport { Platform } from 'react-native';\n\nexport interface StyleWebWrapperProps<T extends ElementType> {\n as: T;\n children: ReactNode;\n}\n\n/**\n * @deprecated Use react-native Platform instead\n */\nexport function StyleWebWrapper<T extends ElementType = 'div'>({\n as,\n children,\n ...props\n}: StyleWebWrapperProps<T> & ComponentProps<T>): ReactElement {\n if (Platform.OS !== 'web') return children as ReactElement;\n const Component: T = as || ('div' as T); // as or default to div. If as is undefined, T is div but typescript is not sure\n return <Component {...(props as any)}>{children}</Component>;\n}\n","import type { ReactElement, 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 { 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","r","parseInt","slice","g","b","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","default","backgroundColor","borderColor","borderWidth","shadow","color","offsetX","offsetY","opacity","radius","translateY","hovered","focused","pressed","secondary","highlight","defaultAvatarSize","defaultAvatarIconSize","largeAvatarSize","largeAvatarIconSize","avatar","size","iconSize","large","spacing","bottomSheet","container","padding","handle","button","focus","minHeight","minWidth","maxWidth","scale","base","active","medium","contentPadding","xLarge","horizontal","vertical","transition","duration","timingFunction","pressedBackgroundColor","hoverBackgroundColor","focusBorderColor","ghost","hoverColor","activeColor","subtle","card","webAnimationContentDuration","webAnimationContentEasing","webAnimationOverlayDuration","webAnimationOverlayEasing","overlayHorizontalPadding","cardModal","maxWidthWithPadding","header","height","footer","overlayPadding","animation","easing","content","choices","row","column","item","small","selected","hoverWhenSelected","border","width","property","dialogModal","feedbackMessage","checkbox","markColor","textSpacing","checked","datePicker","day","month","year","calcLineHeight","fontSize","lineHeightMultiplier","Math","round","createTypographyTypeConfig","baseAndSmallFontSize","mediumAndWideFontSize","baseAndSmall","lineHeight","mediumAndWide","typography","kittColors","types","headers","fontFamily","native","regular","bold","web","fontWeight","fontStyle","configs","header1","header2","header3","header4","header5","bodies","body","link","disabledColor","inputStatesStyle","pending","valid","invalid","webAnimationDuration","webAnimationTimingFunction","webAnimationProperty","input","selection","placeholder","icon","rightContainer","states","inputField","containerPaddingTop","containerPaddingBottom","feedbackPaddingTop","labelContainerPaddingBottom","labelFeedbackMarginLeft","inputTag","labelColor","radio","unchecked","innerSize","innerBackgroundColor","radioButtonGroup","textArea","timePicker","forms","fullscreenModal","sharedHorizontalPadding","verticalPadding","iconButton","listItem","horizontalPadding","innerMargin","pageLoaderSize","pageLoaderStrokeWidth","webAnimationDelay","webAnimationCircleBackgroundFillDuration","webAnimationFilledCircleFillDuration","webAnimationFilledCircleRotationDuration","fillEasingFunction","pageLoader","strokeWidth","fill","delay","circleBackgroundFillDuration","filledCircleFillDuration","groupFilledCircleRotationDuration","filledCircleRotationDuration","picker","ios","landscape","android","shadows","cards","low","highBase","highMedium","highLarge","navigation","left","right","panel","skeletonBackgroundColor","skeletonFlareColor","skeleton","flareColor","animationDuration","shape","bar","circle","square","tag","outline","warn","tooltip","floatingPadding","in","out","arrow","verticalSteps","textColor","done","breakpoints","values","wide","min","smallBreakpoint","mediumBreakpoint","largeBreakpoint","wideBreakpoint","max","theme","palettes","KittThemeContext","createContext","kitt","kittTheme","useTheme","useContext","getStateKey","isHovered","isPressed","isFocused","getThemeName","variant","borderVariant","ActionCardContentWrapper","children","state","__DEV__","Error","sharedTransform","transform","themeName","_jsx","_ios","style","_android","_web","ActionCardDisabled","borderStyle","ActionCard","testID","ActionCardPressable","forwardRef","href","hrefAttrs","accessibilityRole","isHoveredInternal","isPressedInternal","isFocusedInternal","onPress","ref","Stack","NativeBaseStack","VStack","NativeBaseVStack","HStack","NativeBaseHStack","Center","NativeBaseCenter","createResponsiveStyleFromProp","responsiveBooleanValue","valueIfTrue","valueIfFalse","keys","Object","length","responsiveValue","forEach","breakpointName","message","process","env","NODE_ENV","console","deprecatedMessage","symbol","deprecation","replaceBy","replaceMessage","undefined","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","legacyBase","legacySmall","legacyMedium","legacyLarge","legacyWide","otherProps","defaultColor","hasTypographyAncestor","baseOrDefaultToBody","isHeader","nonNullableVariant","currentColor","colorStyles","textDecorationColor","entries","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","align","clonedIcon","cloneElement","alignSelf","TypographyIconSpecifiedColor","colorStyle","TypographyIconInheritColor","TypographyIcon","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","buttonTheme","transitionProperty","transitionDuration","transitionTimingFunction","hasVariant","getVariantValuesIfExist","useNativeAnimation","useSharedValue","useAnimatedStyle","_f","interpolateColor","withSpring","_closure","asString","__workletHash","__location","__optimalization","onPressIn","onPressOut","getButtonSize","allowedGhostTypes","Button","stretch","sizeProp","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","getCurrentStretchValue","isMedium","ActionsItem","as","isCurrentStretch","isLoading","setIsLoading","useState","mountedRef","e","error","ActionsButton","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","hasScrollView","hasBackdrop","hasHandle","onDismiss","Wrapper","useMemo","BottomSheetScrollView","BottomSheetView","initialSnapPoints","animatedHandleHeight","animatedSnapPoints","animatedContentHeight","handleContentLayout","useBottomSheetDynamicSnapPoints","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","ModalBehaviour","visible","Overlay","CardModalRotationContainer","NativeOpacityAnimation","onExited","hasRunAnimationRef","handleAnimationFinished","opacityStyle","x1","y1","x2","y2","withTiming","bezier","isFinished","runOnJS","StyleSheet","absoluteFillObject","NativeRotationAnimation","onEntered","animatedStyle","rotateZ","CardModalAnimation","onEnter","onExit","isModalVisible","setIsModalVisible","isContentVisible","setIsContentVisible","handleAnimationExited","Modal","supportedOrientations","onShow","bounces","contentContainerStyle","CardModalScrollContainer","CardModalBehaviour","isModalBehaviourVisible","setIsModalBehaviourVisible","CardModalBody","CardModalFooter","hasSeparator","marginTop","borderTopWidth","CardModalHeader","title","paddingBottom","defaultContainerPadding","borderBottomWidth","paddingRight","paddingLeft","CardModal","withoutShadow","Body","Header","Footer","getBackgroundColor","isSelected","getBorderRadius","Number","MAX_SAFE_INTEGER","AnimatedChoiceItemView","Boolean","progress","useDerivedValue","backgroundStyles","defaultBg","pressedBg","selectedBg","disabledBg","getCurrentTextColor","ChoiceItem","onChange","onBlur","onFocus","handleChange","accessibilityState","ChoiceItemContainer","isLast","currentItemMarginValue","marginBottom","ChoicesContainer","Choices","id","currentValue","setCurrentValue","isForm","childrenArray","Children","toArray","sharedProps","newValue","nativeID","map","child","element","createChoicesComponent","ButtonChoices","ChoicesElements","DialogModalAnimation","DialogModalBehaviour","DialogModal","illustration","actions","paddingTop","flex","DialogModalButton","Emoji","emoji","emojiData","parse","assetType","url","ExternalAppLink","Component","appScheme","appValue","onOpenAppError","rest","canOpen","Linking","canOpenURL","defaultPrevented","openURL","catch","Sms","phoneNumber","Tel","Mail","emailAddress","defaultOpenLinkBehavior","ExternalLink","openLinkBehavior","WebBrowser","openBrowserAsync","isChecked","getBorderColor","Checkbox","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","validYearMinLength","arrayParts","isEverythingUndefined","every","v","isEverythingDefined","nextValue","Date","isValidYear","setDate","setMonth","setFullYear","setMinutes","setHours","setSeconds","setMilliseconds","isMinDateAfterNextValue","getTime","isMaxDateBeforeNextValue","stringToNumber","InputTextContainer","InputText","formState","internalForceState","autoCorrect","textContentType","autoComplete","keyboardType","multiline","onSubmitEditing","shouldHandleSingleLineOnIOS","Input","py","getCurrentInternalForcedState","InputPart","PartContainer","KeyboardDatePicker","monthRef","yearRef","defaultValue","defaultDay","getDate","defaultMonth","defaultYear","dispatch","useReducer","sharedInputPartProps","handleDatePartChange","handleAutoFocusNextField","currentFieldValue","nextFieldRef","nativeEvent","PressableDateInputs","pointerEvents","DatePickerAndroid","pickerDefaultDate","pickerUITestID","isDefaultVisible","setIsFocused","handleClose","handleModalOpen","DateTimePickerAndroid","open","now","timestamp","date","onTouchCancel","getDatePickerDisplayMode","PlatformDateTimePicker","defaultDate","maximumDate","minimuDate","displayMode","iosProps","DateTimePicker","is24Hour","mode","minimumDate","_event","ModalTitle","ModalPlatformDateTimePicker","isVisible","validateButtonLabel","newDate","prev","FormattedMessage","DefaultNativeUIDatePicker","pickerUITitle","pickerUIValidateButtonLabel","isPickerUIVisible","setIsPickerUIVisible","handleModalClose","NativeUIDatePicker","DatePicker","fillMode","InputEmail","autoCapitalize","getColorFromState","InputFeedback","InputField","label","labelFeedback","feedback","getIconColor","InputIcon","InputPressable","InputPassword","isPasswordDefaultVisible","setIsVisible","secureTextEntry","EyeOffIcon","EyeIcon","isPhoneNumberValid","number","isValidNumber","phoneNumberLength","InputPhone","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","pressedBorderColor","RadioButton","RadioButtonGroupItem","RadioButtonGroup","flexWrap","clone","TextArea","textAlignVertical","FullscreenModalBody","shouldHandleBottomNotch","shouldHandleTopNotch","useSafeAreaInsets","FullscreenModalFooter","borderTopColor","NativeSlideInAnimation","wHeight","translateStyle","FullscreenModalAnimation","FullscreenModalBehaviour","FullscreenModalContainer","FullscreenModalHeader","isTransparent","hasRight","hasLeft","hasContent","borderBottomColor","FullscreenModal","Highlight","Background","AnimatedBackground","opacityStyles","currentOpacityStyles","AnimatedScale","scaleStyles","IconButton","backfaceVisibility","translate3d","isCurrentHovered","isCurrentPressed","KittMapConfigProviderContext","KittMapConfigProvider","mapId","apiToken","providerValue","useKittMapConfig","context","ListItemContent","ListItemSideContainer","side","ListItemSideContent","ListItem","withPadding","borders","Fragment","wrapperProps","containerProps","SideContent","SideContainer","MapMarkerSimple","DefaultMarkerSvg","MapMarkerLarge","LargeMarkerSvg","MapMarkerPosition","PositionMarkerSvg","IconContent","AlertCircleIcon","CheckIcon","AlertTriangleIcon","InfoIcon","getColorByType","getIconButtonColor","messageType","BaseMessage","hasNoRadius","centeredText","insets","XIcon","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","appear","AnimationComponent","useBreakpointValue","CurrentContainerComponent","shouldAppear","setShouldAppear","NavigationModal","Notification","onDelete","AnimatedCircle","createAnimatedComponent","Circle","AnimatedLoaderCircle","centerCoord","circlePerimeter","PI","strokeAnimation","useAnimatedProps","strokeDashoffset","stroke","strokeLinecap","cx","cy","strokeDasharray","animatedProps","AnimatedBackgroundCircle","withDelay","Svg","viewBox","isInfinitAnimation","AnimatedFillCircleContainer","withRepeat","rotationStyles","absoluteFill","shouldReverse","AnimatedFilledCircle","PageLoader","sharedTransformStyle","PickerItem","Picker","initialValue","onValueSelected","isMatchingMaxHeight","useMediaQuery","iosItemStyle","getIosTextStyle","setValue","NativePicker","selectedValue","itemStyle","onValueChange","itemValue","React","SegmentedProgressBar","currentStep","stepsCount","colorVariant","withCurrentInProgress","fillColor","steps","Array","from","stepNumber","isSegmentCurrentInProgress","Stripes","AnimatedLinearGradient","LinearGradient","SkeletonContent","sharedX","inOut","ease","linearGradientStyle","translateX","locations","x","y","end","Skeleton","setWidth","Bar","Square","getStaticMapImageUrl","mapWidth","mapHeight","center","is2x","centerPart","long","lat","zoom","urlParts","mapImageUrl","URL","join","searchParams","append","useGetStaticMapImageUrl","forceMapId","forceApiToken","currentUrl","setCurrentUrl","currentMapIdRef","currentApiTokenRef","newUrl","StaticMapError","onReload","RotateCCWIcon","StaticMapImage","onLoadEnd","onError","StaticMapLoader","getMarkerPosition","StaticMapMarker","getRangedWidthValue","nextWidth","rangedMapWidth","getShouldDisplay2x","currentDevicePixelRatio","PixelRatio","get","mapBoxMaxPictureWidth","getPictureWidth","StaticMap","marker","onLoaded","currentWidth","setCurrentWidth","hasError","setHasError","currentMapKey","setCurrentMapKey","shouldDisplay2xImage","mapUrl","KITT_MAP_CHROMATIC_IGNORE","Loader","Marker","Flex","wrap","storyPadding","getBackgroundColorFromBlockColor","getTypographyColorFromBlockColor","StoryBlockBackgroundContext","StoryBlockColorContext","useStoryBlockColor","storyBlockColor","StoryBlock","background","marginX","StoryTitle","numberOfLines","StoryTitleLevel2","StoryTitleLevel3","StoryTitleLevel4","Level2","Level3","Level4","Story","StorySection","internalIsDemoSection","SubSection","BlockSection","DemoSection","Demo","DeprecatedSection","StoryContainer","platform","StoryDecorator","storyFn","name","StoryGridRow","breakpoint","StoryGridCol","titleColor","isNative","StoryGrid","Row","Col","getLabelColor","Tag","ModalDateTimePicker","pickerTestID","nextDate","buttonContent","formatNumberToTimeString","time","formatDateToTimeString","getHours","getMinutes","TimePickerPressable","TimePicker","modalTestID","isPickerVisible","setIsPickerVisible","pickerValue","Arrow","transformStyle","TooltipArrowIcon","TooltipContent","customShift","tooltipX","refPageX","refWidth","floatingWidth","wWidth","refCenterOnScreen","halfFloatingWith","useCustomShift","pressableRect","windowDimensions","customShiftData","setCustomShiftData","res","pageX","Tooltip","defaultVisible","zIndex","fullWidth","onUpdate","onToggle","currentFloatingPadding","setFloatingWidth","pressableRectRef","reference","floating","update","refs","middlewareData","strategy","placement","useFloating","middleware","offset","autoPlacement","allowedPlacements","tooltipY","getPressableRect","useCallback","measure","_x","_y","_h","accessibilityElementsHidden","importantForAccessibility","getTypographyTypeConfig","calcSizesFromType","TypographyEmoji","TypographyLinkWebWrapper","TypographyLink","noUnderline","hasNoUnderline","underline","dataSet","cursor","useKittTheme","KittThemeProvider","KittThemeDecorator","makeDecorator","parameterName","wrapper","parameters","StyleWebWrapper","MatchWindowSize","matchWindowSizeOptions","match","useCurrentBreakpointName","backgroundColors","IconStatus","StepIcon","ExternalStep","Step","shouldDisableNextLink","getStepState","activeIndex","VerticalSteps","count","createElement"],"mappings":"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"}