@ornikar/kitt-universal 27.9.0 → 27.9.1-canary.51004cd27185355acc481c9933556ade7509bc80.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 +14 -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 +6 -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 +4 -8
  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 +154 -276
  22. package/dist/index-metro.es.android.js.map +1 -1
  23. package/dist/index-metro.es.ios.js +154 -276
  24. package/dist/index-metro.es.ios.js.map +1 -1
  25. package/dist/index-node-22.17.cjs.js +152 -266
  26. package/dist/index-node-22.17.cjs.js.map +1 -1
  27. package/dist/index-node-22.17.cjs.web.js +143 -252
  28. package/dist/index-node-22.17.cjs.web.js.map +1 -1
  29. package/dist/index-node-22.17.es.mjs +153 -267
  30. package/dist/index-node-22.17.es.mjs.map +1 -1
  31. package/dist/index-node-22.17.es.web.mjs +144 -253
  32. package/dist/index-node-22.17.es.web.mjs.map +1 -1
  33. package/dist/index.es.js +160 -282
  34. package/dist/index.es.js.map +1 -1
  35. package/dist/index.es.web.js +220 -336
  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 +1 -1
@@ -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, CaretUpFillIcon, CaretDownFillIcon, MapPinRegularIcon, EyeClosedRegularIcon, EyeRegularIcon, CheckCircleFillIcon, CaretDownRegularIcon, XRegularIcon, CaretRightRegularIcon, InfoRegularIcon, WarningRegularIcon, CheckRegularIcon, WarningCircleRegularIcon, ArrowCounterClockwiseRegularIcon, InfoFillIcon, WarningCircleFillIcon, WarningFillIcon, ArrowLeftRegularIcon } from '@ornikar/kitt-icons/phosphor';
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';
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
- sharedHorizontalPadding: 16,
1805
+ horizontalPadding: 16,
1806
1806
  footer: {
1807
1807
  verticalPadding: 12
1808
1808
  },
1809
1809
  body: {
1810
- verticalPadding: 24
1810
+ verticalPadding: 16
1811
1811
  },
