@arco-design/mobile-react 2.30.0 → 2.30.1

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 (67) hide show
  1. package/CHANGELOG.md +12 -0
  2. package/README.en-US.md +2 -2
  3. package/README.md +2 -2
  4. package/cjs/carousel/index.js +3 -1
  5. package/cjs/context-provider/index.d.ts +5 -1
  6. package/cjs/context-provider/index.js +10 -3
  7. package/cjs/dialog/demo/style/css/mobile.css +2 -1
  8. package/cjs/dialog/demo/style/mobile.less +2 -1
  9. package/cjs/form/form-item.js +15 -7
  10. package/cjs/form/type.d.ts +3 -2
  11. package/cjs/form/utils.d.ts +1 -0
  12. package/cjs/form/utils.js +6 -2
  13. package/cjs/input/demo/style/css/mobile.css +25 -7
  14. package/cjs/input/demo/style/mobile.less +32 -7
  15. package/cjs/nav-bar/style/css/index.css +1 -1
  16. package/cjs/notify/demo/style/css/mobile.css +5 -1
  17. package/cjs/notify/demo/style/mobile.less +9 -1
  18. package/cjs/popover/demo/style/css/mobile.css +6 -2
  19. package/cjs/popover/demo/style/mobile.less +12 -2
  20. package/cjs/tabs/demo/style/css/mobile.css +6 -2
  21. package/cjs/tabs/demo/style/mobile.less +7 -1
  22. package/cjs/tabs/style/css/index.css +1 -1
  23. package/dist/index.js +36 -15
  24. package/dist/index.min.js +1 -1
  25. package/esm/carousel/index.js +3 -1
  26. package/esm/context-provider/index.d.ts +5 -1
  27. package/esm/context-provider/index.js +11 -4
  28. package/esm/dialog/demo/style/css/mobile.css +2 -1
  29. package/esm/dialog/demo/style/mobile.less +2 -1
  30. package/esm/form/form-item.js +15 -7
  31. package/esm/form/type.d.ts +3 -2
  32. package/esm/form/utils.d.ts +1 -0
  33. package/esm/form/utils.js +6 -2
  34. package/esm/input/demo/style/css/mobile.css +25 -7
  35. package/esm/input/demo/style/mobile.less +32 -7
  36. package/esm/nav-bar/style/css/index.css +1 -1
  37. package/esm/notify/demo/style/css/mobile.css +5 -1
  38. package/esm/notify/demo/style/mobile.less +9 -1
  39. package/esm/popover/demo/style/css/mobile.css +6 -2
  40. package/esm/popover/demo/style/mobile.less +12 -2
  41. package/esm/tabs/demo/style/css/mobile.css +6 -2
  42. package/esm/tabs/demo/style/mobile.less +7 -1
  43. package/esm/tabs/style/css/index.css +1 -1
  44. package/package.json +3 -3
  45. package/tokens/app/arcodesign/default/css-variables.less +4 -4
  46. package/tokens/app/arcodesign/default/index.js +4 -4
  47. package/tokens/app/arcodesign/default/index.json +10 -10
  48. package/tokens/app/arcodesign/default/index.less +4 -4
  49. package/umd/carousel/index.js +3 -1
  50. package/umd/context-provider/index.d.ts +5 -1
  51. package/umd/context-provider/index.js +10 -3
  52. package/umd/dialog/demo/style/css/mobile.css +2 -1
  53. package/umd/dialog/demo/style/mobile.less +2 -1
  54. package/umd/form/form-item.js +15 -7
  55. package/umd/form/type.d.ts +3 -2
  56. package/umd/form/utils.d.ts +1 -0
  57. package/umd/form/utils.js +6 -2
  58. package/umd/input/demo/style/css/mobile.css +25 -7
  59. package/umd/input/demo/style/mobile.less +32 -7
  60. package/umd/nav-bar/style/css/index.css +1 -1
  61. package/umd/notify/demo/style/css/mobile.css +5 -1
  62. package/umd/notify/demo/style/mobile.less +9 -1
  63. package/umd/popover/demo/style/css/mobile.css +6 -2
  64. package/umd/popover/demo/style/mobile.less +12 -2
  65. package/umd/tabs/demo/style/css/mobile.css +6 -2
  66. package/umd/tabs/demo/style/mobile.less +7 -1
  67. package/umd/tabs/style/css/index.css +1 -1
