@ornikar/kitt-universal 27.8.0 → 27.9.1-canary.4b911192ae095bb2eb65643367ed285b3f849cd8.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 (72) hide show
  1. package/CHANGELOG.md +23 -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 +14 -12
  17. package/dist/definitions/native-base/KittNativeBaseProvider.d.ts.map +1 -1
  18. package/dist/definitions/story-components/StoryDecorator.d.ts +1 -1
  19. package/dist/definitions/story-components/StoryDecorator.d.ts.map +1 -1
  20. package/dist/definitions/themes/default.d.ts +0 -1
  21. package/dist/definitions/themes/default.d.ts.map +1 -1
  22. package/dist/definitions/themes/late-ocean/fullscreenModal.d.ts +1 -1
  23. package/dist/definitions/themes/late-ocean/fullscreenModal.d.ts.map +1 -1
  24. package/dist/definitions/utils/storybook/KittThemeDecorator.d.ts +1 -1
  25. package/dist/definitions/utils/storybook/KittThemeDecorator.d.ts.map +1 -1
  26. package/dist/index-metro.es.android.js +153 -285
  27. package/dist/index-metro.es.android.js.map +1 -1
  28. package/dist/index-metro.es.ios.js +153 -285
  29. package/dist/index-metro.es.ios.js.map +1 -1
  30. package/dist/index-node-22.17.cjs.js +151 -275
  31. package/dist/index-node-22.17.cjs.js.map +1 -1
  32. package/dist/index-node-22.17.cjs.web.js +142 -261
  33. package/dist/index-node-22.17.cjs.web.js.map +1 -1
  34. package/dist/index-node-22.17.es.mjs +152 -276
  35. package/dist/index-node-22.17.es.mjs.map +1 -1
  36. package/dist/index-node-22.17.es.web.mjs +143 -262
  37. package/dist/index-node-22.17.es.web.mjs.map +1 -1
  38. package/dist/index.es.js +159 -291
  39. package/dist/index.es.js.map +1 -1
  40. package/dist/index.es.web.js +219 -345
  41. package/dist/index.es.web.js.map +1 -1
  42. package/dist/linaria-themes-metro.es.android.js +2 -8
  43. package/dist/linaria-themes-metro.es.android.js.map +1 -1
  44. package/dist/linaria-themes-metro.es.ios.js +2 -8
  45. package/dist/linaria-themes-metro.es.ios.js.map +1 -1
  46. package/dist/linaria-themes-node-22.17.cjs.js +2 -8
  47. package/dist/linaria-themes-node-22.17.cjs.js.map +1 -1
  48. package/dist/linaria-themes-node-22.17.cjs.web.js +2 -8
  49. package/dist/linaria-themes-node-22.17.cjs.web.js.map +1 -1
  50. package/dist/linaria-themes-node-22.17.es.mjs +2 -8
  51. package/dist/linaria-themes-node-22.17.es.mjs.map +1 -1
  52. package/dist/linaria-themes-node-22.17.es.web.mjs +2 -8
  53. package/dist/linaria-themes-node-22.17.es.web.mjs.map +1 -1
  54. package/dist/linaria-themes.es.js +2 -8
  55. package/dist/linaria-themes.es.js.map +1 -1
  56. package/dist/linaria-themes.es.web.js +2 -8
  57. package/dist/linaria-themes.es.web.js.map +1 -1
  58. package/dist/tsbuildinfo +1 -1
  59. package/package.json +3 -3
  60. package/scripts/codemods/__testfixtures__/csf1-csf2/decorator.input.tsx +11 -0
  61. package/scripts/codemods/__testfixtures__/csf1-csf2/decorator.output.tsx +17 -0
  62. package/scripts/codemods/__testfixtures__/csf1-csf2/default.input.tsx +88 -0
  63. package/scripts/codemods/__testfixtures__/csf1-csf2/default.output.tsx +94 -0
  64. package/scripts/codemods/__testfixtures__/csf1-csf2/multiple-add.input.tsx +77 -0
  65. package/scripts/codemods/__testfixtures__/csf1-csf2/multiple-add.output.tsx +92 -0
  66. package/scripts/codemods/__testfixtures__/csf1-csf2/parameters.input.tsx +21 -0
  67. package/scripts/codemods/__testfixtures__/csf1-csf2/parameters.output.tsx +28 -0
  68. package/scripts/codemods/__tests__/csf1-csf2.test.js +10 -0
  69. package/scripts/codemods/codemod-template.js +27 -0
  70. package/scripts/codemods/csf1-csf2.js +323 -0
  71. package/dist/definitions/themes/late-ocean/iconButton.d.ts +0 -6
  72. package/dist/definitions/themes/late-ocean/iconButton.d.ts.map +0 -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: {
@@ -1894,11 +1894,6 @@ const icon = {
1894
1894
  defaultSize: 20
1895
1895
  };
1896
1896
 
1897
- const iconButton = {
1898
- width: button.height.medium,
1899
- height: button.height.medium
1900
- };
1901
-
1902
1897
  const listItem = {
1903
1898
  padding: '12px 16px',
1904
1899
  verticalPadding: 12,
@@ -2628,7 +2623,6 @@ const theme = {
2628
2623
  highlight,
2629
2624
  icon,
2630
2625
  buttonBadge,
2631
- iconButton,
2632
2626
  listItem,
2633
2627
  pageLoader,
2634
2628
  picker,
@@ -4335,21 +4329,13 @@ function CardModalBehaviour({
4335
4329
 
4336
4330
  function CardModalBody({
4337
4331
  children,
4338
- paddingX = {
4339
- base: 'kitt.4',
4340
- medium: 'kitt.6'
4341
- },
4342
- paddingY = {
4343
- base: 'kitt.4',
4344
- medium: 'kitt.6'
4345
- },
4332
+ padding = 'kitt.4',
4346
4333
  ...props
4347
4334
  }) {
4348
4335
  return /*#__PURE__*/jsx(ScrollView, {
4349
4336
  showsVerticalScrollIndicator: false,
4350
4337
  _contentContainerStyle: {
4351
- paddingX,
4352
- paddingY
4338
+ padding
4353
4339
  },
4354
4340
  ...props,
4355
4341
  children: children
@@ -4379,53 +4365,145 @@ function CardModalFooter({
4379
4365
  });
4380
4366
  }
4381
4367
 
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,
4368
+ const getButtonTypeAndVariant = iconColor => {
4369
+ switch (iconColor) {
4370
+ case 'black':
4371
+ return {
4372
+ type: 'tertiary'
4373
+ };
4374
+ case 'secondary':
4375
+ return {
4376
+ type: 'secondary'
4377
+ };
4378
+ case 'primary':
4379
+ return {
4380
+ type: 'primary'
4381
+ };
4382
+ case 'primary-plain':
4383
+ return {
4384
+ type: 'primary'
4385
+ };
4386
+ case 'ghost':
4387
+ return {
4388
+ type: 'tertiary',
4389
+ variant: 'revert'
4390
+ };
4391
+ default:
4392
+ return {
4393
+ type: 'secondary'
4394
+ };
4395
+ }
4396
+ };
4397
+
4398
+ /**
4399
+ * @deprecated IconButton should only be used as a navigation button
4400
+ * Other use cases should use a <Button> component with an icon
4401
+ */
4402
+ function IconButton({
4403
+ color = 'black',
4404
+ ariaLabel,
4392
4405
  ...props
4393
4406
  }) {
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",
4407
+ const {
4408
+ type: legacyColorToType,
4409
+ variant: legacyColorToVariant
4410
+ } = getButtonTypeAndVariant(color);
4411
+ return /*#__PURE__*/jsx(Button, {
4412
+ variant: legacyColorToVariant,
4413
+ type: legacyColorToType,
4414
+ ...props
4415
+ });
4416
+ }
4417
+ function CloseIconButton(props) {
4418
+ return /*#__PURE__*/jsx(IconButton, {
4419
+ icon: /*#__PURE__*/jsx(XRegularIcon, {}),
4420
+ ...props
4421
+ });
4422
+ }
4423
+
4424
+ function TopNavBar({
4425
+ left,
4426
+ right,
4427
+ title,
4428
+ titleAlign = 'center',
4429
+ stickers,
4430
+ mode = 'default',
4431
+ hasSeparator = true
4432
+ }) {
4433
+ const isLargeTitleMode = mode === 'largeTitle';
4434
+ const leftEmptySpace = !left && titleAlign === 'left' ? null : /*#__PURE__*/jsx(View, {
4435
+ width: "kitt.button.minWidth"
4436
+ });
4437
+ return /*#__PURE__*/jsxs(VStack, {
4438
+ space: isLargeTitleMode ? 'kitt.2' : undefined,
4404
4439
  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, {
4440
+ height: mode === 'default' ? 56 : undefined,
4441
+ justifyContent: "center",
4442
+ paddingX: "kitt.2",
4443
+ paddingTop: isLargeTitleMode ? 'kitt.2' : 'kitt.3',
4444
+ paddingBottom: "kitt.3",
4445
+ borderBottomWidth: hasSeparator && mode === 'default' ? 1 : 0,
4446
+ borderColor: "kitt.separator",
4447
+ children: [/*#__PURE__*/jsxs(HStack, {
4409
4448
  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, {
4449
+ justifyContent: !title && !left ? 'flex-end' : 'space-between',
4450
+ children: [left ?? leftEmptySpace, mode === 'default' ? /*#__PURE__*/jsx(View, {
4416
4451
  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',
4452
+ flexShrink: 1,
4453
+ paddingRight: "kitt.2",
4454
+ paddingLeft: "kitt.2",
4455
+ children: title ? /*#__PURE__*/jsx(Typography.Text, {
4456
+ textAlign: titleAlign,
4421
4457
  variant: "bold",
4458
+ ellipsizeMode: "tail",
4459
+ numberOfLines: 1,
4422
4460
  children: title
4423
- }) : null, children]
4424
- }), right ? /*#__PURE__*/jsx(View, {
4425
- width: "kitt.iconButton.width",
4426
- children: right
4427
- }) : null]
4428
- })
4461
+ }) : null
4462
+ }) : null, right ?? /*#__PURE__*/jsx(View, {
4463
+ width: "kitt.button.minWidth"
4464
+ })]
4465
+ }), mode === 'largeTitle' ? /*#__PURE__*/jsxs(VStack, {
4466
+ space: "kitt.4",
4467
+ paddingX: "kitt.2",
4468
+ children: [stickers ? /*#__PURE__*/jsx(HStack, {
4469
+ width: "100%",
4470
+ space: "kitt.1",
4471
+ flexShrink: 1,
4472
+ flexWrap: "wrap",
4473
+ style: {
4474
+ rowGap: theme.getSpacing(1)
4475
+ },
4476
+ children: stickers.map((sticker, index) =>
4477
+ /*#__PURE__*/
4478
+ // eslint-disable-next-line react/no-array-index-key
4479
+ jsx(View, {
4480
+ children: sticker
4481
+ }, index))
4482
+ }) : null, /*#__PURE__*/jsx(Typography.Text, {
4483
+ base: "heading-m",
4484
+ children: title
4485
+ })]
4486
+ }) : null]
4487
+ });
4488
+ }
4489
+ function CloseButton(props) {
4490
+ return /*#__PURE__*/jsx(IconButton, {
4491
+ icon: /*#__PURE__*/jsx(XRegularIcon, {}),
4492
+ ...props
4493
+ });
4494
+ }
4495
+ function BackButton(props) {
4496
+ return /*#__PURE__*/jsx(IconButton, {
4497
+ icon: /*#__PURE__*/jsx(ArrowLeftRegularIcon, {}),
4498
+ ...props
4499
+ });
4500
+ }
4501
+ TopNavBar.CloseButton = CloseButton;
4502
+ TopNavBar.BackButton = BackButton;
4503
+
4504
+ function CardModalHeader(props) {
4505
+ return /*#__PURE__*/jsx(TopNavBar, {
4506
+ ...props
4429
4507
  });
4430
4508
  }
4431
4509
 
@@ -6277,11 +6355,7 @@ function ModalTitle({
6277
6355
  children
6278
6356
  }) {
6279
6357
  return /*#__PURE__*/jsx(CardModal.Header, {
6280
- children: /*#__PURE__*/jsx(Typography.Text, {
6281
- base: "body-m",
6282
- variant: "bold",
6283
- children: children
6284
- })
6358
+ title: children
6285
6359
  });
6286
6360
  }
6287
6361
  function ModalPlatformDateTimePicker({
@@ -8213,60 +8287,16 @@ function FullscreenModalContainer({
8213
8287
  }
8214
8288
 
8215
8289
  function FullscreenModalHeader({
8216
- hasSeparator = true,
8217
- isTransparent,
8218
- title,
8219
- children,
8220
- right,
8221
- left,
8222
8290
  shouldHandleTopNotch = true,
8223
8291
  ...props
8224
8292
  }) {
8225
8293
  const {
8226
8294
  top
8227
8295
  } = useSafeAreaInsets();
8228
- const hasRight = Boolean(right);
8229
- const hasLeft = Boolean(left);
8230
- const hasContent = Boolean(title || children);
8231
8296
  return /*#__PURE__*/jsx(View, {
8232
- backgroundColor: isTransparent ? 'kitt.transparent' : 'kitt.uiBackgroundLight',
8233
- minHeight: "kitt.fullscreenModal.header.height",
8234
- width: "100%",
8235
- justifyContent: "center",
8236
8297
  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]
8298
+ children: /*#__PURE__*/jsx(TopNavBar, {
8299
+ ...props
8270
8300
  })
8271
8301
  });
8272
8302
  }
@@ -8562,62 +8592,6 @@ function Highlight({
8562
8592
  });
8563
8593
  }
8564
8594
 
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
8595
  function InfoCard({
8622
8596
  title,
8623
8597
  action,
@@ -10343,9 +10317,6 @@ function createKittNativeBaseCustomTheme(theme, appTheme) {
10343
10317
  },
10344
10318
  icon: theme.icon,
10345
10319
  cardModal: {
10346
- header: {
10347
- height: theme.cardModal.header.height
10348
- },
10349
10320
  maxWidth: theme.cardModal.maxWidth,
10350
10321
  maxWidthWithPadding: theme.cardModal.maxWidthWithPadding,
10351
10322
  minHeight: theme.cardModal.minHeight
@@ -10646,15 +10617,6 @@ function createKittNativeBaseCustomTheme(theme, appTheme) {
10646
10617
  }
10647
10618
  }
10648
10619
  },
10649
- iconButton: {
10650
- width: theme.iconButton.width,
10651
- height: theme.iconButton.height
10652
- },
10653
- fullscreenModal: {
10654
- header: {
10655
- height: theme.fullscreenModal.header.height
10656
- }
10657
- },
10658
10620
  pageLoader: {
10659
10621
  size: theme.pageLoader.size
10660
10622
  },
@@ -10752,7 +10714,7 @@ function createKittNativeBaseCustomTheme(theme, appTheme) {
10752
10714
  }
10753
10715
  },
10754
10716
  fullscreenModal: {
10755
- horizontalPadding: theme.fullscreenModal.sharedHorizontalPadding,
10717
+ horizontalPadding: theme.fullscreenModal.horizontalPadding,
10756
10718
  body: {
10757
10719
  verticalPadding: theme.fullscreenModal.body.verticalPadding
10758
10720
  },
@@ -11608,19 +11570,17 @@ function NavigationBottomSheet({
11608
11570
  })
11609
11571
  });
11610
11572
  }
