@ornikar/kitt-universal 27.9.1-canary.51004cd27185355acc481c9933556ade7509bc80.0 → 27.9.1-canary.7887d5a9313c31fdf8e4d5a4b645a75389e9e991.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 (54) hide show
  1. package/CHANGELOG.md +3 -8
  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 -6
  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 +8 -4
  17. package/dist/definitions/native-base/KittNativeBaseProvider.d.ts.map +1 -1
  18. package/dist/definitions/themes/default.d.ts +1 -1
  19. package/dist/definitions/themes/late-ocean/fullscreenModal.d.ts +1 -1
  20. package/dist/definitions/themes/late-ocean/fullscreenModal.d.ts.map +1 -1
  21. package/dist/index-metro.es.android.js +276 -154
  22. package/dist/index-metro.es.android.js.map +1 -1
  23. package/dist/index-metro.es.ios.js +276 -154
  24. package/dist/index-metro.es.ios.js.map +1 -1
  25. package/dist/index-node-22.17.cjs.js +266 -152
  26. package/dist/index-node-22.17.cjs.js.map +1 -1
  27. package/dist/index-node-22.17.cjs.web.js +252 -143
  28. package/dist/index-node-22.17.cjs.web.js.map +1 -1
  29. package/dist/index-node-22.17.es.mjs +267 -153
  30. package/dist/index-node-22.17.es.mjs.map +1 -1
  31. package/dist/index-node-22.17.es.web.mjs +253 -144
  32. package/dist/index-node-22.17.es.web.mjs.map +1 -1
  33. package/dist/index.es.js +282 -160
  34. package/dist/index.es.js.map +1 -1
  35. package/dist/index.es.web.js +336 -220
  36. package/dist/index.es.web.js.map +1 -1
  37. package/dist/linaria-themes-metro.es.android.js +3 -3
  38. package/dist/linaria-themes-metro.es.android.js.map +1 -1
  39. package/dist/linaria-themes-metro.es.ios.js +3 -3
  40. package/dist/linaria-themes-metro.es.ios.js.map +1 -1
  41. package/dist/linaria-themes-node-22.17.cjs.js +3 -3
  42. package/dist/linaria-themes-node-22.17.cjs.js.map +1 -1
  43. package/dist/linaria-themes-node-22.17.cjs.web.js +3 -3
  44. package/dist/linaria-themes-node-22.17.cjs.web.js.map +1 -1
  45. package/dist/linaria-themes-node-22.17.es.mjs +3 -3
  46. package/dist/linaria-themes-node-22.17.es.mjs.map +1 -1
  47. package/dist/linaria-themes-node-22.17.es.web.mjs +3 -3
  48. package/dist/linaria-themes-node-22.17.es.web.mjs.map +1 -1
  49. package/dist/linaria-themes.es.js +3 -3
  50. package/dist/linaria-themes.es.js.map +1 -1
  51. package/dist/linaria-themes.es.web.js +3 -3
  52. package/dist/linaria-themes.es.web.js.map +1 -1
  53. package/dist/tsbuildinfo +1 -1
  54. package/package.json +3 -3
@@ -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: {
@@ -2630,8 +2630,8 @@ const theme = {
2630
2630
  forms,
2631
2631
  highlight,
2632
2632
  icon,
2633
- iconButton,
2634
2633
  buttonBadge,
2634
+ iconButton,
2635
2635
  listItem,
2636
2636
  pageLoader,
2637
2637
  picker,
@@ -4332,17 +4332,25 @@ function CardModalBehaviour(_ref) {
4332
4332
  });
4333
4333
  }
4334
4334
 
4335
- const _excluded$J = ["children", "padding"];
4335
+ const _excluded$J = ["children", "paddingX", "paddingY"];
4336
4336
  function CardModalBody(_ref) {
4337
4337
  let {
4338
4338
  children,
4339
- 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
+ }
4340
4347
  } = _ref,
4341
4348
  props = _objectWithoutProperties(_ref, _excluded$J);
4342
4349
  return /*#__PURE__*/jsx(ScrollView, _objectSpread(_objectSpread({
4343
4350
  showsVerticalScrollIndicator: false,
4344
4351
  _contentContainerStyle: {
4345
- padding
4352
+ paddingX,
4353
+ paddingY
4346
4354
  }
4347
4355
  }, props), {}, {
4348
4356
  children: children
@@ -4373,142 +4381,55 @@ function CardModalFooter(_ref) {
4373
4381
  }));
4374
4382
  }
