antd-mobile 5.28.0 → 5.28.2

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 (161) hide show
  1. package/2x/bundle/antd-mobile.cjs.development.js +341 -284
  2. package/2x/bundle/antd-mobile.cjs.js +10 -9
  3. package/2x/bundle/antd-mobile.es.development.js +341 -284
  4. package/2x/bundle/antd-mobile.es.js +4969 -4923
  5. package/2x/bundle/antd-mobile.umd.development.js +341 -284
  6. package/2x/bundle/antd-mobile.umd.js +10 -9
  7. package/2x/bundle/css-vars-patch.css +1 -0
  8. package/2x/bundle/style.css +9 -2
  9. package/2x/cjs/components/ellipsis/ellipsis.d.ts +1 -0
  10. package/2x/cjs/components/ellipsis/ellipsis.js +3 -2
  11. package/2x/cjs/components/nav-bar/nav-bar.d.ts +2 -2
  12. package/2x/cjs/components/popover/popover.css +1 -1
  13. package/2x/cjs/components/popover/popover.patch.css +1 -0
  14. package/2x/cjs/components/popup/popup.js +7 -1
  15. package/2x/cjs/components/pull-to-refresh/pull-to-refresh.js +15 -16
  16. package/2x/cjs/components/stepper/index.d.ts +1 -1
  17. package/2x/cjs/components/stepper/stepper.d.ts +4 -2
  18. package/2x/cjs/components/stepper/stepper.js +21 -3
  19. package/2x/cjs/components/steps/steps.css +0 -1
  20. package/2x/cjs/components/swiper/swiper.js +6 -3
  21. package/2x/cjs/components/text-area/text-area.css +8 -0
  22. package/2x/cjs/components/text-area/text-area.js +16 -3
  23. package/2x/cjs/global/css-vars-patch.css +1 -0
  24. package/2x/cjs/index.d.ts +1 -1
  25. package/2x/cjs/locales/base.d.ts +1 -0
  26. package/2x/cjs/locales/base.js +2 -1
  27. package/2x/cjs/locales/en-US.d.ts +1 -0
  28. package/2x/cjs/locales/es-ES.d.ts +1 -0
  29. package/2x/cjs/locales/fa-IR.d.ts +1 -0
  30. package/2x/cjs/locales/fr-FR.d.ts +1 -0
  31. package/2x/cjs/locales/id-ID.d.ts +1 -0
  32. package/2x/cjs/locales/ja-JP.d.ts +1 -0
  33. package/2x/cjs/locales/kk-KZ.d.ts +1 -0
  34. package/2x/cjs/locales/ko-KR.d.ts +1 -0
  35. package/2x/cjs/locales/ko-KR.js +31 -2
  36. package/2x/cjs/locales/zh-CN.d.ts +1 -0
  37. package/2x/cjs/locales/zh-CN.js +2 -1
  38. package/2x/cjs/locales/zh-HK.d.ts +1 -0
  39. package/2x/cjs/locales/zh-HK.js +2 -1
  40. package/2x/cjs/locales/zh-TW.d.ts +1 -0
  41. package/2x/cjs/locales/zh-TW.js +2 -1
  42. package/2x/cjs/utils/reduce-and-restore-motion.js +7 -6
  43. package/2x/cjs/utils/render-imperatively.js +9 -3
  44. package/2x/es/components/ellipsis/ellipsis.d.ts +1 -0
  45. package/2x/es/components/ellipsis/ellipsis.js +3 -2
  46. package/2x/es/components/nav-bar/nav-bar.d.ts +2 -2
  47. package/2x/es/components/popover/popover.css +1 -1
  48. package/2x/es/components/popover/popover.patch.css +1 -0
  49. package/2x/es/components/popup/popup.js +7 -1
  50. package/2x/es/components/pull-to-refresh/pull-to-refresh.js +15 -16
  51. package/2x/es/components/stepper/index.d.ts +1 -1
  52. package/2x/es/components/stepper/stepper.d.ts +4 -2
  53. package/2x/es/components/stepper/stepper.js +19 -3
  54. package/2x/es/components/steps/steps.css +0 -1
  55. package/2x/es/components/swiper/swiper.js +6 -3
  56. package/2x/es/components/text-area/text-area.css +8 -0
  57. package/2x/es/components/text-area/text-area.js +16 -3
  58. package/2x/es/global/css-vars-patch.css +1 -0
  59. package/2x/es/index.d.ts +1 -1
  60. package/2x/es/locales/base.d.ts +1 -0
  61. package/2x/es/locales/base.js +2 -1
  62. package/2x/es/locales/en-US.d.ts +1 -0
  63. package/2x/es/locales/es-ES.d.ts +1 -0
  64. package/2x/es/locales/fa-IR.d.ts +1 -0
  65. package/2x/es/locales/fr-FR.d.ts +1 -0
  66. package/2x/es/locales/id-ID.d.ts +1 -0
  67. package/2x/es/locales/ja-JP.d.ts +1 -0
  68. package/2x/es/locales/kk-KZ.d.ts +1 -0
  69. package/2x/es/locales/ko-KR.d.ts +1 -0
  70. package/2x/es/locales/ko-KR.js +31 -2
  71. package/2x/es/locales/zh-CN.d.ts +1 -0
  72. package/2x/es/locales/zh-CN.js +2 -1
  73. package/2x/es/locales/zh-HK.d.ts +1 -0
  74. package/2x/es/locales/zh-HK.js +2 -1
  75. package/2x/es/locales/zh-TW.d.ts +1 -0
  76. package/2x/es/locales/zh-TW.js +2 -1
  77. package/2x/es/utils/reduce-and-restore-motion.js +7 -6
  78. package/2x/es/utils/render-imperatively.js +9 -3
  79. package/2x/package.json +3 -3
  80. package/bundle/antd-mobile.cjs.development.js +341 -284
  81. package/bundle/antd-mobile.cjs.js +10 -9
  82. package/bundle/antd-mobile.compatible.umd.js +1 -1
  83. package/bundle/antd-mobile.es.development.js +341 -284
  84. package/bundle/antd-mobile.es.js +4969 -4923
  85. package/bundle/antd-mobile.umd.development.js +341 -284
  86. package/bundle/antd-mobile.umd.js +10 -9
  87. package/bundle/css-vars-patch.css +1 -0
  88. package/bundle/style.css +1 -1
  89. package/cjs/components/ellipsis/ellipsis.d.ts +1 -0
  90. package/cjs/components/ellipsis/ellipsis.js +3 -2
  91. package/cjs/components/nav-bar/nav-bar.d.ts +2 -2
  92. package/cjs/components/popover/popover.css +1 -1
  93. package/cjs/components/popover/popover.patch.css +1 -0
  94. package/cjs/components/popup/popup.js +7 -1
  95. package/cjs/components/pull-to-refresh/pull-to-refresh.js +15 -16
  96. package/cjs/components/stepper/index.d.ts +1 -1
  97. package/cjs/components/stepper/stepper.d.ts +4 -2
  98. package/cjs/components/stepper/stepper.js +21 -3
  99. package/cjs/components/steps/steps.css +0 -1
  100. package/cjs/components/swiper/swiper.js +6 -3
  101. package/cjs/components/text-area/text-area.css +7 -0
  102. package/cjs/components/text-area/text-area.js +16 -3
  103. package/cjs/global/css-vars-patch.css +1 -0
  104. package/cjs/index.d.ts +1 -1
  105. package/cjs/locales/base.d.ts +1 -0
  106. package/cjs/locales/base.js +2 -1
  107. package/cjs/locales/en-US.d.ts +1 -0
  108. package/cjs/locales/es-ES.d.ts +1 -0
  109. package/cjs/locales/fa-IR.d.ts +1 -0
  110. package/cjs/locales/fr-FR.d.ts +1 -0
  111. package/cjs/locales/id-ID.d.ts +1 -0
  112. package/cjs/locales/ja-JP.d.ts +1 -0
  113. package/cjs/locales/kk-KZ.d.ts +1 -0
  114. package/cjs/locales/ko-KR.d.ts +1 -0
  115. package/cjs/locales/ko-KR.js +31 -2
  116. package/cjs/locales/zh-CN.d.ts +1 -0
  117. package/cjs/locales/zh-CN.js +2 -1
  118. package/cjs/locales/zh-HK.d.ts +1 -0
  119. package/cjs/locales/zh-HK.js +2 -1
  120. package/cjs/locales/zh-TW.d.ts +1 -0
  121. package/cjs/locales/zh-TW.js +2 -1
  122. package/cjs/utils/reduce-and-restore-motion.js +7 -6
  123. package/cjs/utils/render-imperatively.js +9 -3
  124. package/es/components/ellipsis/ellipsis.d.ts +1 -0
  125. package/es/components/ellipsis/ellipsis.js +3 -2
  126. package/es/components/nav-bar/nav-bar.d.ts +2 -2
  127. package/es/components/popover/popover.css +1 -1
  128. package/es/components/popover/popover.patch.css +1 -0
  129. package/es/components/popup/popup.js +7 -1
  130. package/es/components/pull-to-refresh/pull-to-refresh.js +15 -16
  131. package/es/components/stepper/index.d.ts +1 -1
  132. package/es/components/stepper/stepper.d.ts +4 -2
  133. package/es/components/stepper/stepper.js +19 -3
  134. package/es/components/steps/steps.css +0 -1
  135. package/es/components/swiper/swiper.js +6 -3
  136. package/es/components/text-area/text-area.css +7 -0
  137. package/es/components/text-area/text-area.js +16 -3
  138. package/es/global/css-vars-patch.css +1 -0
  139. package/es/index.d.ts +1 -1
  140. package/es/locales/base.d.ts +1 -0
  141. package/es/locales/base.js +2 -1
  142. package/es/locales/en-US.d.ts +1 -0
  143. package/es/locales/es-ES.d.ts +1 -0
  144. package/es/locales/fa-IR.d.ts +1 -0
  145. package/es/locales/fr-FR.d.ts +1 -0
  146. package/es/locales/id-ID.d.ts +1 -0
  147. package/es/locales/ja-JP.d.ts +1 -0
  148. package/es/locales/kk-KZ.d.ts +1 -0
  149. package/es/locales/ko-KR.d.ts +1 -0
  150. package/es/locales/ko-KR.js +31 -2
  151. package/es/locales/zh-CN.d.ts +1 -0
  152. package/es/locales/zh-CN.js +2 -1
  153. package/es/locales/zh-HK.d.ts +1 -0
  154. package/es/locales/zh-HK.js +2 -1
  155. package/es/locales/zh-TW.d.ts +1 -0
  156. package/es/locales/zh-TW.js +2 -1
  157. package/es/utils/reduce-and-restore-motion.js +7 -6
  158. package/es/utils/render-imperatively.js +9 -3
  159. package/package.json +3 -3
  160. package/umd/antd-mobile.js +1 -1
  161. package/umd/antd-mobile.js.LICENSE.txt +5 -4