@@ -722,7 +722,9 @@ var Carousel = /*#__PURE__*/forwardRef(function (props, ref) {
722
722
  // @en When noLoop is used, the blank space of spaceBetween needs to be exposed at the end, so when sliding to the last one, the transform value moves to the left by the corresponding width
723
723
 
724
724
  var translateDis = noLoop ? noLoopDis - (total > 1 && index === total - 1 ? spaceBetween : 0) * rtlRatio : dis;
725
- var transStr = childSize > 0 ? translateDis + "px" : "-" + index * 100 + "%";
725
+ var initTranslateDis = -1 * index * 100; // bugfix: prop `style` did not match in ssr
726
+
727
+ var transStr = childSize > 0 ? "" + translateDis + (translateDis ? 'px' : '') : "" + initTranslateDis + (initTranslateDis ? '%' : '');
726
728
 
727
729
  if (vertical) {
728
730
  var _translateStyle = getStyleWithVendor({
@@ -47,11 +47,15 @@ export interface GlobalContextParams {
47
47
  * @default false
48
48
  */
49
49
  useRtl?: boolean;
50
+ /**
51
+ * 当系统原生暗黑模式发生变化时触发,useDarkMode=true 时有效
52
+ * @en Triggered when the system's native dark mode changes, valid when useDarkMode=true
53
+ */
54
+ onDarkModeChange?: (isDark: boolean) => void;
50
55
  }
51
56
  export declare const defaultContext: GlobalContextParams;
52
57
  export declare const GlobalContext: React.Context<GlobalContextParams>;
53
58
  export interface ContextProviderProps extends GlobalContextParams {
54
- onDarkModeChange?: (isDark: boolean) => void;
55
59
  children: React.ReactNode;
56
60
  }
57
61
  export declare type WithGlobalContext<T> = T & {
@@ -2,7 +2,7 @@ import _extends from "@babel/runtime/helpers/extends";
2
2
  import _objectWithoutPropertiesLoose from "@babel/runtime/helpers/objectWithoutPropertiesLoose";
3
3
  var _excluded = ["children", "useDarkMode", "isDarkMode", "darkModeSelector", "theme", "locale", "onDarkModeChange"],
4
4
  _excluded2 = ["context"];
5
- import React, { createContext, useState, useEffect, useCallback, useMemo } from 'react';
5
+ import React, { createContext, useState, useEffect, useCallback, useMemo, useRef } from 'react';
6
6
  import { addCssRules, removeCssStyleDom, defaultLocale } from '@arco-design/mobile-utils';
7
7
  var DEFAULT_DARK_MODE_SELECTOR = 'arco-theme-dark';
8
8
  export var defaultContext = {
@@ -45,9 +45,15 @@ export default function ContextProvider(props) {
45
45
  isDarkModeState = _useState[0],
46
46
  setIsDarkModeState = _useState[1];
47
47
 
48
- var setDarkModeState = function setDarkModeState(isDark) {
48
+ var mountedRef = useRef(false);
49
+
50
+ var setDarkModeState = function setDarkModeState(isDark, needChange) {
51
+ if (needChange === void 0) {
52
+ needChange = true;
53
+ }
54
+
49
55
  setIsDarkModeState(isDark);
50
- onDarkModeChange && onDarkModeChange(isDark);
56
+ needChange && onDarkModeChange && onDarkModeChange(isDark);
51
57
  };
52
58
 
53
59
  var isDarkMode = useMemo(function () {
@@ -76,7 +82,7 @@ export default function ContextProvider(props) {
76
82
 
77
83
  if (useDarkMode) {
78
84
  var dark = matchMedia.matches;
79
- setDarkModeState(dark);
85
+ setDarkModeState(dark, mountedRef.current);
80
86
 
81
87
  if (typeof matchMedia.addEventListener === 'function') {
82
88
  matchMedia.addEventListener('change', changeDarkMode);
@@ -85,6 +91,7 @@ export default function ContextProvider(props) {
85
91
  }
86
92
  }
87
93
 
94
+ mountedRef.current = true;
88
95
  return function () {
89
96
  if (useDarkMode) {
90
97
  if (typeof matchMedia.removeEventListener === 'function') {
@@ -509,7 +509,7 @@
509
509
  padding: 0.16rem 0.24rem;
510
510
  font-size: 0.28rem;
511
511
  line-height: 0.4rem;
512
- background-color: #F2F3F5;
512
+ background-color: #F7F8FA ;
513
513
  width: 100%;
514
514
  caret-color: #165DFF ;
515
515
  }
@@ -536,6 +536,7 @@
536
536
  color: #929293 ;
537
537
  }
538
538
  .arco-theme-dark .dialog-input-demo-input {
539
+ background-color: hsla(0, 0%, 100%, 0.08) ;
539
540
  caret-color: #3C7EFF ;
540
541
  }
541
542
  .arco-theme-dark .dialog-input-demo-hint {
@@ -17,7 +17,7 @@
17
17
  .rem(padding, 8, 12);
18
18
  .rem(font-size, 14);
19
19
  .rem(line-height, 20);
20
- background-color: #F2F3F5;
20
+ .use-var(background-color, card-background-color);
21
21
  width: 100%;
22
22
  .use-var(caret-color, primary-color);
23
23
  }
@@ -59,6 +59,7 @@
59
59
  .dialog-input-demo {
60
60
  &-input {
61
61
  @{arco-dark-mode-selector} & {
62
+ .use-var(background-color, dark-card-background-color);
62
63
  .use-var(caret-color, dark-primary-color);
63
64
  }
64
65
  }
@@ -70,12 +70,14 @@ var FormItemInner = /*#__PURE__*/function (_PureComponent) {
70
70
  fieldValidator.validate((_fieldValidator$valid = {}, _fieldValidator$valid[field] = value, _fieldValidator$valid), function (errorsMap) {
71
71
  var _getErrorAndWarnings = getErrorAndWarnings((errorsMap == null ? void 0 : errorsMap[field]) || []),
72
72
  errors = _getErrorAndWarnings.errors,
73
- warnings = _getErrorAndWarnings.warnings;
73
+ warnings = _getErrorAndWarnings.warnings,
74
+ errorTypes = _getErrorAndWarnings.errorTypes;
74
75
 
75
76
  _this._errors = errors;
76
77
  onValidateStatusChange({
77
78
  errors: _this._errors,
78
- warnings: warnings
79
+ warnings: warnings,
80
+ errorTypes: errorTypes
79
81
  });
80
82
  return resolve({
81
83
  errors: _this._errors,
@@ -319,16 +321,22 @@ export default /*#__PURE__*/forwardRef(function (props, ref) {
319
321
  errors = _useState[0],
320
322
  setErrors = _useState[1];
321
323
 
322
- var _useState2 = useState([]),
323
- warnings = _useState2[0],
324
- setWarnings = _useState2[1];
324
+ var _useState2 = useState(null),
325
+ errorTypes = _useState2[0],
326
+ setErrorTypes = _useState2[1];
327
+
328
+ var _useState3 = useState([]),
329
+ warnings = _useState3[0],
330
+ setWarnings = _useState3[1];
325
331
 
326
332
  var formItemRef = useRef(null);
327
333
 
328
334
  var onValidateStatusChange = function onValidateStatusChange(validateResult) {
329
335
  var _errors = validateResult.errors,
330
- _warnings = validateResult.warnings;
336
+ _warnings = validateResult.warnings,
337
+ _errorTypes = validateResult.errorTypes;
331
338
  setErrors(_errors.length ? _errors[0] : null);
339
+ setErrorTypes(_errorTypes.length ? _errorTypes[0] : null);
332
340
  setWarnings(_warnings);
333
341
  };
334
342
 
@@ -350,7 +358,7 @@ export default /*#__PURE__*/forwardRef(function (props, ref) {
350
358
  return /*#__PURE__*/React.createElement("div", {
351
359
  className: cls(prefixCls + "-form-item", prefixCls + "-form-item-" + (itemLayout || layout), className, (_cls = {
352
360
  disabled: fieldDisabled
353
- }, _cls[prefixCls + "-form-item-error"] = !!errors, _cls[prefixCls + "-form-item-warning"] = Boolean(!errors && warnings), _cls)),
361
+ }, _cls[prefixCls + "-form-item-error"] = !!errors, _cls[prefixCls + "-form-item-warning"] = Boolean(!errors && warnings), _cls[prefixCls + "-form-item-error-" + errorTypes] = errorTypes, _cls)),
354
362
  style: style,
355
363
  ref: formItemRef
356
364
  }, /*#__PURE__*/React.createElement("div", {
@@ -344,8 +344,9 @@ export interface IFormItemInnerProps {
344
344
  * @en The callback when validating status changes
345
345
  */
346
346
  onValidateStatusChange: (data: {
347
- errors: any;
348
- warnings: any;
347
+ errors: ReactNode[];
348
+ warnings: ReactNode[];
349
+ errorTypes: string[];
349
350
  }) => void;
350
351
  /**
351
352
  * 获取内部表单项的dom
@@ -3,4 +3,5 @@ export declare const isFieldRequired: (rules?: IRules[]) => boolean;
3
3
  export declare const getErrorAndWarnings: (result: ValidatorError[]) => {
4
4
  warnings: string[];
5
5
  errors: string[];
6
+ errorTypes: string[];
6
7
  };
package/esm/form/utils.js CHANGED
@@ -10,11 +10,13 @@ export var isFieldRequired = function isFieldRequired(rules) {
10
10
  export var getErrorAndWarnings = function getErrorAndWarnings(result) {
11
11
  var errors = [];
12
12
  var warnings = [];
13
+ var errorTypes = [];
13
14
  result.map(function (_ref) {
14
15
  var _ref$message = _ref.message,
15
16
  message = _ref$message === void 0 ? [] : _ref$message,
16
17
  _ref$validateLevel = _ref.validateLevel,
17
- validateLevel = _ref$validateLevel === void 0 ? 'error' : _ref$validateLevel;
18
+ validateLevel = _ref$validateLevel === void 0 ? 'error' : _ref$validateLevel,
19
+ resultErrorTypes = _ref.errorTypes;
18
20
 
19
21
  if (!(message != null && message.length)) {
20
22
  return;
@@ -24,10 +26,12 @@ export var getErrorAndWarnings = function getErrorAndWarnings(result) {
24
26
  warnings = [].concat(warnings, message);
25
27
  } else {
26
28
  errors = [].concat(errors, message);
29
+ errorTypes = [].concat(errorTypes, resultErrorTypes);
27
30
  }
28
31
  });
29
32
  return {
30
33
  warnings: warnings,
31
- errors: errors
34
+ errors: errors,
35
+ errorTypes: errorTypes
32
36
  };
33
37
  };
@@ -509,23 +509,23 @@
509
509
  }
510
510
  #demo-input .demo-input-maxlength {
511
511
  font-size: 0.28rem;
512
- color: #86909c;
512
+ color: #86909c ;
513
513
  }
514
514
  #demo-input .demo-input-maxlength.error {
515
- color: #f53f3f;
515
+ color: #F53F3F ;
516
516
  }
517
517
  #demo-input .demo-input-red-placeholder {
518
- caret-color: #f53f3f;
518
+ caret-color: #F53F3F ;
519
519
  }
520
520
  #demo-input .demo-input-red-placeholder::-webkit-input-placeholder {
521
- color: #f53f3f;
521
+ color: #F53F3F ;
522
522
  }
523
523
  #demo-input .demo-input-red-placeholder::placeholder {
524
- color: #f53f3f;
524
+ color: #F53F3F ;
525
525
  }
526
526
  #demo-input .demo-input-error-hint {
527
527
  font-size: 0.24rem;
528
- color: #f53f3f;
528
+ color: #F53F3F ;
529
529
  padding: 0 0 0.32rem 2.08rem;
530
530
  margin-top: -0.16rem;
531
531
  }
@@ -579,6 +579,24 @@
579
579
  color: #929293 ;
580
580
  }
581
581
  .arco-theme-dark #demo-input .arco-input-container {
582
- background: #17171A ;
582
+ background: #232324 ;
583
+ }
584
+ .arco-theme-dark #demo-input .demo-input-maxlength {
585
+ color: #929293 ;
586
+ }
587
+ .arco-theme-dark #demo-input .demo-input-maxlength.error {
588
+ color: #F76965 ;
589
+ }
590
+ .arco-theme-dark #demo-input .demo-input-red-placeholder {
591
+ caret-color: #F76965 ;
592
+ }
593
+ .arco-theme-dark #demo-input .demo-input-red-placeholder::-webkit-input-placeholder {
594
+ color: #F76965 ;
595
+ }
596
+ .arco-theme-dark #demo-input .demo-input-red-placeholder::placeholder {
597
+ color: #F76965 ;
598
+ }
599
+ .arco-theme-dark #demo-input .demo-input-error-hint {
600
+ color: #F76965 ;
583
601
  }
584
602
  /********************* End *************************/
@@ -8,7 +8,7 @@
8
8
  background: transparent;
9
9
  }
10
10
  .@{prefix}-input-container {
11
- .use-var(background, background-color);
11
+ .use-var(background, cell-background-color);
12
12
 
13
13
  &:not(:first-of-type) {
14
14
  .rem(margin-top, 8);
@@ -17,24 +17,24 @@
17
17
 
18
18
  .demo-input-maxlength {
19
19
  .rem(font-size, 14);
20
- color: #86909c;
20
+ .use-var(color, sub-info-font-color);
21
21
 
22
22
  &.error {
23
- color: #f53f3f;
23
+ .use-var(color, danger-color);
24
24
  }
25
25
  }
26
26
 
27
27
  .demo-input-red-placeholder {
28
- caret-color: #f53f3f;
28
+ .use-var(caret-color, danger-color);
29
29
 
30
30
  &::placeholder {
31
- color: #f53f3f;
31
+ .use-var(color, danger-color);
32
32
  }
33
33
  }
34
34
 
35
35
  .demo-input-error-hint {
36
36
  .rem(font-size, 12);
37
- color: #f53f3f;
37
+ .use-var(color, danger-color);
38
38
  .rem(padding, 0, 0, 16, 104);
39
39
  .rem(margin-top, -8);
40
40
 
@@ -99,7 +99,32 @@
99
99
  #demo-input {
100
100
  .@{prefix}-input-container {
101
101
  @{arco-dark-mode-selector} & {
102
- .use-var(background, dark-background-color);
102
+ .use-var(background, dark-cell-background-color);
103
+ }
104
+ }
105
+ .demo-input-maxlength {
106
+ @{arco-dark-mode-selector} & {
107
+ .use-var(color, dark-sub-info-font-color);
108
+ }
109
+ &.error {
110
+ @{arco-dark-mode-selector} & {
111
+ .use-var(color, dark-danger-color);
112
+ }
113
+ }
114
+ }
115
+ .demo-input-red-placeholder {
116
+ @{arco-dark-mode-selector} & {
117
+ .use-var(caret-color, dark-danger-color);
118
+ }
119
+ &::placeholder {
120
+ @{arco-dark-mode-selector} & {
121
+ .use-var(color, dark-danger-color);
122
+ }
123
+ }
124
+ }
125
+ .demo-input-error-hint {
126
+ @{arco-dark-mode-selector} & {
127
+ .use-var(color, dark-danger-color);
103
128
  }
104
129
  }
105
130
  }
@@ -650,7 +650,7 @@
650
650
  }
651
651
  .arco-theme-dark .arco-nav-bar {
652
652
  color: #f6f6f6 ;
653
- background: #232324 ;
653
+ background: #17171A ;
654
654
  }
655
655
  .arco-theme-dark .arco-nav-bar-wrapper.arco-nav-bar-wrapper-border {
656
656
  position: relative;
@@ -512,7 +512,8 @@
512
512
  padding: 0 0.32rem;
513
513
  height: 0.72rem;
514
514
  color: inherit;
515
- border: 0.5px solid #e5e6eb;
515
+ border: 0.5px solid;
516
+ border-color: #e5e6eb ;
516
517
  display: -webkit-box;
517
518
  display: -webkit-flex;
518
519
  display: flex;
@@ -538,4 +539,7 @@
538
539
  background: #2e2e30 ;
539
540
  color: #929293 ;
540
541
  }
542
+ .arco-theme-dark #demo-notify .notify-custom-content {
543
+ border-color: #484849 ;
544
+ }
541
545
  /********************* End *************************/
@@ -17,7 +17,8 @@
17
17
  .rem(padding, 0, 16);
18
18
  .rem(height, 36);
19
19
  color: inherit;
20
- border: 0.5px solid #e5e6eb;
20
+ border: 0.5px solid;
21
+ .use-var(border-color, line-color);
21
22
  display: flex;
22
23
  justify-content: center;
23
24
  align-items: center;
@@ -48,5 +49,12 @@
48
49
  .use-var(color, dark-sub-info-font-color);
49
50
  }
50
51
  }
52
+ #demo-notify {
53
+ .notify-custom-content {
54
+ @{arco-dark-mode-selector} & {
55
+ .use-var(border-color, dark-line-color);
56
+ }
57
+ }
58
+ }
51
59
  }
52
60
  /********************* End *************************/
@@ -605,9 +605,9 @@
605
605
  justify-content: center;
606
606
  width: 64px;
607
607
  height: 24px;
608
- background: #fff;
608
+ background-color: #FFFFFF ;
609
609
  border-radius: 40px;
610
- color: #1d2129;
610
+ color: #1d2129 ;
611
611
  font-size: 12px;
612
612
  }
613
613
  #demo-popover .custom-demo-wrapper {
@@ -642,4 +642,8 @@
642
642
  background: #2e2e30 ;
643
643
  color: #929293 ;
644
644
  }
645
+ .arco-theme-dark #demo-popover .suffix-demo-wrapper .custom-suffix-btn {
646
+ background-color: #232324 ;
647
+ color: #f6f6f6 ;
648
+ }
645
649
  /********************* End *************************/
@@ -78,9 +78,9 @@
78
78
  justify-content: center;
79
79
  width: 64px;
80
80
  height: 24px;
81
- background: #fff;
81
+ .use-var(background-color, container-background-color);
82
82
  border-radius: 40px;
83
- color: #1d2129;
83
+ .use-var(color, font-color);
84
84
  font-size: 12px;
85
85
  }
86
86
  }
@@ -121,5 +121,15 @@
121
121
  .use-var(color, dark-sub-info-font-color);
122
122
  }
123
123
  }
124
+ #demo-popover {
125
+ .suffix-demo-wrapper {
126
+ .custom-suffix-btn {
127
+ @{arco-dark-mode-selector} & {
128
+ .use-var(background-color, dark-container-background-color);
129
+ .use-var(color, dark-font-color);
130
+ }
131
+ }
132
+ }
133
+ }
124
134
  }
125
135
  /********************* End *************************/
@@ -496,6 +496,7 @@
496
496
  */
497
497
  #demo-tabs .arcodesign-mobile-demo-content {
498
498
  padding: 0;
499
+ background: #FFFFFF ;
499
500
  }
500
501
  #demo-tabs .demo-tab-content {
501
502
  display: -webkit-box;
@@ -551,8 +552,8 @@
551
552
  transform: rotate(180deg);
552
553
  }
553
554
  .arco-theme-dark #demo-tabs .demo-tabs-add-extra {
554
- background: -webkit-linear-gradient(right, #232324 66.04%, rgba(35, 35, 36, 0) 105%);
555
- background: linear-gradient(270deg, #232324 66.04%, rgba(35, 35, 36, 0) 105%);
555
+ background: -webkit-linear-gradient(right, #17171A 66.04%, rgba(23, 23, 26, 0) 105%);
556
+ background: linear-gradient(270deg, #17171A 66.04%, rgba(23, 23, 26, 0) 105%);
556
557
  }
557
558
  #demo-tabs .demo-tab-custom-bar .arco-tab-cell-container-wrap {
558
559
  height: 1.52rem;
@@ -603,6 +604,9 @@
603
604
  background: #2e2e30 ;
604
605
  color: #929293 ;
605
606
  }
607
+ .arco-theme-dark #demo-tabs .arcodesign-mobile-demo-content {
608
+ background: #17171A ;
609
+ }
606
610
  .arco-theme-dark #demo-tabs .demo-tab-content {
607
611
  color: #929293 ;
608
612
  }
@@ -4,6 +4,7 @@
4
4
 
5
5
  .arcodesign-mobile-demo-content {
6
6
  padding: 0;
7
+ .use-var(background, background-color);
7
8
  }
8
9
 
9
10
  .demo-tab-content {
@@ -41,7 +42,7 @@
41
42
  transform: rotate(180deg);
42
43
  }
43
44
  .arco-theme-dark & {
44
- background: linear-gradient(270deg, @dark-container-background-color 66.04%, rgba(@dark-container-background-color, 0) 105%);
45
+ background: linear-gradient(270deg, @dark-background-color 66.04%, rgba(@dark-background-color, 0) 105%);
45
46
  }
46
47
  }
47
48
 
@@ -118,6 +119,11 @@
118
119
  }
119
120
  }
120
121
  #demo-tabs {
122
+ .arcodesign-mobile-demo-content {
123
+ @{arco-dark-mode-selector} & {
124
+ .use-var(background, dark-background-color);
125
+ }
126
+ }
121
127
  .demo-tab-content {
122
128
  @{arco-dark-mode-selector} & {
123
129
  .use-var(color, dark-sub-info-font-color);
@@ -1052,7 +1052,7 @@
1052
1052
  color: #f6f6f6 ;
1053
1053
  }
1054
1054
  .arco-theme-dark .arco-tab-cell-container-wrap {
1055
- background: #232324 ;
1055
+ background: #17171A ;
1056
1056
  }
1057
1057
  .arco-theme-dark .arco-tab-cell-container-inner.has-divider.pos-top {
1058
1058
  box-shadow: 0 -1PX 0 0 #484849 inset;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@arco-design/mobile-react",
3
- "version": "2.30.0",
3
+ "version": "2.30.1",
4
4
  "description": "",
5
5
  "main": "cjs/index.js",
6
6
  "module": "esm/index.js",
@@ -15,7 +15,7 @@
15
15
  "author": "taoyiyue@bytedance.com",
16
16
  "license": "ISC",
17
17
  "dependencies": {
18
- "@arco-design/mobile-utils": "2.17.0",
18
+ "@arco-design/mobile-utils": "2.17.1",
19
19
  "@arco-design/transformable": "^1.0.0",
20
20
  "lodash.throttle": "^4.1.1",
21
21
  "resize-observer-polyfill": "^1.5.1"
@@ -49,5 +49,5 @@
49
49
  "publishConfig": {
50
50
  "access": "public"
51
51
  },
52
- "gitHead": "1fcfc18668d480891d2fc6052b4dc2d84557e97e"
52
+ "gitHead": "219839170a2387d4b13338636023b9177073fba7"
53
53
  }
@@ -272,8 +272,8 @@
272
272
  --checkbox-text-disabled-opacity: 0.5;
273
273
  --checkbox-group-gutter: ~`pxtorem(24)`;
274
274
  --tabs-tab-bar-font-size: ~`pxtorem(15)`;
275
- --dark-tabs-tab-bar-background: var(--dark-container-background-color);
276
- --tabs-tab-bar-background: var(--container-background-color);
275
+ --dark-tabs-tab-bar-background: var(--dark-background-color);
276
+ --tabs-tab-bar-background: var(--background-color);
277
277
  --tabs-tab-bar-height: ~`pxtorem(42)`;
278
278
  --tabs-tab-bar-width: ~`pxtorem(78)`;
279
279
  --tabs-tab-bar-horizontal-height: ~`pxtorem(54)`;
@@ -318,8 +318,8 @@
318
318
  --nav-bar-height: ~`pxtorem(44)`;
319
319
  --dark-nav-bar-bottom-border-color: var(--dark-line-color);
320
320
  --nav-bar-bottom-border-color: var(--line-color);
321
- --dark-nav-bar-background: var(--dark-container-background-color);
322
- --nav-bar-background: var(--container-background-color);
321
+ --dark-nav-bar-background: var(--dark-background-color);
322
+ --nav-bar-background: var(--background-color);
323
323
  --dark-nav-bar-font-color: var(--dark-font-color);
324
324
  --nav-bar-font-color: var(--font-color);
325
325
  --nav-bar-two-sides-font-size: ~`pxtorem(16)`;
@@ -283,8 +283,8 @@ var tokens = {
283
283
  "checkbox-text-disabled-opacity": "0.5",
284
284
  "checkbox-group-gutter": "0.48rem",
285
285
  "tabs-tab-bar-font-size": "0.3rem",
286
- "dark-tabs-tab-bar-background": "var(--dark-container-background-color)",
287
- "tabs-tab-bar-background": "var(--container-background-color)",
286
+ "dark-tabs-tab-bar-background": "var(--dark-background-color)",
287
+ "tabs-tab-bar-background": "var(--background-color)",
288
288
  "tabs-tab-bar-height": "0.84rem",
289
289
  "tabs-tab-bar-width": "1.56rem",
290
290
  "tabs-tab-bar-horizontal-height": "1.08rem",
@@ -329,8 +329,8 @@ var tokens = {
329
329
  "nav-bar-height": "0.88rem",
330
330
  "dark-nav-bar-bottom-border-color": "var(--dark-line-color)",
331
331
  "nav-bar-bottom-border-color": "var(--line-color)",
332
- "dark-nav-bar-background": "var(--dark-container-background-color)",
333
- "nav-bar-background": "var(--container-background-color)",
332
+ "dark-nav-bar-background": "var(--dark-background-color)",
333
+ "nav-bar-background": "var(--background-color)",
334
334
  "dark-nav-bar-font-color": "var(--dark-font-color)",
335
335
  "nav-bar-font-color": "var(--font-color)",
336
336
  "nav-bar-two-sides-font-size": "0.32rem",
@@ -3239,9 +3239,9 @@
3239
3239
  "cssKey": "dark-nav-bar-background",
3240
3240
  "desc": "",
3241
3241
  "override": "",
3242
- "value": "@dark-container-background-color",
3243
- "jsValue": "@global@darkContainerBackgroundColor",
3244
- "staticValue": "#232324"
3242
+ "value": "@dark-background-color",
3243
+ "jsValue": "@global@darkBackgroundColor",
3244
+ "staticValue": "#17171A"
3245
3245
  },
3246
3246
  "darkNavBarBottomBorderColor": {
3247
3247
  "cssKey": "dark-nav-bar-bottom-border-color",
@@ -4063,9 +4063,9 @@
4063
4063
  "cssKey": "dark-tabs-tab-bar-background",
4064
4064
  "desc": "",
4065
4065
  "override": "",
4066
- "value": "@dark-container-background-color",
4067
- "jsValue": "@global@darkContainerBackgroundColor",
4068
- "staticValue": "#232324"
4066
+ "value": "@dark-background-color",
4067
+ "jsValue": "@global@darkBackgroundColor",
4068
+ "staticValue": "#17171A"
4069
4069
  },
4070
4070
  "darkTabsTabBarCardColor": {
4071
4071
  "cssKey": "dark-tabs-tab-bar-card-color",
@@ -6737,8 +6737,8 @@
6737
6737
  "cssKey": "nav-bar-background",
6738
6738
  "desc": "navBar 背景色",
6739
6739
  "override": "",
6740
- "value": "@container-background-color",
6741
- "jsValue": "@global@containerBackgroundColor",
6740
+ "value": "@background-color",
6741
+ "jsValue": "@global@backgroundColor",
6742
6742
  "staticValue": "#FFFFFF",
6743
6743
  "localeDesc": {
6744
6744
  "ch": "navBar 背景色",
@@ -10709,8 +10709,8 @@
10709
10709
  "cssKey": "tabs-tab-bar-background",
10710
10710
  "desc": "tabs tabbar 背景色",
10711
10711
  "override": "tab-bar-background",
10712
- "value": "@container-background-color",
10713
- "jsValue": "@global@containerBackgroundColor",
10712
+ "value": "@background-color",
10713
+ "jsValue": "@global@backgroundColor",
10714
10714
  "staticValue": "#FFFFFF",
10715
10715
  "localeDesc": {
10716
10716
  "ch": "tabs tabbar 背景色",
@@ -271,8 +271,8 @@
271
271
  @checkbox-text-disabled-opacity: 0.5;
272
272
  @checkbox-group-gutter: ~`pxtorem(24)`;
273
273
  @tabs-tab-bar-font-size: ~`pxtorem(15)`;
274
- @dark-tabs-tab-bar-background: @dark-container-background-color;
275
- @tabs-tab-bar-background: @container-background-color;
274
+ @dark-tabs-tab-bar-background: @dark-background-color;
275
+ @tabs-tab-bar-background: @background-color;
276
276
  @tabs-tab-bar-height: ~`pxtorem(42)`;
277
277
  @tabs-tab-bar-width: ~`pxtorem(78)`;
278
278
  @tabs-tab-bar-horizontal-height: ~`pxtorem(54)`;
@@ -317,8 +317,8 @@
317
317
  @nav-bar-height: ~`pxtorem(44)`;
318
318
  @dark-nav-bar-bottom-border-color: @dark-line-color;
319
319
  @nav-bar-bottom-border-color: @line-color;
320
- @dark-nav-bar-background: @dark-container-background-color;
321
- @nav-bar-background: @container-background-color;
320
+ @dark-nav-bar-background: @dark-background-color;
321
+ @nav-bar-background: @background-color;
322
322
  @dark-nav-bar-font-color: @dark-font-color;
323
323
  @nav-bar-font-color: @font-color;
324
324
  @nav-bar-two-sides-font-size: ~`pxtorem(16)`;
@@ -742,7 +742,9 @@
742
742
  // @en When noLoop is used, the blank space of spaceBetween needs to be exposed at the end, so when sliding to the last one, the transform value moves to the left by the corresponding width
743
743
 
744
744
  var translateDis = noLoop ? noLoopDis - (total > 1 && index === total - 1 ? spaceBetween : 0) * rtlRatio : dis;
745
- var transStr = childSize > 0 ? translateDis + "px" : "-" + index * 100 + "%";
745
+ var initTranslateDis = -1 * index * 100; // bugfix: prop `style` did not match in ssr
746
+
747
+ var transStr = childSize > 0 ? "" + translateDis + (translateDis ? 'px' : '') : "" + initTranslateDis + (initTranslateDis ? '%' : '');
746
748
 
747
749
  if (vertical) {
748
750
  var _translateStyle = (0, _helpers.getStyleWithVendor)({