@ornikar/kitt-universal 25.48.0 → 25.48.1-canary.430f6cd109998511d4c4ad7369a24908547c62f4.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 (72) hide show
  1. package/CHANGELOG.md +11 -0
  2. package/dist/definitions/CardModal2/CardModal2.d.ts +19 -0
  3. package/dist/definitions/CardModal2/CardModal2.d.ts.map +1 -0
  4. package/dist/definitions/CardModal2/components/CardModal2Animation/CardModal2Animation.d.ts +8 -0
  5. package/dist/definitions/CardModal2/components/CardModal2Animation/CardModal2Animation.d.ts.map +1 -0
  6. package/dist/definitions/CardModal2/components/CardModal2Animation/CardModal2Animation.web.d.ts +4 -0
  7. package/dist/definitions/CardModal2/components/CardModal2Animation/CardModal2Animation.web.d.ts.map +1 -0
  8. package/dist/definitions/CardModal2/components/CardModal2Animation/CardModal2RotationContainer.d.ts +7 -0
  9. package/dist/definitions/CardModal2/components/CardModal2Animation/CardModal2RotationContainer.d.ts.map +1 -0
  10. package/dist/definitions/CardModal2/components/CardModal2Animation/NativeOpacityAnimation.d.ts +8 -0
  11. package/dist/definitions/CardModal2/components/CardModal2Animation/NativeOpacityAnimation.d.ts.map +1 -0
  12. package/dist/definitions/CardModal2/components/CardModal2Animation/NativeRotationAnimation.d.ts +11 -0
  13. package/dist/definitions/CardModal2/components/CardModal2Animation/NativeRotationAnimation.d.ts.map +1 -0
  14. package/dist/definitions/CardModal2/components/CardModal2Behaviour.d.ts +8 -0
  15. package/dist/definitions/CardModal2/components/CardModal2Behaviour.d.ts.map +1 -0
  16. package/dist/definitions/CardModal2/components/CardModal2Body.d.ts +7 -0
  17. package/dist/definitions/CardModal2/components/CardModal2Body.d.ts.map +1 -0
  18. package/dist/definitions/CardModal2/components/CardModal2Footer.d.ts +7 -0
  19. package/dist/definitions/CardModal2/components/CardModal2Footer.d.ts.map +1 -0
  20. package/dist/definitions/CardModal2/components/CardModal2Header.d.ts +20 -0
  21. package/dist/definitions/CardModal2/components/CardModal2Header.d.ts.map +1 -0
  22. package/dist/definitions/FullscreenModal2/FullscreenModal2.d.ts +18 -0
  23. package/dist/definitions/FullscreenModal2/FullscreenModal2.d.ts.map +1 -0
  24. package/dist/definitions/FullscreenModal2/components/FullscreenModal2Animation.d.ts +8 -0
  25. package/dist/definitions/FullscreenModal2/components/FullscreenModal2Animation.d.ts.map +1 -0
  26. package/dist/definitions/FullscreenModal2/components/FullscreenModal2Behaviour.d.ts +8 -0
  27. package/dist/definitions/FullscreenModal2/components/FullscreenModal2Behaviour.d.ts.map +1 -0
  28. package/dist/definitions/FullscreenModal2/components/FullscreenModal2Body.d.ts +9 -0
  29. package/dist/definitions/FullscreenModal2/components/FullscreenModal2Body.d.ts.map +1 -0
  30. package/dist/definitions/FullscreenModal2/components/FullscreenModal2Container.d.ts +8 -0
  31. package/dist/definitions/FullscreenModal2/components/FullscreenModal2Container.d.ts.map +1 -0
  32. package/dist/definitions/FullscreenModal2/components/FullscreenModal2Footer.d.ts +8 -0
  33. package/dist/definitions/FullscreenModal2/components/FullscreenModal2Footer.d.ts.map +1 -0
  34. package/dist/definitions/FullscreenModal2/components/FullscreenModal2Header.d.ts +22 -0
  35. package/dist/definitions/FullscreenModal2/components/FullscreenModal2Header.d.ts.map +1 -0
  36. package/dist/definitions/FullscreenModal2/components/NativeOpacityAnimation.d.ts +7 -0
  37. package/dist/definitions/FullscreenModal2/components/NativeOpacityAnimation.d.ts.map +1 -0
  38. package/dist/definitions/FullscreenModal2/components/NativeSlideInAnimation.d.ts +10 -0
  39. package/dist/definitions/FullscreenModal2/components/NativeSlideInAnimation.d.ts.map +1 -0
  40. package/dist/definitions/NavigationModal2/NavigationModal2.d.ts +23 -0
  41. package/dist/definitions/NavigationModal2/NavigationModal2.d.ts.map +1 -0
  42. package/dist/definitions/NavigationModal2/components/NavigationModal2Behaviour.d.ts +8 -0
  43. package/dist/definitions/NavigationModal2/components/NavigationModal2Behaviour.d.ts.map +1 -0
  44. package/dist/definitions/NavigationModal2/components/NavigationModal2Body.d.ts +7 -0
  45. package/dist/definitions/NavigationModal2/components/NavigationModal2Body.d.ts.map +1 -0
  46. package/dist/definitions/NavigationModal2/components/NavigationModal2Footer.d.ts +7 -0
  47. package/dist/definitions/NavigationModal2/components/NavigationModal2Footer.d.ts.map +1 -0
  48. package/dist/definitions/NavigationModal2/components/NavigationModal2Header.d.ts +7 -0
  49. package/dist/definitions/NavigationModal2/components/NavigationModal2Header.d.ts.map +1 -0
  50. package/dist/definitions/index.d.ts +6 -0
  51. package/dist/definitions/index.d.ts.map +1 -1
  52. package/dist/index-metro.es.android.js +1023 -294
  53. package/dist/index-metro.es.android.js.map +1 -1
  54. package/dist/index-metro.es.ios.js +1023 -294
  55. package/dist/index-metro.es.ios.js.map +1 -1
  56. package/dist/index-node-20.10.cjs.js +802 -76
  57. package/dist/index-node-20.10.cjs.js.map +1 -1
  58. package/dist/index-node-20.10.cjs.web.css +8 -0
  59. package/dist/index-node-20.10.cjs.web.js +777 -120
  60. package/dist/index-node-20.10.cjs.web.js.map +1 -1
  61. package/dist/index-node-20.10.es.mjs +800 -77
  62. package/dist/index-node-20.10.es.mjs.map +1 -1
  63. package/dist/index-node-20.10.es.web.css +8 -0
  64. package/dist/index-node-20.10.es.web.mjs +776 -122
  65. package/dist/index-node-20.10.es.web.mjs.map +1 -1
  66. package/dist/index.es.js +890 -152
  67. package/dist/index.es.js.map +1 -1
  68. package/dist/index.es.web.js +778 -120
  69. package/dist/index.es.web.js.map +1 -1
  70. package/dist/styles.css +8 -0
  71. package/dist/tsbuildinfo +1 -1
  72. package/package.json +1 -1
package/dist/index.es.js CHANGED
@@ -2631,7 +2631,7 @@ function ActionCardDisabled(_ref) {
2631
2631
  });
2632
2632
  }
2633
2633
 