@@ -3,7 +3,8 @@
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
- exports.Stepper = Stepper;
6
+ exports.InnerStepper = InnerStepper;
7
+ exports.Stepper = void 0;
7
8
  var _classnames = _interopRequireDefault(require("classnames"));
8
9
  var _react = _interopRequireWildcard(require("react"));
9
10
  var _antdMobileIcons = require("antd-mobile-icons");
@@ -23,7 +24,7 @@ const defaultProps = {
23
24
  disabled: false,
24
25
  allowEmpty: false
25
26
  };
26
- function Stepper(p) {
27
+ function InnerStepper(p, ref) {
27
28
  const props = (0, _withDefaultProps.mergeProps)(defaultProps, p);
28
29
  const {
29
30
  defaultValue = 0,
@@ -42,6 +43,21 @@ function Stepper(p) {
42
43
  const {
43
44
  locale
44
45
  } = (0, _configProvider.useConfig)();
46
+ // ========================== Ref ==========================
47
+ (0, _react.useImperativeHandle)(ref, () => ({
48
+ focus: () => {
49
+ var _a;
50
+ (_a = inputRef.current) === null || _a === void 0 ? void 0 : _a.focus();
51
+ },
52
+ blur: () => {
53
+ var _a;
54
+ (_a = inputRef.current) === null || _a === void 0 ? void 0 : _a.blur();
55
+ },
56
+ get nativeElement() {
57
+ var _a, _b;
58
+ return (_b = (_a = inputRef.current) === null || _a === void 0 ? void 0 : _a.nativeElement) !== null && _b !== void 0 ? _b : null;
59
+ }
60
+ }));
45
61
  // ========================== Parse / Format ==========================
46
62
  const fixedValue = value => {
47
63
  const fixedValue = digits !== undefined ? (0, _miniDecimal.toFixed)(value.toString(), '.', digits) : value;
@@ -209,4 +225,6 @@ function Stepper(p) {
209
225
  color: 'primary',
210
226
  "aria-label": locale.Stepper.increase
211
227
  }, _react.default.createElement(_antdMobileIcons.AddOutline, null))));
212
- }
228
+ }
229
+ const Stepper = (0, _react.forwardRef)(InnerStepper);
230
+ exports.Stepper = Stepper;
@@ -14,7 +14,6 @@
14
14
  .adm-step .adm-step-indicator .adm-step-icon-container {
15
15
  position: absolute;
16
16
  z-index: 1;
17
- background: var(--adm-color-background);
18
17
  color: var(--icon-color);
19
18
  }