4375
4383
 
4376
- const getButtonTypeAndVariant = iconColor => {
4377
- switch (iconColor) {
4378
- case 'black':
4379
- return {
4380
- type: 'tertiary'
4381
- };
4382
- case 'secondary':
4383
- return {
4384
- type: 'secondary'
4385
- };
4386
- case 'primary':
4387
- return {
4388
- type: 'primary'
4389
- };
4390
- case 'primary-plain':
4391
- return {
4392
- type: 'primary'
4393
- };
4394
- case 'ghost':
4395
- return {
4396
- type: 'tertiary',
4397
- variant: 'revert'
4398
- };
4399
- default:
4400
- return {
4401
- type: 'secondary'
4402
- };
4403
- }
4404
- };
4405
-
4406
- const _excluded$H = ["color", "ariaLabel"];
4407
- /**
4408
- * @deprecated IconButton should only be used as a navigation button
4409
- * Other use cases should use a <Button> component with an icon
4410
- */
4411
- function IconButton(_ref) {
4384
+ const _excluded$H = ["children", "title", "paddingBottom", "hasSeparator", "right", "left"];
4385
+ function CardModalHeader(_ref) {
4412
4386
  let {
4413
- color = 'black',
4414
- ariaLabel
4387
+ children,
4388
+ title,
4389
+ paddingBottom = {
4390
+ base: 'kitt.4',
4391
+ medium: 'kitt.2'
4392
+ },
4393
+ hasSeparator = true,
4394
+ right,
4395
+ left
4415
4396
  } = _ref,
4416
4397
  props = _objectWithoutProperties(_ref, _excluded$H);
4417
- const {
4418
- type: legacyColorToType,
4419
- variant: legacyColorToVariant
4420
- } = getButtonTypeAndVariant(color);
4421
- return /*#__PURE__*/jsx(Button, _objectSpread({
4422
- variant: legacyColorToVariant,
4423
- type: legacyColorToType
4424
- }, props));
4425
- }
4426
- function CloseIconButton(props) {
4427
- return /*#__PURE__*/jsx(IconButton, _objectSpread({
4428
- icon: /*#__PURE__*/jsx(XRegularIcon, {})
4429
- }, props));
4430
- }
4431
-
4432
- function TopNavBar({
4433
- left,
4434
- right,
4435
- title,
4436
- titleAlign = 'center',
4437
- stickers,
4438
- mode = 'default',
4439
- hasSeparator = true
4440
- }) {
4441
- const isLargeTitleMode = mode === 'largeTitle';
4442
- const leftEmptySpace = !left && titleAlign === 'left' ? null : /*#__PURE__*/jsx(View, {
4443
- width: "kitt.iconButton.width"
4444
- });
4445
- return /*#__PURE__*/jsxs(VStack, {
4446
- space: isLargeTitleMode ? 'kitt.2' : undefined,
4447
- width: "100%",
4448
- height: mode === 'default' ? 56 : undefined,
4449
- justifyContent: "center",
4450
- paddingX: "kitt.2",
4451
- paddingTop: isLargeTitleMode ? 'kitt.2' : 'kitt.3',
4452
- paddingBottom: "kitt.3",
4453
- borderBottomWidth: hasSeparator && mode === 'default' ? 1 : 0,
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,
4454
4405
  borderColor: "kitt.separator",
4455
- 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, {
4456
4412
  alignItems: "center",
4457
- justifyContent: !title && !left ? 'flex-end' : 'space-between',
4458
- 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, {
4459
4419
  flexGrow: "1",
4460
- flexShrink: 1,
4461
- paddingRight: "kitt.2",
4462
- paddingLeft: "kitt.2",
4463
- children: title ? /*#__PURE__*/jsx(Typography.Text, {
4464
- 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',
4465
4424
  variant: "bold",
4466
- ellipsizeMode: "tail",
4467
- numberOfLines: 1,
4468
4425
  children: title
4469
- }) : null
4470
- }) : null, right !== null && right !== void 0 ? right : /*#__PURE__*/jsx(View, {
4471
- width: "kitt.iconButton.width"
4472
- })]
4473
- }), mode === 'largeTitle' ? /*#__PURE__*/jsxs(VStack, {
4474
- space: "kitt.4",
4475
- paddingX: "kitt.2",
4476
- children: [stickers ? /*#__PURE__*/jsx(HStack, {
4477
- width: "100%",
4478
- space: "kitt.1",
4479
- flexShrink: 1,
4480
- flexWrap: "wrap",
4481
- style: {
4482
- rowGap: theme.getSpacing(1)
4483
- },
4484
- children: stickers.map((sticker, index) =>
4485
- /*#__PURE__*/
4486
- // eslint-disable-next-line react/no-array-index-key
4487
- jsx(View, {
4488
- children: sticker
4489
- }, index))
4490
- }) : null, /*#__PURE__*/jsx(Typography.Text, {
4491
- base: "heading-m",
4492
- children: title
4493
- })]
4494
- }) : null]
4495
- });
4496
- }
4497
- function CloseButton(props) {
4498
- return /*#__PURE__*/jsx(IconButton, _objectSpread({
4499
- icon: /*#__PURE__*/jsx(XRegularIcon, {})
4500
- }, props));
4501
- }
4502
- function BackButton(props) {
4503
- return /*#__PURE__*/jsx(IconButton, _objectSpread({
4504
- icon: /*#__PURE__*/jsx(ArrowLeftRegularIcon, {})
4505
- }, props));
4506
- }
4507
- TopNavBar.CloseButton = CloseButton;
4508
- TopNavBar.BackButton = BackButton;
4509
-
4510
- function CardModalHeader(props) {
4511
- 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
+ }));
4512
4433
  }
