@ornikar/kitt-universal 21.0.2 → 22.0.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 (69) hide show
  1. package/CHANGELOG.md +21 -0
  2. package/dist/definitions/ActionCard/ActionCardContentWrapper.d.ts.map +1 -1
  3. package/dist/definitions/Button/AnimatedContainer.web.d.ts.map +1 -1
  4. package/dist/definitions/Button/FocusBorder.d.ts.map +1 -1
  5. package/dist/definitions/IconButton/IconButton.d.ts +2 -2
  6. package/dist/definitions/IconButton/IconButton.d.ts.map +1 -1
  7. package/dist/definitions/Picker/Picker.web.d.ts.map +1 -1
  8. package/dist/definitions/Tooltip/Arrow.d.ts.map +1 -1
  9. package/dist/definitions/forms/DatePicker/DatePicker.d.ts +1 -1
  10. package/dist/definitions/forms/DatePicker/DatePicker.d.ts.map +1 -1
  11. package/dist/definitions/forms/DatePicker/components/InputPart.d.ts +1 -1
  12. package/dist/definitions/forms/DatePicker/components/InputPart.d.ts.map +1 -1
  13. package/dist/definitions/forms/DatePicker/components/PressableDateInputs.d.ts.map +1 -1
  14. package/dist/definitions/forms/InputText/InputText.d.ts +1 -1
  15. package/dist/definitions/forms/InputText/InputText.d.ts.map +1 -1
  16. package/dist/definitions/forms/RadioButtonGroup/HoverBorder.d.ts.map +1 -1
  17. package/dist/definitions/native-base/KittNativeBaseProvider.d.ts +2 -2
  18. package/dist/definitions/themes/default.d.ts +0 -2
  19. package/dist/definitions/themes/default.d.ts.map +1 -1
  20. package/dist/definitions/themes/late-ocean/typography.d.ts +0 -2
  21. package/dist/definitions/themes/late-ocean/typography.d.ts.map +1 -1
  22. package/dist/definitions/typography/Typography.d.ts +376 -46
  23. package/dist/definitions/typography/Typography.d.ts.map +1 -1
  24. package/dist/definitions/typography/TypographyEmoji.d.ts.map +1 -1
  25. package/dist/definitions/typography/TypographyLink.d.ts +3 -3
  26. package/dist/definitions/typography/TypographyLink.d.ts.map +1 -1
  27. package/dist/definitions/utils/getEnterKeyHintForNumericInput/getEnterKeyHintForNumericInput.d.ts +3 -0
  28. package/dist/definitions/utils/getEnterKeyHintForNumericInput/getEnterKeyHintForNumericInput.d.ts.map +1 -0
  29. package/dist/{index.es.ios.js → index-metro.es.android.js} +3576 -4152
  30. package/dist/index-metro.es.android.js.map +1 -0
  31. package/dist/{index.es.android.js → index-metro.es.ios.js} +3576 -4152
  32. package/dist/index-metro.es.ios.js.map +1 -0
  33. package/dist/index-node-18.18.cjs.js +217 -602
  34. package/dist/index-node-18.18.cjs.js.map +1 -1
  35. package/dist/index-node-18.18.cjs.web.js +45 -66
  36. package/dist/index-node-18.18.cjs.web.js.map +1 -1
  37. package/dist/index-node-18.18.es.mjs +217 -602
  38. package/dist/index-node-18.18.es.mjs.map +1 -1
  39. package/dist/index-node-18.18.es.web.mjs +45 -66
  40. package/dist/index-node-18.18.es.web.mjs.map +1 -1
  41. package/dist/index.es.js +227 -612
  42. package/dist/index.es.js.map +1 -1
  43. package/dist/index.es.web.js +49 -70
  44. package/dist/index.es.web.js.map +1 -1
  45. package/dist/{linaria-themes.es.ios.js → linaria-themes-metro.es.android.js} +172 -187
  46. package/dist/linaria-themes-metro.es.android.js.map +1 -0
  47. package/dist/{linaria-themes.es.android.js → linaria-themes-metro.es.ios.js} +172 -187
  48. package/dist/linaria-themes-metro.es.ios.js.map +1 -0
  49. package/dist/linaria-themes-node-18.18.cjs.js +0 -6
  50. package/dist/linaria-themes-node-18.18.cjs.js.map +1 -1
  51. package/dist/linaria-themes-node-18.18.cjs.web.js +0 -6
  52. package/dist/linaria-themes-node-18.18.cjs.web.js.map +1 -1
  53. package/dist/linaria-themes-node-18.18.es.mjs +0 -6
  54. package/dist/linaria-themes-node-18.18.es.mjs.map +1 -1
  55. package/dist/linaria-themes-node-18.18.es.web.mjs +0 -6
  56. package/dist/linaria-themes-node-18.18.es.web.mjs.map +1 -1
  57. package/dist/linaria-themes.es.js +0 -6
  58. package/dist/linaria-themes.es.js.map +1 -1
  59. package/dist/linaria-themes.es.web.js +0 -6
  60. package/dist/linaria-themes.es.web.js.map +1 -1
  61. package/dist/tsbuildinfo +1 -1
  62. package/package.json +17 -16
  63. package/typings/react-native-web.d.ts +48 -5
  64. package/dist/definitions/utils/getReturnKeyTypeForNumericInput/getReturnKeyTypeForNumericInput.d.ts +0 -3
  65. package/dist/definitions/utils/getReturnKeyTypeForNumericInput/getReturnKeyTypeForNumericInput.d.ts.map +0 -1
  66. package/dist/index.es.android.js.map +0 -1
  67. package/dist/index.es.ios.js.map +0 -1
  68. package/dist/linaria-themes.es.android.js.map +0 -1
  69. package/dist/linaria-themes.es.ios.js.map +0 -1