2634
- var _excluded$T = ["children", "variant", "borderVariant", "borderRadius", "disabled", "isHovered", "isPressed", "isFocused"];
2634
+ var _excluded$11 = ["children", "variant", "borderVariant", "borderRadius", "disabled", "isHovered", "isPressed", "isFocused"];
2635
2635
  function ActionCard(_ref) {
2636
2636
  var children = _ref.children,
2637
2637
  _ref$variant = _ref.variant,
@@ -2644,7 +2644,7 @@ function ActionCard(_ref) {
2644
2644
  isHovered = _ref.isHovered,
2645
2645
  isPressed = _ref.isPressed,
2646
2646
  isFocused = _ref.isFocused,
2647
- props = _objectWithoutProperties(_ref, _excluded$T);
2647
+ props = _objectWithoutProperties(_ref, _excluded$11);
2648
2648
  return /*#__PURE__*/jsx(View, _objectSpread(_objectSpread({}, props), {}, {
2649
2649
  children: disabled ? /*#__PURE__*/jsx(ActionCardDisabled, {
2650
2650
  borderRadius: borderRadius,
@@ -2952,7 +2952,7 @@ var getTypographyFamilyWithAncestorValue = function (type, typographyFamilyInCon
2952
2952
  throw new Error('You must set a "base" prop or wrap this Typography in one that does.');
2953
2953
  };
2954
2954
 
2955
- var _excluded$S = ["accessibilityRole", "base", "small", "medium", "large", "wide", "type", "variant", "color"];
2955
+ var _excluded$10 = ["accessibilityRole", "base", "small", "medium", "large", "wide", "type", "variant", "color"];
2956
2956
  var TypographyFamilyContext = /*#__PURE__*/createContext(null);
2957
2957
  var TypographyTypeContext = /*#__PURE__*/createContext(null);
2958
2958
  var TypographyColorContext = /*#__PURE__*/createContext('black');
@@ -3007,7 +3007,7 @@ function Typography(_ref) {
3007
3007
  } : _ref$type,
3008
3008
  variant = _ref.variant,
3009
3009
  color = _ref.color,
3010
- otherProps = _objectWithoutProperties(_ref, _excluded$S);
3010
+ otherProps = _objectWithoutProperties(_ref, _excluded$10);
3011
3011
  var sx = useSx();
3012
3012
  var typographyFamilyInContext = useContext(TypographyFamilyContext);
3013
3013
  var defaultColor = useTypographyDefaultColor();
@@ -3123,7 +3123,7 @@ function Icon(_ref) {
3123
3123
  });
3124
3124
  }
3125
3125
 
3126
- var _excluded$R = ["color", "size"],
3126
+ var _excluded$$ = ["color", "size"],
3127
3127
  _excluded2$5 = ["color"];
3128
3128
  function getIconSizeConfigKeyFromTypeName(breakpointName) {
3129
3129
  return breakpointName === KittBreakpointNameEnum.BASE || breakpointName === KittBreakpointNameEnum.SMALL ? 'baseAndSmall' : 'mediumAndWide';
@@ -3144,7 +3144,7 @@ function createNativeBaseIconSize(type) {
3144
3144
  function TypographyIconSpecifiedColor(_ref) {
3145
3145
  var color = _ref.color,
3146
3146
  size = _ref.size,
3147
- props = _objectWithoutProperties(_ref, _excluded$R);
3147
+ props = _objectWithoutProperties(_ref, _excluded$$);
3148
3148
  var ancestorType = useTypographyAncestorType();
3149
3149
  var iconSize = size || (ancestorType ? createNativeBaseIconSize(ancestorType) : undefined);
3150
3150
  var colorValue = getTypographyColorValue(color);
@@ -3197,7 +3197,7 @@ var getButtonTextColorByType = function (type, variant, isHovered, isPressed) {
3197
3197
  }
3198
3198
  };
3199
3199
 
3200
- var _excluded$Q = ["type", "variant", "isDisabled", "icon", "children", "isHovered", "isPressed", "isFocused", "innerSpacing"];
3200
+ var _excluded$_ = ["type", "variant", "isDisabled", "icon", "children", "isHovered", "isPressed", "isFocused", "innerSpacing"];
3201
3201
  function ButtonIcon(_ref) {
3202
3202
  var icon = _ref.icon,
3203
3203
  color = _ref.color,
@@ -3274,7 +3274,7 @@ function ButtonContent(_ref3) {
3274
3274
  isPressed = _ref3.isPressed;
3275
3275
  _ref3.isFocused;
3276
3276
  var innerSpacing = _ref3.innerSpacing,
3277
- props = _objectWithoutProperties(_ref3, _excluded$Q);
3277
+ props = _objectWithoutProperties(_ref3, _excluded$_);
3278
3278
  var color = isDisabled ? 'black-light' : getButtonTextColorByType(type, variant, isHovered, isPressed);
3279
3279
  return /*#__PURE__*/jsx(View, {
3280
3280
  _web: {
@@ -3571,7 +3571,7 @@ function LoaderIcon(_ref) {
3571
3571
  });
3572
3572
  }
3573
3573
 
3574
- var _excluded$P = ["as", "onPress", "disabled", "icon", "stretch"];
3574
+ var _excluded$Z = ["as", "onPress", "disabled", "icon", "stretch"];
3575
3575
  var ActionsItem = /*#__PURE__*/forwardRef(function (_ref, ref) {
3576
3576
  var as = _ref.as,
3577
3577
  onPress = _ref.onPress,
@@ -3582,7 +3582,7 @@ var ActionsItem = /*#__PURE__*/forwardRef(function (_ref, ref) {
3582
3582
  base: true,
3583
3583
  medium: false
3584
3584
  } : _ref$stretch,
3585
- props = _objectWithoutProperties(_ref, _excluded$P);
3585
+ props = _objectWithoutProperties(_ref, _excluded$Z);
3586
3586
  var _useState = useState(false),
3587
3587
  _useState2 = _slicedToArray(_useState, 2),
3588
3588
  isLoading = _useState2[0],
@@ -3655,7 +3655,7 @@ function ActionsButton(_ref) {
3655
3655
  }, props));
3656
3656
  }
3657
3657
 
3658
- var _excluded$O = ["children", "layout", "reversed"];
3658
+ var _excluded$Y = ["children", "layout", "reversed"];
3659
3659
  function getCurrentLayout(layout) {
3660
3660
  if (!layout) return {
3661
3661
  base: 'stretch',
@@ -3687,7 +3687,7 @@ function Actions(_ref) {
3687
3687
  reversed = _ref$reversed === void 0 ? {
3688
3688
  base: false
3689
3689
  } : _ref$reversed,
3690
- props = _objectWithoutProperties(_ref, _excluded$O);
3690
+ props = _objectWithoutProperties(_ref, _excluded$Y);
3691
3691
  var shouldReverse = typeof reversed === 'boolean' ? {
3692
3692
  base: !!reversed
3693
3693
  } : createResponsiveStyleFromProp(reversed, true, false);
@@ -3740,7 +3740,7 @@ function getInitials(firstname, lastname) {
3740
3740
  return "".concat(firstname[0]).concat(lastname[0]).toUpperCase();
3741
3741
  }
3742
3742
 
3743
- var _excluded$N = ["size", "round", "light", "sizeVariant", "width", "height", "dark", "disabled"];
3743
+ var _excluded$X = ["size", "round", "light", "sizeVariant", "width", "height", "dark", "disabled"];
3744
3744
  function AvatarContent(_ref) {
3745
3745
  var size = _ref.size,
3746
3746
  src = _ref.src,
@@ -3803,7 +3803,7 @@ function Avatar(_ref2) {
3803
3803
  height = _ref2.height,
3804
3804
  dark = _ref2.dark,
3805
3805
  disabled = _ref2.disabled,
3806
- props = _objectWithoutProperties(_ref2, _excluded$N);
3806
+ props = _objectWithoutProperties(_ref2, _excluded$X);
3807
3807
  var currentSize = getCurrentSize({
3808
3808
  size: size,
3809
3809
  sizeVariant: sizeVariant
@@ -3858,7 +3858,7 @@ function IdentityComponent(_ref) {
3858
3858
  return children;
3859
3859
  }
3860
3860
 
3861
- var _excluded$M = ["children", "hasScrollView", "hasBackdrop", "hasHandle", "enableDynamicSizing", "snapPoints", "contentContainer"];
3861
+ var _excluded$W = ["children", "hasScrollView", "hasBackdrop", "hasHandle", "enableDynamicSizing", "snapPoints", "contentContainer"];
3862
3862
  function BottomSheetComp(_ref, ref) {
3863
3863
  var Content = _ref.children,
3864
3864
  _ref$hasScrollView = _ref.hasScrollView,
@@ -3873,7 +3873,7 @@ function BottomSheetComp(_ref, ref) {
3873
3873
  snapPoints = _ref$snapPoints === void 0 ? ['100%'] : _ref$snapPoints,
3874
3874
  _ref$contentContainer = _ref.contentContainer,
3875
3875
  ContentContainer = _ref$contentContainer === void 0 ? IdentityComponent : _ref$contentContainer,
3876
- rest = _objectWithoutProperties(_ref, _excluded$M);
3876
+ rest = _objectWithoutProperties(_ref, _excluded$W);
3877
3877
  var _useSafeAreaInsets = useSafeAreaInsets(),
3878
3878
  top = _useSafeAreaInsets.top;
3879
3879
  var Wrapper = useMemo(function () {
@@ -4033,7 +4033,7 @@ function CardModalRotationContainer(props) {
4033
4033
  }, props));
4034
4034
  }
4035
4035
 
4036
- function NativeOpacityAnimation$2(_ref) {
4036
+ function NativeOpacityAnimation$4(_ref) {
4037
4037
  var visible = _ref.visible,
4038
4038
  children = _ref.children,
4039
4039
  onExited = _ref.onExited;
@@ -4072,7 +4072,7 @@ function NativeOpacityAnimation$2(_ref) {
4072
4072
  });
4073
4073
  }
4074
4074
 
4075
- function NativeRotationAnimation$1(_ref) {
4075
+ function NativeRotationAnimation$2(_ref) {
4076
4076
  var visible = _ref.visible,
4077
4077
  children = _ref.children,
4078
4078
  onEntered = _ref.onEntered,
@@ -4166,14 +4166,14 @@ function CardModalAnimation(_ref) {
4166
4166
  flexGrow: 1,
4167
4167
  justifyContent: "center",
4168
4168
  alignItems: "center",
4169
- children: [/*#__PURE__*/jsx(NativeOpacityAnimation$2, {
4169
+ children: [/*#__PURE__*/jsx(NativeOpacityAnimation$4, {
4170
4170
  visible: isContentVisible,
4171
4171
  onExited: handleAnimationExited,
4172
4172
  children: /*#__PURE__*/jsx(Overlay, {
4173
4173
  onPress: onClose
4174
4174
  })
4175
4175
  }), /*#__PURE__*/jsx(CardModalRotationContainer, {
4176
- children: /*#__PURE__*/jsx(NativeRotationAnimation$1, {
4176
+ children: /*#__PURE__*/jsx(NativeRotationAnimation$2, {
4177
4177
  visible: isContentVisible,
4178
4178
  onExited: handleAnimationExited,
4179
4179
  onEntered: onEntered,
@@ -4184,13 +4184,13 @@ function CardModalAnimation(_ref) {
4184
4184
  });
4185
4185
  }
4186
4186
 
4187
- var _excluded$L = ["children", "visible", "onClose", "onExited"];
4187
+ var _excluded$V = ["children", "visible", "onClose", "onExited"];
4188
4188
  function CardModalBehaviour(_ref) {
4189
4189
  var children = _ref.children,
4190
4190
  visible = _ref.visible,
4191
4191
  onClose = _ref.onClose,
4192
4192
  onExited = _ref.onExited,
4193
- props = _objectWithoutProperties(_ref, _excluded$L);
4193
+ props = _objectWithoutProperties(_ref, _excluded$V);
4194
4194
  var _useState = useState(visible),
4195
4195
  _useState2 = _slicedToArray(_useState, 2),
4196
4196
  isModalBehaviourVisible = _useState2[0],
@@ -4215,7 +4215,7 @@ function CardModalBehaviour(_ref) {
4215
4215
  });
4216
4216
  }
4217
4217
 
4218
- var _excluded$K = ["children", "paddingX", "paddingY"];
4218
+ var _excluded$U = ["children", "paddingX", "paddingY"];
4219
4219
  function CardModalBody(_ref) {
4220
4220
  var children = _ref.children,
4221
4221
  _ref$paddingX = _ref.paddingX,
@@ -4225,7 +4225,7 @@ function CardModalBody(_ref) {
4225
4225
  } : _ref$paddingX,
4226
4226
  _ref$paddingY = _ref.paddingY,
4227
4227
  paddingY = _ref$paddingY === void 0 ? 'kitt.4' : _ref$paddingY,
4228
- props = _objectWithoutProperties(_ref, _excluded$K);
4228
+ props = _objectWithoutProperties(_ref, _excluded$U);
4229
4229
  return /*#__PURE__*/jsx(ScrollView, _objectSpread(_objectSpread({
4230
4230
  showsVerticalScrollIndicator: false,
4231
4231
  _contentContainerStyle: {
@@ -4237,7 +4237,7 @@ function CardModalBody(_ref) {
4237
4237
  }));
4238
4238
  }
4239
4239
 
4240
- var _excluded$J = ["children", "padding", "hasSeparator"];
4240
+ var _excluded$T = ["children", "padding", "hasSeparator"];
4241
4241
  function CardModalFooter(_ref) {
4242
4242
  var children = _ref.children,
4243
4243
  _ref$padding = _ref.padding,
@@ -4247,7 +4247,7 @@ function CardModalFooter(_ref) {
4247
4247
  } : _ref$padding,
4248
4248
  _ref$hasSeparator = _ref.hasSeparator,
4249
4249
  hasSeparator = _ref$hasSeparator === void 0 ? true : _ref$hasSeparator,
4250
- props = _objectWithoutProperties(_ref, _excluded$J);
4250
+ props = _objectWithoutProperties(_ref, _excluded$T);
4251
4251
  return /*#__PURE__*/jsx(View, _objectSpread(_objectSpread({}, props), {}, {
4252
4252
  marginTop: "kitt.2",
4253
4253
  padding: padding,
@@ -4261,7 +4261,7 @@ function CardModalFooter(_ref) {
4261
4261
  }));
4262
4262
  }
4263
4263
 
4264
- var _excluded$I = ["children", "title", "paddingBottom", "hasSeparator", "right", "left"];
4264
+ var _excluded$S = ["children", "title", "paddingBottom", "hasSeparator", "right", "left"];
4265
4265
  function CardModalHeader(_ref) {
4266
4266
  var children = _ref.children,
4267
4267
  title = _ref.title,
@@ -4274,7 +4274,7 @@ function CardModalHeader(_ref) {
4274
4274
  hasSeparator = _ref$hasSeparator === void 0 ? true : _ref$hasSeparator,
4275
4275
  right = _ref.right,
4276
4276
  left = _ref.left,
4277
- props = _objectWithoutProperties(_ref, _excluded$I);
4277
+ props = _objectWithoutProperties(_ref, _excluded$S);
4278
4278
  var defaultContainerPadding = {
4279
4279
  base: 'kitt.4',
4280
4280
  medium: 'kitt.6'
@@ -4312,7 +4312,7 @@ function CardModalHeader(_ref) {
4312
4312
  }));
4313
4313
  }
4314
4314
 
4315
- var _excluded$H = ["backgroundColor", "maxWidth", "withoutShadow", "children", "header", "body", "footer", "contentContainer"];
4315
+ var _excluded$R = ["backgroundColor", "maxWidth", "withoutShadow", "children", "header", "body", "footer", "contentContainer"];
4316
4316
  function CardModal(_ref) {
4317
4317
  var _ref$backgroundColor = _ref.backgroundColor,
4318
4318
  backgroundColor = _ref$backgroundColor === void 0 ? 'kitt.uiBackgroundLight' : _ref$backgroundColor,
@@ -4325,7 +4325,7 @@ function CardModal(_ref) {
4325
4325
  footer = _ref.footer,
4326
4326
  _ref$contentContainer = _ref.contentContainer,
4327
4327
  ContentContainer = _ref$contentContainer === void 0 ? IdentityComponent : _ref$contentContainer,
4328
- props = _objectWithoutProperties(_ref, _excluded$H);
4328
+ props = _objectWithoutProperties(_ref, _excluded$R);
4329
4329
  return /*#__PURE__*/jsx(View, _objectSpread(_objectSpread({}, props), {}, {
4330
4330
  overflow: "hidden",
4331
4331
  backgroundColor: backgroundColor,
@@ -4342,10 +4342,328 @@ function CardModal(_ref) {
4342
4342
  })
4343
4343
  }));
4344
4344
  }
4345
- CardModal.Body = CardModalBody;
4346
- CardModal.Header = CardModalHeader;
4347
- CardModal.Footer = CardModalFooter;
4348
- CardModal.ModalBehaviour = CardModalBehaviour;
4345
+ CardModal.Body = CardModalBody;
4346
+ CardModal.Header = CardModalHeader;
4347
+ CardModal.Footer = CardModalFooter;
4348
+ CardModal.ModalBehaviour = CardModalBehaviour;
4349
+
4350
+ function CardModal2RotationContainer(props) {
4351
+ return /*#__PURE__*/jsx(View, _objectSpread({
4352
+ paddingX: "kitt.cardModal.overlayPadding.horizontal",
4353
+ paddingY: "kitt.cardModal.overlayPadding.vertical",
4354
+ maxWidth: "kitt.cardModal.maxWidthWithPadding",
4355
+ width: "100%",
4356
+ maxHeight: "100%",
4357
+ _web: {
4358
+ maxHeight: '100svh'
4359
+ }
4360
+ }, props));
4361
+ }
4362
+
4363
+ function NativeOpacityAnimation$3(_ref) {
4364
+ var visible = _ref.visible,
4365
+ children = _ref.children,
4366
+ onExited = _ref.onExited;
4367
+ var theme = useTheme();
4368
+ var hasRunAnimationRef = useRef(false);
4369
+ function handleAnimationFinished() {
4370
+ if (visible) {
4371
+ hasRunAnimationRef.current = true;
4372
+ }
4373
+ if (!visible && hasRunAnimationRef.current) {
4374
+ onExited();
4375
+ }
4376
+ }
4377
+ var opacityStyle = useAnimatedStyle(function () {
4378
+ var _theme$kitt$cardModal = theme.kitt.cardModal.animation.overlay,
4379
+ duration = _theme$kitt$cardModal.duration,
4380
+ easing = _theme$kitt$cardModal.easing;
4381
+ var _easing = _slicedToArray(easing, 4),
4382
+ x1 = _easing[0],
4383
+ y1 = _easing[1],
4384
+ x2 = _easing[2],
4385
+ y2 = _easing[3];
4386
+ return {
4387
+ opacity: withTiming(visible ? 1 : 0, {
4388
+ duration: duration,
4389
+ easing: Easing$1.bezier(x1, y1, x2, y2)
4390
+ }, function (isFinished) {
4391
+ if (!isFinished) return;
4392
+ runOnJS(handleAnimationFinished)();
4393
+ })
4394
+ };
4395
+ });
4396
+ return /*#__PURE__*/jsx(Animated.View, {
4397
+ style: [StyleSheet.absoluteFillObject, opacityStyle],
4398
+ children: children
4399
+ });
4400
+ }
4401
+
4402
+ function NativeRotationAnimation$1(_ref) {
4403
+ var visible = _ref.visible,
4404
+ children = _ref.children,
4405
+ onEntered = _ref.onEntered,
4406
+ onExited = _ref.onExited;
4407
+ var theme = useTheme();
4408
+ var hasRunAnimationRef = useRef(false);
4409
+ var rotation = useSharedValue(0.8);
4410
+ function handleAnimationFinished() {
4411
+ if (visible) {
4412
+ if (onEntered) onEntered();
4413
+ hasRunAnimationRef.current = true;
4414
+ }
4415
+ if (!visible && hasRunAnimationRef.current) onExited();
4416
+ }
4417
+ var animatedStyle = useAnimatedStyle(function () {
4418
+ var _theme$kitt$cardModal = theme.kitt.cardModal.animation.content,
4419
+ duration = _theme$kitt$cardModal.duration,
4420
+ easing = _theme$kitt$cardModal.easing;
4421
+ var _easing = _slicedToArray(easing, 4),
4422
+ x1 = _easing[0],
4423
+ y1 = _easing[1],
4424
+ x2 = _easing[2],
4425
+ y2 = _easing[3];
4426
+ rotation.value = withTiming(visible ? 0 : 5, {
4427
+ duration: duration,
4428
+ easing: Easing$1.bezier(x1, y1, x2, y2)
4429
+ }, function (isFinished) {
4430
+ if (!isFinished) return;
4431
+ runOnJS(handleAnimationFinished)();
4432
+ });
4433
+ return {
4434
+ opacity: withTiming(visible ? 1 : 0, {
4435
+ duration: duration,
4436
+ easing: Easing$1.bezier(x1, y1, x2, y2)
4437
+ }),
4438
+ transform: [{
4439
+ scale: withTiming(visible ? 1 : 0.8, {
4440
+ duration: duration,
4441
+ easing: Easing$1.bezier(x1, y1, x2, y2)
4442
+ })
4443
+ }, {
4444
+ rotateZ: "".concat(rotation.value, "deg")
4445
+ }]
4446
+ };
4447
+ });
4448
+ return /*#__PURE__*/jsx(Animated.View, {
4449
+ style: [animatedStyle],
4450
+ children: children
4451
+ });
4452
+ }
4453
+
4454
+ function CardModal2Animation(_ref) {
4455
+ var visible = _ref.visible,
4456
+ children = _ref.children,
4457
+ onEnter = _ref.onEnter,
4458
+ onEntered = _ref.onEntered,
4459
+ onExit = _ref.onExit,
4460
+ onExited = _ref.onExited,
4461
+ onClose = _ref.onClose;
4462
+ var _useState = useState(visible),
4463
+ _useState2 = _slicedToArray(_useState, 2),
4464
+ isModalVisible = _useState2[0],
4465
+ setIsModalVisible = _useState2[1];
4466
+ var _useState3 = useState(false),
4467
+ _useState4 = _slicedToArray(_useState3, 2),
4468
+ isContentVisible = _useState4[0],
4469
+ setIsContentVisible = _useState4[1];
4470
+ var handleAnimationExited = function () {
4471
+ setIsModalVisible(false);
4472
+ // Android doesn't handle the onDismiss callback on the modal, we need to call it manually
4473
+ if (Platform.OS === 'android' && onExited) onExited();
4474
+ };
4475
+ useEffect(function () {
4476
+ if (!(!visible && isContentVisible)) return;
4477
+ if (onExit) onExit();
4478
+ setIsContentVisible(false);
4479
+ }, [visible, isContentVisible, onExit]);
4480
+ return /*#__PURE__*/jsx(Modal, {
4481
+ transparent: true,
4482
+ supportedOrientations: ['landscape', 'portrait'],
4483
+ visible: isModalVisible,
4484
+ onShow: function onShow() {
4485
+ if (onEnter) onEnter();
4486
+ setIsContentVisible(true);
4487
+ },
4488
+ onDismiss: function onDismiss() {
4489
+ if (onExited) onExited();
4490
+ },
4491
+ children: /*#__PURE__*/jsxs(View, {
4492
+ position: "relative",
4493
+ flexGrow: 1,
4494
+ justifyContent: "center",
4495
+ alignItems: "center",
4496
+ children: [/*#__PURE__*/jsx(NativeOpacityAnimation$3, {
4497
+ visible: isContentVisible,
4498
+ onExited: handleAnimationExited,
4499
+ children: /*#__PURE__*/jsx(Overlay, {
4500
+ onPress: onClose
4501
+ })
4502
+ }), /*#__PURE__*/jsx(CardModal2RotationContainer, {
4503
+ children: /*#__PURE__*/jsx(NativeRotationAnimation$1, {
4504
+ visible: isContentVisible,
4505
+ onExited: handleAnimationExited,
4506
+ onEntered: onEntered,
4507
+ children: children
4508
+ })
4509
+ })]
4510
+ })
4511
+ });
4512
+ }
4513
+
4514
+ var _excluded$Q = ["children", "visible", "onClose", "onExited"];
4515
+ function CardModal2Behaviour(_ref) {
4516
+ var children = _ref.children,
4517
+ visible = _ref.visible,
4518
+ onClose = _ref.onClose,
4519
+ onExited = _ref.onExited,
4520
+ props = _objectWithoutProperties(_ref, _excluded$Q);
4521
+ var _useState = useState(visible),
4522
+ _useState2 = _slicedToArray(_useState, 2),
4523
+ isModalBehaviourVisible = _useState2[0],
4524
+ setIsModalBehaviourVisible = _useState2[1];
4525
+ useEffect(function () {
4526
+ if (visible === true) {
4527
+ setIsModalBehaviourVisible(true);
4528
+ }
4529
+ }, [visible]);
4530
+ return /*#__PURE__*/jsx(ModalBehaviour, {
4531
+ visible: isModalBehaviourVisible,
4532
+ onClose: onClose,
4533
+ children: /*#__PURE__*/jsx(CardModal2Animation, _objectSpread(_objectSpread({}, props), {}, {
4534
+ visible: visible,
4535
+ onExited: function handleExitAnimationDone() {
4536
+ if (onExited) onExited();
4537
+ setIsModalBehaviourVisible(false);
4538
+ },
4539
+ onClose: onClose,
4540
+ children: children
4541
+ }))
4542
+ });
4543
+ }
4544
+
4545
+ var _excluded$P = ["children", "paddingX", "paddingY"];
4546
+ function CardModal2Body(_ref) {
4547
+ var children = _ref.children,
4548
+ _ref$paddingX = _ref.paddingX,
4549
+ paddingX = _ref$paddingX === void 0 ? {
4550
+ base: 'kitt.4',
4551
+ medium: 'kitt.6'
4552
+ } : _ref$paddingX,
4553
+ _ref$paddingY = _ref.paddingY,
4554
+ paddingY = _ref$paddingY === void 0 ? 'kitt.4' : _ref$paddingY,
4555
+ props = _objectWithoutProperties(_ref, _excluded$P);
4556
+ return /*#__PURE__*/jsx(ScrollView, _objectSpread(_objectSpread({
4557
+ showsVerticalScrollIndicator: false,
4558
+ _contentContainerStyle: {
4559
+ paddingX: paddingX,
4560
+ paddingY: paddingY
4561
+ }
4562
+ }, props), {}, {
4563
+ children: children
4564
+ }));
4565
+ }
4566
+
4567
+ var _excluded$O = ["children", "padding", "hasSeparator"];
4568
+ function CardModal2Footer(_ref) {
4569
+ var children = _ref.children,
4570
+ _ref$padding = _ref.padding,
4571
+ padding = _ref$padding === void 0 ? {
4572
+ base: 'kitt.4',
4573
+ medium: 'kitt.2'
4574
+ } : _ref$padding,
4575
+ _ref$hasSeparator = _ref.hasSeparator,
4576
+ hasSeparator = _ref$hasSeparator === void 0 ? true : _ref$hasSeparator,
4577
+ props = _objectWithoutProperties(_ref, _excluded$O);
4578
+ return /*#__PURE__*/jsx(View, _objectSpread(_objectSpread({}, props), {}, {
4579
+ marginTop: "kitt.2",
4580
+ padding: padding,
4581
+ borderTopWidth: hasSeparator ? 'kitt.cardModal.footer.borderWidth' : 0,
4582
+ borderColor: "kitt.separator",
4583
+ alignItems: {
4584
+ base: undefined,
4585
+ medium: 'flex-end'
4586
+ },
4587
+ children: children
4588
+ }));
4589
+ }
4590
+
4591
+ var _excluded$N = ["children", "title", "paddingBottom", "hasSeparator", "right", "left"];
4592
+ function CardModal2Header(_ref) {
4593
+ var children = _ref.children,
4594
+ title = _ref.title,
4595
+ _ref$paddingBottom = _ref.paddingBottom,
4596
+ paddingBottom = _ref$paddingBottom === void 0 ? {
4597
+ base: 'kitt.4',
4598
+ medium: 'kitt.2'
4599
+ } : _ref$paddingBottom,
4600
+ _ref$hasSeparator = _ref.hasSeparator,
4601
+ hasSeparator = _ref$hasSeparator === void 0 ? true : _ref$hasSeparator,
4602
+ right = _ref.right,
4603
+ left = _ref.left,
4604
+ props = _objectWithoutProperties(_ref, _excluded$N);
4605
+ var defaultContainerPadding = {
4606
+ base: 'kitt.4',
4607
+ medium: 'kitt.6'
4608
+ };
4609
+ return /*#__PURE__*/jsx(View, _objectSpread(_objectSpread({}, props), {}, {
4610
+ padding: paddingBottom,
4611
+ borderBottomWidth: hasSeparator ? 'kitt.cardModal.footer.borderWidth' : 0,
4612
+ borderColor: "kitt.separator",
4613
+ justifyContent: "center",
4614
+ width: "100%",
4615
+ height: "kitt.cardModal.header.height",
4616
+ paddingRight: right ? 'kitt.2' : defaultContainerPadding,
4617
+ paddingLeft: left ? 'kitt.2' : defaultContainerPadding,
4618
+ children: /*#__PURE__*/jsxs(View, {
4619
+ alignItems: "center",
4620
+ flexDirection: "row",
4621
+ justifyContent: !children && !left ? 'flex-end' : 'space-between',
4622
+ children: [left ? /*#__PURE__*/jsx(View, {
4623
+ width: "kitt.iconButton.width",
4624
+ children: left
4625
+ }) : null, /*#__PURE__*/jsxs(View, {
4626
+ flexGrow: "1",
4627
+ paddingRight: right ? 'kitt.2' : 0,
4628
+ paddingLeft: left ? 'kitt.2' : 0,
4629
+ children: [title ? /*#__PURE__*/jsx(Typography.Text, {
4630
+ textAlign: !left && right ? 'left' : 'center',
4631
+ variant: "bold",
4632
+ children: title
4633
+ }) : null, children]
4634
+ }), right ? /*#__PURE__*/jsx(View, {
4635
+ width: "kitt.iconButton.width",
4636
+ children: right
4637
+ }) : null]
4638
+ })
4639
+ }));
4640
+ }
4641
+
4642
+ var _excluded$M = ["backgroundColor", "maxWidth", "withoutShadow", "children"];
4643
+ function CardModal2(_ref) {
4644
+ var _ref$backgroundColor = _ref.backgroundColor,
4645
+ backgroundColor = _ref$backgroundColor === void 0 ? 'kitt.uiBackgroundLight' : _ref$backgroundColor,
4646
+ _ref$maxWidth = _ref.maxWidth,
4647
+ maxWidth = _ref$maxWidth === void 0 ? 'kitt.cardModal.maxWidth' : _ref$maxWidth,
4648
+ withoutShadow = _ref.withoutShadow,
4649
+ children = _ref.children,
4650
+ props = _objectWithoutProperties(_ref, _excluded$M);
4651
+ return /*#__PURE__*/jsx(View, _objectSpread(_objectSpread({}, props), {}, {
4652
+ overflow: "hidden",
4653
+ backgroundColor: backgroundColor,
4654
+ shadow: withoutShadow ? undefined : 'kitt.cardModal.shadow',
4655
+ borderRadius: "kitt.cardModal.borderRadius",
4656
+ width: "100%",
4657
+ maxHeight: "100%",
4658
+ maxWidth: maxWidth,
4659
+ minHeight: "kitt.cardModal.minHeight",
4660
+ children: children
4661
+ }));
4662
+ }
4663
+ CardModal2.Body = CardModal2Body;
4664
+ CardModal2.Header = CardModal2Header;
4665
+ CardModal2.Footer = CardModal2Footer;
4666
+ CardModal2.Behaviour = CardModal2Behaviour;
4349
4667
 
4350
4668
  function getBackgroundColor$5(_ref) {
4351
4669
  var isDisabled = _ref.isDisabled,
@@ -4554,11 +4872,11 @@ function ChoiceItemContainer(_ref) {
4554
4872
  }));
4555
4873
  }
4556
4874
 
4557
- var _excluded$G = ["direction", "contentContainerStyle"];
4875
+ var _excluded$L = ["direction", "contentContainerStyle"];
4558
4876
  function ChoicesContainer(_ref) {
4559
4877
  var direction = _ref.direction,
4560
4878
  contentContainerStyle = _ref.contentContainerStyle,
4561
- props = _objectWithoutProperties(_ref, _excluded$G);
4879
+ props = _objectWithoutProperties(_ref, _excluded$L);
4562
4880
  if (direction === 'row') {
4563
4881
  return /*#__PURE__*/jsx(ScrollView$2, _objectSpread({
4564
4882
  horizontal: true,
@@ -4635,7 +4953,7 @@ var ChoicesElements = {
4635
4953
  ButtonChoices: ButtonChoices
4636
4954
  };
4637
4955
 
4638
- function NativeOpacityAnimation$1(_ref) {
4956
+ function NativeOpacityAnimation$2(_ref) {
4639
4957
  var visible = _ref.visible,
4640
4958
  children = _ref.children,
4641
4959
  onExited = _ref.onExited;
@@ -4768,7 +5086,7 @@ function DialogModalAnimation(_ref) {
4768
5086
  flexGrow: 1,
4769
5087
  justifyContent: "center",
4770
5088
  alignItems: "center",
4771
- children: [/*#__PURE__*/jsx(NativeOpacityAnimation$1, {
5089
+ children: [/*#__PURE__*/jsx(NativeOpacityAnimation$2, {
4772
5090
  visible: isContentVisible,
4773
5091
  onExited: handleAnimationExited,
4774
5092
  children: /*#__PURE__*/jsx(Overlay, {
@@ -4788,13 +5106,13 @@ function DialogModalAnimation(_ref) {
4788
5106
  });
4789
5107
  }
4790
5108
 
4791
- var _excluded$F = ["children", "visible", "onClose", "onExited"];
5109
+ var _excluded$K = ["children", "visible", "onClose", "onExited"];
4792
5110
  function DialogModalBehaviour(_ref) {
4793
5111
  var children = _ref.children,
4794
5112
  visible = _ref.visible,
4795
5113
  onClose = _ref.onClose,
4796
5114
  onExited = _ref.onExited,
4797
- props = _objectWithoutProperties(_ref, _excluded$F);
5115
+ props = _objectWithoutProperties(_ref, _excluded$K);
4798
5116
  var _useState = useState(visible),
4799
5117
  _useState2 = _slicedToArray(_useState, 2),
4800
5118
  isModalBehaviourVisible = _useState2[0],
@@ -4825,7 +5143,7 @@ function DialogModalBehaviour(_ref) {
4825
5143
  });
4826
5144
  }
4827
5145
 
4828
- var _excluded$E = ["stretch"];
5146
+ var _excluded$J = ["stretch"];
4829
5147
  function DialogModal(_ref) {
4830
5148
  var illustration = _ref.illustration,
4831
5149
  title = _ref.title,
@@ -4865,7 +5183,7 @@ DialogModal.ModalBehaviour = DialogModalBehaviour;
4865
5183
  function DialogModalButton(_ref2) {
4866
5184
  var _ref2$stretch = _ref2.stretch,
4867
5185
  stretch = _ref2$stretch === void 0 ? true : _ref2$stretch,
4868
- props = _objectWithoutProperties(_ref2, _excluded$E);
5186
+ props = _objectWithoutProperties(_ref2, _excluded$J);
4869
5187
  return /*#__PURE__*/jsx(Actions.Button, _objectSpread({
4870
5188
  stretch: stretch
4871
5189
  }, props));
@@ -4902,7 +5220,7 @@ function Emoji(_ref) {
4902
5220
  });
4903
5221
  }
4904
5222
 
4905
- var _excluded$D = ["as", "appScheme", "appValue", "onPress", "onOpenAppError"],
5223
+ var _excluded$I = ["as", "appScheme", "appValue", "onPress", "onOpenAppError"],
4906
5224
  _excluded2$4 = ["phoneNumber", "children"],
4907
5225
  _excluded3$3 = ["phoneNumber", "children"],
4908
5226
  _excluded4$3 = ["emailAddress", "children"];
@@ -4912,7 +5230,7 @@ function ExternalAppLink(_ref) {
4912
5230
  appValue = _ref.appValue,
4913
5231
  onPress = _ref.onPress,
4914
5232
  onOpenAppError = _ref.onOpenAppError,
4915
- rest = _objectWithoutProperties(_ref, _excluded$D);
5233
+ rest = _objectWithoutProperties(_ref, _excluded$I);
4916
5234
  var href = "".concat(appScheme, ":").concat(appValue);
4917
5235
  var handleOnPress = /*#__PURE__*/function () {
4918
5236
  var _ref2 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee(e) {
@@ -5064,7 +5382,7 @@ function useOpenExternalLink(errorHandler) {
5064
5382
  }();
5065
5383
  }
5066
5384
 
5067
- var _excluded$C = ["as", "href", "openLinkBehavior", "onPress", "onOpenLinkError"];
5385
+ var _excluded$H = ["as", "href", "openLinkBehavior", "onPress", "onOpenLinkError"];
5068
5386
  function ExternalLink(_ref) {
5069
5387
  var Component = _ref.as,
5070
5388
  href = _ref.href,
@@ -5073,7 +5391,7 @@ function ExternalLink(_ref) {
5073
5391
  onPress = _ref.onPress,
5074
5392
  _ref$onOpenLinkError = _ref.onOpenLinkError,
5075
5393
  onOpenLinkError = _ref$onOpenLinkError === void 0 ? console.error : _ref$onOpenLinkError,
5076
- rest = _objectWithoutProperties(_ref, _excluded$C);
5394
+ rest = _objectWithoutProperties(_ref, _excluded$H);
5077
5395
  var openExternalLink = useOpenExternalLink();
5078
5396
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
5079
5397
  return /*#__PURE__*/jsx(Component, _objectSpread(_objectSpread({}, rest), {}, {
@@ -5130,7 +5448,7 @@ function InputTextContainer(_ref) {
5130
5448
  });
5131
5449
  }
5132
5450
 
5133
- var _excluded$B = ["id", "right", "state", "variant", "internalForceState", "disabled", "autoCorrect", "textContentType", "autoComplete", "inputMode", "multiline", "height", "onSubmitEditing"];
5451
+ var _excluded$G = ["id", "right", "state", "variant", "internalForceState", "disabled", "autoCorrect", "textContentType", "autoComplete", "inputMode", "multiline", "height", "onSubmitEditing"];
5134
5452
  var InputText = /*#__PURE__*/forwardRef(function (_ref, ref) {
5135
5453
  var id = _ref.id,
5136
5454
  right = _ref.right;
@@ -5151,7 +5469,7 @@ var InputText = /*#__PURE__*/forwardRef(function (_ref, ref) {
5151
5469
  multiline = _ref.multiline,
5152
5470
  height = _ref.height,
5153
5471
  onSubmitEditing = _ref.onSubmitEditing,
5154
- props = _objectWithoutProperties(_ref, _excluded$B);
5472
+ props = _objectWithoutProperties(_ref, _excluded$G);
5155
5473
  var theme = useTheme();
5156
5474
  var fontSizeForNativeBase = createNativeBaseFontSize({
5157
5475
  base: 'body'
@@ -5276,10 +5594,10 @@ function AutocompleteItemsListContainer(_ref) {
5276
5594
  });
5277
5595
  }
5278
5596
 
5279
- var _excluded$A = ["children"];
5597
+ var _excluded$F = ["children"];
5280
5598
  function AutocompleteOption(_ref) {
5281
5599
  var children = _ref.children,
5282
- props = _objectWithoutProperties(_ref, _excluded$A);
5600
+ props = _objectWithoutProperties(_ref, _excluded$F);
5283
5601
  return /*#__PURE__*/jsx(View, _objectSpread(_objectSpread({
5284
5602
  paddingX: {
5285
5603
  base: 'kitt.2',
@@ -5291,7 +5609,7 @@ function AutocompleteOption(_ref) {
5291
5609
  }));
5292
5610
  }
5293
5611
 
5294
- var _excluded$z = ["children", "name", "disabled", "placeholder", "isInitialOpen", "initialValue", "containerProps", "filterItemBasedOnCurrentInputValue", "checkSelectedItem", "itemToString", "right", "onChange", "onFocus", "onBlur", "onInputChange", "onSelectItem", "onOuterPress", "errorElement", "emptyResultsElement", "inputTestID", "listContainerTestID", "zIndex", "maxItemContainerHeight"],
5612
+ var _excluded$E = ["children", "name", "disabled", "placeholder", "isInitialOpen", "initialValue", "containerProps", "filterItemBasedOnCurrentInputValue", "checkSelectedItem", "itemToString", "right", "onChange", "onFocus", "onBlur", "onInputChange", "onSelectItem", "onOuterPress", "errorElement", "emptyResultsElement", "inputTestID", "listContainerTestID", "zIndex", "maxItemContainerHeight"],
5295
5613
  _excluded2$3 = ["onClick", "onPress"],
5296
5614
  _excluded3$2 = ["onKeyDown", "onFocus", "onBlur", "onChange"],
5297
5615
  _excluded4$2 = ["onClick", "onPress", "role", "aria-selected"];
@@ -5331,7 +5649,7 @@ function Autocomplete(_ref) {
5331
5649
  _ref$zIndex = _ref.zIndex,
5332
5650
  zIndex = _ref$zIndex === void 0 ? 1000 : _ref$zIndex,
5333
5651
  maxItemContainerHeight = _ref.maxItemContainerHeight,
5334
- props = _objectWithoutProperties(_ref, _excluded$z);
5652
+ props = _objectWithoutProperties(_ref, _excluded$E);
5335
5653
  var childrenArray = Children.toArray(_children);
5336
5654
  var items = childrenArray.filter(isReactElement).map(function (child) {
5337
5655
  return {
@@ -5546,7 +5864,7 @@ function getBorderColor$1(_ref) {
5546
5864
  return 'kitt.forms.checkbox.default.borderColor';
5547
5865
  }
5548
5866
 
5549
- var _excluded$y = ["checked", "hitSlop", "children", "disabled", "onChange", "onBlur", "onFocus"];
5867
+ var _excluded$D = ["checked", "hitSlop", "children", "disabled", "onChange", "onBlur", "onFocus"];
5550
5868
  var Checkbox = /*#__PURE__*/forwardRef(function (_ref, ref) {
5551
5869
  var checked = _ref.checked,
5552
5870
  _ref$hitSlop = _ref.hitSlop,
@@ -5556,7 +5874,7 @@ var Checkbox = /*#__PURE__*/forwardRef(function (_ref, ref) {
5556
5874
  onChange = _ref.onChange,
5557
5875
  onBlur = _ref.onBlur,
5558
5876
  onFocus = _ref.onFocus,
5559
- props = _objectWithoutProperties(_ref, _excluded$y);
5877
+ props = _objectWithoutProperties(_ref, _excluded$D);
5560
5878
  var theme = useTheme();
5561
5879
  return /*#__PURE__*/jsx(Pressable, _objectSpread(_objectSpread({
5562
5880
  hitSlop: hitSlop
@@ -5874,7 +6192,7 @@ function PartContainer(_ref) {
5874
6192
  });
5875
6193
  }
5876
6194
 
5877
- var _excluded$x = ["id", "value", "testID", "stretch", "placeholder", "minDate", "maxDate", "disabled", "isFocusedInternal", "isHoveredInternal", "isPressedInternal", "enterKeyHint", "onChange", "onBlur", "onFocus", "onSubmitEditing"];
6195
+ var _excluded$C = ["id", "value", "testID", "stretch", "placeholder", "minDate", "maxDate", "disabled", "isFocusedInternal", "isHoveredInternal", "isPressedInternal", "enterKeyHint", "onChange", "onBlur", "onFocus", "onSubmitEditing"];
5878
6196
  var KeyboardDatePicker = /*#__PURE__*/forwardRef(function (_ref, ref) {
5879
6197
  var id = _ref.id,
5880
6198
  value = _ref.value,
@@ -5892,7 +6210,7 @@ var KeyboardDatePicker = /*#__PURE__*/forwardRef(function (_ref, ref) {
5892
6210
  onBlur = _ref.onBlur,
5893
6211
  onFocus = _ref.onFocus,
5894
6212
  onSubmitEditing = _ref.onSubmitEditing;
5895
- _objectWithoutProperties(_ref, _excluded$x);
6213
+ _objectWithoutProperties(_ref, _excluded$C);
5896
6214
  var monthRef = useRef(null);
5897
6215
  var yearRef = useRef(null);
5898
6216
  var defaultValue = value;
@@ -6101,7 +6419,7 @@ var PressableDateInputs = /*#__PURE__*/forwardRef(function (_ref, ref) {
6101
6419
  });
6102
6420
  });
6103
6421
 
6104
- var _excluded$w = ["onBlur", "onFocus", "pickerDefaultDate", "pickerUITestID", "isDefaultVisible", "value", "onChange"];
6422
+ var _excluded$B = ["onBlur", "onFocus", "pickerDefaultDate", "pickerUITestID", "isDefaultVisible", "value", "onChange"];
6105
6423
  var DatePickerAndroid = /*#__PURE__*/forwardRef(function (_ref, ref) {
6106
6424
  var onBlur = _ref.onBlur,
6107
6425
  onFocus = _ref.onFocus,
@@ -6110,7 +6428,7 @@ var DatePickerAndroid = /*#__PURE__*/forwardRef(function (_ref, ref) {
6110
6428
  isDefaultVisible = _ref.isDefaultVisible,
6111
6429
  value = _ref.value,
6112
6430
  _onChange = _ref.onChange,
6113
- props = _objectWithoutProperties(_ref, _excluded$w);
6431
+ props = _objectWithoutProperties(_ref, _excluded$B);
6114
6432
  var _useState = useState(false),
6115
6433
  _useState2 = _slicedToArray(_useState, 2),
6116
6434
  isFocused = _useState2[0],
@@ -6186,7 +6504,7 @@ function PlatformDateTimePicker(_ref) {
6186
6504
  }));
6187
6505
  }
6188
6506
 
6189
- var _excluded$v = ["title", "isVisible", "value", "validateButtonLabel", "onClose", "onChange"];
6507
+ var _excluded$A = ["title", "isVisible", "value", "validateButtonLabel", "onClose", "onChange"];
6190
6508
  function ModalTitle(_ref) {
6191
6509
  var children = _ref.children;
6192
6510
  return /*#__PURE__*/jsx(CardModal.Header, {
@@ -6204,7 +6522,7 @@ function ModalPlatformDateTimePicker(_ref2) {
6204
6522
  validateButtonLabel = _ref2.validateButtonLabel,
6205
6523
  onClose = _ref2.onClose,
6206
6524
  onChange = _ref2.onChange,
6207
- props = _objectWithoutProperties(_ref2, _excluded$v);
6525
+ props = _objectWithoutProperties(_ref2, _excluded$A);
6208
6526
  var _useState = useState(value),
6209
6527
  _useState2 = _slicedToArray(_useState, 2),
6210
6528
  currentValue = _useState2[0],
@@ -6250,7 +6568,7 @@ function ModalPlatformDateTimePicker(_ref2) {
6250
6568
  });
6251
6569
  }
6252
6570
 
6253
- var _excluded$u = ["value", "pickerUITestID", "pickerUITitle", "pickerUIValidateButtonLabel", "isDefaultVisible", "pickerDefaultDate", "isFocusedInternal", "isHoveredInternal", "isPressedInternal", "onChange", "onFocus", "onBlur"];
6571
+ var _excluded$z = ["value", "pickerUITestID", "pickerUITitle", "pickerUIValidateButtonLabel", "isDefaultVisible", "pickerDefaultDate", "isFocusedInternal", "isHoveredInternal", "isPressedInternal", "onChange", "onFocus", "onBlur"];
6254
6572
  var DefaultNativeUIDatePicker = /*#__PURE__*/forwardRef(function (_ref, ref) {
6255
6573
  var value = _ref.value,
6256
6574
  pickerUITestID = _ref.pickerUITestID,
@@ -6264,7 +6582,7 @@ var DefaultNativeUIDatePicker = /*#__PURE__*/forwardRef(function (_ref, ref) {
6264
6582
  onChange = _ref.onChange,
6265
6583
  onFocus = _ref.onFocus,
6266
6584
  onBlur = _ref.onBlur,
6267
- props = _objectWithoutProperties(_ref, _excluded$u);
6585
+ props = _objectWithoutProperties(_ref, _excluded$z);
6268
6586
  var _useState = useState(isDefaultVisible),
6269
6587
  _useState2 = _slicedToArray(_useState, 2),
6270
6588
  isPickerUIVisible = _useState2[0],
@@ -6311,7 +6629,7 @@ var DefaultNativeUIDatePicker = /*#__PURE__*/forwardRef(function (_ref, ref) {
6311
6629
  });
6312
6630
  });
6313
6631
 
6314
- var _excluded$t = ["value", "pickerUITestID", "isDefaultVisible", "pickerDefaultDate", "onChange", "onBlur"];
6632
+ var _excluded$y = ["value", "pickerUITestID", "isDefaultVisible", "pickerDefaultDate", "onChange", "onBlur"];
6315
6633
  var NativeUIDatePicker = /*#__PURE__*/forwardRef(function (_ref, ref) {
6316
6634
  var value = _ref.value,
6317
6635
  pickerUITestID = _ref.pickerUITestID,
@@ -6319,7 +6637,7 @@ var NativeUIDatePicker = /*#__PURE__*/forwardRef(function (_ref, ref) {
6319
6637
  pickerDefaultDate = _ref.pickerDefaultDate,
6320
6638
  onChange = _ref.onChange,
6321
6639
  onBlur = _ref.onBlur,
6322
- props = _objectWithoutProperties(_ref, _excluded$t);
6640
+ props = _objectWithoutProperties(_ref, _excluded$y);
6323
6641
  if (Platform.OS === 'android') {
6324
6642
  return /*#__PURE__*/jsx(DatePickerAndroid, _objectSpread({
6325
6643
  ref: ref,
@@ -6341,14 +6659,14 @@ var NativeUIDatePicker = /*#__PURE__*/forwardRef(function (_ref, ref) {
6341
6659
  }, props));
6342
6660
  });
6343
6661
 
6344
- var _excluded$s = ["fillMode", "enterKeyHint", "value", "onSubmitEditing"];
6662
+ var _excluded$x = ["fillMode", "enterKeyHint", "value", "onSubmitEditing"];
6345
6663
  var DatePicker = /*#__PURE__*/forwardRef(function (_ref, ref) {
6346
6664
  var _ref$fillMode = _ref.fillMode,
6347
6665
  fillMode = _ref$fillMode === void 0 ? 'native' : _ref$fillMode,
6348
6666
  enterKeyHint = _ref.enterKeyHint,
6349
6667
  value = _ref.value,
6350
6668
  onSubmitEditing = _ref.onSubmitEditing,
6351
- props = _objectWithoutProperties(_ref, _excluded$s);
6669
+ props = _objectWithoutProperties(_ref, _excluded$x);
6352
6670
  // in apps, final-form can give a string value that will break the component
6353
6671
  var currentValue = value || undefined;
6354
6672
  if (fillMode === 'keyboard') {
@@ -6464,10 +6782,10 @@ function ImagePicker(_ref) {
6464
6782
  });
6465
6783
  }
6466
6784
 
6467
- var _excluded$r = ["children"];
6785
+ var _excluded$w = ["children"];
6468
6786
  function ListItemContent(_ref) {
6469
6787
  var children = _ref.children,
6470
- rest = _objectWithoutProperties(_ref, _excluded$r);
6788
+ rest = _objectWithoutProperties(_ref, _excluded$w);
6471
6789
  return /*#__PURE__*/jsx(View, _objectSpread(_objectSpread({
6472
6790
  alignSelf: "center",
6473
6791
  flexBasis: "0%",
@@ -6478,14 +6796,14 @@ function ListItemContent(_ref) {
6478
6796
  }));
6479
6797
  }
6480
6798
 
6481
- var _excluded$q = ["children", "side"],
6799
+ var _excluded$v = ["children", "side"],
6482
6800
  _excluded2$2 = ["children", "align"];
6483
6801
  // Handles the vertical alignment of the side elements of the list item
6484
6802
  function ListItemSideContainer(_ref) {
6485
6803
  var children = _ref.children,
6486
6804
  _ref$side = _ref.side,
6487
6805
  side = _ref$side === void 0 ? 'left' : _ref$side,
6488
- rest = _objectWithoutProperties(_ref, _excluded$q);
6806
+ rest = _objectWithoutProperties(_ref, _excluded$v);
6489
6807
  return /*#__PURE__*/jsx(View, _objectSpread(_objectSpread({
6490
6808
  flexDirection: "row",
6491
6809
  marginLeft: side === 'right' ? 'kitt.2' : undefined,
@@ -6506,7 +6824,7 @@ function ListItemSideContent(_ref2) {
6506
6824
  }));
6507
6825
  }
6508
6826
 
6509
- var _excluded$p = ["children", "withPadding", "borders", "left", "right", "onPress"];
6827
+ var _excluded$u = ["children", "withPadding", "borders", "left", "right", "onPress"];
6510
6828
  function ListItem(_ref) {
6511
6829
  var children = _ref.children,
6512
6830
  withPadding = _ref.withPadding,
@@ -6514,7 +6832,7 @@ function ListItem(_ref) {
6514
6832
  left = _ref.left,
6515
6833
  right = _ref.right,
6516
6834
  onPress = _ref.onPress,
6517
- rest = _objectWithoutProperties(_ref, _excluded$p);
6835
+ rest = _objectWithoutProperties(_ref, _excluded$u);
6518
6836
  var Wrapper = onPress ? Pressable$2 : Fragment$1;
6519
6837
  var wrapperProps = onPress ? _objectSpread({
6520
6838
  accessibilityRole: 'button',
@@ -6547,10 +6865,10 @@ ListItem.Content = ListItemContent;
6547
6865
  ListItem.SideContent = ListItemSideContent;
6548
6866
  ListItem.SideContainer = ListItemSideContainer;
6549
6867
 
6550
- var _excluded$o = ["title"];
6868
+ var _excluded$t = ["title"];
6551
6869
  function BottomSheetActionsItem(_ref) {
6552
6870
  var title = _ref.title,
6553
- props = _objectWithoutProperties(_ref, _excluded$o);
6871
+ props = _objectWithoutProperties(_ref, _excluded$t);
6554
6872
  return /*#__PURE__*/jsx(Pressable$2, _objectSpread(_objectSpread({}, props), {}, {
6555
6873
  children: /*#__PURE__*/jsx(ListItem, {
6556
6874
  withPadding: true,
@@ -7155,7 +7473,7 @@ function formatInitialValueToAutocompletePrediction(address, placeId) {
7155
7473
  };
7156
7474
  }
7157
7475
 
7158
- var _excluded$n = ["initialValue", "itemToString", "errorElement", "emptyResultsElement", "onChange"];
7476
+ var _excluded$s = ["initialValue", "itemToString", "errorElement", "emptyResultsElement", "onChange"];
7159
7477
  function InputAddress(_ref) {
7160
7478
  var initialValue = _ref.initialValue,
7161
7479
  _ref$itemToString = _ref.itemToString,
@@ -7163,7 +7481,7 @@ function InputAddress(_ref) {
7163
7481
  errorElement = _ref.errorElement,
7164
7482
  emptyResultsElement = _ref.emptyResultsElement,
7165
7483
  _onChange = _ref.onChange,
7166
- props = _objectWithoutProperties(_ref, _excluded$n);
7484
+ props = _objectWithoutProperties(_ref, _excluded$s);
7167
7485
  var _useGoogleMapsAutocom = useGoogleMapsAutocomplete(),
7168
7486
  state = _useGoogleMapsAutocom.state,
7169
7487
  _onInputChange = _useGoogleMapsAutocom.onInputChange,
@@ -7260,10 +7578,10 @@ var InputIban = /*#__PURE__*/forwardRef(function (props, ref) {
7260
7578
  }, props));
7261
7579
  });
7262
7580
 
7263
- var _excluded$m = ["onChange"];
7581
+ var _excluded$r = ["onChange"];
7264
7582
  var InputNumber = /*#__PURE__*/forwardRef(function (_ref, ref) {
7265
7583
  var onChange = _ref.onChange,
7266
- props = _objectWithoutProperties(_ref, _excluded$m);
7584
+ props = _objectWithoutProperties(_ref, _excluded$r);
7267
7585
  return /*#__PURE__*/jsx(InputText, _objectSpread(_objectSpread({
7268
7586
  ref: ref
7269
7587
  }, props), {}, {
@@ -7280,11 +7598,11 @@ var InputNumber = /*#__PURE__*/forwardRef(function (_ref, ref) {
7280
7598
  }));
7281
7599
  });
7282
7600
 
7283
- var _excluded$l = ["isPasswordDefaultVisible", "right"];
7601
+ var _excluded$q = ["isPasswordDefaultVisible", "right"];
7284
7602
  var InputPassword = /*#__PURE__*/forwardRef(function (_ref, ref) {
7285
7603
  var isPasswordDefaultVisible = _ref.isPasswordDefaultVisible,
7286
7604
  right = _ref.right,
7287
- props = _objectWithoutProperties(_ref, _excluded$l);
7605
+ props = _objectWithoutProperties(_ref, _excluded$q);
7288
7606
  var _useState = useState(Boolean(isPasswordDefaultVisible)),
7289
7607
  _useState2 = _slicedToArray(_useState, 2),
7290
7608
  isVisible = _useState2[0],
@@ -7312,7 +7630,7 @@ var InputPassword = /*#__PURE__*/forwardRef(function (_ref, ref) {
7312
7630
  }));
7313
7631
  });
7314
7632
 
7315
- var _excluded$k = ["enterKeyHint", "autoComplete", "phoneNumberLength", "onChange"];
7633
+ var _excluded$p = ["enterKeyHint", "autoComplete", "phoneNumberLength", "onChange"];
7316
7634
  function isPhoneNumberValid(number) {
7317
7635
  return isValidNumber(number);
7318
7636
  }
@@ -7326,7 +7644,7 @@ var InputPhone = /*#__PURE__*/forwardRef(function (_ref, ref) {
7326
7644
  _ref$phoneNumberLengt = _ref.phoneNumberLength,
7327
7645
  phoneNumberLength = _ref$phoneNumberLengt === void 0 ? 10 : _ref$phoneNumberLengt,
7328
7646
  onChange = _ref.onChange,
7329
- props = _objectWithoutProperties(_ref, _excluded$k);
7647
+ props = _objectWithoutProperties(_ref, _excluded$p);
7330
7648
  var currentEnterKeyHint = enterKeyHint ? getEnterKeyHintForNumericInput(enterKeyHint) : undefined;
7331
7649
  return /*#__PURE__*/jsx(InputText, _objectSpread(_objectSpread({
7332
7650
  ref: ref
@@ -7761,7 +8079,7 @@ function RadioButton(_ref) {
7761
8079
  });
7762
8080
  }
7763
8081
 
7764
- var _excluded$j = ["children", "stretch", "value", "disabled", "onFocus", "onBlur", "onChange"];
8082
+ var _excluded$o = ["children", "stretch", "value", "disabled", "onFocus", "onBlur", "onChange"];
7765
8083
  function RadioButtonGroupItem(_ref) {
7766
8084
  var props = _extends({}, (_objectDestructuringEmpty(_ref), _ref));
7767
8085
  return /*#__PURE__*/jsx(RadioButton, _objectSpread({}, props));
@@ -7774,7 +8092,7 @@ function RadioButtonGroup(_ref2) {
7774
8092
  onFocus = _ref2.onFocus,
7775
8093
  onBlur = _ref2.onBlur,
7776
8094
  onChange = _ref2.onChange,
7777
- props = _objectWithoutProperties(_ref2, _excluded$j);
8095
+ props = _objectWithoutProperties(_ref2, _excluded$o);
7778
8096
  var _useState = useState(value),
7779
8097
  _useState2 = _slicedToArray(_useState, 2),
7780
8098
  currentValue = _useState2[0],
@@ -7806,12 +8124,12 @@ function RadioButtonGroup(_ref2) {
7806
8124
  }
7807
8125
  RadioButtonGroup.RadioButton = RadioButtonGroupItem;
7808
8126
 
7809
- var _excluded$i = ["helper", "limit"];
8127
+ var _excluded$n = ["helper", "limit"];
7810
8128
  var TextArea = /*#__PURE__*/forwardRef(function (_ref, ref) {
7811
8129
  var _props$value, _props$value2;
7812
8130
  var helper = _ref.helper,
7813
8131
  limit = _ref.limit,
7814
- props = _objectWithoutProperties(_ref, _excluded$i);
8132
+ props = _objectWithoutProperties(_ref, _excluded$n);
7815
8133
  var shouldDisplayLimit = limit && limit > 0;
7816
8134
  var isLimitReached = ((_props$value = props.value) === null || _props$value === void 0 ? void 0 : _props$value.length) === limit;
7817
8135
  var limitContainerAnimatedStyle = useAnimatedStyle(function () {
@@ -7970,7 +8288,7 @@ function ToggleAnimated(_ref) {
7970
8288
  });
7971
8289
  }
7972
8290
 
7973
- var _excluded$h = ["isDisabled", "isHoveredInternal", "isFocusedInternal", "isPressedInternal", "label", "variant", "size", "value", "onChange"];
8291
+ var _excluded$m = ["isDisabled", "isHoveredInternal", "isFocusedInternal", "isPressedInternal", "label", "variant", "size", "value", "onChange"];
7974
8292
  var getLabelTypographyType = function (size) {
7975
8293
  return size === 'medium' ? 'body' : 'body-medium';
7976
8294
  };
@@ -7992,7 +8310,7 @@ function Toggle(_ref) {
7992
8310
  value = _ref$value === void 0 ? false : _ref$value,
7993
8311
  _ref$onChange = _ref.onChange,
7994
8312
  onChange = _ref$onChange === void 0 ? function () {} : _ref$onChange,
7995
- props = _objectWithoutProperties(_ref, _excluded$h);
8313
+ props = _objectWithoutProperties(_ref, _excluded$m);
7996
8314
  var theme = useKittTheme();
7997
8315
  return /*#__PURE__*/jsxs(HStack, _objectSpread(_objectSpread({
7998
8316
  alignItems: "center"
@@ -8031,13 +8349,13 @@ function Toggle(_ref) {
8031
8349
  }));
8032
8350
  }
8033
8351
 
8034
- var _excluded$g = ["children", "shouldHandleBottomNotch", "style", "shouldHandleTopNotch"];
8352
+ var _excluded$l = ["children", "shouldHandleBottomNotch", "style", "shouldHandleTopNotch"];
8035
8353
  function FullscreenModalBody(_ref) {
8036
8354
  var children = _ref.children,
8037
8355
  shouldHandleBottomNotch = _ref.shouldHandleBottomNotch,
8038
8356
  style = _ref.style,
8039
8357
  shouldHandleTopNotch = _ref.shouldHandleTopNotch,
8040
- props = _objectWithoutProperties(_ref, _excluded$g);
8358
+ props = _objectWithoutProperties(_ref, _excluded$l);
8041
8359
  var _useSafeAreaInsets = useSafeAreaInsets(),
8042
8360
  bottom = _useSafeAreaInsets.bottom,
8043
8361
  top = _useSafeAreaInsets.top;
@@ -8054,30 +8372,317 @@ function FullscreenModalBody(_ref) {
8054
8372
  }));
8055
8373
  }
8056
8374
 
8057
- var _excluded$f = ["shouldHandleBottomNotch", "hasSeparator", "children"];
8375
+ var _excluded$k = ["shouldHandleBottomNotch", "hasSeparator", "children"];
8058
8376
  function FullscreenModalFooter(_ref) {
8059
8377
  var _ref$shouldHandleBott = _ref.shouldHandleBottomNotch,
8060
8378
  shouldHandleBottomNotch = _ref$shouldHandleBott === void 0 ? true : _ref$shouldHandleBott,
8061
8379
  _ref$hasSeparator = _ref.hasSeparator,
8062
8380
  hasSeparator = _ref$hasSeparator === void 0 ? true : _ref$hasSeparator,
8063
8381
  children = _ref.children,
8064
- props = _objectWithoutProperties(_ref, _excluded$f);
8382
+ props = _objectWithoutProperties(_ref, _excluded$k);
8383
+ var _useSafeAreaInsets = useSafeAreaInsets(),
8384
+ bottom = _useSafeAreaInsets.bottom;
8385
+ return /*#__PURE__*/jsx(View, _objectSpread(_objectSpread({
8386
+ borderTopColor: "kitt.separator",
8387
+ borderTopWidth: hasSeparator ? 1 : undefined,
8388
+ paddingTop: "kitt.fullscreenModal.footer.verticalPadding",
8389
+ paddingBottom: shouldHandleBottomNotch ? bottom : undefined,
8390
+ paddingX: "kitt.fullscreenModal.horizontalPadding"
8391
+ }, props), {}, {
8392
+ children: /*#__PURE__*/jsx(View, {
8393
+ paddingBottom: "kitt.fullscreenModal.footer.verticalPadding",
8394
+ children: children
8395
+ })
8396
+ }));
8397
+ }
8398
+
8399
+ function NativeOpacityAnimation$1(_ref) {
8400
+ var visible = _ref.visible,
8401
+ children = _ref.children;
8402
+ var theme = useTheme();
8403
+ var opacityStyle = useAnimatedStyle(function () {
8404
+ var _theme$kitt$fullscree = theme.kitt.fullscreenModal.animation.overlay,
8405
+ duration = _theme$kitt$fullscree.duration,
8406
+ easing = _theme$kitt$fullscree.easing;
8407
+ var _easing = _slicedToArray(easing, 4),
8408
+ x1 = _easing[0],
8409
+ y1 = _easing[1],
8410
+ x2 = _easing[2],
8411
+ y2 = _easing[3];
8412
+ return {
8413
+ opacity: withTiming(visible ? 1 : 0, {
8414
+ duration: duration,
8415
+ easing: Easing$1.bezier(x1, y1, x2, y2)
8416
+ })
8417
+ };
8418
+ });
8419
+ return /*#__PURE__*/jsx(Animated.View, {
8420
+ style: [StyleSheet.absoluteFillObject, opacityStyle],
8421
+ children: children
8422
+ });
8423
+ }
8424
+
8425
+ function NativeSlideInAnimation$1(_ref) {
8426
+ var visible = _ref.visible,
8427
+ children = _ref.children,
8428
+ onEntered = _ref.onEntered,
8429
+ onExited = _ref.onExited;
8430
+ var theme = useTheme();
8431
+ var _useWindowDimensions = useWindowDimensions(),
8432
+ wHeight = _useWindowDimensions.height;
8433
+ var hasRunAnimationRef = useRef(false);
8434
+ function handleAnimationFinished() {
8435
+ if (visible) {
8436
+ if (onEntered) onEntered();
8437
+ hasRunAnimationRef.current = true;
8438
+ }
8439
+
8440
+ // Since animation callback is called on component mount, we must make sure that the animation has been runed once to call it an exit
8441
+ if (!visible && hasRunAnimationRef.current) onExited();
8442
+ }
8443
+ var translateStyle = useAnimatedStyle(function () {
8444
+ var _theme$kitt$fullscree = theme.kitt.fullscreenModal.animation.content,
8445
+ duration = _theme$kitt$fullscree.duration,
8446
+ easing = _theme$kitt$fullscree.easing;
8447
+ var _easing = _slicedToArray(easing, 4),
8448
+ x1 = _easing[0],
8449
+ y1 = _easing[1],
8450
+ x2 = _easing[2],
8451
+ y2 = _easing[3];
8452
+ return {
8453
+ transform: [{
8454
+ translateY: withTiming(visible ? 0 : wHeight, {
8455
+ duration: duration,
8456
+ easing: Easing$1.bezier(x1, y1, x2, y2)
8457
+ }, function (isFinished) {
8458
+ if (!isFinished) return;
8459
+ runOnJS(handleAnimationFinished)();
8460
+ })
8461
+ }]
8462
+ };
8463
+ });
8464
+ return /*#__PURE__*/jsx(Animated.View, {
8465
+ style: [{
8466
+ transform: [{
8467
+ translateY: wHeight
8468
+ }]
8469
+ }, translateStyle, {
8470
+ width: '100%',
8471
+ flex: 1
8472
+ }],
8473
+ children: children
8474
+ });
8475
+ }
8476
+
8477
+ function FullscreenModalAnimation(_ref) {
8478
+ var visible = _ref.visible,
8479
+ children = _ref.children,
8480
+ onEnter = _ref.onEnter,
8481
+ onEntered = _ref.onEntered,
8482
+ onExit = _ref.onExit,
8483
+ onExited = _ref.onExited;
8484
+ var _useState = useState(visible),
8485
+ _useState2 = _slicedToArray(_useState, 2),
8486
+ isModalVisible = _useState2[0],
8487
+ setIsModalVisible = _useState2[1];
8488
+ var _useState3 = useState(false),
8489
+ _useState4 = _slicedToArray(_useState3, 2),
8490
+ isContentVisible = _useState4[0],
8491
+ setIsContentVisible = _useState4[1];
8492
+ var handleAnimationExited = function () {
8493
+ setIsModalVisible(false);
8494
+ // Android doesn't handle the onDismiss callback on the modal, we need to call it manually
8495
+ if (Platform.OS === 'android' && onExited) onExited();
8496
+ };
8497
+
8498
+ // When parent visibility is set to false, in order to have our exit animation we must in this order :
8499
+ // 1 - run the exit animation
8500
+ // 2 - once it is done, unmount the Modal
8501
+ useEffect(function () {
8502
+ if (!(!visible && isContentVisible)) return;
8503
+ if (onExit) onExit();
8504
+ setIsContentVisible(false);
8505
+ }, [visible, isContentVisible, onExit]);
8506
+ return /*#__PURE__*/jsx(Modal, {
8507
+ transparent: true,
8508
+ supportedOrientations: ['landscape', 'portrait'],
8509
+ visible: isModalVisible,
8510
+ onShow: function onShow() {
8511
+ if (onEnter) onEnter();
8512
+ setIsContentVisible(true);
8513
+ },
8514
+ onDismiss: function onDismiss() {
8515
+ if (onExited) onExited();
8516
+ },
8517
+ children: /*#__PURE__*/jsxs(View, {
8518
+ position: "relative",
8519
+ flexGrow: 1,
8520
+ justifyContent: "center",
8521
+ alignItems: "center",
8522
+ children: [/*#__PURE__*/jsx(NativeOpacityAnimation$1, {
8523
+ visible: isContentVisible,
8524
+ children: /*#__PURE__*/jsx(Overlay, {
8525
+ onPress: handleAnimationExited
8526
+ })
8527
+ }), /*#__PURE__*/jsx(NativeSlideInAnimation$1, {
8528
+ visible: isContentVisible,
8529
+ onExited: handleAnimationExited,
8530
+ onEntered: onEntered,
8531
+ children: /*#__PURE__*/jsx(View, {
8532
+ flexGrow: 1,
8533
+ children: children
8534
+ })
8535
+ })]
8536
+ })
8537
+ });
8538
+ }
8539
+
8540
+ var _excluded$j = ["children", "visible", "onClose", "onExited"];
8541
+ function FullscreenModalBehaviour(_ref) {
8542
+ var children = _ref.children,
8543
+ visible = _ref.visible,
8544
+ onClose = _ref.onClose,
8545
+ onExited = _ref.onExited,
8546
+ props = _objectWithoutProperties(_ref, _excluded$j);
8547
+ var _useState = useState(visible),
8548
+ _useState2 = _slicedToArray(_useState, 2),
8549
+ isModalBehaviourVisible = _useState2[0],
8550
+ setIsModalBehaviourVisible = _useState2[1];
8551
+ useEffect(function () {
8552
+ if (visible === true) {
8553
+ setIsModalBehaviourVisible(true);
8554
+ }
8555
+ }, [visible]);
8556
+ return /*#__PURE__*/jsx(ModalBehaviour, {
8557
+ visible: isModalBehaviourVisible,
8558
+ onClose: onClose,
8559
+ children: /*#__PURE__*/jsx(FullscreenModalAnimation, _objectSpread(_objectSpread({}, props), {}, {
8560
+ visible: visible,
8561
+ onExited: function handleExitAnimationDone() {
8562
+ if (onExited) onExited();
8563
+ setIsModalBehaviourVisible(false);
8564
+ },
8565
+ children: children
8566
+ }))
8567
+ });
8568
+ }
8569
+
8570
+ function FullscreenModalContainer(_ref) {
8571
+ var children = _ref.children,
8572
+ backgroundColor = _ref.backgroundColor;
8573
+ return /*#__PURE__*/jsx(View, {
8574
+ position: "relative",
8575
+ flexGrow: 1,
8576
+ flexShrink: 1,
8577
+ flexBasis: "100%"
8578
+ /*
8579
+ Here we are setting the same min and max height because on web the content was overflowing and not scrolling
8580
+ minHeight is needed to make the modal fullscreen
8581
+ maxHeight limits the height to the viewport when the content is too long, this allows us to scroll inside
8582
+ We use svh instead of vh because vh is the total height of the viewport, including the address bar in mobile web browsers
8583
+ */,
8584
+ _web: {
8585
+ minHeight: '100svh',
8586
+ maxHeight: '100svh'
8587
+ },
8588
+ backgroundColor: backgroundColor !== null && backgroundColor !== void 0 ? backgroundColor : 'kitt.uiBackgroundLight',
8589
+ children: children
8590
+ });
8591
+ }
8592
+
8593
+ var _excluded$i = ["hasSeparator", "isTransparent", "title", "children", "right", "left", "shouldHandleTopNotch"];
8594
+ function FullscreenModalHeader(_ref) {
8595
+ var _ref$hasSeparator = _ref.hasSeparator,
8596
+ hasSeparator = _ref$hasSeparator === void 0 ? true : _ref$hasSeparator,
8597
+ isTransparent = _ref.isTransparent,
8598
+ title = _ref.title,
8599
+ children = _ref.children,
8600
+ right = _ref.right,
8601
+ left = _ref.left,
8602
+ _ref$shouldHandleTopN = _ref.shouldHandleTopNotch,
8603
+ shouldHandleTopNotch = _ref$shouldHandleTopN === void 0 ? true : _ref$shouldHandleTopN,
8604
+ props = _objectWithoutProperties(_ref, _excluded$i);
8065
8605
  var _useSafeAreaInsets = useSafeAreaInsets(),
8066
- bottom = _useSafeAreaInsets.bottom;
8606
+ top = _useSafeAreaInsets.top;
8607
+ var hasRight = Boolean(right);
8608
+ var hasLeft = Boolean(left);
8609
+ var hasContent = Boolean(title || children);
8067
8610
  return /*#__PURE__*/jsx(View, _objectSpread(_objectSpread({
8068
- borderTopColor: "kitt.separator",
8069
- borderTopWidth: hasSeparator ? 1 : undefined,
8070
- paddingTop: "kitt.fullscreenModal.footer.verticalPadding",
8071
- paddingBottom: shouldHandleBottomNotch ? bottom : undefined,
8072
- paddingX: "kitt.fullscreenModal.horizontalPadding"
8611
+ backgroundColor: isTransparent ? 'kitt.transparent' : 'kitt.uiBackgroundLight',
8612
+ minHeight: "kitt.fullscreenModal.header.height",
8613
+ width: "100%",
8614
+ justifyContent: "center",
8615
+ paddingTop: shouldHandleTopNotch ? top : undefined,
8616
+ paddingRight: hasRight ? 'kitt.2' : 'kitt.fullscreenModal.horizontalPadding',
8617
+ paddingLeft: hasLeft ? 'kitt.2' : 'kitt.fullscreenModal.horizontalPadding',
8618
+ borderBottomColor: "kitt.separator",
8619
+ borderBottomWidth: hasSeparator ? 1 : undefined
8073
8620
  }, props), {}, {
8074
- children: /*#__PURE__*/jsx(View, {
8075
- paddingBottom: "kitt.fullscreenModal.footer.verticalPadding",
8076
- children: children
8621
+ children: /*#__PURE__*/jsxs(View, {
8622
+ flexDirection: "row",
8623
+ alignItems: "center",
8624
+ justifyContent: !hasContent && !hasLeft ? 'flex-end' : 'space-between',
8625
+ children: [left ? /*#__PURE__*/jsx(View, {
8626
+ width: "kitt.iconButton.width",
8627
+ children: left
8628
+ }) : null, title ? /*#__PURE__*/jsx(View, {
8629
+ flexGrow: 1,
8630
+ flexShrink: 1,
8631
+ paddingLeft: hasLeft ? 'kitt.2' : undefined,
8632
+ paddingRight: hasRight ? 'kitt.2' : 0,
8633
+ children: /*#__PURE__*/jsx(Typography.Text, {
8634
+ variant: "bold",
8635
+ textAlign: !hasLeft && hasRight ? 'left' : 'center',
8636
+ children: title
8637
+ })
8638
+ }) : null, children ? /*#__PURE__*/jsx(View, {
8639
+ flexGrow: 1,
8640
+ flexShrink: 1,
8641
+ alignItems: "center",
8642
+ paddingLeft: hasLeft ? 'kitt.2' : undefined,
8643
+ paddingRight: hasRight ? 'kitt.2' : undefined,
8644
+ children: children
8645
+ }) : null, right || left ? /*#__PURE__*/jsx(View, {
8646
+ width: "kitt.iconButton.width",
8647
+ children: right
8648
+ }) : null]
8077
8649
  })
8078
8650
  }));
8079
8651
  }
8080
8652
 
8653
+ function FullscreenModal(_ref) {
8654
+ var body = _ref.body,
8655
+ header = _ref.header,
8656
+ footer = _ref.footer,
8657
+ backgroundColor = _ref.backgroundColor,
8658
+ _ref$contentContainer = _ref.contentContainer,
8659
+ ContentContainer = _ref$contentContainer === void 0 ? IdentityComponent : _ref$contentContainer;
8660
+ return /*#__PURE__*/jsx(FullscreenModalContainer, {
8661
+ backgroundColor: backgroundColor,
8662
+ children: /*#__PURE__*/jsxs(ContentContainer, {
8663
+ children: [header ? /*#__PURE__*/jsx(View, {
8664
+ children: header
8665
+ }) : null, /*#__PURE__*/jsxs(View, {
8666
+ flexGrow: 1,
8667
+ flexShrink: 1,
8668
+ justifyContent: "space-between",
8669
+ children: [/*#__PURE__*/jsx(ScrollView$2, {
8670
+ bounces: false,
8671
+ contentContainerStyle: {
8672
+ flexGrow: 1,
8673
+ position: 'relative'
8674
+ },
8675
+ children: body
8676
+ }), footer || null]
8677
+ })]
8678
+ })
8679
+ });
8680
+ }
8681
+ FullscreenModal.Header = FullscreenModalHeader;
8682
+ FullscreenModal.Footer = FullscreenModalFooter;
8683
+ FullscreenModal.Body = FullscreenModalBody;
8684
+ FullscreenModal.ModalBehaviour = FullscreenModalBehaviour;
8685
+
8081
8686
  function NativeOpacityAnimation(_ref) {
8082
8687
  var visible = _ref.visible,
8083
8688
  children = _ref.children;
@@ -8156,7 +8761,7 @@ function NativeSlideInAnimation(_ref) {
8156
8761
  });
8157
8762
  }
8158
8763
 
8159
- function FullscreenModalAnimation(_ref) {
8764
+ function FullscreenModal2Animation(_ref) {
8160
8765
  var visible = _ref.visible,
8161
8766
  children = _ref.children,
8162
8767
  onEnter = _ref.onEnter,
@@ -8219,13 +8824,13 @@ function FullscreenModalAnimation(_ref) {
8219
8824
  });
8220
8825
  }
8221
8826
 
8222
- var _excluded$e = ["children", "visible", "onClose", "onExited"];
8223
- function FullscreenModalBehaviour(_ref) {
8827
+ var _excluded$h = ["children", "visible", "onClose", "onExited"];
8828
+ function FullscreenModal2Behaviour(_ref) {
8224
8829
  var children = _ref.children,
8225
8830
  visible = _ref.visible,
8226
8831
  onClose = _ref.onClose,
8227
8832
  onExited = _ref.onExited,
8228
- props = _objectWithoutProperties(_ref, _excluded$e);
8833
+ props = _objectWithoutProperties(_ref, _excluded$h);
8229
8834
  var _useState = useState(visible),
8230
8835
  _useState2 = _slicedToArray(_useState, 2),
8231
8836
  isModalBehaviourVisible = _useState2[0],
@@ -8238,7 +8843,7 @@ function FullscreenModalBehaviour(_ref) {
8238
8843
  return /*#__PURE__*/jsx(ModalBehaviour, {
8239
8844
  visible: isModalBehaviourVisible,
8240
8845
  onClose: onClose,
8241
- children: /*#__PURE__*/jsx(FullscreenModalAnimation, _objectSpread(_objectSpread({}, props), {}, {
8846
+ children: /*#__PURE__*/jsx(FullscreenModal2Animation, _objectSpread(_objectSpread({}, props), {}, {
8242
8847
  visible: visible,
8243
8848
  onExited: function handleExitAnimationDone() {
8244
8849
  if (onExited) onExited();
@@ -8249,7 +8854,42 @@ function FullscreenModalBehaviour(_ref) {
8249
8854
  });
8250
8855
  }
8251
8856
 
8252
- function FullscreenModalContainer(_ref) {
8857
+ var _excluded$g = ["children", "shouldHandleBottomNotch", "style", "shouldHandleTopNotch"];
8858
+ function FullscreenModal2Body(_ref) {
8859
+ var children = _ref.children,
8860
+ shouldHandleBottomNotch = _ref.shouldHandleBottomNotch,
8861
+ style = _ref.style,
8862
+ shouldHandleTopNotch = _ref.shouldHandleTopNotch,
8863
+ props = _objectWithoutProperties(_ref, _excluded$g);
8864
+ var _useSafeAreaInsets = useSafeAreaInsets(),
8865
+ bottom = _useSafeAreaInsets.bottom,
8866
+ top = _useSafeAreaInsets.top;
8867
+ var _useTheme = useTheme(),
8868
+ verticalPadding = _useTheme.kitt.fullscreenModal.body.verticalPadding;
8869
+ var paddingBottom = shouldHandleBottomNotch ? Math.max(bottom, verticalPadding) : verticalPadding;
8870
+ var paddingTop = shouldHandleTopNotch ? Math.max(top, verticalPadding) : verticalPadding;
8871
+ return /*#__PURE__*/jsx(View, {
8872
+ flexGrow: 1,
8873
+ flexShrink: 1,
8874
+ justifyContent: "space-between",
8875
+ children: /*#__PURE__*/jsx(ScrollView$1, {
8876
+ bounces: false,
8877
+ contentContainerStyle: {
8878
+ flexGrow: 1,
8879
+ position: 'relative'
8880
+ },
8881
+ children: /*#__PURE__*/jsx(View, _objectSpread(_objectSpread({}, props), {}, {
8882
+ paddingX: "kitt.fullscreenModal.horizontalPadding",
8883
+ paddingTop: paddingTop,
8884
+ paddingBottom: paddingBottom,
8885
+ style: style,
8886
+ children: children
8887
+ }))
8888
+ })
8889
+ });
8890
+ }
8891
+
8892
+ function FullscreenModal2Container(_ref) {
8253
8893
  var children = _ref.children,
8254
8894
  backgroundColor = _ref.backgroundColor;
8255
8895
  return /*#__PURE__*/jsx(View, {
@@ -8272,8 +8912,32 @@ function FullscreenModalContainer(_ref) {
8272
8912
  });
8273
8913
  }
8274
8914
 
8275
- var _excluded$d = ["hasSeparator", "isTransparent", "title", "children", "right", "left", "shouldHandleTopNotch"];
8276
- function FullscreenModalHeader(_ref) {
8915
+ var _excluded$f = ["shouldHandleBottomNotch", "hasSeparator", "children"];
8916
+ function FullscreenModal2Footer(_ref) {
8917
+ var _ref$shouldHandleBott = _ref.shouldHandleBottomNotch,
8918
+ shouldHandleBottomNotch = _ref$shouldHandleBott === void 0 ? true : _ref$shouldHandleBott,
8919
+ _ref$hasSeparator = _ref.hasSeparator,
8920
+ hasSeparator = _ref$hasSeparator === void 0 ? true : _ref$hasSeparator,
8921
+ children = _ref.children,
8922
+ props = _objectWithoutProperties(_ref, _excluded$f);
8923
+ var _useSafeAreaInsets = useSafeAreaInsets(),
8924
+ bottom = _useSafeAreaInsets.bottom;
8925
+ return /*#__PURE__*/jsx(View, _objectSpread(_objectSpread({
8926
+ borderTopColor: "kitt.separator",
8927
+ borderTopWidth: hasSeparator ? 1 : undefined,
8928
+ paddingTop: "kitt.fullscreenModal.footer.verticalPadding",
8929
+ paddingBottom: shouldHandleBottomNotch ? bottom : undefined,
8930
+ paddingX: "kitt.fullscreenModal.horizontalPadding"
8931
+ }, props), {}, {
8932
+ children: /*#__PURE__*/jsx(View, {
8933
+ paddingBottom: "kitt.fullscreenModal.footer.verticalPadding",
8934
+ children: children
8935
+ })
8936
+ }));
8937
+ }
8938
+
8939
+ var _excluded$e = ["hasSeparator", "isTransparent", "title", "children", "right", "left", "shouldHandleTopNotch"];
8940
+ function FullscreenModal2Header(_ref) {
8277
8941
  var _ref$hasSeparator = _ref.hasSeparator,
8278
8942
  hasSeparator = _ref$hasSeparator === void 0 ? true : _ref$hasSeparator,
8279
8943
  isTransparent = _ref.isTransparent,
@@ -8283,7 +8947,7 @@ function FullscreenModalHeader(_ref) {
8283
8947
  left = _ref.left,
8284
8948
  _ref$shouldHandleTopN = _ref.shouldHandleTopNotch,
8285
8949
  shouldHandleTopNotch = _ref$shouldHandleTopN === void 0 ? true : _ref$shouldHandleTopN,
8286
- props = _objectWithoutProperties(_ref, _excluded$d);
8950
+ props = _objectWithoutProperties(_ref, _excluded$e);
8287
8951
  var _useSafeAreaInsets = useSafeAreaInsets(),
8288
8952
  top = _useSafeAreaInsets.top;
8289
8953
  var hasRight = Boolean(right);
@@ -8332,38 +8996,18 @@ function FullscreenModalHeader(_ref) {
8332
8996
  }));
8333
8997
  }
8334
8998
 
8335
- function FullscreenModal(_ref) {
8336
- var body = _ref.body,
8337
- header = _ref.header,
8338
- footer = _ref.footer,
8339
- backgroundColor = _ref.backgroundColor,
8340
- _ref$contentContainer = _ref.contentContainer,
8341
- ContentContainer = _ref$contentContainer === void 0 ? IdentityComponent : _ref$contentContainer;
8342
- return /*#__PURE__*/jsx(FullscreenModalContainer, {
8999
+ function FullscreenModal2(_ref) {
9000
+ var backgroundColor = _ref.backgroundColor,
9001
+ children = _ref.children;
9002
+ return /*#__PURE__*/jsx(FullscreenModal2Container, {
8343
9003
  backgroundColor: backgroundColor,
8344
- children: /*#__PURE__*/jsxs(ContentContainer, {
8345
- children: [header ? /*#__PURE__*/jsx(View, {
8346
- children: header
8347
- }) : null, /*#__PURE__*/jsxs(View, {
8348
- flexGrow: 1,
8349
- flexShrink: 1,
8350
- justifyContent: "space-between",
8351
- children: [/*#__PURE__*/jsx(ScrollView$2, {
8352
- bounces: false,
8353
- contentContainerStyle: {
8354
- flexGrow: 1,
8355
- position: 'relative'
8356
- },
8357
- children: body
8358
- }), footer || null]
8359
- })]
8360
- })
9004
+ children: children
8361
9005
  });
8362
9006
  }
8363
- FullscreenModal.Header = FullscreenModalHeader;
8364
- FullscreenModal.Footer = FullscreenModalFooter;
8365
- FullscreenModal.Body = FullscreenModalBody;
8366
- FullscreenModal.ModalBehaviour = FullscreenModalBehaviour;
9007
+ FullscreenModal2.Header = FullscreenModal2Header;
9008
+ FullscreenModal2.Footer = FullscreenModal2Footer;
9009
+ FullscreenModal2.Body = FullscreenModal2Body;
9010
+ FullscreenModal2.Behaviour = FullscreenModal2Behaviour;
8367
9011
 
8368
9012
  function GroupTags(_ref) {
8369
9013
  var children = _ref.children,
@@ -8624,7 +9268,7 @@ function Highlight(_ref) {
8624
9268
  });
8625
9269
  }
8626
9270
 
8627
- var _excluded$c = ["color", "isDisabled"];
9271
+ var _excluded$d = ["color", "isDisabled"];
8628
9272
  function getBackgroundColor$1(color, isDisabled) {
8629
9273
  if (isDisabled) {
8630
9274
  return 'kitt.iconButton.disabled.backgroundColor';
@@ -8644,7 +9288,7 @@ function getBackgroundColor$1(color, isDisabled) {
8644
9288
  function Background(_ref) {
8645
9289
  var color = _ref.color,
8646
9290
  isDisabled = _ref.isDisabled,
8647
- props = _objectWithoutProperties(_ref, _excluded$c);
9291
+ props = _objectWithoutProperties(_ref, _excluded$d);
8648
9292
  return /*#__PURE__*/jsx(View, _objectSpread(_objectSpread({}, props), {}, {
8649
9293
  width: "100%",
8650
9294
  height: "100%",
@@ -9048,7 +9692,7 @@ var getBackgroundColor = function (_ref) {
9048
9692
  return isSelected || isHovered ? theme.mapMarker.meetingPoint.selected : theme.mapMarker.meetingPoint["default"];
9049
9693
  };
9050
9694
 
9051
- var _excluded$b = ["onPress", "testID"];
9695
+ var _excluded$c = ["onPress", "testID"];
9052
9696
  var MapMarkerVariantEnum = /*#__PURE__*/function (MapMarkerVariantEnum) {
9053
9697
  MapMarkerVariantEnum["HOME"] = "home";
9054
9698
  MapMarkerVariantEnum["MEETING_POINT"] = "meetingPoint";
@@ -9114,7 +9758,7 @@ function StaticMapMarker$1(_ref) {
9114
9758
  function MapMarker(_ref2) {
9115
9759
  var onPress = _ref2.onPress,
9116
9760
  testID = _ref2.testID,
9117
- props = _objectWithoutProperties(_ref2, _excluded$b);
9761
+ props = _objectWithoutProperties(_ref2, _excluded$c);
9118
9762
  return /*#__PURE__*/jsx(Pressable$1, {
9119
9763
  testID: testID,
9120
9764
  onPress: onPress,
@@ -11731,7 +12375,7 @@ function KittNativeBaseProvider(_ref) {
11731
12375
  });
11732
12376
  }
11733
12377
 
11734
- var _excluded$a = ["children", "visible", "appear", "onExited", "onEnter", "onExit", "onClose"];
12378
+ var _excluded$b = ["children", "visible", "appear", "onExited", "onEnter", "onExit", "onClose"];
11735
12379
  function NavigationModalBehaviour(_ref) {
11736
12380
  var children = _ref.children,
11737
12381
  visible = _ref.visible,
@@ -11741,7 +12385,7 @@ function NavigationModalBehaviour(_ref) {
11741
12385
  onEnter = _ref.onEnter,
11742
12386
  onExit = _ref.onExit,
11743
12387
  onClose = _ref.onClose,
11744
- props = _objectWithoutProperties(_ref, _excluded$a);
12388
+ props = _objectWithoutProperties(_ref, _excluded$b);
11745
12389
  var AnimationComponent = useBreakpointValue({
11746
12390
  base: FullscreenModalAnimation,
11747
12391
  small: CardModalAnimation
@@ -11805,32 +12449,126 @@ function NavigationModal(_ref) {
11805
12449
  contentContainer: contentContainer
11806
12450
  });
11807
12451
  }
11808
- function Header(props) {
12452
+ function Header$1(props) {
11809
12453
  var Component = useBreakpointValue({
11810
12454
  base: FullscreenModal.Header,
11811
12455
  small: CardModal.Header
11812
12456
  });
11813
12457
  return /*#__PURE__*/jsx(Component, _objectSpread({}, props));
11814
12458
  }
11815
- function Body(props) {
12459
+ function Body$1(props) {
11816
12460
  var Component = useBreakpointValue({
11817
12461
  base: FullscreenModal.Body,
11818
12462
  small: CardModal.Body
11819
12463
  });
11820
12464
  return /*#__PURE__*/jsx(Component, _objectSpread({}, props));
11821
12465
  }
11822
- function Footer(props) {
12466
+ function Footer$1(props) {
11823
12467
  var Component = useBreakpointValue({
11824
12468
  base: FullscreenModal.Footer,
11825
12469
  small: CardModal.Footer
11826
12470
  });
11827
12471
  return /*#__PURE__*/jsx(Component, _objectSpread({}, props));
11828
12472
  }
11829
- NavigationModal.Header = Header;
11830
- NavigationModal.Body = Body;
11831
- NavigationModal.Footer = Footer;
12473
+ NavigationModal.Header = Header$1;
12474
+ NavigationModal.Body = Body$1;
12475
+ NavigationModal.Footer = Footer$1;
11832
12476
  NavigationModal.ModalBehaviour = NavigationModalBehaviour;
11833
12477
 
12478
+ var _excluded$a = ["children", "visible", "appear", "onExited", "onEnter", "onExit", "onClose"];
12479
+ function NavigationModal2Behaviour(_ref) {
12480
+ var children = _ref.children,
12481
+ visible = _ref.visible,
12482
+ _ref$appear = _ref.appear,
12483
+ appear = _ref$appear === void 0 ? true : _ref$appear,
12484
+ onExited = _ref.onExited,
12485
+ onEnter = _ref.onEnter,
12486
+ onExit = _ref.onExit,
12487
+ onClose = _ref.onClose,
12488
+ props = _objectWithoutProperties(_ref, _excluded$a);
12489
+ var AnimationComponent = useBreakpointValue({
12490
+ base: FullscreenModal2Animation,
12491
+ small: CardModal2Animation
12492
+ });
12493
+ var _useState = useState(visible),
12494
+ _useState2 = _slicedToArray(_useState, 2),
12495
+ isModalBehaviourVisible = _useState2[0],
12496
+ setIsModalBehaviourVisible = _useState2[1];
12497
+ var _useState3 = useState(appear),
12498
+ _useState4 = _slicedToArray(_useState3, 2),
12499
+ shouldAppear = _useState4[0],
12500
+ setShouldAppear = _useState4[1];
12501
+ useEffect(function () {
12502
+ if (visible === true) {
12503
+ setIsModalBehaviourVisible(true);
12504
+ }
12505
+ }, [visible]);
12506
+ return /*#__PURE__*/jsx(ModalBehaviour, {
12507
+ visible: isModalBehaviourVisible,
12508
+ onClose: onClose,
12509
+ children: /*#__PURE__*/jsx(AnimationComponent, _objectSpread(_objectSpread({}, props), {}, {
12510
+ appear: shouldAppear,
12511
+ visible: visible,
12512
+ onEnter: function handleEnter() {
12513
+ if (onEnter) onEnter();
12514
+
12515
+ // Once a children as been displayed, we force appear to false in order to avoid replaying animation on breakpoint change
12516
+ setShouldAppear(false);
12517
+ },
12518
+ onExit: function handleExit() {
12519
+ if (onExit) onExit();
12520
+
12521
+ // Reset appear value to its original value for future modal display
12522
+ setShouldAppear(appear);
12523
+ },
12524
+ onExited: function handleExitAnimationDone() {
12525
+ if (onExited) onExited();
12526
+ setIsModalBehaviourVisible(false);
12527
+ },
12528
+ onClose: onClose,
12529
+ children: children
12530
+ }))
12531
+ });
12532
+ }
12533
+
12534
+ function NavigationModal2(_ref) {
12535
+ var backgroundColor = _ref.backgroundColor,
12536
+ children = _ref.children;
12537
+ var Component = useBreakpointValue({
12538
+ base: FullscreenModal2,
12539
+ small: CardModal2
12540
+ });
12541
+ return /*#__PURE__*/jsx(Component, {
12542
+ backgroundColor: backgroundColor,
12543
+ children: children
12544
+ });
12545
+ }
12546
+ function Header(props) {
12547
+ var Component = useBreakpointValue({
12548
+ base: FullscreenModal2.Header,
12549
+ small: CardModal2.Header
12550
+ });
12551
+ return /*#__PURE__*/jsx(Component, _objectSpread({}, props));
12552
+ }
12553
+ function Body(props) {
12554
+ var Component = useBreakpointValue({
12555
+ base: FullscreenModal2.Body,
12556
+ small: CardModal2.Body
12557
+ });
12558
+ return /*#__PURE__*/jsx(Component, _objectSpread({}, props));
12559
+ }
12560
+ function Footer(props) {
12561
+ var Component = useBreakpointValue({
12562
+ base: FullscreenModal2.Footer,
12563
+ small: CardModal2.Footer
12564
+ });
12565
+ return /*#__PURE__*/jsx(Component, _objectSpread({}, props));
12566
+ }
12567
+ NavigationModal2.Header = Header;
12568
+ NavigationModal2.Body = Body;
12569
+ NavigationModal2.Footer = Footer;
12570
+ NavigationModal2.ModalBehaviour = NavigationModal2Behaviour;
12571
+
11834
12572
  function Notification(_ref) {
11835
12573
  var type = _ref.type,
11836
12574
  children = _ref.children,
@@ -14227,5 +14965,5 @@ function VerticalSteps(_ref) {
14227
14965
  VerticalSteps.Step = Step;
14228
14966
  VerticalSteps.BorderlessStep = BorderlessStep;
14229
14967
 
14230
- export { ActionCard, Actions, Autocomplete, Avatar, BottomSheet, Button, CardModal, Center, Checkbox, ChoicesElements, CloseIconButton, DatePicker, DialogModal, DocumentPicker, Emoji, ExternalAppLink, ExternalLink, FilePicker, FlatList, Flex, FullscreenModal, GoogleMapsApiKeyProvider, GoogleMapsAutocompleteProvider, GroupTags, HStack, Highlight, Icon, IconButton, Image, ImagePicker, InfoCard, InputAddress, InputEmail, InputFeedback, InputField, InputIban, InputIcon, InputNumber, InputPassword, InputPhone, InputPressable, InputTag, InputText, KittBreakpointNameEnum, KittBreakpoints, KittBreakpointsMax, KittMapConfigProvider, KittNativeBaseProvider, KittThemeDecorator, KittThemeProvider, Label, ListItem, LoaderIcon, MapMarker, MapMarkerVariantEnum, MatchWindowSize, Message, ModalBehaviour, FlatList as NativeOnlyFlatList, NavigationModal, Notification, Overlay, PageLoader, Picker, Pressable, RadioWithRef as Radio, RadioButtonGroup, ScrollView, DeprecatedSection as Section, SectionList, SegmentedProgressBar, Skeleton, SpinningIcon, Stack, StaticMap, Story, StoryBlock, StoryContainer, StoryDecorator, StoryGrid, StorySection, StoryTitle, StyleWebWrapper, SwitchBreakpoints, TabBar, Tag, TextArea, TimePicker, ToastComponent, Toggle, Tooltip, Typography, TypographyEmoji, TypographyIcon, TypographyLink, VStack, VerticalSteps, View, createChoicesComponent, createResponsiveStyleFromProp, getStaticMapImageUrl, getValueForBreakpoint, hex2rgba, matchWindowSize, storyPadding, theme, useBottomSheet, useBreakpointValue, useCurrentBreakpointName, useGetStaticMapImageUrl, useKittMapConfig, useKittTheme, useMatchWindowSize, useOpenExternalLink, useStaticBottomSheet, useStoryBlockColor, useTheme };
14968
+ export { ActionCard, Actions, Autocomplete, Avatar, BottomSheet, Button, CardModal, CardModal2, Center, Checkbox, ChoicesElements, CloseIconButton, DatePicker, DialogModal, DocumentPicker, Emoji, ExternalAppLink, ExternalLink, FilePicker, FlatList, Flex, FullscreenModal, FullscreenModal2, GoogleMapsApiKeyProvider, GoogleMapsAutocompleteProvider, GroupTags, HStack, Highlight, Icon, IconButton, Image, ImagePicker, InfoCard, InputAddress, InputEmail, InputFeedback, InputField, InputIban, InputIcon, InputNumber, InputPassword, InputPhone, InputPressable, InputTag, InputText, KittBreakpointNameEnum, KittBreakpoints, KittBreakpointsMax, KittMapConfigProvider, KittNativeBaseProvider, KittThemeDecorator, KittThemeProvider, Label, ListItem, LoaderIcon, MapMarker, MapMarkerVariantEnum, MatchWindowSize, Message, ModalBehaviour, FlatList as NativeOnlyFlatList, NavigationModal, NavigationModal2, Notification, Overlay, PageLoader, Picker, Pressable, RadioWithRef as Radio, RadioButtonGroup, ScrollView, DeprecatedSection as Section, SectionList, SegmentedProgressBar, Skeleton, SpinningIcon, Stack, StaticMap, Story, StoryBlock, StoryContainer, StoryDecorator, StoryGrid, StorySection, StoryTitle, StyleWebWrapper, SwitchBreakpoints, TabBar, Tag, TextArea, TimePicker, ToastComponent, Toggle, Tooltip, Typography, TypographyEmoji, TypographyIcon, TypographyLink, VStack, VerticalSteps, View, createChoicesComponent, createResponsiveStyleFromProp, getStaticMapImageUrl, getValueForBreakpoint, hex2rgba, matchWindowSize, storyPadding, theme, useBottomSheet, useBreakpointValue, useCurrentBreakpointName, useGetStaticMapImageUrl, useKittMapConfig, useKittTheme, useMatchWindowSize, useOpenExternalLink, useStaticBottomSheet, useStoryBlockColor, useTheme };
14231
14969
  //# sourceMappingURL=index.es.js.map