@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
@@ -5,7 +5,7 @@ import { jsx, jsxs, Fragment } from 'react/jsx-runtime';
5
5
  import Animated, { useSharedValue, useAnimatedStyle, interpolateColor, withSpring, withTiming, Easing as Easing$1, runOnJS, useDerivedValue, useAnimatedProps, withDelay, withRepeat, interpolate } from 'react-native-reanimated';
6
6
  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';
7
7
  export { useWindowDimensions as useWindowSize } from 'react-native';
8
- 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';
8
+ 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';
9
9
  import { BottomSheetView, BottomSheetScrollView, BottomSheetSectionList, BottomSheetFlatList, BottomSheetHandle, BottomSheetBackdrop, BottomSheetFooter, BottomSheetTextInput, BottomSheetModal, useBottomSheetModal } from '@gorhom/bottom-sheet';
10
10
  import { useSafeAreaInsets } from 'react-native-safe-area-context';
11
11
  import { parse } from '@twemoji/parser';
@@ -1802,12 +1802,12 @@ const fullscreenModal = {
1802
1802
  header: {
1803
1803
  height: 56
1804
1804
  },
1805
- horizontalPadding: 16,
1805
+ sharedHorizontalPadding: 16,
1806
1806
  footer: {
1807
1807
  verticalPadding: 12
1808
1808
  },
1809
1809
  body: {
1810
- verticalPadding: 16
1810
+ verticalPadding: 24
1811
1811
  },
1812
1812
  animation: {
1813
1813
  overlay: {
@@ -2627,8 +2627,8 @@ const theme = {
2627
2627
  forms,
2628
2628
  highlight,
2629
2629
  icon,
2630
- iconButton,
2631
2630
  buttonBadge,
2631
+ iconButton,
2632
2632
  listItem,
2633
2633
  pageLoader,
2634
2634
  picker,
@@ -4335,13 +4335,21 @@ function CardModalBehaviour({
4335
4335
 
4336
4336
  function CardModalBody({
4337
4337
  children,
4338
- padding = 'kitt.4',
4338
+ paddingX = {
4339
+ base: 'kitt.4',
4340
+ medium: 'kitt.6'
4341
+ },
4342
+ paddingY = {
4343
+ base: 'kitt.4',
4344
+ medium: 'kitt.6'
4345
+ },
4339
4346
  ...props
4340
4347
  }) {
4341
4348
  return /*#__PURE__*/jsx(ScrollView, {
4342
4349
  showsVerticalScrollIndicator: false,
4343
4350
  _contentContainerStyle: {
4344
- padding
4351
+ paddingX,
4352
+ paddingY
4345
4353
  },
4346
4354
  ...props,
4347
4355
  children: children
@@ -4371,145 +4379,53 @@ function CardModalFooter({
4371
4379
  });
4372
4380
  }
4373
4381
 
4374
- const getButtonTypeAndVariant = iconColor => {
4375
- switch (iconColor) {
4376
- case 'black':
4377
- return {
4378
- type: 'tertiary'
4379
- };
4380
- case 'secondary':
4381
- return {
4382
- type: 'secondary'
4383
- };
4384
- case 'primary':
4385
- return {
4386
- type: 'primary'
4387
- };
4388
- case 'primary-plain':
4389
- return {
4390
- type: 'primary'
4391
- };
4392
- case 'ghost':
4393
- return {
4394
- type: 'tertiary',
4395
- variant: 'revert'
4396
- };
4397
- default:
4398
- return {
4399
- type: 'secondary'
4400
- };
4401
- }
4402
- };
4403
-
4404
- /**
4405
- * @deprecated IconButton should only be used as a navigation button
4406
- * Other use cases should use a <Button> component with an icon
4407
- */
4408
- function IconButton({
4409
- color = 'black',
4410
- ariaLabel,
4411
- ...props
4412
- }) {
4413
- const {
4414
- type: legacyColorToType,
4415
- variant: legacyColorToVariant
4416
- } = getButtonTypeAndVariant(color);
4417
- return /*#__PURE__*/jsx(Button, {
4418
- variant: legacyColorToVariant,
4419
- type: legacyColorToType,
4420
- ...props
4421
- });
4422
- }
4423
- function CloseIconButton(props) {
4424
- return /*#__PURE__*/jsx(IconButton, {
4425
- icon: /*#__PURE__*/jsx(XRegularIcon, {}),
4426
- ...props
4427
- });
4428
- }
4429
-
4430
- function TopNavBar({
4431
- left,
4432
- right,
4382
+ function CardModalHeader({
4383
+ children,
4433
4384
  title,
4434
- titleAlign = 'center',
4435
- stickers,
4436
- mode = 'default',
4437
- hasSeparator = true
4385
+ paddingBottom = {
4386
+ base: 'kitt.4',
4387
+ medium: 'kitt.2'
4388
+ },
4389
+ hasSeparator = true,
4390
+ right,
4391
+ left,
4392
+ ...props
4438
4393
  }) {
4439
- const isLargeTitleMode = mode === 'largeTitle';
4440
- const leftEmptySpace = !left && titleAlign === 'left' ? null : /*#__PURE__*/jsx(View, {
4441
- width: "kitt.iconButton.width"
4442
- });
4443
- return /*#__PURE__*/jsxs(VStack, {
4444
- space: isLargeTitleMode ? 'kitt.2' : undefined,
4445
- width: "100%",
4446
- height: mode === 'default' ? 56 : undefined,
4447
- justifyContent: "center",
4448
- paddingX: "kitt.2",
4449
- paddingTop: isLargeTitleMode ? 'kitt.2' : 'kitt.3',
4450
- paddingBottom: "kitt.3",
4451
- borderBottomWidth: hasSeparator && mode === 'default' ? 1 : 0,
4394
+ const defaultContainerPadding = {
4395
+ base: 'kitt.4',
4396
+ medium: 'kitt.6'
4397
+ };
4398
+ return /*#__PURE__*/jsx(View, {
4399
+ ...props,
4400
+ padding: paddingBottom,
4401
+ borderBottomWidth: hasSeparator ? 'kitt.cardModal.footer.borderWidth' : 0,
4452
4402
  borderColor: "kitt.separator",
4453
- children: [/*#__PURE__*/jsxs(HStack, {
4403
+ justifyContent: "center",
4404
+ width: "100%",
4405
+ height: "kitt.cardModal.header.height",
4406
+ paddingRight: right ? 'kitt.2' : defaultContainerPadding,
4407
+ paddingLeft: left ? 'kitt.2' : defaultContainerPadding,
4408
+ children: /*#__PURE__*/jsxs(View, {
4454
4409
  alignItems: "center",
4455
- justifyContent: !title && !left ? 'flex-end' : 'space-between',
4456
- children: [left ?? leftEmptySpace, mode === 'default' ? /*#__PURE__*/jsx(View, {
4410
+ flexDirection: "row",
4411
+ justifyContent: !children && !left ? 'flex-end' : 'space-between',
4412
+ children: [left ? /*#__PURE__*/jsx(View, {
4413
+ width: "kitt.iconButton.width",
4414
+ children: left
4415
+ }) : null, /*#__PURE__*/jsxs(View, {
4457
4416
  flexGrow: "1",
4458
- flexShrink: 1,
4459
- paddingRight: "kitt.2",
4460
- paddingLeft: "kitt.2",
4461
- children: title ? /*#__PURE__*/jsx(Typography.Text, {
4462
- textAlign: titleAlign,
4417
+ paddingRight: right ? 'kitt.2' : 0,
4418
+ paddingLeft: left ? 'kitt.2' : 0,
4419
+ children: [title ? /*#__PURE__*/jsx(Typography.Text, {
4420
+ textAlign: !left && right ? 'left' : 'center',
4463
4421
  variant: "bold",
4464
- ellipsizeMode: "tail",
4465
- numberOfLines: 1,
4466
4422
  children: title
4467
- }) : null
4468
- }) : null, right ?? /*#__PURE__*/jsx(View, {
4469
- width: "kitt.iconButton.width"
4470
- })]
4471
- }), mode === 'largeTitle' ? /*#__PURE__*/jsxs(VStack, {
4472
- space: "kitt.4",
4473
- paddingX: "kitt.2",
4474
- children: [stickers ? /*#__PURE__*/jsx(HStack, {
4475
- width: "100%",
4476
- space: "kitt.1",
4477
- flexShrink: 1,
4478
- flexWrap: "wrap",
4479
- style: {
4480
- rowGap: theme.getSpacing(1)
4481
- },
4482
- children: stickers.map((sticker, index) =>
4483
- /*#__PURE__*/
4484
- // eslint-disable-next-line react/no-array-index-key
4485
- jsx(View, {
4486
- children: sticker
4487
- }, index))
4488
- }) : null, /*#__PURE__*/jsx(Typography.Text, {
4489
- base: "heading-m",
4490
- children: title
4491
- })]
4492
- }) : null]
4493
- });
4494
- }
4495
- function CloseButton(props) {
4496
- return /*#__PURE__*/jsx(IconButton, {
4497
- icon: /*#__PURE__*/jsx(XRegularIcon, {}),
4498
- ...props
4499
- });
4500
- }
4501
- function BackButton(props) {
4502
- return /*#__PURE__*/jsx(IconButton, {
4503
- icon: /*#__PURE__*/jsx(ArrowLeftRegularIcon, {}),
4504
- ...props
4505
- });
4506
- }
4507
- TopNavBar.CloseButton = CloseButton;
4508
- TopNavBar.BackButton = BackButton;
4509
-
4510
- function CardModalHeader(props) {
4511
- return /*#__PURE__*/jsx(TopNavBar, {
4512
- ...props
4423
+ }) : null, children]
4424
+ }), right ? /*#__PURE__*/jsx(View, {
4425
+ width: "kitt.iconButton.width",
4426
+ children: right
4427
+ }) : null]
4428
+ })
4513
4429
  });
4514
4430
  }
4515
4431
 
@@ -6361,7 +6277,11 @@ function ModalTitle({
6361
6277
  children
6362
6278
  }) {
6363
6279
  return /*#__PURE__*/jsx(CardModal.Header, {
6364
- title: children
6280
+ children: /*#__PURE__*/jsx(Typography.Text, {
6281
+ base: "body-m",
6282
+ variant: "bold",
6283
+ children: children
6284
+ })
6365
6285
  });
6366
6286
  }
6367
6287
  function ModalPlatformDateTimePicker({
@@ -8293,16 +8213,60 @@ function FullscreenModalContainer({
8293
8213
  }
8294
8214
 
8295
8215
  function FullscreenModalHeader({
8216
+ hasSeparator = true,
8217
+ isTransparent,
8218
+ title,
8219
+ children,
8220
+ right,
8221
+ left,
8296
8222
  shouldHandleTopNotch = true,
8297
8223
  ...props
8298
8224
  }) {
8299
8225
  const {
8300
8226
  top
8301
8227
  } = useSafeAreaInsets();
8228
+ const hasRight = Boolean(right);
8229
+ const hasLeft = Boolean(left);
8230
+ const hasContent = Boolean(title || children);
8302
8231
  return /*#__PURE__*/jsx(View, {
8232
+ backgroundColor: isTransparent ? 'kitt.transparent' : 'kitt.uiBackgroundLight',
8233
+ minHeight: "kitt.fullscreenModal.header.height",
8234
+ width: "100%",
8235
+ justifyContent: "center",
8303
8236
  paddingTop: shouldHandleTopNotch ? top : undefined,
8304
- children: /*#__PURE__*/jsx(TopNavBar, {
8305
- ...props
8237
+ paddingRight: hasRight ? 'kitt.2' : 'kitt.fullscreenModal.horizontalPadding',
8238
+ paddingLeft: hasLeft ? 'kitt.2' : 'kitt.fullscreenModal.horizontalPadding',
8239
+ borderBottomColor: "kitt.separator",
8240
+ borderBottomWidth: hasSeparator ? 1 : undefined,
8241
+ ...props,
8242
+ children: /*#__PURE__*/jsxs(View, {
8243
+ flexDirection: "row",
8244
+ alignItems: "center",
8245
+ justifyContent: !hasContent && !hasLeft ? 'flex-end' : 'space-between',
8246
+ children: [left ? /*#__PURE__*/jsx(View, {
8247
+ width: "kitt.iconButton.width",
8248
+ children: left
8249
+ }) : null, title ? /*#__PURE__*/jsx(View, {
8250
+ flexGrow: 1,
8251
+ flexShrink: 1,
8252
+ paddingLeft: hasLeft ? 'kitt.2' : undefined,
8253
+ paddingRight: hasRight ? 'kitt.2' : 0,
8254
+ children: /*#__PURE__*/jsx(Typography.Text, {
8255
+ variant: "bold",
8256
+ textAlign: !hasLeft && hasRight ? 'left' : 'center',
8257
+ children: title
8258
+ })
8259
+ }) : null, children ? /*#__PURE__*/jsx(View, {
8260
+ flexGrow: 1,
8261
+ flexShrink: 1,
8262
+ alignItems: "center",
8263
+ paddingLeft: hasLeft ? 'kitt.2' : undefined,
8264
+ paddingRight: hasRight ? 'kitt.2' : undefined,
8265
+ children: children
8266
+ }) : null, right || left ? /*#__PURE__*/jsx(View, {
8267
+ width: "kitt.iconButton.width",
8268
+ children: right
8269
+ }) : null]
8306
8270
  })
8307
8271
  });
8308
8272
  }
@@ -8598,6 +8562,62 @@ function Highlight({
8598
8562
  });
8599
8563
  }
8600
8564
 
8565
+ const getButtonTypeAndVariant = iconColor => {
8566
+ switch (iconColor) {
8567
+ case 'black':
8568
+ return {
8569
+ type: 'tertiary'
8570
+ };
8571
+ case 'secondary':
8572
+ return {
8573
+ type: 'secondary'
8574
+ };
8575
+ case 'primary':
8576
+ return {
8577
+ type: 'primary'
8578
+ };
8579
+ case 'primary-plain':
8580
+ return {
8581
+ type: 'primary'
8582
+ };
8583
+ case 'ghost':
8584
+ return {
8585
+ type: 'tertiary',
8586
+ variant: 'revert'
8587
+ };
8588
+ default:
8589
+ return {
8590
+ type: 'secondary'
8591
+ };
8592
+ }
8593
+ };
8594
+
8595
+ /**
8596
+ * @deprecated IconButton should only be used as a navigation button
8597
+ * Other use cases should use a <Button> component with an icon
8598
+ */
8599
+ function IconButton({
8600
+ color = 'black',
8601
+ ariaLabel,
8602
+ ...props
8603
+ }) {
8604
+ const {
8605
+ type: legacyColorToType,
8606
+ variant: legacyColorToVariant
8607
+ } = getButtonTypeAndVariant(color);
8608
+ return /*#__PURE__*/jsx(Button, {
8609
+ variant: legacyColorToVariant,
8610
+ type: legacyColorToType,
8611
+ ...props
8612
+ });
8613
+ }
8614
+ function CloseIconButton(props) {
8615
+ return /*#__PURE__*/jsx(IconButton, {
8616
+ icon: /*#__PURE__*/jsx(XRegularIcon, {}),
8617
+ ...props
8618
+ });
8619
+ }
8620
+
8601
8621
  function InfoCard({
8602
8622
  title,
8603
8623
  action,
@@ -10323,6 +10343,9 @@ function createKittNativeBaseCustomTheme(theme, appTheme) {
10323
10343
  },
10324
10344
  icon: theme.icon,
10325
10345
  cardModal: {
10346
+ header: {
10347
+ height: theme.cardModal.header.height
10348
+ },
10326
10349
  maxWidth: theme.cardModal.maxWidth,
10327
10350
  maxWidthWithPadding: theme.cardModal.maxWidthWithPadding,
10328
10351
  minHeight: theme.cardModal.minHeight
@@ -10627,6 +10650,11 @@ function createKittNativeBaseCustomTheme(theme, appTheme) {
10627
10650
  width: theme.iconButton.width,
10628
10651
  height: theme.iconButton.height
10629
10652
  },
10653
+ fullscreenModal: {
10654
+ header: {
10655
+ height: theme.fullscreenModal.header.height
10656
+ }
10657
+ },
10630
10658
  pageLoader: {
10631
10659
  size: theme.pageLoader.size
10632
10660
  },
@@ -10724,7 +10752,7 @@ function createKittNativeBaseCustomTheme(theme, appTheme) {
10724
10752
  }
10725
10753
  },
10726
10754
  fullscreenModal: {
10727
- horizontalPadding: theme.fullscreenModal.horizontalPadding,
10755
+ horizontalPadding: theme.fullscreenModal.sharedHorizontalPadding,
10728
10756
  body: {
10729
10757
  verticalPadding: theme.fullscreenModal.body.verticalPadding
10730
10758
  },
@@ -11580,17 +11608,19 @@ function NavigationBottomSheet({
11580
11608
  })
11581
11609
  });
11582
11610
  }
11583
-
11584
- /**
11585
- * Web only: display right CloseButton
11586
- */
11587
-
11588
11611
  function NavigationBottomSheetHeader({
11589
- right,
11590
- ...props
11612
+ children,
11613
+ left
11591
11614
  }) {
11592
- return /*#__PURE__*/jsx(TopNavBar, {
11593
- ...props
11615
+ return /*#__PURE__*/jsx(HStack, {
11616
+ marginBottom: "kitt.6",
11617
+ children: /*#__PURE__*/jsx(Typography.Text, {
11618
+ flexGrow: 1,
11619
+ flexShrink: 1,
11620
+ variant: "bold",
11621
+ textAlign: "center",
11622
+ children: children
11623
+ })
11594
11624
  });
11595
11625
  }
11596
11626
  function NavigationBottomSheetBody(props) {
@@ -12045,9 +12075,14 @@ function Picker({
12045
12075
  onClose: handleClose,
12046
12076
  children: /*#__PURE__*/jsxs(CardModal, {
12047
12077
  children: [/*#__PURE__*/jsx(CardModal.Header, {
12048
- title: title,
12049
- right: /*#__PURE__*/jsx(TopNavBar.CloseButton, {
12078
+ right: /*#__PURE__*/jsx(IconButton, {
12079
+ icon: /*#__PURE__*/jsx(XRegularIcon, {}),
12050
12080
  onPress: handleClose
12081
+ }),
12082
+ children: /*#__PURE__*/jsx(Typography.Text, {
12083
+ base: "body-m",
12084
+ variant: "bold",
12085
+ children: title
12051
12086
  })
12052
12087
  }), Platform.OS === 'ios' && shouldDisplayNativePickerOnIOS ? /*#__PURE__*/jsx(Picker$1, {
12053
12088
  testID: testID,
@@ -13591,6 +13626,85 @@ function Tooltip({
13591
13626
  Tooltip.Arrow = Arrow;
13592
13627
  Tooltip.Content = TooltipContent;
13593
13628
 
13629
+ function TopNavBar({
13630
+ left,
13631
+ right,
13632
+ title,
13633
+ titleAlign = 'center',
13634
+ stickers,
13635
+ mode = 'default',
13636
+ hasSeparator = true
13637
+ }) {
13638
+ const isLargeTitleMode = mode === 'largeTitle';
13639
+ return /*#__PURE__*/jsxs(VStack, {
13640
+ space: isLargeTitleMode ? 'kitt.2' : undefined,
13641
+ width: "100%",
13642
+ height: mode === 'default' ? 56 : undefined,
13643
+ justifyContent: "center",
13644
+ paddingX: "kitt.2",
13645
+ paddingTop: isLargeTitleMode ? 'kitt.2' : 'kitt.3',
13646
+ paddingBottom: "kitt.3",
13647
+ borderBottomWidth: hasSeparator && mode === 'default' ? 1 : 0,
13648
+ borderColor: "kitt.separator",
13649
+ children: [/*#__PURE__*/jsxs(HStack, {
13650
+ alignItems: "center",
13651
+ justifyContent: !title && !left ? 'flex-end' : 'space-between',
13652
+ children: [left ?? /*#__PURE__*/jsx(View, {
13653
+ width: "kitt.button.minWidth"
13654
+ }), mode === 'default' ? /*#__PURE__*/jsx(View, {
13655
+ flexGrow: "1",
13656
+ flexShrink: 1,
13657
+ paddingRight: "kitt.2",
13658
+ paddingLeft: "kitt.2",
13659
+ children: title ? /*#__PURE__*/jsx(Typography.Text, {
13660
+ textAlign: titleAlign,
13661
+ variant: "bold",
13662
+ ellipsizeMode: "tail",
13663
+ numberOfLines: 1,
13664
+ children: title
13665
+ }) : null
13666
+ }) : null, right ?? /*#__PURE__*/jsx(View, {
13667
+ width: "kitt.button.minWidth"
13668
+ })]
13669
+ }), mode === 'largeTitle' ? /*#__PURE__*/jsxs(VStack, {
13670
+ space: "kitt.4",
13671
+ paddingX: "kitt.2",
13672
+ children: [stickers ? /*#__PURE__*/jsx(HStack, {
13673
+ width: "100%",
13674
+ space: "kitt.1",
13675
+ flexShrink: 1,
13676
+ flexWrap: "wrap",
13677
+ style: {
13678
+ rowGap: theme.getSpacing(1)
13679
+ },
13680
+ children: stickers.map((sticker, index) =>
13681
+ /*#__PURE__*/
13682
+ // eslint-disable-next-line react/no-array-index-key
13683
+ jsx(View, {
13684
+ children: sticker
13685
+ }, index))
13686
+ }) : null, /*#__PURE__*/jsx(Typography.Text, {
13687
+ base: "heading-m",
13688
+ children: title
13689
+ })]
13690
+ }) : null]
13691
+ });
13692
+ }
13693
+ function CloseButton(props) {
13694
+ return /*#__PURE__*/jsx(IconButton, {
13695
+ icon: /*#__PURE__*/jsx(XRegularIcon, {}),
13696
+ ...props
13697
+ });
13698
+ }
13699
+ function BackButton(props) {
13700
+ return /*#__PURE__*/jsx(IconButton, {
13701
+ icon: /*#__PURE__*/jsx(ArrowLeftRegularIcon, {}),
13702
+ ...props
13703
+ });
13704
+ }
13705
+ TopNavBar.CloseButton = CloseButton;
13706
+ TopNavBar.BackButton = BackButton;
13707
+
13594
13708
  function getTypographyTypeConfig(type, theme) {
13595
13709
  const {
13596
13710
  configs