@@ -858,9 +858,6 @@ const typography = {
858
858
  warning: colors.warning
859
859
  },
860
860
  types: {
861
- get header() {
862
- throw new Error('typography.types.header is deprecated, use typography.type.headings instead');
863
- },
864
861
  headings: {
865
862
  fontFamily: {
866
863
  native: {
@@ -894,9 +891,6 @@ const typography = {
894
891
  'heading-xxs': createTypographyConfig(16, 1.3)
895
892
  }
896
893
  },
897
- get 'headers-impact'() {
898
- throw new Error('typography.types.headers-impact is deprecated, use typography.type.headings-impact instead');
899
- },
900
894
  'headings-impact': {
901
895
  fontFamily: {
902
896
  native: {
@@ -1682,7 +1676,9 @@ function ActionCardContentWrapper({
1682
1676
  style: sharedTransform
1683
1677
  },
1684
1678
  _web: {
1685
- style: sharedTransform
1679
+ style: {
1680
+ transform: `translateY(${translateY}px)`
1681
+ }
1686
1682
  },
1687
1683
  width: "100%",
1688
1684
  backgroundColor: `kitt.actionCard.${themeName}.${state}.backgroundColor`,
@@ -1886,9 +1882,7 @@ function AnimatedContainer$1({
1886
1882
  transitionTimingFunction: timingFunction,
1887
1883
  /* Simplifies the animation to just the front of the object – avoid blurry scale */
1888
1884
  backfaceVisibility: 'hidden',
1889
- transform: [{
1890
- scale: currentScale
1891
- }]
1885
+ transform: `scale(${currentScale})`
1892
1886
  }
1893
1887
  },
1894
1888
  width: createResponsiveStyleFromProp(isStretch, '100%', 'auto'),
@@ -2104,7 +2098,7 @@ const createHeading = (level, defaultBase) => {
2104
2098
  accessibilityRole: "header",
2105
2099
  base: defaultBase,
2106
2100
  ...props,
2107
- accessibilityLevel: level
2101
+ "aria-level": level
2108
2102
  });
2109
2103
  }
2110
2104
  TypographyHeading.displayName = `TypographyHeading${level}`;
@@ -2694,7 +2688,7 @@ function AvatarContent({
2694
2688
  width: size,
2695
2689
  height: size,
2696
2690
  alt: alt,
2697
- accessibilityLabel: alt
2691
+ "aria-label": alt
2698
2692
  });
2699
2693
  }
2700
2694
  if (firstname && lastname) {
@@ -3332,7 +3326,7 @@ function Choices({
3332
3326
  return /*#__PURE__*/jsxRuntime.jsx(ChoicesContainer, {
3333
3327
  direction: direction,
3334
3328
  testID: testID,
3335
- nativeID: id,
3329
+ id: id,
3336
3330
  children: childrenArray.map((child, index) => {
3337
3331
  const element = /*#__PURE__*/react.cloneElement(child, {
3338
3332
  selected: isForm ? child.props.value === currentValue : undefined,
@@ -3533,7 +3527,7 @@ function Emoji({
3533
3527
  testID: testID,
3534
3528
  size: size,
3535
3529
  alt: emojiData.text,
3536
- accessibilityLabel: emojiData.text,
3530
+ "aria-label": emojiData.text,
3537
3531
  source: {
3538
3532
  uri: emojiData.url
3539
3533
  },
@@ -3704,7 +3698,7 @@ const InputText = /*#__PURE__*/react.forwardRef(({
3704
3698
  autoCorrect = true,
3705
3699
  textContentType = 'none',
3706
3700
  autoComplete = 'off',
3707
- keyboardType = 'default',
3701
+ inputMode = 'none',
3708
3702
  multiline,
3709
3703
  onSubmitEditing,
3710
3704
  ...props
@@ -3717,11 +3711,11 @@ const InputText = /*#__PURE__*/react.forwardRef(({
3717
3711
  children: [/*#__PURE__*/jsxRuntime.jsx(nativeBase.Input, {
3718
3712
  ref: ref,
3719
3713
  multiline: multiline,
3720
- nativeID: id,
3714
+ id: id,
3721
3715
  isDisabled: internalForceState ? internalForceState === 'disabled' : disabled,
3722
3716
  isHovered: internalForceState ? internalForceState === 'hover' : undefined,
3723
3717
  isFocused: internalForceState ? internalForceState === 'focus' : undefined,
3724
- keyboardType: keyboardType,
3718
+ inputMode: inputMode,
3725
3719
  autoComplete: autoComplete,
3726
3720
  autoCorrect: autoCorrect,
3727
3721
  textContentType: textContentType,
@@ -4096,7 +4090,7 @@ const Checkbox = /*#__PURE__*/react.forwardRef(({
4096
4090
  const theme = useTheme();
4097
4091
  return /*#__PURE__*/jsxRuntime.jsx(Pressable, {
4098
4092
  ref: ref,
4099
- nativeID: id,
4093
+ id: id,
4100
4094
  testID: testID,
4101
4095
  accessibilityRole: "checkbox",
4102
4096
  accessibilityState: {
@@ -4171,8 +4165,8 @@ const Checkbox = /*#__PURE__*/react.forwardRef(({
4171
4165
  });
4172
4166
  });
4173
4167
 
4174
- function getReturnKeyTypeForNumericInput(returnKeyType) {
4175
- return returnKeyType;
4168
+ function getEnterKeyHintForNumericInput(enterKeyHint) {
4169
+ return enterKeyHint;
4176
4170
  }
4177
4171
 
4178
4172
  function prefixWithZero$1(value, maxLength = 2) {
@@ -4382,7 +4376,7 @@ const InputPart = /*#__PURE__*/react.forwardRef(({
4382
4376
  isFocusedInternal,
4383
4377
  isHoveredInternal,
4384
4378
  isPressedInternal,
4385
- returnKeyType,
4379
+ enterKeyHint,
4386
4380
  onChange,
4387
4381
  onBlur,
4388
4382
  onSubmitEditing
@@ -4399,8 +4393,8 @@ const InputPart = /*#__PURE__*/react.forwardRef(({
4399
4393
  value: value,
4400
4394
  placeholder: placeholder,
4401
4395
  disabled: disabled,
4402
- keyboardType: "numeric",
4403
- returnKeyType: returnKeyType,
4396
+ inputMode: "numeric",
4397
+ enterKeyHint: enterKeyHint,
4404
4398
  textAlign: "center",
4405
4399
  onChange: onChange,
4406
4400
  onBlur: onBlur,
@@ -4434,7 +4428,7 @@ const KeyboardDatePicker = /*#__PURE__*/react.forwardRef(({
4434
4428
  isFocusedInternal,
4435
4429
  isHoveredInternal,
4436
4430
  isPressedInternal,
4437
- returnKeyType,
4431
+ enterKeyHint,
4438
4432
  onChange,
4439
4433
  onBlur,
4440
4434
  onFocus,
@@ -4483,7 +4477,7 @@ const KeyboardDatePicker = /*#__PURE__*/react.forwardRef(({
4483
4477
  };
4484
4478
  return /*#__PURE__*/jsxRuntime.jsx(View, {
4485
4479
  testID: testID,
4486
- nativeID: id,
4480
+ id: id,
4487
4481
  children: /*#__PURE__*/jsxRuntime.jsxs(HStack, {
4488
4482
  space: "kitt.2",
4489
4483
  children: [/*#__PURE__*/jsxRuntime.jsx(PartContainer, {
@@ -4495,7 +4489,7 @@ const KeyboardDatePicker = /*#__PURE__*/react.forwardRef(({
4495
4489
  ...sharedInputPartProps,
4496
4490
  placeholder: placeholder?.day,
4497
4491
  value: state.displayedDay,
4498
- returnKeyType: getReturnKeyTypeForNumericInput('next'),
4492
+ enterKeyHint: getEnterKeyHintForNumericInput('next'),
4499
4493
  onChange: e => {
4500
4494
  const nextDay = stringToNumber(e.nativeEvent.text);
4501
4495
  dispatch({
@@ -4523,7 +4517,7 @@ const KeyboardDatePicker = /*#__PURE__*/react.forwardRef(({
4523
4517
  ...sharedInputPartProps,
4524
4518
  placeholder: placeholder?.month,
4525
4519
  value: state.displayedMonth,
4526
- returnKeyType: getReturnKeyTypeForNumericInput('next'),
4520
+ enterKeyHint: getEnterKeyHintForNumericInput('next'),
4527
4521
  onChange: e => {
4528
4522
  const nextMonth = stringToNumber(e.nativeEvent.text);
4529
4523
  dispatch({
@@ -4551,7 +4545,7 @@ const KeyboardDatePicker = /*#__PURE__*/react.forwardRef(({
4551
4545
  ...sharedInputPartProps,
4552
4546
  placeholder: placeholder?.year,
4553
4547
  value: state.displayedYear,
4554
- returnKeyType: returnKeyType ? getReturnKeyTypeForNumericInput(returnKeyType) : undefined,
4548
+ enterKeyHint: enterKeyHint ? getEnterKeyHintForNumericInput(enterKeyHint) : undefined,
4555
4549
  onChange: e => {
4556
4550
  const nextYear = stringToNumber(e.nativeEvent.text);
4557
4551
  dispatch({
@@ -4886,9 +4880,7 @@ function InputAddressOption({
4886
4880
  }) {
4887
4881
  const sharedTransform = {
4888
4882
  style: {
4889
- transform: [{
4890
- translateY: 4
4891
- }]
4883
+ transform: 'translateY(4)'
4892
4884
  }
4893
4885
  };
4894
4886
  return /*#__PURE__*/jsxRuntime.jsx(Autocomplete.Option, {
@@ -4986,7 +4978,7 @@ const InputEmail = /*#__PURE__*/react.forwardRef((props, ref) => {
4986
4978
  return /*#__PURE__*/jsxRuntime.jsx(InputText, {
4987
4979
  ref: ref,
4988
4980
  autoComplete: "email",
4989
- keyboardType: "email-address",
4981
+ inputMode: "email",
4990
4982
  textContentType: "emailAddress",
4991
4983
  autoCapitalize: "none",
4992
4984
  ...props
@@ -5093,7 +5085,7 @@ function prefixWithZero(value, phoneNumberLength) {
5093
5085
  return value.padStart(phoneNumberLength, '0');
5094
5086
  }
5095
5087
  const InputPhone = /*#__PURE__*/react.forwardRef(({
5096
- returnKeyType,
5088
+ enterKeyHint,
5097
5089
  autoComplete = 'tel',
5098
5090
  phoneNumberLength = 10,
5099
5091
  value,
@@ -5101,13 +5093,13 @@ const InputPhone = /*#__PURE__*/react.forwardRef(({
5101
5093
  ...props
5102
5094
  }, ref) => {
5103
5095
  const [currentValue, setCurrentValue] = react.useState(value);
5104
- const currentReturnKeyType = returnKeyType ? getReturnKeyTypeForNumericInput(returnKeyType) : undefined;
5096
+ const currentEnterKeyHint = enterKeyHint ? getEnterKeyHintForNumericInput(enterKeyHint) : undefined;
5105
5097
  return /*#__PURE__*/jsxRuntime.jsx(InputText, {
5106
5098
  ref: ref,
5107
5099
  ...props,
5108
5100
  value: currentValue,
5109
- keyboardType: "phone-pad",
5110
- returnKeyType: currentReturnKeyType,
5101
+ inputMode: "tel",
5102
+ enterKeyHint: currentEnterKeyHint,
5111
5103
  autoComplete: autoComplete,
5112
5104
  textContentType: "telephoneNumber",
5113
5105
  onChange: event => {
@@ -5185,7 +5177,7 @@ function Label({
5185
5177
  }) {
5186
5178
  return /*#__PURE__*/jsxRuntime.jsx(Typography.Text, {
5187
5179
  base: "body",
5188
- nativeID: undefined,
5180
+ id: undefined,
5189
5181
  children: /*#__PURE__*/jsxRuntime.jsx("label", {
5190
5182
  id: id,
5191
5183
  htmlFor: htmlFor,
@@ -5208,7 +5200,7 @@ function InnerCircle({
5208
5200
  backgroundColor: "kitt.forms.radio.innerCircle.backgroundColor",
5209
5201
  _web: {
5210
5202
  style: {
5211
- transform: sharedTransform,
5203
+ transform: `scale(${isChecked ? 1 : 0}))`,
5212
5204
  transitionProperty: 'all',
5213
5205
  transitionDuration: theme.kitt.forms.radio.transition.duration,
5214
5206
  transitionTimingFunction: theme.kitt.forms.radio.transition.timingFunction
@@ -5312,7 +5304,7 @@ const Radio = /*#__PURE__*/react.forwardRef(({
5312
5304
  return /*#__PURE__*/jsxRuntime.jsx(Pressable, {
5313
5305
  ref: ref,
5314
5306
  testID: testID,
5315
- nativeID: id,
5307
+ id: id,
5316
5308
  disabled: disabled,
5317
5309
  accessibilityRole: "radio",
5318
5310
  "aria-checked": checked,
@@ -5988,9 +5980,7 @@ function AnimatedScale({
5988
5980
  transitionTimingFunction: timingFunction,
5989
5981
  /* Simplifies the animation to just the front of the object – avoid blurry scale */
5990
5982
  backfaceVisibility: 'hidden',
5991
- transform: [{
5992
- scale: isDisabled ? 1 : currentScale
5993
- }]
5983
+ transform: `scale(${isDisabled ? 1 : currentScale})`
5994
5984
  }
5995
5985
  },
5996
5986
  children: children
@@ -6023,7 +6013,7 @@ function IconButton({
6023
6013
  color = 'black',
6024
6014
  disabled,
6025
6015
  testID,
6026
- accessibilityLabel,
6016
+ ariaLabel,
6027
6017
  accessibilityRole = 'button',
6028
6018
  isHoveredInternal,
6029
6019
  isPressedInternal,
@@ -6041,14 +6031,12 @@ function IconButton({
6041
6031
  disabled: disabled,
6042
6032
  width: "kitt.iconButton.width",
6043
6033
  height: "kitt.iconButton.height",
6044
- accessibilityLabel: accessibilityLabel,
6034
+ "aria-label": ariaLabel,
6045
6035
  accessibilityRole: accessibilityRole,
6046
6036
  _web: {
6047
6037
  style: {
6048
6038
  backfaceVisibility: 'hidden',
6049
- transform: [{
6050
- translate3d: '0'
6051
- }]
6039
+ transform: 'translate3d(0px)'
6052
6040
  }
6053
6041
  },
6054
6042
  borderRadius: "kitt.iconButton.borderRadius",
@@ -8582,9 +8570,8 @@ function Picker({
8582
8570
  paddingY: isOpen ? 'kitt.2' : undefined,
8583
8571
  _web: {
8584
8572
  style: {
8585
- transform: [{
8586
- translate3d: `${tooltipX}px, ${tooltipY}px, 0`
8587
- }],
8573
+ transform: `translate3d(${tooltipX}px, ${tooltipY}px, 0)`,
8574
+ visibility: isOpen ? 'visible' : 'hidden',
8588
8575
  transitionDuration: '300ms',
8589
8576
  transitionProperty: 'opacity, padding',
8590
8577
  transitionTimingFunction: 'ease-in-out'
@@ -8597,9 +8584,7 @@ function Picker({
8597
8584
  shadow: "kitt.picker.web.optionsContainer.shadow",
8598
8585
  _web: {
8599
8586
  style: {
8600
- transform: [{
8601
- translateY: isOpen ? 0 : 8
8602
- }],
8587
+ transform: `translateY(${isOpen ? 0 : 8})`,
8603
8588
  visibility: isOpen ? 'visible' : 'hidden',
8604
8589
  transitionDuration: '300ms',
8605
8590
  transitionTimingFunction: 'ease-in-out'
@@ -9531,9 +9516,6 @@ const Arrow = /*#__PURE__*/react.forwardRef(({
9531
9516
  display
9532
9517
  }, ref) => {
9533
9518
  const theme = useTheme();
9534
- const transformStyle = [{
9535
- rotate: position === 'bottom' ? '180deg' : '0deg'
9536
- }];
9537
9519
  return /*#__PURE__*/jsxRuntime.jsx(View, {
9538
9520
  ref: ref,
9539
9521
  display: display || {
@@ -9545,7 +9527,7 @@ const Arrow = /*#__PURE__*/react.forwardRef(({
9545
9527
  left: left,
9546
9528
  top: top,
9547
9529
  style: {
9548
- transform: transformStyle
9530
+ transform: `rotate(${position === 'bottom' ? '180deg' : '0deg'})`
9549
9531
  },
9550
9532
  children: /*#__PURE__*/jsxRuntime.jsx(SvgArrowinline, {
9551
9533
  color: theme.kitt.tooltip.backgroundColor,
@@ -9709,7 +9691,7 @@ function Tooltip({
9709
9691
  }), /*#__PURE__*/jsxRuntime.jsx(reactPortal.Portal, {
9710
9692
  children: /*#__PURE__*/jsxRuntime.jsx(View, {
9711
9693
  ref: floating,
9712
- accessibilityHidden: !isVisible,
9694
+ "aria-hidden": !isVisible,
9713
9695
  paddingX: {
9714
9696
  base: 'kitt.4',
9715
9697
  small: 0
@@ -9723,16 +9705,16 @@ function Tooltip({
9723
9705
  small: 'kitt.tooltip.maxWidth'
9724
9706
  },
9725
9707
  opacity: isVisible ? 'kitt.tooltip.opacity' : 0,
9726
- pointerEvents: isVisible || isCursorOnTooltip ? 'auto' : 'none',
9708
+ style: {
9709
+ pointerEvents: isVisible || isCursorOnTooltip ? 'auto' : 'none'
9710
+ },
9727
9711
  position: strategy,
9728
9712
  zIndex: zIndex,
9729
9713
  top: 0,
9730
9714
  left: 0,
9731
9715
  _web: {
9732
9716
  style: {
9733
- transform: [{
9734
- translate3d: isBase && !fullWidth ? `0, ${tooltipY}px, 0` : `${tooltipX}px, ${tooltipY}px, 0`
9735
- }],
9717
+ transform: `translate3d(${isBase && !fullWidth ? `0, ${tooltipY}px, 0` : `${tooltipX}px, ${tooltipY}px, 0`})`,
9736
9718
  visibility: isVisible ? 'visible' : 'hidden',
9737
9719
  transitionDuration,
9738
9720
  transitionProperty: theme.kitt.tooltip.transition[themePart].property,
@@ -9746,9 +9728,7 @@ function Tooltip({
9746
9728
  children: /*#__PURE__*/jsxRuntime.jsxs(View, {
9747
9729
  _web: {
9748
9730
  style: {
9749
- transform: [{
9750
- scale: isVisible ? 1 : 0.8
9751
- }],
9731
+ transform: `scale(${isVisible ? 1 : 0.8})`,
9752
9732
  transitionDuration: isVisible ? '0' : transitionDuration,
9753
9733
  transitionProperty: 'all',
9754
9734
  transitionTimingFunction,
@@ -9846,7 +9826,6 @@ function TypographyEmoji({
9846
9826
  emoji: emoji,
9847
9827
  alignSelf: "center",
9848
9828
  _web: {
9849
- // @ts-expect-error -- transform expects number, but string works on web
9850
9829
  style: {
9851
9830
  transform: 'translateY(20%)'
9852
9831
  },