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