@ornikar/kitt-universal 27.9.1-canary.b005d681364bb7e16454f696f46b5af55d721a97.0 → 27.9.1-canary.e79ce5a70db58d281f30a0e111ad7cf70d64cdb1.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 (59) hide show
  1. package/CHANGELOG.md +17 -5
  2. package/dist/definitions/CardModal/CardModalBody.d.ts +1 -1
  3. package/dist/definitions/CardModal/CardModalBody.d.ts.map +1 -1
  4. package/dist/definitions/CardModal/CardModalHeader.d.ts +17 -3
  5. package/dist/definitions/CardModal/CardModalHeader.d.ts.map +1 -1
  6. package/dist/definitions/FullscreenModal/Header.d.ts +18 -3
  7. package/dist/definitions/FullscreenModal/Header.d.ts.map +1 -1
  8. package/dist/definitions/NavigationBottomSheet/NavigationBottomSheet.d.ts +7 -7
  9. package/dist/definitions/NavigationBottomSheet/NavigationBottomSheet.d.ts.map +1 -1
  10. package/dist/definitions/NavigationBottomSheet/NavigationBottomSheet.web.d.ts +1 -1
  11. package/dist/definitions/NavigationBottomSheet/NavigationBottomSheet.web.d.ts.map +1 -1
  12. package/dist/definitions/Picker/Picker.d.ts.map +1 -1
  13. package/dist/definitions/TopNavBar/TopNavBar.d.ts +1 -1
  14. package/dist/definitions/TopNavBar/TopNavBar.d.ts.map +1 -1
  15. package/dist/definitions/forms/DatePicker/components/NativeUIDatePicker/ModalPlatformDateTimePicker.d.ts.map +1 -1
  16. package/dist/definitions/native-base/KittNativeBaseProvider.d.ts +12 -14
  17. package/dist/definitions/native-base/KittNativeBaseProvider.d.ts.map +1 -1
  18. package/dist/definitions/themes/default.d.ts +1 -0
  19. package/dist/definitions/themes/default.d.ts.map +1 -1
  20. package/dist/definitions/themes/late-ocean/fullscreenModal.d.ts +1 -1
  21. package/dist/definitions/themes/late-ocean/fullscreenModal.d.ts.map +1 -1
  22. package/dist/definitions/themes/late-ocean/iconButton.d.ts +6 -0
  23. package/dist/definitions/themes/late-ocean/iconButton.d.ts.map +1 -0
  24. package/dist/definitions/typography/Typography.d.ts +18 -6
  25. package/dist/definitions/typography/Typography.d.ts.map +1 -1
  26. package/dist/index-metro.es.android.js +366 -232
  27. package/dist/index-metro.es.android.js.map +1 -1
  28. package/dist/index-metro.es.ios.js +366 -232
  29. package/dist/index-metro.es.ios.js.map +1 -1
  30. package/dist/index-node-22.17.cjs.js +277 -150
  31. package/dist/index-node-22.17.cjs.js.map +1 -1
  32. package/dist/index-node-22.17.cjs.web.js +261 -142
  33. package/dist/index-node-22.17.cjs.web.js.map +1 -1
  34. package/dist/index-node-22.17.es.mjs +278 -151
  35. package/dist/index-node-22.17.es.mjs.map +1 -1
  36. package/dist/index-node-22.17.es.web.mjs +262 -143
  37. package/dist/index-node-22.17.es.web.mjs.map +1 -1
  38. package/dist/index.es.js +462 -327
  39. package/dist/index.es.js.map +1 -1
  40. package/dist/index.es.web.js +406 -280
  41. package/dist/index.es.web.js.map +1 -1
  42. package/dist/linaria-themes-metro.es.android.js +8 -2
  43. package/dist/linaria-themes-metro.es.android.js.map +1 -1
  44. package/dist/linaria-themes-metro.es.ios.js +8 -2
  45. package/dist/linaria-themes-metro.es.ios.js.map +1 -1
  46. package/dist/linaria-themes-node-22.17.cjs.js +8 -2
  47. package/dist/linaria-themes-node-22.17.cjs.js.map +1 -1
  48. package/dist/linaria-themes-node-22.17.cjs.web.js +8 -2
  49. package/dist/linaria-themes-node-22.17.cjs.web.js.map +1 -1
  50. package/dist/linaria-themes-node-22.17.es.mjs +8 -2
  51. package/dist/linaria-themes-node-22.17.es.mjs.map +1 -1
  52. package/dist/linaria-themes-node-22.17.es.web.mjs +8 -2
  53. package/dist/linaria-themes-node-22.17.es.web.mjs.map +1 -1
  54. package/dist/linaria-themes.es.js +9 -3
  55. package/dist/linaria-themes.es.js.map +1 -1
  56. package/dist/linaria-themes.es.web.js +9 -3
  57. package/dist/linaria-themes.es.web.js.map +1 -1
  58. package/dist/tsbuildinfo +1 -1
  59. package/package.json +28 -28
@@ -9,7 +9,7 @@ import _extends from '@babel/runtime/helpers/extends';
9
9
  import Animated, { useSharedValue, useAnimatedStyle, interpolateColor, withSpring, withTiming, Easing as Easing$1, runOnJS, useDerivedValue, useAnimatedProps, withDelay, withRepeat, interpolate } from 'react-native-reanimated';
10
10
  import { Platform, Animated as Animated$1, Easing, StyleSheet, Modal, ScrollView as ScrollView$2, View as View$2, Linking, Pressable as Pressable$2, Keyboard, Text as Text$1, useWindowDimensions, PixelRatio } from 'react-native';
11
11
  export { useWindowDimensions as useWindowSize } from 'react-native';
12
- import { SpinnerGapRegularIcon, UserRegularIcon, XRegularIcon, ArrowLeftRegularIcon, CaretUpFillIcon, CaretDownFillIcon, MapPinRegularIcon, EyeClosedRegularIcon, EyeRegularIcon, CheckCircleFillIcon, CaretDownRegularIcon, CaretRightRegularIcon, InfoRegularIcon, WarningRegularIcon, CheckRegularIcon, WarningCircleRegularIcon, ArrowCounterClockwiseRegularIcon, InfoFillIcon, WarningCircleFillIcon, WarningFillIcon } from '@ornikar/kitt-icons/phosphor';
12
+ import { SpinnerGapRegularIcon, UserRegularIcon, CaretUpFillIcon, CaretDownFillIcon, MapPinRegularIcon, EyeClosedRegularIcon, EyeRegularIcon, CheckCircleFillIcon, CaretDownRegularIcon, XRegularIcon, CaretRightRegularIcon, InfoRegularIcon, WarningRegularIcon, CheckRegularIcon, WarningCircleRegularIcon, ArrowCounterClockwiseRegularIcon, InfoFillIcon, WarningCircleFillIcon, WarningFillIcon, ArrowLeftRegularIcon } from '@ornikar/kitt-icons/phosphor';
13
13
  import { BottomSheetView, BottomSheetScrollView, BottomSheetSectionList, BottomSheetFlatList, BottomSheetHandle, BottomSheetBackdrop, BottomSheetFooter, BottomSheetTextInput, BottomSheetModal, useBottomSheetModal } from '@gorhom/bottom-sheet';
14
14
  import { useSafeAreaInsets } from 'react-native-safe-area-context';
15
15
  import { parse } from '@twemoji/parser';