11573
+
11574
+ /**
11575
+ * Web only: display right CloseButton
11576
+ */
11577
+
11611
11578
  function NavigationBottomSheetHeader({
11612
- children,
11613
- left
11579
+ right,
11580
+ ...props
11614
11581
  }) {
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
- })
11582
+ return /*#__PURE__*/jsx(TopNavBar, {
11583
+ ...props
11624
11584
  });
11625
11585
  }
11626
11586
  function NavigationBottomSheetBody(props) {
@@ -12075,14 +12035,9 @@ function Picker({
12075
12035
  onClose: handleClose,
12076
12036
  children: /*#__PURE__*/jsxs(CardModal, {
12077
12037
  children: [/*#__PURE__*/jsx(CardModal.Header, {
12078
- right: /*#__PURE__*/jsx(IconButton, {
12079
- icon: /*#__PURE__*/jsx(XRegularIcon, {}),
12038
+ title: title,
12039
+ right: /*#__PURE__*/jsx(TopNavBar.CloseButton, {
12080
12040
  onPress: handleClose
12081
- }),
12082
- children: /*#__PURE__*/jsx(Typography.Text, {
12083
- base: "body-m",
12084
- variant: "bold",
12085
- children: title
12086
12041
  })
12087
12042
  }), Platform.OS === 'ios' && shouldDisplayNativePickerOnIOS ? /*#__PURE__*/jsx(Picker$1, {
12088
12043
  testID: testID,
@@ -13626,85 +13581,6 @@ function Tooltip({
13626
13581
  Tooltip.Arrow = Arrow;
13627
13582
  Tooltip.Content = TooltipContent;
13628
13583
 
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
13584
  function getTypographyTypeConfig(type, theme) {
13709
13585
  const {
13710
13586
  configs