4513
4434
 
4514
4435
  const _excluded$G = ["backgroundColor", "maxWidth", "withoutShadow", "children", "header", "body", "footer"];
@@ -6366,7 +6287,11 @@ function ModalTitle({
6366
6287
  children
6367
6288
  }) {
6368
6289
  return /*#__PURE__*/jsx(CardModal.Header, {
6369
- title: children
6290
+ children: /*#__PURE__*/jsx(Typography.Text, {
6291
+ base: "body-m",
6292
+ variant: "bold",
6293
+ children: children
6294
+ })
6370
6295
  });
6371
6296
  }
6372
6297
  function ModalPlatformDateTimePicker(_ref) {
@@ -8315,19 +8240,65 @@ function FullscreenModalContainer({
8315
8240
  });
8316
8241
  }
8317
8242
 
8318
- const _excluded$c = ["shouldHandleTopNotch"];
8243
+ const _excluded$c = ["hasSeparator", "isTransparent", "title", "children", "right", "left", "shouldHandleTopNotch"];
8319
8244
  function FullscreenModalHeader(_ref) {
8320
8245
  let {
8246
+ hasSeparator = true,
8247
+ isTransparent,
8248
+ title,
8249
+ children,
8250
+ right,
8251
+ left,
8321
8252
  shouldHandleTopNotch = true
8322
8253
  } = _ref,
8323
8254
  props = _objectWithoutProperties(_ref, _excluded$c);
8324
8255
  const {
8325
8256
  top
8326
8257
  } = useSafeAreaInsets();
8327
- 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",
8328
8266
  paddingTop: shouldHandleTopNotch ? top : undefined,
8329
- children: /*#__PURE__*/jsx(TopNavBar, _objectSpread({}, props))
8330
- });
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
+ }));
8331
8302
  }
8332
8303
 