@@ -1805,12 +1805,12 @@ const fullscreenModal = {
1805
1805
  header: {
1806
1806
  height: 56
1807
1807
  },
1808
- horizontalPadding: 16,
1808
+ sharedHorizontalPadding: 16,
1809
1809
  footer: {
1810
1810
  verticalPadding: 12
1811
1811
  },
1812
1812
  body: {
1813
- verticalPadding: 16
1813
+ verticalPadding: 24
1814
1814
  },
1815
1815
  animation: {
1816
1816
  overlay: {
@@ -1897,6 +1897,11 @@ const icon = {
1897
1897
  defaultSize: 20
1898
1898
  };
1899
1899
 
1900
+ const iconButton = {
1901
+ width: button.height.medium,
1902
+ height: button.height.medium
1903
+ };
1904
+
1900
1905
  const listItem = {
1901
1906
  padding: '12px 16px',
1902
1907
  verticalPadding: 12,
@@ -2626,6 +2631,7 @@ const theme = {
2626
2631
  highlight,
2627
2632
  icon,
2628
2633
  buttonBadge,
2634
+ iconButton,
2629
2635
  listItem,
2630
2636
  pageLoader,
2631
2637
  picker,
@@ -2733,7 +2739,7 @@ function ActionCardDisabled({
2733
2739
  });
2734
2740
  }
2735
2741
 
2736
- const _excluded$R = ["children", "variant", "borderVariant", "borderRadius", "disabled", "isHovered", "isPressed", "isFocused"];
2742
+ const _excluded$S = ["children", "variant", "borderVariant", "borderRadius", "disabled", "isHovered", "isPressed", "isFocused"];
2737
2743
  function ActionCard(_ref) {
2738
2744
  let {
2739
2745
  children,
@@ -2745,7 +2751,7 @@ function ActionCard(_ref) {
2745
2751
  isPressed,
2746
2752
  isFocused
2747
2753
  } = _ref,
2748
- props = _objectWithoutProperties(_ref, _excluded$R);
2754
+ props = _objectWithoutProperties(_ref, _excluded$S);
2749
2755
  return /*#__PURE__*/jsx(View, _objectSpread(_objectSpread({}, props), {}, {
2750
2756
  children: disabled ? /*#__PURE__*/jsx(ActionCardDisabled, {
2751
2757
  borderRadius: borderRadius,
@@ -3054,7 +3060,7 @@ const getTypographyTypeWithAncestorValue = (type, typographyTypeInContext) => {
3054
3060
  return !!isAllValuesUndefined && !!typographyTypeInContext ? typographyTypeInContext : type;
3055
3061
  };
3056
3062
 
3057
- const _excluded$Q = ["accessibilityRole", "base", "small", "medium", "large", "wide", "type", "variant", "color"];
3063
+ const _excluded$R = ["accessibilityRole", "base", "small", "medium", "large", "wide", "type", "variant", "color"];
3058
3064
  const TypographyFamilyContext = /*#__PURE__*/createContext(null);
3059
3065
  const TypographyTypeContext = /*#__PURE__*/createContext(null);
3060
3066
  const TypographyColorContext = /*#__PURE__*/createContext('black');
@@ -3181,7 +3187,7 @@ function Typography(_ref) {
3181
3187
  variant,
3182
3188
  color
3183
3189
  } = _ref,
3184
- otherProps = _objectWithoutProperties(_ref, _excluded$Q);
3190
+ otherProps = _objectWithoutProperties(_ref, _excluded$R);
3185
3191
  const sx = useSx();
3186
3192
  const typographyFamilyInContext = useContext(TypographyFamilyContext);
3187
3193
  const typographyTypeInContext = useContext(TypographyTypeContext);
@@ -3322,14 +3328,14 @@ function Icon({
3322
3328
  });
3323
3329
  }
3324
3330
 
3325
- const _excluded$P = ["color", "size"],
3331
+ const _excluded$Q = ["color", "size"],
3326
3332
  _excluded2$5 = ["color"];
3327
3333
  function TypographyIconSpecifiedColor(_ref) {
3328
3334
  let {
3329
3335
  color,
3330
3336
  size
3331
3337
  } = _ref,
3332
- props = _objectWithoutProperties(_ref, _excluded$P);
3338
+ props = _objectWithoutProperties(_ref, _excluded$Q);
3333
3339
  const colorValue = getTypographyColorValue(color);
3334
3340
  const sx = useSx();
3335
3341
  const {
@@ -3372,7 +3378,7 @@ const getButtonTextColorByType = (type, variant, isHovered, isPressed, isDisable
3372
3378
  return `${baseKey}.default`;
3373
3379
  };
3374
3380
 
3375
- const _excluded$O = ["type", "variant", "isDisabled", "icon", "children", "isHovered", "isPressed", "isFocused", "innerSpacing", "size"];
3381
+ const _excluded$P = ["type", "variant", "isDisabled", "icon", "children", "isHovered", "isPressed", "isFocused", "innerSpacing", "size"];
3376
3382
  function ButtonContentChildren({
3377
3383
  type,
3378
3384
  icon,
@@ -3472,7 +3478,7 @@ function ButtonContent(_ref) {
3472
3478
  innerSpacing,
3473
3479
  size
3474
3480
  } = _ref,
3475
- props = _objectWithoutProperties(_ref, _excluded$O);
3481
+ props = _objectWithoutProperties(_ref, _excluded$P);
3476
3482
  const color = getButtonTextColorByType(type, variant, isHovered, isPressed, isDisabled);
3477
3483
  return /*#__PURE__*/jsx(View, {
3478
3484
  _web: {
@@ -3720,7 +3726,7 @@ function LoaderIcon({
3720
3726
  });
3721
3727
  }
3722
3728
 
3723
- const _excluded$N = ["as", "onPress", "disabled", "icon", "stretch"];
3729
+ const _excluded$O = ["as", "onPress", "disabled", "icon", "stretch"];
3724
3730
  const ActionsItem = /*#__PURE__*/forwardRef((_ref, ref) => {
3725
3731
  let {
3726
3732
  as,
@@ -3732,7 +3738,7 @@ const ActionsItem = /*#__PURE__*/forwardRef((_ref, ref) => {
3732
3738
  medium: false
3733
3739
  }
3734
3740
  } = _ref,
3735
- props = _objectWithoutProperties(_ref, _excluded$N);
3741
+ props = _objectWithoutProperties(_ref, _excluded$O);
3736
3742
  const [isLoading, setIsLoading] = useState(false);
3737
3743
  const mountedRef = useRef(false);
3738
3744
  // securing the loading state with a ref to avoid user action between rerenders
@@ -3783,7 +3789,7 @@ function ActionsButton(_ref) {
3783
3789
  }, props));
3784
3790
  }
3785
3791
 
3786
- const _excluded$M = ["children", "layout", "reversed"];
3792
+ const _excluded$N = ["children", "layout", "reversed"];
3787
3793
  function getCurrentLayout(layout) {
3788
3794
  if (!layout) return {
3789
3795
  base: 'stretch',
@@ -3816,7 +3822,7 @@ function Actions(_ref) {
3816
3822
  base: false
3817
3823
  }
3818
3824
  } = _ref,
3819
- props = _objectWithoutProperties(_ref, _excluded$M);
3825
+ props = _objectWithoutProperties(_ref, _excluded$N);
3820
3826
  const shouldReverse = typeof reversed === 'boolean' ? {
3821
3827
  base: !!reversed
3822
3828
  } : createResponsiveStyleFromProp(reversed, true, false);
@@ -3871,7 +3877,7 @@ function getInitials(firstname, lastname) {
3871
3877
  return `${firstname[0]}${lastname[0]}`.toUpperCase();
3872
3878
  }
3873
3879
 
3874
- const _excluded$L = ["size", "round", "light", "sizeVariant", "width", "height", "dark", "disabled"];
3880
+ const _excluded$M = ["size", "round", "light", "sizeVariant", "width", "height", "dark", "disabled"];
3875
3881
  function AvatarContent({
3876
3882
  size,
3877
3883
  src,
@@ -3937,7 +3943,7 @@ function Avatar(_ref) {
3937
3943
  dark,
3938
3944
  disabled
3939
3945
  } = _ref,
3940
- props = _objectWithoutProperties(_ref, _excluded$L);
3946
+ props = _objectWithoutProperties(_ref, _excluded$M);
3941
3947
  const currentSize = getCurrentSize({
3942
3948
  size,
3943
3949
  sizeVariant
@@ -3975,7 +3981,7 @@ function Avatar(_ref) {
3975
3981
  });
3976
3982
  }
3977
3983
 
3978
- const _excluded$K = ["children", "hasScrollView", "hasBackdrop", "hasHandle", "enableDynamicSizing", "snapPoints"];
3984
+ const _excluded$L = ["children", "hasScrollView", "hasBackdrop", "hasHandle", "enableDynamicSizing", "snapPoints"];
3979
3985
  function BottomSheetComp(_ref, ref) {
3980
3986
  let {
3981
3987
  children: Content,
@@ -3985,7 +3991,7 @@ function BottomSheetComp(_ref, ref) {
3985
3991
  enableDynamicSizing = true,
3986
3992
  snapPoints = ['100%']
3987
3993
  } = _ref,
3988
- rest = _objectWithoutProperties(_ref, _excluded$K);
3994
+ rest = _objectWithoutProperties(_ref, _excluded$L);
3989
3995
  const {
3990
3996
  top
3991
3997
  } = useSafeAreaInsets();
@@ -4296,7 +4302,7 @@ function CardModalAnimation({
4296
4302
  });
4297
4303
  }
4298
4304
 
4299
- const _excluded$J = ["children", "visible", "onClose", "onExited"];
4305
+ const _excluded$K = ["children", "visible", "onClose", "onExited"];
4300
4306
  function CardModalBehaviour(_ref) {
4301
4307
  let {
4302
4308
  children,
@@ -4304,7 +4310,7 @@ function CardModalBehaviour(_ref) {
4304
4310
  onClose,
4305
4311
  onExited
4306
4312
  } = _ref,
4307
- props = _objectWithoutProperties(_ref, _excluded$J);
4313
+ props = _objectWithoutProperties(_ref, _excluded$K);
4308
4314
  const [isModalBehaviourVisible, setIsModalBehaviourVisible] = useState(visible);
4309
4315
  useEffect(() => {
4310
4316
  if (visible === true) {
@@ -4326,24 +4332,32 @@ function CardModalBehaviour(_ref) {
4326
4332
  });
4327
4333
  }
4328
4334
 
4329
- const _excluded$I = ["children", "padding"];
4335
+ const _excluded$J = ["children", "paddingX", "paddingY"];
4330
4336
  function CardModalBody(_ref) {
4331
4337
  let {
4332
4338
  children,
4333
- padding = 'kitt.4'
4339
+ paddingX = {
4340
+ base: 'kitt.4',
4341
+ medium: 'kitt.6'
4342
+ },
4343
+ paddingY = {
4344
+ base: 'kitt.4',
4345
+ medium: 'kitt.6'
4346
+ }
4334
4347
  } = _ref,
4335
- props = _objectWithoutProperties(_ref, _excluded$I);
4348
+ props = _objectWithoutProperties(_ref, _excluded$J);
4336
4349
  return /*#__PURE__*/jsx(ScrollView, _objectSpread(_objectSpread({
4337
4350
  showsVerticalScrollIndicator: false,
4338
4351
  _contentContainerStyle: {
4339
- padding
4352
+ paddingX,
4353
+ paddingY
4340
4354
  }
4341
4355
  }, props), {}, {
4342
4356
  children: children
4343
4357
  }));
4344
4358
  }
4345
4359
 
4346
- const _excluded$H = ["children", "padding", "hasSeparator"];
4360
+ const _excluded$I = ["children", "padding", "hasSeparator"];
4347
4361
  function CardModalFooter(_ref) {
4348
4362
  let {
4349
4363
  children,
@@ -4353,7 +4367,7 @@ function CardModalFooter(_ref) {
4353
4367
  },
4354
4368
  hasSeparator = true
4355
4369
  } = _ref,
4356
- props = _objectWithoutProperties(_ref, _excluded$H);
4370
+ props = _objectWithoutProperties(_ref, _excluded$I);
4357
4371
  return /*#__PURE__*/jsx(View, _objectSpread(_objectSpread({}, props), {}, {
4358
4372
  marginTop: "kitt.2",
4359
4373
  padding: padding,
@@ -4367,145 +4381,58 @@ function CardModalFooter(_ref) {
4367
4381
  }));
4368
4382
  }
4369
4383
 
4370
- const getButtonTypeAndVariant = iconColor => {
4371
- switch (iconColor) {
4372
- case 'black':
4373
- return {
4374
- type: 'tertiary'
4375
- };
4376
- case 'secondary':
4377
- return {
4378
- type: 'secondary'
4379
- };
4380
- case 'primary':
4381
- return {
4382
- type: 'primary'
4383
- };
4384
- case 'primary-plain':
4385
- return {
4386
- type: 'primary'
4387
- };
4388
- case 'ghost':
4389
- return {
4390
- type: 'tertiary',
4391
- variant: 'revert'
4392
- };
4393
- default:
4394
- return {
4395
- type: 'secondary'
4396
- };
4397
- }
4398
- };
4399
-
4400
- const _excluded$G = ["color", "ariaLabel"];
4401
- /**
4402
- * @deprecated IconButton should only be used as a navigation button
4403
- * Other use cases should use a <Button> component with an icon
4404
- */
4405
- function IconButton(_ref) {
4384
+ const _excluded$H = ["children", "title", "paddingBottom", "hasSeparator", "right", "left"];
4385
+ function CardModalHeader(_ref) {
4406
4386
  let {
4407
- color = 'black',
4408
- ariaLabel
4387
+ children,
4388
+ title,
4389
+ paddingBottom = {
4390
+ base: 'kitt.4',
4391
+ medium: 'kitt.2'
4392
+ },
4393
+ hasSeparator = true,
4394
+ right,
4395
+ left
4409
4396
  } = _ref,
4410
- props = _objectWithoutProperties(_ref, _excluded$G);
4411
- const {
4412
- type: legacyColorToType,
4413
- variant: legacyColorToVariant
4414
- } = getButtonTypeAndVariant(color);
4415
- return /*#__PURE__*/jsx(Button, _objectSpread({
4416
- variant: legacyColorToVariant,
4417
- type: legacyColorToType
4418
- }, props));
4419
- }
4420
- function CloseIconButton(props) {
4421
- return /*#__PURE__*/jsx(IconButton, _objectSpread({
4422
- icon: /*#__PURE__*/jsx(XRegularIcon, {})
4423
- }, props));
4424
- }
4425
-
4426
- function TopNavBar({
4427
- left,
4428
- right,
4429
- title,
4430
- titleAlign = 'center',
4431
- stickers,
4432
- mode = 'default',
4433
- hasSeparator = true
4434
- }) {
4435
- const isLargeTitleMode = mode === 'largeTitle';
4436
- const leftEmptySpace = !left && titleAlign === 'left' ? null : /*#__PURE__*/jsx(View, {
4437
- width: "kitt.button.minWidth"
4438
- });
4439
- return /*#__PURE__*/jsxs(VStack, {
4440
- space: isLargeTitleMode ? 'kitt.2' : undefined,
4441
- width: "100%",
4442
- height: mode === 'default' ? 56 : undefined,
4443
- justifyContent: "center",
4444
- paddingX: "kitt.2",
4445
- paddingTop: isLargeTitleMode ? 'kitt.2' : 'kitt.3',
4446
- paddingBottom: "kitt.3",
4447
- borderBottomWidth: hasSeparator && mode === 'default' ? 1 : 0,
4397
+ props = _objectWithoutProperties(_ref, _excluded$H);
4398
+ const defaultContainerPadding = {
4399
+ base: 'kitt.4',
4400
+ medium: 'kitt.6'
4401
+ };
4402
+ return /*#__PURE__*/jsx(View, _objectSpread(_objectSpread({}, props), {}, {
4403
+ padding: paddingBottom,
4404
+ borderBottomWidth: hasSeparator ? 'kitt.cardModal.footer.borderWidth' : 0,
4448
4405
  borderColor: "kitt.separator",
4449
- children: [/*#__PURE__*/jsxs(HStack, {
4406
+ justifyContent: "center",
4407
+ width: "100%",
4408
+ height: "kitt.cardModal.header.height",
4409
+ paddingRight: right ? 'kitt.2' : defaultContainerPadding,
4410
+ paddingLeft: left ? 'kitt.2' : defaultContainerPadding,
4411
+ children: /*#__PURE__*/jsxs(View, {
4450
4412
  alignItems: "center",
4451
- justifyContent: !title && !left ? 'flex-end' : 'space-between',
4452
- children: [left !== null && left !== void 0 ? left : leftEmptySpace, mode === 'default' ? /*#__PURE__*/jsx(View, {
4413
+ flexDirection: "row",
4414
+ justifyContent: !children && !left ? 'flex-end' : 'space-between',
4415
+ children: [left ? /*#__PURE__*/jsx(View, {
4416
+ width: "kitt.iconButton.width",
4417
+ children: left
4418
+ }) : null, /*#__PURE__*/jsxs(View, {
4453
4419
  flexGrow: "1",
4454
- flexShrink: 1,
4455
- paddingRight: "kitt.2",
4456
- paddingLeft: "kitt.2",
4457
- children: title ? /*#__PURE__*/jsx(Typography.Text, {
4458
- textAlign: titleAlign,
4420
+ paddingRight: right ? 'kitt.2' : 0,
4421
+ paddingLeft: left ? 'kitt.2' : 0,
4422
+ children: [title ? /*#__PURE__*/jsx(Typography.Text, {
4423
+ textAlign: !left && right ? 'left' : 'center',
4459
4424
  variant: "bold",
4460
- ellipsizeMode: "tail",
4461
- numberOfLines: 1,
4462
4425
  children: title
4463
- }) : null
4464
- }) : null, right !== null && right !== void 0 ? right : /*#__PURE__*/jsx(View, {
4465
- width: "kitt.button.minWidth"
4466
- })]
4467
- }), mode === 'largeTitle' ? /*#__PURE__*/jsxs(VStack, {
4468
- space: "kitt.4",
4469
- paddingX: "kitt.2",
4470
- children: [stickers ? /*#__PURE__*/jsx(HStack, {
4471
- width: "100%",
4472
- space: "kitt.1",
4473
- flexShrink: 1,
4474
- flexWrap: "wrap",
4475
- style: {
4476
- rowGap: theme.getSpacing(1)
4477
- },
4478
- children: stickers.map((sticker, index) =>
4479
- /*#__PURE__*/
4480
- // eslint-disable-next-line react/no-array-index-key
4481
- jsx(View, {
4482
- children: sticker
4483
- }, index))
4484
- }) : null, /*#__PURE__*/jsx(Typography.Text, {
4485
- base: "heading-m",
4486
- children: title
4487
- })]
4488
- }) : null]
4489
- });
4490
- }
4491
- function CloseButton(props) {
4492
- return /*#__PURE__*/jsx(IconButton, _objectSpread({
4493
- icon: /*#__PURE__*/jsx(XRegularIcon, {})
4494
- }, props));
4495
- }
4496
- function BackButton(props) {
4497
- return /*#__PURE__*/jsx(IconButton, _objectSpread({
4498
- icon: /*#__PURE__*/jsx(ArrowLeftRegularIcon, {})
4499
- }, props));
4500
- }
4501
- TopNavBar.CloseButton = CloseButton;
4502
- TopNavBar.BackButton = BackButton;
4503
-
4504
- function CardModalHeader(props) {
4505
- return /*#__PURE__*/jsx(TopNavBar, _objectSpread({}, props));
4426
+ }) : null, children]
4427
+ }), right ? /*#__PURE__*/jsx(View, {
4428
+ width: "kitt.iconButton.width",
4429
+ children: right
4430
+ }) : null]
4431
+ })
4432
+ }));
4506
4433
  }
4507
4434
 
4508
- const _excluded$F = ["backgroundColor", "maxWidth", "withoutShadow", "children", "header", "body", "footer"];
4435
+ const _excluded$G = ["backgroundColor", "maxWidth", "withoutShadow", "children", "header", "body", "footer"];
4509
4436
  function CardModal(_ref) {
4510
4437
  let {
4511
4438
  backgroundColor = 'kitt.uiBackgroundLight',
@@ -4516,7 +4443,7 @@ function CardModal(_ref) {
4516
4443
  body,
4517
4444
  footer
4518
4445
  } = _ref,
4519
- props = _objectWithoutProperties(_ref, _excluded$F);
4446
+ props = _objectWithoutProperties(_ref, _excluded$G);
4520
4447
  return /*#__PURE__*/jsx(View, _objectSpread(_objectSpread({}, props), {}, {
4521
4448
  overflow: "hidden",
4522
4449
  backgroundColor: backgroundColor,
@@ -4770,13 +4697,13 @@ function ChoiceItemContainer({
4770
4697
  }));
4771
4698
  }
4772
4699
 
4773
- const _excluded$E = ["direction", "contentContainerStyle"];
4700
+ const _excluded$F = ["direction", "contentContainerStyle"];
4774
4701
  function ChoicesContainer(_ref) {
4775
4702
  let {
4776
4703
  direction,
4777
4704
  contentContainerStyle
4778
4705
  } = _ref,
4779
- props = _objectWithoutProperties(_ref, _excluded$E);
4706
+ props = _objectWithoutProperties(_ref, _excluded$F);
4780
4707
  if (direction === 'row') {
4781
4708
  return /*#__PURE__*/jsx(ScrollView$2, _objectSpread({
4782
4709
  horizontal: true,
@@ -5002,7 +4929,7 @@ function DialogModalAnimation({
5002
4929
  });
5003
4930
  }
5004
4931
 
5005
- const _excluded$D = ["children", "visible", "onClose", "onExited"];
4932
+ const _excluded$E = ["children", "visible", "onClose", "onExited"];
5006
4933
  function DialogModalBehaviour(_ref) {
5007
4934
  let {
5008
4935
  children,
@@ -5010,7 +4937,7 @@ function DialogModalBehaviour(_ref) {
5010
4937
  onClose,
5011
4938
  onExited
5012
4939
  } = _ref,
5013
- props = _objectWithoutProperties(_ref, _excluded$D);
4940
+ props = _objectWithoutProperties(_ref, _excluded$E);
5014
4941
  const [isModalBehaviourVisible, setIsModalBehaviourVisible] = useState(visible);
5015
4942
  useEffect(() => {
5016
4943
  if (visible === true) {
@@ -5038,7 +4965,7 @@ function DialogModalBehaviour(_ref) {
5038
4965
  });
5039
4966
  }
5040
4967
 
5041
- const _excluded$C = ["stretch"];
4968
+ const _excluded$D = ["stretch"];
5042
4969
  function DialogModal({
5043
4970
  illustration,
5044
4971
  title,
@@ -5080,7 +5007,7 @@ function DialogModalButton(_ref) {
5080
5007
  let {
5081
5008
  stretch = true
5082
5009
  } = _ref,
5083
- props = _objectWithoutProperties(_ref, _excluded$C);
5010
+ props = _objectWithoutProperties(_ref, _excluded$D);
5084
5011
  return /*#__PURE__*/jsx(Actions.Button, _objectSpread({
5085
5012
  stretch: stretch
5086
5013
  }, props));
@@ -5114,7 +5041,7 @@ function Emoji({
5114
5041
  });
5115
5042
  }
5116
5043
 
5117
- const _excluded$B = ["as", "appScheme", "appValue", "onPress", "onOpenAppError"],
5044
+ const _excluded$C = ["as", "appScheme", "appValue", "onPress", "onOpenAppError"],
5118
5045
  _excluded2$4 = ["phoneNumber", "children"],
5119
5046
  _excluded3$3 = ["phoneNumber", "children"],
5120
5047
  _excluded4$3 = ["emailAddress", "children"];
@@ -5126,7 +5053,7 @@ function ExternalAppLink(_ref) {
5126
5053
  onPress,
5127
5054
  onOpenAppError
5128
5055
  } = _ref,
5129
- rest = _objectWithoutProperties(_ref, _excluded$B);
5056
+ rest = _objectWithoutProperties(_ref, _excluded$C);
5130
5057
  const href = `${appScheme}:${appValue}`;
5131
5058
  return /*#__PURE__*/jsx(Component, _objectSpread(_objectSpread({
5132
5059
  href: href
@@ -5220,7 +5147,7 @@ function useOpenExternalLink(errorHandler) {
5220
5147
  };
5221
5148
  }
5222
5149
 
5223
- const _excluded$A = ["as", "href", "openLinkBehavior", "onPress", "onOpenLinkError"];
5150
+ const _excluded$B = ["as", "href", "openLinkBehavior", "onPress", "onOpenLinkError"];
5224
5151
  function ExternalLink(_ref) {
5225
5152
  let {
5226
5153
  as: Component,
@@ -5230,7 +5157,7 @@ function ExternalLink(_ref) {
5230
5157
  // eslint-disable-next-line no-console
5231
5158
  onOpenLinkError = console.error
5232
5159
  } = _ref,
5233
- rest = _objectWithoutProperties(_ref, _excluded$A);
5160
+ rest = _objectWithoutProperties(_ref, _excluded$B);
5234
5161
  const openExternalLink = useOpenExternalLink();
5235
5162
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
5236
5163
  return /*#__PURE__*/jsx(Component, _objectSpread(_objectSpread({}, rest), {}, {
@@ -5289,7 +5216,7 @@ function InputTextContainer({
5289
5216
  });
5290
5217
  }
5291
5218
 
5292
- const _excluded$z = ["id", "right", "state", "variant", "internalForceState", "disabled", "autoCorrect", "textContentType", "autoComplete", "inputMode", "multiline", "height", "onSubmitEditing"];
5219
+ const _excluded$A = ["id", "right", "state", "variant", "internalForceState", "disabled", "autoCorrect", "textContentType", "autoComplete", "inputMode", "multiline", "height", "onSubmitEditing"];
5293
5220
  const InputText = /*#__PURE__*/forwardRef((_ref, ref) => {
5294
5221
  let {
5295
5222
  id,
@@ -5306,7 +5233,7 @@ const InputText = /*#__PURE__*/forwardRef((_ref, ref) => {
5306
5233
  height,
5307
5234
  onSubmitEditing
5308
5235
  } = _ref,
5309
- props = _objectWithoutProperties(_ref, _excluded$z);
5236
+ props = _objectWithoutProperties(_ref, _excluded$A);
5310
5237
  const theme = useTheme();
5311
5238
  const fontSizeForNativeBase = createNativeBaseFontSize({
5312
5239
  base: 'body-m'
@@ -5431,13 +5358,13 @@ function AutocompleteItemsListContainer({
5431
5358
  });
5432
5359
  }
5433
5360
 
5434
- const _excluded$y = ["children", "testID"];
5361
+ const _excluded$z = ["children", "testID"];
5435
5362
  function AutocompleteOption(_ref) {
5436
5363
  let {
5437
5364
  children,
5438
5365
  testID = 'kitt.Autocomplete.option'
5439
5366
  } = _ref,
5440
- props = _objectWithoutProperties(_ref, _excluded$y);
5367
+ props = _objectWithoutProperties(_ref, _excluded$z);
5441
5368
  return /*#__PURE__*/jsx(View, _objectSpread(_objectSpread({
5442
5369
  paddingX: {
5443
5370
  base: 'kitt.2',
@@ -5450,7 +5377,7 @@ function AutocompleteOption(_ref) {
5450
5377
  }));
5451
5378
  }
5452
5379
 
5453
- const _excluded$x = ["children", "name", "disabled", "placeholder", "isInitialOpen", "initialValue", "containerProps", "filterItemBasedOnCurrentInputValue", "checkSelectedItem", "itemToString", "right", "onChange", "onFocus", "onBlur", "onInputChange", "onSelectItem", "onOuterPress", "errorElement", "emptyResultsElement", "inputTestID", "listContainerTestID", "zIndex", "maxItemContainerHeight"],
5380
+ const _excluded$y = ["children", "name", "disabled", "placeholder", "isInitialOpen", "initialValue", "containerProps", "filterItemBasedOnCurrentInputValue", "checkSelectedItem", "itemToString", "right", "onChange", "onFocus", "onBlur", "onInputChange", "onSelectItem", "onOuterPress", "errorElement", "emptyResultsElement", "inputTestID", "listContainerTestID", "zIndex", "maxItemContainerHeight"],
5454
5381
  _excluded2$3 = ["onClick", "onPress"],
5455
5382
  _excluded3$2 = ["onKeyDown", "onFocus", "onBlur", "onChange"],
5456
5383
  _excluded4$2 = ["onClick", "onPress", "role", "aria-selected"];
@@ -5492,7 +5419,7 @@ function Autocomplete(_ref) {
5492
5419
  zIndex = 1000,
5493
5420
  maxItemContainerHeight
5494
5421
  } = _ref,
5495
- props = _objectWithoutProperties(_ref, _excluded$x);
5422
+ props = _objectWithoutProperties(_ref, _excluded$y);
5496
5423
  const childrenArray = Children.toArray(children);
5497
5424
  const items = childrenArray.filter(isReactElement).map(child => ({
5498
5425
  child,
@@ -5713,7 +5640,7 @@ function getBorderColor$1({
5713
5640
  return 'kitt.forms.checkbox.default.borderColor';
5714
5641
  }
5715
5642
 
5716
- const _excluded$w = ["checked", "hitSlop", "children", "disabled", "onChange", "onBlur", "onFocus"];
5643
+ const _excluded$x = ["checked", "hitSlop", "children", "disabled", "onChange", "onBlur", "onFocus"];
5717
5644
  const Checkbox = /*#__PURE__*/forwardRef((_ref, ref) => {
5718
5645
  let {
5719
5646
  checked,
@@ -5724,7 +5651,7 @@ const Checkbox = /*#__PURE__*/forwardRef((_ref, ref) => {
5724
5651
  onBlur,
5725
5652
  onFocus
5726
5653
  } = _ref,
5727
- props = _objectWithoutProperties(_ref, _excluded$w);
5654
+ props = _objectWithoutProperties(_ref, _excluded$x);
5728
5655
  const theme = useTheme();
5729
5656
  return /*#__PURE__*/jsx(Pressable, _objectSpread(_objectSpread({
5730
5657
  hitSlop: hitSlop
@@ -6053,7 +5980,7 @@ function PartContainer({
6053
5980
  });
6054
5981
  }
6055
5982
 
6056
- const _excluded$v = ["id", "value", "testID", "stretch", "placeholder", "minDate", "maxDate", "disabled", "isFocusedInternal", "isHoveredInternal", "isPressedInternal", "enterKeyHint", "onChange", "onBlur", "onFocus", "onSubmitEditing"];
5983
+ const _excluded$w = ["id", "value", "testID", "stretch", "placeholder", "minDate", "maxDate", "disabled", "isFocusedInternal", "isHoveredInternal", "isPressedInternal", "enterKeyHint", "onChange", "onBlur", "onFocus", "onSubmitEditing"];
6057
5984
  const KeyboardDatePicker = /*#__PURE__*/forwardRef((_ref, ref) => {
6058
5985
  let {
6059
5986
  id,
@@ -6073,7 +6000,7 @@ const KeyboardDatePicker = /*#__PURE__*/forwardRef((_ref, ref) => {
6073
6000
  onFocus,
6074
6001
  onSubmitEditing
6075
6002
  } = _ref;
6076
- _objectWithoutProperties(_ref, _excluded$v);
6003
+ _objectWithoutProperties(_ref, _excluded$w);
6077
6004
  const monthRef = useRef(null);
6078
6005
  const yearRef = useRef(null);
6079
6006
  const defaultValue = value;
@@ -6274,7 +6201,7 @@ const PressableDateInputs = /*#__PURE__*/forwardRef(({
6274
6201
  });
6275
6202
  });
6276
6203
 
6277
- const _excluded$u = ["onBlur", "onFocus", "pickerDefaultDate", "pickerUITestID", "isDefaultVisible", "value", "onChange"];
6204
+ const _excluded$v = ["onBlur", "onFocus", "pickerDefaultDate", "pickerUITestID", "isDefaultVisible", "value", "onChange"];
6278
6205
  const DatePickerAndroid = /*#__PURE__*/forwardRef((_ref, ref) => {
6279
6206
  let {
6280
6207
  onBlur,
@@ -6285,7 +6212,7 @@ const DatePickerAndroid = /*#__PURE__*/forwardRef((_ref, ref) => {
6285
6212
  value,
6286
6213
  onChange
6287
6214
  } = _ref,
6288
- props = _objectWithoutProperties(_ref, _excluded$u);
6215
+ props = _objectWithoutProperties(_ref, _excluded$v);
6289
6216
  const [isFocused, setIsFocused] = useState(false);
6290
6217
  const [currentValue, setCurrentValue] = useState(value);
6291
6218
  const handleClose = () => {
@@ -6355,12 +6282,16 @@ function PlatformDateTimePicker({
6355
6282
  }));
6356
6283
  }
6357
6284
 
6358
- const _excluded$t = ["title", "isVisible", "value", "validateButtonLabel", "onClose", "onChange"];
6285
+ const _excluded$u = ["title", "isVisible", "value", "validateButtonLabel", "onClose", "onChange"];
6359
6286
  function ModalTitle({
6360
6287
  children
6361
6288
  }) {
6362
6289
  return /*#__PURE__*/jsx(CardModal.Header, {
6363
- title: children
6290
+ children: /*#__PURE__*/jsx(Typography.Text, {
6291
+ base: "body-m",
6292
+ variant: "bold",
6293
+ children: children
6294
+ })
6364
6295
  });
6365
6296
  }
6366
6297
  function ModalPlatformDateTimePicker(_ref) {
@@ -6372,7 +6303,7 @@ function ModalPlatformDateTimePicker(_ref) {
6372
6303
  onClose,
6373
6304
  onChange
6374
6305
  } = _ref,
6375
- props = _objectWithoutProperties(_ref, _excluded$t);
6306
+ props = _objectWithoutProperties(_ref, _excluded$u);
6376
6307
  const [currentValue, setCurrentValue] = useState(value);
6377
6308
 
6378
6309
  // Prevent unsynced value between the modal and its parent state
@@ -6415,7 +6346,7 @@ function ModalPlatformDateTimePicker(_ref) {
6415
6346
  });
6416
6347
  }
6417
6348
 
6418
- const _excluded$s = ["value", "pickerUITestID", "pickerUITitle", "pickerUIValidateButtonLabel", "isDefaultVisible", "pickerDefaultDate", "isFocusedInternal", "isHoveredInternal", "isPressedInternal", "onChange", "onFocus", "onBlur"];
6349
+ const _excluded$t = ["value", "pickerUITestID", "pickerUITitle", "pickerUIValidateButtonLabel", "isDefaultVisible", "pickerDefaultDate", "isFocusedInternal", "isHoveredInternal", "isPressedInternal", "onChange", "onFocus", "onBlur"];
6419
6350
  const DefaultNativeUIDatePicker = /*#__PURE__*/forwardRef((_ref, ref) => {
6420
6351
  let {
6421
6352
  value,
@@ -6431,7 +6362,7 @@ const DefaultNativeUIDatePicker = /*#__PURE__*/forwardRef((_ref, ref) => {
6431
6362
  onFocus,
6432
6363
  onBlur
6433
6364
  } = _ref,
6434
- props = _objectWithoutProperties(_ref, _excluded$s);
6365
+ props = _objectWithoutProperties(_ref, _excluded$t);
6435
6366
  const [isPickerUIVisible, setIsPickerUIVisible] = useState(isDefaultVisible);
6436
6367
  const [isFocused, setIsFocused] = useState(false);
6437
6368
  const [currentValue, setCurrentValue] = useState(value);
@@ -6469,7 +6400,7 @@ const DefaultNativeUIDatePicker = /*#__PURE__*/forwardRef((_ref, ref) => {
6469
6400
  });
6470
6401
  });
6471
6402
 
6472
- const _excluded$r = ["value", "pickerUITestID", "isDefaultVisible", "pickerDefaultDate", "onChange", "onBlur"];
6403
+ const _excluded$s = ["value", "pickerUITestID", "isDefaultVisible", "pickerDefaultDate", "onChange", "onBlur"];
6473
6404
  const NativeUIDatePicker = /*#__PURE__*/forwardRef((_ref, ref) => {
6474
6405
  let {
6475
6406
  value,
@@ -6479,7 +6410,7 @@ const NativeUIDatePicker = /*#__PURE__*/forwardRef((_ref, ref) => {
6479
6410
  onChange,
6480
6411
  onBlur
6481
6412
  } = _ref,
6482
- props = _objectWithoutProperties(_ref, _excluded$r);
6413
+ props = _objectWithoutProperties(_ref, _excluded$s);
6483
6414
  if (Platform.OS === 'android') {
6484
6415
  return /*#__PURE__*/jsx(DatePickerAndroid, _objectSpread({
6485
6416
  ref: ref,
@@ -6501,7 +6432,7 @@ const NativeUIDatePicker = /*#__PURE__*/forwardRef((_ref, ref) => {
6501
6432
  }, props));
6502
6433
  });
6503
6434
 
6504
- const _excluded$q = ["fillMode", "enterKeyHint", "value", "onSubmitEditing"];
6435
+ const _excluded$r = ["fillMode", "enterKeyHint", "value", "onSubmitEditing"];
6505
6436
  const DatePicker = /*#__PURE__*/forwardRef((_ref, ref) => {
6506
6437
  let {
6507
6438
  fillMode = 'native',
@@ -6509,7 +6440,7 @@ const DatePicker = /*#__PURE__*/forwardRef((_ref, ref) => {
6509
6440
  value,
6510
6441
  onSubmitEditing
6511
6442
  } = _ref,
6512
- props = _objectWithoutProperties(_ref, _excluded$q);
6443
+ props = _objectWithoutProperties(_ref, _excluded$r);
6513
6444
  // in apps, final-form can give a string value that will break the component
6514
6445
  const currentValue = value || undefined;
6515
6446
  if (fillMode === 'keyboard') {
@@ -6581,12 +6512,12 @@ function ImagePicker({
6581
6512
  });
6582
6513
  }
6583
6514
 
6584
- const _excluded$p = ["children"];
6515
+ const _excluded$q = ["children"];
6585
6516
  function ListItemContent(_ref) {
6586
6517
  let {
6587
6518
  children
6588
6519
  } = _ref,
6589
- rest = _objectWithoutProperties(_ref, _excluded$p);
6520
+ rest = _objectWithoutProperties(_ref, _excluded$q);
6590
6521
  return /*#__PURE__*/jsx(View, _objectSpread(_objectSpread({
6591
6522
  alignSelf: "center",
6592
6523
  flexBasis: "0%",
@@ -6597,7 +6528,7 @@ function ListItemContent(_ref) {
6597
6528
  }));
6598
6529
  }
6599
6530
 
6600
- const _excluded$o = ["children", "side"],
6531
+ const _excluded$p = ["children", "side"],
6601
6532
  _excluded2$2 = ["children", "align"];
6602
6533
  // Handles the vertical alignment of the side elements of the list item
6603
6534
  function ListItemSideContainer(_ref) {
@@ -6605,7 +6536,7 @@ function ListItemSideContainer(_ref) {
6605
6536
  children,
6606
6537
  side = 'left'
6607
6538
  } = _ref,
6608
- rest = _objectWithoutProperties(_ref, _excluded$o);
6539
+ rest = _objectWithoutProperties(_ref, _excluded$p);
6609
6540
  return /*#__PURE__*/jsx(View, _objectSpread(_objectSpread({
6610
6541
  flexDirection: "row",
6611
6542
  marginLeft: side === 'right' ? 'kitt.2' : undefined,
@@ -6627,7 +6558,7 @@ function ListItemSideContent(_ref2) {
6627
6558
  }));
6628
6559
  }
6629
6560
 
6630
- const _excluded$n = ["children", "withPadding", "borders", "left", "right", "onPress"];
6561
+ const _excluded$o = ["children", "withPadding", "borders", "left", "right", "onPress"];
6631
6562
  function ListItem(_ref) {
6632
6563
  let {
6633
6564
  children,
@@ -6637,7 +6568,7 @@ function ListItem(_ref) {
6637
6568
  right,
6638
6569
  onPress
6639
6570
  } = _ref,
6640
- rest = _objectWithoutProperties(_ref, _excluded$n);
6571
+ rest = _objectWithoutProperties(_ref, _excluded$o);
6641
6572
  const Wrapper = onPress ? Pressable$2 : Fragment$1;
6642
6573
  const wrapperProps = onPress ? _objectSpread({
6643
6574
  accessibilityRole: 'button',
@@ -6670,12 +6601,12 @@ ListItem.Content = ListItemContent;
6670
6601
  ListItem.SideContent = ListItemSideContent;
6671
6602
  ListItem.SideContainer = ListItemSideContainer;
6672
6603
 
6673
- const _excluded$m = ["title"];
6604
+ const _excluded$n = ["title"];
6674
6605
  function BottomSheetActionsItem(_ref) {
6675
6606
  let {
6676
6607
  title
6677
6608
  } = _ref,
6678
- props = _objectWithoutProperties(_ref, _excluded$m);
6609
+ props = _objectWithoutProperties(_ref, _excluded$n);
6679
6610
  return /*#__PURE__*/jsx(Pressable$2, _objectSpread(_objectSpread({}, props), {}, {
6680
6611
  children: /*#__PURE__*/jsx(ListItem, {
6681
6612
  withPadding: true,
@@ -7171,7 +7102,7 @@ function formatInitialValueToAutocompletePrediction(address, placeId) {
7171
7102
  };
7172
7103
  }
7173
7104
 
7174
- const _excluded$l = ["initialValue", "itemToString", "errorElement", "emptyResultsElement", "onChange"];
7105
+ const _excluded$m = ["initialValue", "itemToString", "errorElement", "emptyResultsElement", "onChange"];
7175
7106
  function InputAddress(_ref) {
7176
7107
  let {
7177
7108
  initialValue,
@@ -7180,7 +7111,7 @@ function InputAddress(_ref) {
7180
7111
  emptyResultsElement,
7181
7112
  onChange
7182
7113
  } = _ref,
7183
- props = _objectWithoutProperties(_ref, _excluded$l);
7114
+ props = _objectWithoutProperties(_ref, _excluded$m);
7184
7115
  const {
7185
7116
  state,
7186
7117
  onInputChange,
@@ -7276,12 +7207,12 @@ const InputIban = /*#__PURE__*/forwardRef((props, ref) => {
7276
7207
  }, props));
7277
7208
  });
7278
7209
 
7279
- const _excluded$k = ["onChange"];
7210
+ const _excluded$l = ["onChange"];
7280
7211
  const InputNumber = /*#__PURE__*/forwardRef((_ref, ref) => {
7281
7212
  let {
7282
7213
  onChange
7283
7214
  } = _ref,
7284
- props = _objectWithoutProperties(_ref, _excluded$k);
7215
+ props = _objectWithoutProperties(_ref, _excluded$l);
7285
7216
  return /*#__PURE__*/jsx(InputText, _objectSpread(_objectSpread({
7286
7217
  ref: ref
7287
7218
  }, props), {}, {
@@ -7298,13 +7229,13 @@ const InputNumber = /*#__PURE__*/forwardRef((_ref, ref) => {
7298
7229
  }));
7299
7230
  });
7300
7231
 
7301
- const _excluded$j = ["isPasswordDefaultVisible", "right"];
7232
+ const _excluded$k = ["isPasswordDefaultVisible", "right"];
7302
7233
  const InputPassword = /*#__PURE__*/forwardRef((_ref, ref) => {
7303
7234
  let {
7304
7235
  isPasswordDefaultVisible,
7305
7236
  right
7306
7237
  } = _ref,
7307
- props = _objectWithoutProperties(_ref, _excluded$j);
7238
+ props = _objectWithoutProperties(_ref, _excluded$k);
7308
7239
  const [isVisible, setIsVisible] = useState(Boolean(isPasswordDefaultVisible));
7309
7240
  return /*#__PURE__*/jsx(InputText, _objectSpread(_objectSpread({
7310
7241
  ref: ref
@@ -7325,7 +7256,7 @@ const InputPassword = /*#__PURE__*/forwardRef((_ref, ref) => {
7325
7256
  }));
7326
7257
  });
7327
7258
 
7328
- const _excluded$i = ["enterKeyHint", "autoComplete", "phoneNumberLength", "onChange"];
7259
+ const _excluded$j = ["enterKeyHint", "autoComplete", "phoneNumberLength", "onChange"];
7329
7260
  function isPhoneNumberValid(number) {
7330
7261
  return isValidNumber(number);
7331
7262
  }
@@ -7339,7 +7270,7 @@ const InputPhone = /*#__PURE__*/forwardRef((_ref, ref) => {
7339
7270
  phoneNumberLength = 10,
7340
7271
  onChange
7341
7272
  } = _ref,
7342
- props = _objectWithoutProperties(_ref, _excluded$i);
7273
+ props = _objectWithoutProperties(_ref, _excluded$j);
7343
7274
  const currentEnterKeyHint = enterKeyHint ? getEnterKeyHintForNumericInput(enterKeyHint) : undefined;
7344
7275
  return /*#__PURE__*/jsx(InputText, _objectSpread(_objectSpread({
7345
7276
  ref: ref
@@ -7791,7 +7722,7 @@ function RadioButton({
7791
7722
  });
7792
7723
  }
7793
7724
 
7794
- const _excluded$h = ["children", "stretch", "value", "disabled", "onFocus", "onBlur", "onChange"];
7725
+ const _excluded$i = ["children", "stretch", "value", "disabled", "onFocus", "onBlur", "onChange"];
7795
7726
  function RadioButtonGroupItem(_ref) {
7796
7727
  let props = _extends({}, (_objectDestructuringEmpty(_ref), _ref));
7797
7728
  return /*#__PURE__*/jsx(RadioButton, _objectSpread({}, props));
@@ -7806,7 +7737,7 @@ function RadioButtonGroup(_ref2) {
7806
7737
  onBlur,
7807
7738
  onChange
7808
7739
  } = _ref2,
7809
- props = _objectWithoutProperties(_ref2, _excluded$h);
7740
+ props = _objectWithoutProperties(_ref2, _excluded$i);
7810
7741
  const [currentValue, setCurrentValue] = useState(value);
7811
7742
  const handleChange = newValue => {
7812
7743
  if (disabled) return;
@@ -7835,14 +7766,14 @@ function RadioButtonGroup(_ref2) {
7835
7766
  }
7836
7767
  RadioButtonGroup.RadioButton = RadioButtonGroupItem;
7837
7768
 
7838
- const _excluded$g = ["helper", "limit"];
7769
+ const _excluded$h = ["helper", "limit"];
7839
7770
  const TextArea = /*#__PURE__*/forwardRef((_ref, ref) => {
7840
7771
  var _props$value, _props$value2;
7841
7772
  let {
7842
7773
  helper,
7843
7774
  limit
7844
7775
  } = _ref,
7845
- props = _objectWithoutProperties(_ref, _excluded$g);
7776
+ props = _objectWithoutProperties(_ref, _excluded$h);
7846
7777
  const shouldDisplayLimit = limit && limit > 0;
7847
7778
  const isLimitReached = ((_props$value = props.value) === null || _props$value === void 0 ? void 0 : _props$value.length) === limit;
7848
7779
  const limitContainerAnimatedStyle = useAnimatedStyle(() => ({
@@ -7998,7 +7929,7 @@ function ToggleAnimated({
7998
7929
  });
7999
7930
  }
8000
7931
 
8001
- const _excluded$f = ["isDisabled", "isHoveredInternal", "isFocusedInternal", "isPressedInternal", "label", "variant", "size", "value", "onChange"];
7932
+ const _excluded$g = ["isDisabled", "isHoveredInternal", "isFocusedInternal", "isPressedInternal", "label", "variant", "size", "value", "onChange"];
8002
7933
  const getLabelTypographyType = size => {
8003
7934
  return size === 'medium' ? 'body-m' : 'body-l';
8004
7935
  };
@@ -8014,7 +7945,7 @@ function Toggle(_ref) {
8014
7945
  value = false,
8015
7946
  onChange = () => {}
8016
7947
  } = _ref,
8017
- props = _objectWithoutProperties(_ref, _excluded$f);
7948
+ props = _objectWithoutProperties(_ref, _excluded$g);
8018
7949
  const theme = useKittTheme();
8019
7950
  return /*#__PURE__*/jsxs(HStack, _objectSpread(_objectSpread({
8020
7951
  alignItems: "center"
@@ -8052,7 +7983,7 @@ function Toggle(_ref) {
8052
7983
  }));
8053
7984
  }
8054
7985
 
8055
- const _excluded$e = ["children", "shouldHandleBottomNotch", "style", "shouldHandleTopNotch"];
7986
+ const _excluded$f = ["children", "shouldHandleBottomNotch", "style", "shouldHandleTopNotch"];
8056
7987
  function FullscreenModalBody(_ref) {
8057
7988
  let {
8058
7989
  children,
@@ -8060,7 +7991,7 @@ function FullscreenModalBody(_ref) {
8060
7991
  style,
8061
7992
  shouldHandleTopNotch
8062
7993
  } = _ref,
8063
- props = _objectWithoutProperties(_ref, _excluded$e);
7994
+ props = _objectWithoutProperties(_ref, _excluded$f);
8064
7995
  const {
8065
7996
  bottom,
8066
7997
  top
@@ -8088,14 +8019,14 @@ function FullscreenModalBody(_ref) {
8088
8019
  }));
8089
8020
  }
8090
8021
 
8091
- const _excluded$d = ["shouldHandleBottomNotch", "hasSeparator", "children"];
8022
+ const _excluded$e = ["shouldHandleBottomNotch", "hasSeparator", "children"];
8092
8023
  function FullscreenModalFooter(_ref) {
8093
8024
  let {
8094
8025
  shouldHandleBottomNotch = true,
8095
8026
  hasSeparator = true,
8096
8027
  children
8097
8028
  } = _ref,
8098
- props = _objectWithoutProperties(_ref, _excluded$d);
8029
+ props = _objectWithoutProperties(_ref, _excluded$e);
8099
8030
  const {
8100
8031
  bottom
8101
8032
  } = useSafeAreaInsets();
@@ -8256,7 +8187,7 @@ function FullscreenModalAnimation({
8256
8187
  });
8257
8188
  }
8258
8189
 
8259
- const _excluded$c = ["children", "visible", "onClose", "onExited"];
8190
+ const _excluded$d = ["children", "visible", "onClose", "onExited"];
8260
8191
  function FullscreenModalBehaviour(_ref) {
8261
8192
  let {
8262
8193
  children,
@@ -8264,7 +8195,7 @@ function FullscreenModalBehaviour(_ref) {
8264
8195
  onClose,
8265
8196
  onExited
8266
8197
  } = _ref,
8267
- props = _objectWithoutProperties(_ref, _excluded$c);
8198
+ props = _objectWithoutProperties(_ref, _excluded$d);
8268
8199
  const [isModalBehaviourVisible, setIsModalBehaviourVisible] = useState(visible);
8269
8200
  useEffect(() => {
8270
8201
  if (visible === true) {
@@ -8309,19 +8240,65 @@ function FullscreenModalContainer({
8309
8240
  });
8310
8241
  }
8311
8242
 
8312
- const _excluded$b = ["shouldHandleTopNotch"];
8243
+ const _excluded$c = ["hasSeparator", "isTransparent", "title", "children", "right", "left", "shouldHandleTopNotch"];
8313
8244
  function FullscreenModalHeader(_ref) {
8314
8245
  let {
8246
+ hasSeparator = true,
8247
+ isTransparent,
8248
+ title,
8249
+ children,
8250
+ right,
8251
+ left,
8315
8252
  shouldHandleTopNotch = true
8316
8253
  } = _ref,
8317
- props = _objectWithoutProperties(_ref, _excluded$b);
8254
+ props = _objectWithoutProperties(_ref, _excluded$c);
8318
8255
  const {
8319
8256
  top
8320
8257
  } = useSafeAreaInsets();
8321
- return /*#__PURE__*/jsx(View, {
8258
+ const hasRight = Boolean(right);
8259
+ const hasLeft = Boolean(left);
8260
+ const hasContent = Boolean(title || children);
8261
+ return /*#__PURE__*/jsx(View, _objectSpread(_objectSpread({
8262
+ backgroundColor: isTransparent ? 'kitt.transparent' : 'kitt.uiBackgroundLight',
8263
+ minHeight: "kitt.fullscreenModal.header.height",
8264
+ width: "100%",
8265
+ justifyContent: "center",
8322
8266
  paddingTop: shouldHandleTopNotch ? top : undefined,
8323
- children: /*#__PURE__*/jsx(TopNavBar, _objectSpread({}, props))
8324
- });
8267
+ paddingRight: hasRight ? 'kitt.2' : 'kitt.fullscreenModal.horizontalPadding',
8268
+ paddingLeft: hasLeft ? 'kitt.2' : 'kitt.fullscreenModal.horizontalPadding',
8269
+ borderBottomColor: "kitt.separator",
8270
+ borderBottomWidth: hasSeparator ? 1 : undefined
8271
+ }, props), {}, {
8272
+ children: /*#__PURE__*/jsxs(View, {
8273
+ flexDirection: "row",
8274
+ alignItems: "center",
8275
+ justifyContent: !hasContent && !hasLeft ? 'flex-end' : 'space-between',
8276
+ children: [left ? /*#__PURE__*/jsx(View, {
8277
+ width: "kitt.iconButton.width",
8278
+ children: left
8279
+ }) : null, title ? /*#__PURE__*/jsx(View, {
8280
+ flexGrow: 1,
8281
+ flexShrink: 1,
8282
+ paddingLeft: hasLeft ? 'kitt.2' : undefined,
8283
+ paddingRight: hasRight ? 'kitt.2' : 0,
8284
+ children: /*#__PURE__*/jsx(Typography.Text, {
8285
+ variant: "bold",
8286
+ textAlign: !hasLeft && hasRight ? 'left' : 'center',
8287
+ children: title
8288
+ })
8289
+ }) : null, children ? /*#__PURE__*/jsx(View, {
8290
+ flexGrow: 1,
8291
+ flexShrink: 1,
8292
+ alignItems: "center",
8293
+ paddingLeft: hasLeft ? 'kitt.2' : undefined,
8294
+ paddingRight: hasRight ? 'kitt.2' : undefined,
8295
+ children: children
8296
+ }) : null, right || left ? /*#__PURE__*/jsx(View, {
8297
+ width: "kitt.iconButton.width",
8298
+ children: right
8299
+ }) : null]
8300
+ })
8301
+ }));
8325
8302
  }
8326
8303
 
8327
8304
  function FullscreenModal({
@@ -8615,6 +8592,62 @@ function Highlight({
8615
8592
  });
8616
8593
  }
8617
8594
 
8595
+ const getButtonTypeAndVariant = iconColor => {
8596
+ switch (iconColor) {
8597
+ case 'black':
8598
+ return {
8599
+ type: 'tertiary'
8600
+ };
8601
+ case 'secondary':
8602
+ return {
8603
+ type: 'secondary'
8604
+ };
8605
+ case 'primary':
8606
+ return {
8607
+ type: 'primary'
8608
+ };
8609
+ case 'primary-plain':
8610
+ return {
8611
+ type: 'primary'
8612
+ };
8613
+ case 'ghost':
8614
+ return {
8615
+ type: 'tertiary',
8616
+ variant: 'revert'
8617
+ };
8618
+ default:
8619
+ return {
8620
+ type: 'secondary'
8621
+ };
8622
+ }
8623
+ };
8624
+
8625
+ const _excluded$b = ["color", "ariaLabel"];
8626
+ /**
8627
+ * @deprecated IconButton should only be used as a navigation button
8628
+ * Other use cases should use a <Button> component with an icon
8629
+ */
8630
+ function IconButton(_ref) {
8631
+ let {
8632
+ color = 'black',
8633
+ ariaLabel
8634
+ } = _ref,
8635
+ props = _objectWithoutProperties(_ref, _excluded$b);
8636
+ const {
8637
+ type: legacyColorToType,
8638
+ variant: legacyColorToVariant
8639
+ } = getButtonTypeAndVariant(color);
8640
+ return /*#__PURE__*/jsx(Button, _objectSpread({
8641
+ variant: legacyColorToVariant,
8642
+ type: legacyColorToType
8643
+ }, props));
8644
+ }
8645
+ function CloseIconButton(props) {
8646
+ return /*#__PURE__*/jsx(IconButton, _objectSpread({
8647
+ icon: /*#__PURE__*/jsx(XRegularIcon, {})
8648
+ }, props));
8649
+ }
8650
+
8618
8651
  function InfoCard({
8619
8652
  title,
8620
8653
  action,
@@ -10337,6 +10370,9 @@ function createKittNativeBaseCustomTheme(theme, appTheme) {
10337
10370
  },
10338
10371
  icon: theme.icon,
10339
10372
  cardModal: {
10373
+ header: {
10374
+ height: theme.cardModal.header.height
10375
+ },
10340
10376
  maxWidth: theme.cardModal.maxWidth,
10341
10377
  maxWidthWithPadding: theme.cardModal.maxWidthWithPadding,
10342
10378
  minHeight: theme.cardModal.minHeight
@@ -10637,6 +10673,15 @@ function createKittNativeBaseCustomTheme(theme, appTheme) {
10637
10673
  }
10638
10674
  }
10639
10675
  },
10676
+ iconButton: {
10677
+ width: theme.iconButton.width,
10678
+ height: theme.iconButton.height
10679
+ },
10680
+ fullscreenModal: {
10681
+ header: {
10682
+ height: theme.fullscreenModal.header.height
10683
+ }
10684
+ },
10640
10685
  pageLoader: {
10641
10686
  size: theme.pageLoader.size
10642
10687
  },
@@ -10731,7 +10776,7 @@ function createKittNativeBaseCustomTheme(theme, appTheme) {
10731
10776
  }
10732
10777
  },
10733
10778
  fullscreenModal: {
10734
- horizontalPadding: theme.fullscreenModal.horizontalPadding,
10779
+ horizontalPadding: theme.fullscreenModal.sharedHorizontalPadding,
10735
10780
  body: {
10736
10781
  verticalPadding: theme.fullscreenModal.body.verticalPadding
10737
10782
  },
@@ -11588,13 +11633,20 @@ function NavigationBottomSheet({
11588
11633
  })
11589
11634
  });
11590
11635
  }
11591
-
11592
- /**
11593
- * Web only: display right CloseButton
11594
- */
11595
-
11596
- function NavigationBottomSheetHeader(props) {
11597
- return /*#__PURE__*/jsx(TopNavBar, _objectSpread({}, props));
11636
+ function NavigationBottomSheetHeader({
11637
+ children,
11638
+ left
11639
+ }) {
11640
+ return /*#__PURE__*/jsx(HStack, {
11641
+ marginBottom: "kitt.6",
11642
+ children: /*#__PURE__*/jsx(Typography.Text, {
11643
+ flexGrow: 1,
11644
+ flexShrink: 1,
11645
+ variant: "bold",
11646
+ textAlign: "center",
11647
+ children: children
11648
+ })
11649
+ });
11598
11650
  }
11599
11651
  function NavigationBottomSheetBody(props) {
11600
11652
  return /*#__PURE__*/jsx(VStack, _objectSpread({
@@ -12036,9 +12088,14 @@ function Picker({
12036
12088
  onClose: handleClose,
12037
12089
  children: /*#__PURE__*/jsxs(CardModal, {
12038
12090
  children: [/*#__PURE__*/jsx(CardModal.Header, {
12039
- title: title,
12040
- right: /*#__PURE__*/jsx(TopNavBar.CloseButton, {
12091
+ right: /*#__PURE__*/jsx(IconButton, {
12092
+ icon: /*#__PURE__*/jsx(XRegularIcon, {}),
12041
12093
  onPress: handleClose
12094
+ }),
12095
+ children: /*#__PURE__*/jsx(Typography.Text, {
12096
+ base: "body-m",
12097
+ variant: "bold",
12098
+ children: title
12042
12099
  })
12043
12100
  }), Platform.OS === 'ios' && shouldDisplayNativePickerOnIOS ? /*#__PURE__*/jsx(Picker$1, {
12044
12101
  testID: testID,
@@ -13597,6 +13654,83 @@ function Tooltip({
13597
13654
  Tooltip.Arrow = Arrow;
13598
13655
  Tooltip.Content = TooltipContent;
13599
13656
 
13657
+ function TopNavBar({
13658
+ left,
13659
+ right,
13660
+ title,
13661
+ titleAlign = 'center',
13662
+ stickers,
13663
+ mode = 'default',
13664
+ hasSeparator = true
13665
+ }) {
13666
+ const isLargeTitleMode = mode === 'largeTitle';
13667
+ return /*#__PURE__*/jsxs(VStack, {
13668
+ space: isLargeTitleMode ? 'kitt.2' : undefined,
13669
+ width: "100%",
13670
+ height: mode === 'default' ? 56 : undefined,
13671
+ justifyContent: "center",
13672
+ paddingX: "kitt.2",
13673
+ paddingTop: isLargeTitleMode ? 'kitt.2' : 'kitt.3',
13674
+ paddingBottom: "kitt.3",
13675
+ borderBottomWidth: hasSeparator && mode === 'default' ? 1 : 0,
13676
+ borderColor: "kitt.separator",
13677
+ children: [/*#__PURE__*/jsxs(HStack, {
13678
+ alignItems: "center",
13679
+ justifyContent: !title && !left ? 'flex-end' : 'space-between',
13680
+ children: [left !== null && left !== void 0 ? left : /*#__PURE__*/jsx(View, {
13681
+ width: "kitt.button.minWidth"
13682
+ }), mode === 'default' ? /*#__PURE__*/jsx(View, {
13683
+ flexGrow: "1",
13684
+ flexShrink: 1,
13685
+ paddingRight: "kitt.2",
13686
+ paddingLeft: "kitt.2",
13687
+ children: title ? /*#__PURE__*/jsx(Typography.Text, {
13688
+ textAlign: titleAlign,
13689
+ variant: "bold",
13690
+ ellipsizeMode: "tail",
13691
+ numberOfLines: 1,
13692
+ children: title
13693
+ }) : null
13694
+ }) : null, right !== null && right !== void 0 ? right : /*#__PURE__*/jsx(View, {
13695
+ width: "kitt.button.minWidth"
13696
+ })]
13697
+ }), mode === 'largeTitle' ? /*#__PURE__*/jsxs(VStack, {
13698
+ space: "kitt.4",
13699
+ paddingX: "kitt.2",
13700
+ children: [stickers ? /*#__PURE__*/jsx(HStack, {
13701
+ width: "100%",
13702
+ space: "kitt.1",
13703
+ flexShrink: 1,
13704
+ flexWrap: "wrap",
13705
+ style: {
13706
+ rowGap: theme.getSpacing(1)
13707
+ },
13708
+ children: stickers.map((sticker, index) =>
13709
+ /*#__PURE__*/
13710
+ // eslint-disable-next-line react/no-array-index-key
13711
+ jsx(View, {
13712
+ children: sticker
13713
+ }, index))
13714
+ }) : null, /*#__PURE__*/jsx(Typography.Text, {
13715
+ base: "heading-m",
13716
+ children: title
13717
+ })]
13718
+ }) : null]
13719
+ });
13720
+ }
13721
+ function CloseButton(props) {
13722
+ return /*#__PURE__*/jsx(IconButton, _objectSpread({
13723
+ icon: /*#__PURE__*/jsx(XRegularIcon, {})
13724
+ }, props));
13725
+ }
13726
+ function BackButton(props) {
13727
+ return /*#__PURE__*/jsx(IconButton, _objectSpread({
13728
+ icon: /*#__PURE__*/jsx(ArrowLeftRegularIcon, {})
13729
+ }, props));
13730
+ }
13731
+ TopNavBar.CloseButton = CloseButton;
13732
+ TopNavBar.BackButton = BackButton;
13733
+
13600
13734
  function getTypographyTypeConfig(type, theme) {
13601
13735
  const {
13602
13736
  configs