1812
1812
  animation: {
1813
1813
  overlay: {
@@ -2627,8 +2627,8 @@ const theme = {
2627
2627
  forms,
2628
2628
  highlight,
2629
2629
  icon,
2630
- buttonBadge,
2631
2630
  iconButton,
2631
+ buttonBadge,
2632
2632
  listItem,
2633
2633
  pageLoader,
2634
2634
  picker,
@@ -4335,21 +4335,13 @@ function CardModalBehaviour({
4335
4335
 
4336
4336
  function CardModalBody({
4337
4337
  children,
4338
- paddingX = {
4339
- base: 'kitt.4',
4340
- medium: 'kitt.6'
4341
- },
4342
- paddingY = {
4343
- base: 'kitt.4',
4344
- medium: 'kitt.6'
4345
- },
4338
+ padding = 'kitt.4',
4346
4339
  ...props
4347
4340
  }) {
4348
4341
  return /*#__PURE__*/jsx(ScrollView, {
4349
4342
  showsVerticalScrollIndicator: false,
4350
4343
  _contentContainerStyle: {
4351
- paddingX,
4352
- paddingY
4344
+ padding
4353
4345
  },
4354
4346
  ...props,
4355
4347
  children: children
@@ -4379,53 +4371,145 @@ function CardModalFooter({
4379
4371
  });
4380
4372
  }
4381
4373
 
4382
- function CardModalHeader({
4383
- children,
4384
- title,
4385
- paddingBottom = {
4386
- base: 'kitt.4',
4387
- medium: 'kitt.2'
4388
- },
4389
- hasSeparator = true,
4390
- right,
4391
- left,
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,
4392
4411
  ...props
4393
4412
  }) {
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,
4402
- borderColor: "kitt.separator",
4403
- justifyContent: "center",
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,
4433
+ title,
4434
+ titleAlign = 'center',
4435
+ stickers,
4436
+ mode = 'default',
4437
+ hasSeparator = true
4438
+ }) {
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,
4404
4445
  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, {
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,
4452
+ borderColor: "kitt.separator",
4453
+ children: [/*#__PURE__*/jsxs(HStack, {
4409
4454
  alignItems: "center",
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, {
4455
+ justifyContent: !title && !left ? 'flex-end' : 'space-between',
4456
+ children: [left ?? leftEmptySpace, mode === 'default' ? /*#__PURE__*/jsx(View, {
4416
4457
  flexGrow: "1",
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',
4458
+ flexShrink: 1,
4459
+ paddingRight: "kitt.2",
4460
+ paddingLeft: "kitt.2",
4461
+ children: title ? /*#__PURE__*/jsx(Typography.Text, {
4462
+ textAlign: titleAlign,
4421
4463
  variant: "bold",
4464
+ ellipsizeMode: "tail",
4465
+ numberOfLines: 1,
4422
4466
  children: title
4423
- }) : null, children]
4424
- }), right ? /*#__PURE__*/jsx(View, {
4425
- width: "kitt.iconButton.width",
4426
- children: right
4427
- }) : null]
4428
- })
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
4429
4513
  });
4430
4514
  }
4431
4515
 
@@ -6277,11 +6361,7 @@ function ModalTitle({
6277
6361
  children
6278
6362
  }) {
6279
6363
  return /*#__PURE__*/jsx(CardModal.Header, {
6280
- children: /*#__PURE__*/jsx(Typography.Text, {
6281
- base: "body-m",
6282
- variant: "bold",
6283
- children: children
6284
- })
6364
+ title: children
6285
6365
  });
6286
6366
  }
6287
6367
  function ModalPlatformDateTimePicker({
@@ -8213,60 +8293,16 @@ function FullscreenModalContainer({
8213
8293
  }
8214
8294
 
8215
8295
  function FullscreenModalHeader({
8216
- hasSeparator = true,
8217
- isTransparent,
8218
- title,
8219
- children,
8220
- right,
8221
- left,
8222
8296
  shouldHandleTopNotch = true,
8223
8297
  ...props
8224
8298
  }) {
8225
8299
  const {
8226
8300
  top
8227
8301
  } = useSafeAreaInsets();
8228
- const hasRight = Boolean(right);
8229
- const hasLeft = Boolean(left);
8230
- const hasContent = Boolean(title || children);
8231
8302
  return /*#__PURE__*/jsx(View, {
8232
- backgroundColor: isTransparent ? 'kitt.transparent' : 'kitt.uiBackgroundLight',
8233
- minHeight: "kitt.fullscreenModal.header.height",
8234
- width: "100%",
8235
- justifyContent: "center",
8236
8303
  paddingTop: shouldHandleTopNotch ? top : undefined,
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]
8304
+ children: /*#__PURE__*/jsx(TopNavBar, {
8305
+ ...props
8270
8306
  })
8271
8307
  });
8272
8308
  }
@@ -8562,62 +8598,6 @@ function Highlight({
8562
8598
  });
8563
8599
  }
8564
8600
 
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
-
8621
8601
  function InfoCard({
8622
8602
  title,
8623
8603
  action,
@@ -10343,9 +10323,6 @@ function createKittNativeBaseCustomTheme(theme, appTheme) {
10343
10323
  },
10344
10324
  icon: theme.icon,
10345
10325
  cardModal: {
10346
- header: {
10347
- height: theme.cardModal.header.height
10348
- },
10349
10326
  maxWidth: theme.cardModal.maxWidth,
10350
10327
  maxWidthWithPadding: theme.cardModal.maxWidthWithPadding,
10351
10328
  minHeight: theme.cardModal.minHeight
@@ -10650,11 +10627,6 @@ function createKittNativeBaseCustomTheme(theme, appTheme) {
10650
10627
  width: theme.iconButton.width,
10651
10628
  height: theme.iconButton.height
10652
10629
  },
10653
- fullscreenModal: {
10654
- header: {
10655
- height: theme.fullscreenModal.header.height
10656
- }
10657
- },
10658
10630
  pageLoader: {
10659
10631
  size: theme.pageLoader.size
10660
10632
  },
@@ -10752,7 +10724,7 @@ function createKittNativeBaseCustomTheme(theme, appTheme) {
10752
10724
  }
10753
10725
  },
10754
10726
  fullscreenModal: {
10755
- horizontalPadding: theme.fullscreenModal.sharedHorizontalPadding,
10727
+ horizontalPadding: theme.fullscreenModal.horizontalPadding,
10756
10728
  body: {
10757
10729
  verticalPadding: theme.fullscreenModal.body.verticalPadding
10758
10730
  },
@@ -11608,19 +11580,17 @@ function NavigationBottomSheet({
11608
11580
  })
11609
11581
  });
11610
11582
  }
11583
+
11584
+ /**
11585
+ * Web only: display right CloseButton
11586
+ */
11587
+
11611
11588
  function NavigationBottomSheetHeader({
11612
- children,
11613
- left
11589
+ right,
11590
+ ...props
11614
11591
  }) {
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
- })
11592
+ return /*#__PURE__*/jsx(TopNavBar, {
11593
+ ...props
11624
11594
  });
11625
11595
  }
11626
11596
  function NavigationBottomSheetBody(props) {
@@ -12075,14 +12045,9 @@ function Picker({
12075
12045
  onClose: handleClose,
12076
12046
  children: /*#__PURE__*/jsxs(CardModal, {
12077
12047
  children: [/*#__PURE__*/jsx(CardModal.Header, {
12078
- right: /*#__PURE__*/jsx(IconButton, {
12079
- icon: /*#__PURE__*/jsx(XRegularIcon, {}),
12048
+ title: title,
12049
+ right: /*#__PURE__*/jsx(TopNavBar.CloseButton, {
12080
12050
  onPress: handleClose
12081
- }),
12082
- children: /*#__PURE__*/jsx(Typography.Text, {
12083
- base: "body-m",
12084
- variant: "bold",
12085
- children: title
12086
12051
  })
12087
12052
  }), Platform.OS === 'ios' && shouldDisplayNativePickerOnIOS ? /*#__PURE__*/jsx(Picker$1, {
12088
12053
  testID: testID,
@@ -13626,85 +13591,6 @@ function Tooltip({
13626
13591
  Tooltip.Arrow = Arrow;
13627
13592
  Tooltip.Content = TooltipContent;
13628
13593
 
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
-
13708
13594
  function getTypographyTypeConfig(type, theme) {
13709
13595
  const {
13710
13596
  configs