8333
8304
  function FullscreenModal({
@@ -8621,6 +8592,62 @@ function Highlight({
8621
8592
  });
8622
8593
  }
8623
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
+
8624
8651
  function InfoCard({
8625
8652
  title,
8626
8653
  action,
@@ -8835,7 +8862,7 @@ const getBackgroundColor = ({
8835
8862
  return isSelected || isHovered ? theme.mapMarker.meetingPoint.selected : theme.mapMarker.meetingPoint.default;
8836
8863
  };
8837
8864
 
8838
- const _excluded$b = ["onPress", "testID"];
8865
+ const _excluded$a = ["onPress", "testID"];
8839
8866
  function StaticMapMarker$1({
8840
8867
  variant,
8841
8868
  isHovered,
@@ -8898,7 +8925,7 @@ function MapMarker(_ref) {
8898
8925
  onPress,
8899
8926
  testID
8900
8927
  } = _ref,
8901
- props = _objectWithoutProperties(_ref, _excluded$b);
8928
+ props = _objectWithoutProperties(_ref, _excluded$a);
8902
8929
  return /*#__PURE__*/jsx(Pressable$1, {
8903
8930
  testID: testID,
8904
8931
  onPress: onPress,
@@ -10343,6 +10370,9 @@ function createKittNativeBaseCustomTheme(theme, appTheme) {
10343
10370
  },
10344
10371
  icon: theme.icon,
10345
10372
  cardModal: {
10373
+ header: {
10374
+ height: theme.cardModal.header.height
10375
+ },
10346
10376
  maxWidth: theme.cardModal.maxWidth,
10347
10377
  maxWidthWithPadding: theme.cardModal.maxWidthWithPadding,
10348
10378
  minHeight: theme.cardModal.minHeight
@@ -10647,6 +10677,11 @@ function createKittNativeBaseCustomTheme(theme, appTheme) {
10647
10677
  width: theme.iconButton.width,
10648
10678
  height: theme.iconButton.height
10649
10679
  },
10680
+ fullscreenModal: {
10681
+ header: {
10682
+ height: theme.fullscreenModal.header.height
10683
+ }
10684
+ },
10650
10685
  pageLoader: {
10651
10686
  size: theme.pageLoader.size
10652
10687
  },
@@ -10741,7 +10776,7 @@ function createKittNativeBaseCustomTheme(theme, appTheme) {
10741
10776
  }
10742
10777
  },
10743
10778
  fullscreenModal: {
10744
- horizontalPadding: theme.fullscreenModal.horizontalPadding,
10779
+ horizontalPadding: theme.fullscreenModal.sharedHorizontalPadding,
10745
10780
  body: {
10746
10781
  verticalPadding: theme.fullscreenModal.body.verticalPadding
10747
10782
  },
@@ -11559,7 +11594,6 @@ function KittNativeBaseProvider({
11559
11594
  });
11560
11595
  }
11561
11596
 
11562
- const _excluded$a = ["right"];
11563
11597
  function NavigationBottomSheet({
11564
11598
  children,
11565
11599
  hasScrollView,
@@ -11599,14 +11633,20 @@ function NavigationBottomSheet({
11599
11633
  })
11600
11634
  });
11601
11635
  }
11602
-
11603
- /**
11604
- * Web only: display right CloseButton
11605
- */
11606
-
11607
- function NavigationBottomSheetHeader(_ref) {
11608
- let props = _objectWithoutProperties(_ref, _excluded$a);
11609
- 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
+ });
11610
11650
  }
11611
11651
  function NavigationBottomSheetBody(props) {
11612
11652
  return /*#__PURE__*/jsx(VStack, _objectSpread({
@@ -12048,9 +12088,14 @@ function Picker({
12048
12088
  onClose: handleClose,
12049
12089
  children: /*#__PURE__*/jsxs(CardModal, {
12050
12090
  children: [/*#__PURE__*/jsx(CardModal.Header, {
12051
- title: title,
12052
- right: /*#__PURE__*/jsx(TopNavBar.CloseButton, {
12091
+ right: /*#__PURE__*/jsx(IconButton, {
12092
+ icon: /*#__PURE__*/jsx(XRegularIcon, {}),
12053
12093
  onPress: handleClose
12094
+ }),
12095
+ children: /*#__PURE__*/jsx(Typography.Text, {
12096
+ base: "body-m",
12097
+ variant: "bold",
12098
+ children: title
12054
12099
  })
12055
12100
  }), Platform.OS === 'ios' && shouldDisplayNativePickerOnIOS ? /*#__PURE__*/jsx(Picker$1, {
12056
12101
  testID: testID,
@@ -13609,6 +13654,83 @@ function Tooltip({
13609
13654
  Tooltip.Arrow = Arrow;
13610
13655
  Tooltip.Content = TooltipContent;
13611
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
+
13612
13734
  function getTypographyTypeConfig(type, theme) {
13613
13735
  const {
13614
13736
  configs