20
19
  .adm-step .adm-step-indicator .adm-step-icon-container > .antd-mobile-icon {
@@ -212,11 +212,14 @@ const Swiper = (0, _react.forwardRef)((0, _stagedComponents.staged)((p, ref) =>
212
212
  } = props;
213
213
  (0, _react.useEffect)(() => {
214
214
  if (!autoplay || dragging) return;
215
- const interval = window.setInterval(() => {
215
+ let interval;
216
+ function tick() {
217
+ interval = window.setTimeout(tick, autoplayInterval);
216
218
  swipeNext();
217
- }, autoplayInterval);
219
+ }
220
+ interval = window.setTimeout(tick, autoplayInterval);
218
221
  return () => {
219
- window.clearInterval(interval);
222
+ if (interval) window.clearTimeout(interval);
220
223
  };
221
224
  }, [autoplay, autoplayInterval, dragging, count]);
222
225
  function renderTrackInner() {
@@ -60,6 +60,13 @@
60
60
  .adm-text-area-element[readonly] {
61
61
  pointer-events: none;
62
62
  }
63
+ .adm-text-area-element-hidden {
64
+ visibility: hidden;
65
+ position: absolute;
66
+ top: 0;
67
+ left: 0;
68
+ z-index: -1000;
69
+ }
63
70
  .adm-text-area-count {
64
71
  text-align: var(--count-text-align);
65
72
  color: var(--adm-color-weak);
@@ -33,6 +33,10 @@ const TextArea = (0, _react.forwardRef)((p, ref) => {
33
33
  (0, _devLog.devError)('TextArea', '`value` prop on `TextArea` should not be `null`. Consider using an empty string to clear the component.');
34
34
  }
35
35
  const nativeTextAreaRef = (0, _react.useRef)(null);
36
+ // https://github.com/ant-design/ant-design-mobile/issues/5961
37
+ const heightRef = (0, _react.useRef)('auto');
38
+ // https://github.com/ant-design/ant-design-mobile/issues/6051
39
+ const hiddenTextAreaRef = (0, _react.useRef)(null);
36
40
  (0, _react.useImperativeHandle)(ref, () => ({
37
41
  clear: () => {
38
42
  setValue('');
@@ -52,9 +56,11 @@ const TextArea = (0, _react.forwardRef)((p, ref) => {
52
56
  (0, _ahooks.useIsomorphicLayoutEffect)(() => {
53
57
  if (!autoSize) return;
54
58
  const textArea = nativeTextAreaRef.current;
59
+ const hiddenTextArea = hiddenTextAreaRef.current;
55
60
  if (!textArea) return;
56
- textArea.style.height = 'auto';
57
- let height = textArea.scrollHeight;
61
+ textArea.style.height = heightRef.current;
62
+ if (!hiddenTextArea) return;
63
+ let height = hiddenTextArea.scrollHeight;
58
64
  if (typeof autoSize === 'object') {
59
65
  const computedStyle = window.getComputedStyle(textArea);
60
66
  const lineHeight = parseFloat(computedStyle.lineHeight);
@@ -65,6 +71,7 @@ const TextArea = (0, _react.forwardRef)((p, ref) => {
65
71
  height = Math.min(height, autoSize.maxRows * lineHeight);
66
72
  }
67
73
  }
74
+ heightRef.current = `${height}px`;
68
75
  textArea.style.height = `${height}px`;
69
76
  }, [value, autoSize]);
70
77
  const compositingRef = (0, _react.useRef)(false);
@@ -115,7 +122,13 @@ const TextArea = (0, _react.forwardRef)((p, ref) => {
115
122
  onFocus: props.onFocus,
116
123
  onBlur: props.onBlur,
117
124
  onClick: props.onClick
118
- }), count));
125
+ }), count, autoSize && _react.default.createElement("textarea", {
126
+ ref: hiddenTextAreaRef,
127
+ className: `${classPrefix}-element ${classPrefix}-element-hidden`,
128
+ value: value,
129
+ "aria-hidden": true,
130
+ readOnly: true
131
+ })));
119
132
  });
120
133
  exports.TextArea = TextArea;
121
134
  TextArea.defaultProps = defaultProps;
@@ -209,6 +209,7 @@
209
209
  }
210
210
  .adm-popover {
211
211
  z-index: 1030;
212
+ color: #333333;
212
213
  }
213
214
  .adm-popover.adm-popover-dark {
214
215
  color: #ffffff;
package/cjs/index.d.ts CHANGED
@@ -133,7 +133,7 @@ export type { SpaceProps } from './components/space';
133
133
  export { default as SpinLoading } from './components/spin-loading';
134
134
  export type { SpinLoadingProps } from './components/spin-loading';
135
135
  export { default as Stepper } from './components/stepper';
136
- export type { StepperProps } from './components/stepper';
136
+ export type { StepperProps, StepperRef } from './components/stepper';
137
137
  export { default as Steps } from './components/steps';
138
138
  export type { StepsProps, StepProps } from './components/steps';
139
139
  export { default as SwipeAction } from './components/swipe-action';
@@ -4,6 +4,7 @@ export declare const base: {
4
4
  confirm: string;
5
5
  cancel: string;
6
6
  loading: string;
7
+ close: string;
7
8
  };
8
9
  Calendar: {
9
10
  markItems: string[];
@@ -10,7 +10,8 @@ const base = {
10
10
  common: {
11
11
  confirm: 'Confirm',
12
12
  cancel: 'Cancel',
13
- loading: 'Loading'
13
+ loading: 'Loading',
14
+ close: 'Close'
14
15
  },
15
16
  Calendar: {
16
17
  markItems: ['Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat', 'Sun'],
@@ -4,6 +4,7 @@ declare const enUS: {
4
4
  confirm: string;
5
5
  cancel: string;
6
6
  loading: string;
7
+ close: string;
7
8
  };
8
9
  Calendar: {
9
10
  markItems: string[];
@@ -4,6 +4,7 @@ declare const esES: {
4
4
  confirm: string;
5
5
  cancel: string;
6
6
  loading: string;
7
+ close: string;
7
8
  };
8
9
  Calendar: {
9
10
  markItems: string[];
@@ -4,6 +4,7 @@ declare const faIR: {
4
4
  confirm: string;
5
5
  cancel: string;
6
6
  loading: string;
7
+ close: string;
7
8
  };
8
9
  Calendar: {
9
10
  markItems: string[];
@@ -4,6 +4,7 @@ declare const frFR: {
4
4
  confirm: string;
5
5
  cancel: string;
6
6
  loading: string;
7
+ close: string;
7
8
  };
8
9
  Calendar: {
9
10
  markItems: string[];
@@ -4,6 +4,7 @@ declare const idID: {
4
4
  confirm: string;
5
5
  cancel: string;
6
6
  loading: string;
7
+ close: string;
7
8
  };
8
9
  Calendar: {
9
10
  markItems: string[];
@@ -4,6 +4,7 @@ declare const jaJP: {
4
4
  confirm: string;
5
5
  cancel: string;
6
6
  loading: string;
7
+ close: string;
7
8
  };
8
9
  Calendar: {
9
10
  markItems: string[];
@@ -4,6 +4,7 @@ declare const kkKZ: {
4
4
  confirm: string;
5
5
  cancel: string;
6
6
  loading: string;
7
+ close: string;
7
8
  };
8
9
  Calendar: {
9
10
  markItems: string[];
@@ -4,6 +4,7 @@ declare const koKR: {
4
4
  confirm: string;
5
5
  cancel: string;
6
6
  loading: string;
7
+ close: string;
7
8
  };
8
9
  Calendar: {
9
10
  markItems: string[];
@@ -12,7 +12,8 @@ const koKR = (0, _mergeLocale.mergeLocale)(_base.base, {
12
12
  common: {
13
13
  confirm: '확인',
14
14
  cancel: '취소',
15
- loading: '로딩중'
15
+ loading: '로딩중',
16
+ close: '닫기'
16
17
  },
17
18
  Calendar: {
18
19
  markItems: ['월', '화', '수', '목', '금', '토', '일'],
@@ -24,6 +25,9 @@ const koKR = (0, _mergeLocale.mergeLocale)(_base.base, {
24
25
  Dialog: {
25
26
  ok: '확인'
26
27
  },
28
+ DatePicker: {
29
+ tillNow: '지금까지'
30
+ },
27
31
  ErrorBlock: {
28
32
  default: {
29
33
  title: '문제가 발생했습니다',
@@ -94,7 +98,16 @@ const koKR = (0, _mergeLocale.mergeLocale)(_base.base, {
94
98
  }
95
99
  },
96
100
  ImageUploader: {
97
- uploading: '업로드 중...'
101
+ uploading: '업로드 중...',
102
+ upload: '업로드'
103
+ },
104
+ InfiniteScroll: {
105
+ noMore: '불러올 데이터 없음',
106
+ failedToLoad: '불러오기 실패',
107
+ retry: '재시도'
108
+ },
109
+ Input: {
110
+ clear: '지우기'
98
111
  },
99
112
  Mask: {
100
113
  name: '마스크'
@@ -102,10 +115,26 @@ const koKR = (0, _mergeLocale.mergeLocale)(_base.base, {
102
115
  Modal: {
103
116
  ok: '확인'
104
117
  },
118
+ PasscodeInput: {
119
+ name: '비밀번호 입력'
120
+ },
105
121
  PullToRefresh: {
106
122
  pulling: '스크롤을 당겨서 새로고침하십시오',
107
123
  canRelease: '새로고침 하려면 놓으십시오',
108
124
  complete: '새로고침 완료'
125
+ },
126
+ SearchBar: {
127
+ name: '검색바'
128
+ },
129
+ Slider: {
130
+ name: '슬라이더'
131
+ },
132
+ Stepper: {
133
+ decrease: '감소',
134
+ increase: '증가'
135
+ },
136
+ Switch: {
137
+ name: '스위치'
109
138
  }
110
139
  });
111
140
  var _default = koKR;
@@ -4,6 +4,7 @@ declare const zhCN: {
4
4
  confirm: string;
5
5
  cancel: string;
6
6
  loading: string;
7
+ close: string;
7
8
  };
8
9
  Calendar: {
9
10
  markItems: string[];
@@ -12,7 +12,8 @@ const zhCN = (0, _mergeLocale.mergeLocale)(_base.base, {
12
12
  common: {
13
13
  confirm: '确定',
14
14
  cancel: '取消',
15
- loading: '加载中'
15
+ loading: '加载中',
16
+ close: '关闭'
16
17
  },
17
18
  Calendar: {
18
19
  markItems: ['一', '二', '三', '四', '五', '六', '日'],
@@ -4,6 +4,7 @@ declare const zhHK: {
4
4
  confirm: string;
5
5
  cancel: string;
6
6
  loading: string;
7
+ close: string;
7
8
  };
8
9
  Calendar: {
9
10
  markItems: string[];
@@ -12,7 +12,8 @@ const zhHK = (0, _mergeLocale.mergeLocale)(_base.base, {
12
12
  common: {
13
13
  confirm: '確定',
14
14
  cancel: '取消',
15
- loading: '加載中'
15
+ loading: '加載中',
16
+ close: '關閉'
16
17
  },
17
18
  Calendar: {
18
19
  markItems: ['一', '二', '三', '四', '五', '六', '日'],
@@ -4,6 +4,7 @@ declare const zhTW: {
4
4
  confirm: string;
5
5
  cancel: string;
6
6
  loading: string;
7
+ close: string;
7
8
  };
8
9
  Calendar: {
9
10
  markItems: string[];
@@ -12,7 +12,8 @@ const zhTW = (0, _mergeLocale.mergeLocale)(_base.base, {
12
12
  common: {
13
13
  confirm: '確定',
14
14
  cancel: '取消',
15
- loading: '加載中'
15
+ loading: '加載中',
16
+ close: '關閉'
16
17
  },
17
18
  Calendar: {
18
19
  markItems: ['一', '二', '三', '四', '五', '六', '日'],
@@ -33,11 +33,12 @@ function restoreMotion() {
33
33
  function isMotionReduced() {
34
34
  return reduced;
35
35
  }
36
+ function subscribe(onStoreChange) {
37
+ subscribers.add(onStoreChange);
38
+ return () => {
39
+ subscribers.delete(onStoreChange);
40
+ };
41
+ }
36
42
  function useMotionReduced() {
37
- return (0, _shim.useSyncExternalStore)(onStoreChange => {
38
- subscribers.add(onStoreChange);
39
- return () => {
40
- subscribers.delete(onStoreChange);
41
- };
42
- }, isMotionReduced);
43
+ return (0, _shim.useSyncExternalStore)(subscribe, isMotionReduced);
43
44
  }
@@ -4,6 +4,7 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports.renderImperatively = renderImperatively;
7
+ var _tslib = require("tslib");
7
8
  var _react = _interopRequireWildcard(require("react"));
8
9
  var _renderToBody = require("./render-to-body");
9
10
  function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function (nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
@@ -53,10 +54,15 @@ function renderImperatively(element) {
53
54
  ref: wrapperRef
54
55
  }));
55
56
  return {
56
- close: () => {
57
+ close: () => (0, _tslib.__awaiter)(this, void 0, void 0, function* () {
57
58
  var _a;
58
- (_a = wrapperRef.current) === null || _a === void 0 ? void 0 : _a.close();
59
- },
59
+ if (!wrapperRef.current) {
60
+ // it means the wrapper is not mounted yet, call `unmount` directly
61
+ unmount();
62
+ } else {
63
+ (_a = wrapperRef.current) === null || _a === void 0 ? void 0 : _a.close();
64
+ }
65
+ }),
60
66
  replace: element => {
61
67
  var _a;
62
68
  (_a = wrapperRef.current) === null || _a === void 0 ? void 0 : _a.replace(element);
@@ -9,5 +9,6 @@ export declare type EllipsisProps = {
9
9
  collapseText?: string;
10
10
  stopPropagationForActionButtons?: PropagationEvent[];
11
11
  onContentClick?: (e: React.MouseEvent<HTMLDivElement, MouseEvent>) => void;
12
+ defaultExpanded?: boolean;
12
13
  } & NativeProps;
13
14
  export declare const Ellipsis: FC<EllipsisProps>;
@@ -13,13 +13,14 @@ const defaultProps = {
13
13
  content: '',
14
14
  collapseText: '',
15
15
  stopPropagationForActionButtons: [],
16
- onContentClick: () => {}
16
+ onContentClick: () => {},
17
+ defaultExpanded: false
17
18
  };
18
19
  export const Ellipsis = p => {
19
20
  const props = mergeProps(defaultProps, p);
20
21
  const rootRef = useRef(null);
21
22
  const [ellipsised, setEllipsised] = useState({});
22
- const [expanded, setExpanded] = useState(false);
23
+ const [expanded, setExpanded] = useState(props.defaultExpanded);
23
24
  const [exceeded, setExceeded] = useState(false);
24
25
  const chars = useMemo(() => runes(props.content), [props.content]);
25
26
  function getSubString(start, end) {
@@ -1,4 +1,4 @@
1
- import React, { FC, ReactNode } from 'react';
1
+ import { FC, ReactNode } from 'react';
2
2
  import { NativeProps } from '../../utils/native-props';
3
3
  export declare type NavBarProps = {
4
4
  back?: ReactNode;
@@ -6,6 +6,6 @@ export declare type NavBarProps = {
6
6
  left?: ReactNode;
7
7
  right?: ReactNode;
8
8
  onBack?: () => void;
9
- children?: React.ReactNode;
9
+ children?: ReactNode;
10
10
  } & NativeProps<'--height' | '--border-bottom'>;
11
11
  export declare const NavBar: FC<NavBarProps>;
@@ -3,7 +3,7 @@
3
3
  --background: #ffffff;
4
4
  --arrow-size: 8px;
5
5
  --content-padding: 8px 12px;
6
- color: #333333;
6
+ color: var(--adm-color-text);
7
7
  position: absolute;
8
8
  top: 0;
9
9
  left: 0;
@@ -1,5 +1,6 @@
1
1
  .adm-popover {
2
2
  z-index: 1030;
3
+ color: #333333;
3
4
  }
4
5
  .adm-popover.adm-popover-dark {
5
6
  color: #ffffff;
@@ -12,12 +12,16 @@ import { ShouldRender } from '../../utils/should-render';
12
12
  import { CloseOutline } from 'antd-mobile-icons';
13
13
  import { defaultPopupBaseProps } from './popup-base-props';
14
14
  import { useInnerVisible } from '../../utils/use-inner-visible';
15
+ import { useConfig } from '../config-provider';
15
16
  const classPrefix = `adm-popup`;
16
17
  const defaultProps = Object.assign(Object.assign({}, defaultPopupBaseProps), {
17
18
  position: 'bottom'
18
19
  });
19
20
  export const Popup = p => {
20
21
  const props = mergeProps(defaultProps, p);
22
+ const {
23
+ locale
24
+ } = useConfig();
21
25
  const bodyCls = classNames(`${classPrefix}-body`, props.bodyClassName, `${classPrefix}-body-position-${props.position}`);
22
26
  const [active, setActive] = useState(props.visible);
23
27
  useIsomorphicLayoutEffect(() => {
@@ -96,7 +100,9 @@ export const Popup = p => {
96
100
  onClick: () => {
97
101
  var _a;
98
102
  (_a = props.onClose) === null || _a === void 0 ? void 0 : _a.call(props);
99
- }
103
+ },
104
+ role: 'button',
105
+ "aria-label": locale.common.close
100
106
  }, React.createElement(CloseOutline, null)), props.children))));
101
107
  return React.createElement(ShouldRender, {
102
108
  active: active,
@@ -50,6 +50,19 @@ export const PullToRefresh = p => {
50
50
  var _a;
51
51
  (_a = elementRef.current) === null || _a === void 0 ? void 0 : _a.addEventListener('touchmove', () => {});
52
52
  }, []);
53
+ const reset = () => {
54
+ return new Promise(resolve => {
55
+ api.start({
56
+ to: {
57
+ height: 0
58
+ },
59
+ onResolve() {
60
+ setStatus('pulling');
61
+ resolve();
62
+ }
63
+ });
64
+ });
65
+ };
53
66
  function doRefresh() {
54
67
  return __awaiter(this, void 0, void 0, function* () {
55
68
  api.start({
@@ -60,27 +73,13 @@ export const PullToRefresh = p => {
60
73
  yield props.onRefresh();
61
74
  setStatus('complete');
62
75
  } catch (e) {
63
- api.start({
64
- to: next => __awaiter(this, void 0, void 0, function* () {
65
- yield next({
66
- height: 0
67
- });
68
- setStatus('pulling');
69
- })
70
- });
76
+ reset();
71
77
  throw e;
72
78
  }
73
79
  if (props.completeDelay > 0) {
74
80
  yield sleep(props.completeDelay);
75
81
  }
76
- api.start({
77
- to: next => __awaiter(this, void 0, void 0, function* () {
78
- yield next({
79
- height: 0
80
- });
81
- setStatus('pulling');
82
- })
83
- });
82
+ reset();
84
83
  });
85
84
  }
86
85
  useDrag(state => {
@@ -1,4 +1,4 @@
1
1
  import './stepper.less';
2
2
  import { Stepper } from './stepper';
3
- export type { StepperProps } from './stepper';
3
+ export type { StepperProps, StepperRef } from './stepper';
4
4
  export default Stepper;
@@ -1,6 +1,6 @@
1
1
  import React from 'react';
2
2
  import { NativeProps } from '../../utils/native-props';
3
- import { InputProps } from '../input';
3
+ import { InputProps, InputRef } from '../input';
4
4
  declare type ValueProps<ValueType> = {
5
5
  allowEmpty: true;
6
6
  value?: ValueType | null;
@@ -30,5 +30,7 @@ export declare type StringStepperProps = BaseStepperProps<string> & {
30
30
  stringMode: true;
31
31
  };
32
32
  export declare type StepperProps = NumberStepperProps | StringStepperProps;
33
- export declare function Stepper<ValueType extends number | string>(p: StepperProps): React.ReactElement<any, string | React.JSXElementConstructor<any>>;
33
+ export declare type StepperRef = Pick<InputRef, 'blur' | 'focus' | 'nativeElement'>;
34
+ export declare function InnerStepper<ValueType extends number | string>(p: StepperProps, ref: React.ForwardedRef<StepperRef>): React.ReactElement<any, string | React.JSXElementConstructor<any>>;
35
+ export declare const Stepper: React.ForwardRefExoticComponent<StepperProps & React.RefAttributes<StepperRef>>;
34
36
  export {};
@@ -1,5 +1,5 @@
1
1
  import classNames from 'classnames';
2
- import React, { useEffect, useState } from 'react';
2
+ import React, { useEffect, useState, forwardRef, useImperativeHandle } from 'react';
3
3
  import { MinusOutline, AddOutline } from 'antd-mobile-icons';
4
4
  import useMergedState from 'rc-util/lib/hooks/useMergedState';
5
5
  import getMiniDecimal, { toFixed } from '@rc-component/mini-decimal';
@@ -14,7 +14,7 @@ const defaultProps = {
14
14
  disabled: false,
15
15
  allowEmpty: false
16
16
  };
17
- export function Stepper(p) {
17
+ export function InnerStepper(p, ref) {
18
18
  const props = mergeProps(defaultProps, p);
19
19
  const {
20
20
  defaultValue = 0,
@@ -33,6 +33,21 @@ export function Stepper(p) {
33
33
  const {
34
34
  locale
35
35
  } = useConfig();
36
+ // ========================== Ref ==========================
37
+ useImperativeHandle(ref, () => ({
38
+ focus: () => {
39
+ var _a;
40
+ (_a = inputRef.current) === null || _a === void 0 ? void 0 : _a.focus();
41
+ },
42
+ blur: () => {
43
+ var _a;
44
+ (_a = inputRef.current) === null || _a === void 0 ? void 0 : _a.blur();
45
+ },
46
+ get nativeElement() {
47
+ var _a, _b;
48
+ return (_b = (_a = inputRef.current) === null || _a === void 0 ? void 0 : _a.nativeElement) !== null && _b !== void 0 ? _b : null;
49
+ }
50
+ }));
36
51
  // ========================== Parse / Format ==========================
37
52
  const fixedValue = value => {
38
53
  const fixedValue = digits !== undefined ? toFixed(value.toString(), '.', digits) : value;
@@ -200,4 +215,5 @@ export function Stepper(p) {
200
215
  color: 'primary',
201
216
  "aria-label": locale.Stepper.increase
202
217
  }, React.createElement(AddOutline, null))));
203
- }
218
+ }
219
+ export const Stepper = forwardRef(InnerStepper);
@@ -14,7 +14,6 @@
14
14
  .adm-step .adm-step-indicator .adm-step-icon-container {
15
15
  position: absolute;
16
16
  z-index: 1;
17
- background: var(--adm-color-background);
18
17
  color: var(--icon-color);
19
18
  }
20
19
  .adm-step .adm-step-indicator .adm-step-icon-container > .antd-mobile-icon {
@@ -203,11 +203,14 @@ export const Swiper = forwardRef(staged((p, ref) => {
203
203
  } = props;
204
204
  useEffect(() => {
205
205
  if (!autoplay || dragging) return;
206
- const interval = window.setInterval(() => {
206
+ let interval;
207
+ function tick() {
208
+ interval = window.setTimeout(tick, autoplayInterval);
207
209
  swipeNext();
208
- }, autoplayInterval);
210
+ }
211
+ interval = window.setTimeout(tick, autoplayInterval);
209
212
  return () => {
210
- window.clearInterval(interval);
213
+ if (interval) window.clearTimeout(interval);
211
214
  };
212
215
  }, [autoplay, autoplayInterval, dragging, count]);
213
216
  function renderTrackInner() {