antd-mobile 5.37.0 → 5.38.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 (198) hide show
  1. package/2x/README.md +2 -2
  2. package/2x/bundle/antd-mobile.cjs.development.js +3012 -1806
  3. package/2x/bundle/antd-mobile.cjs.js +7 -7
  4. package/2x/bundle/antd-mobile.es.development.js +3014 -1808
  5. package/2x/bundle/antd-mobile.es.js +7937 -7154
  6. package/2x/bundle/antd-mobile.umd.development.js +3012 -1806
  7. package/2x/bundle/antd-mobile.umd.js +7 -7
  8. package/2x/bundle/css-vars-patch.css +42 -0
  9. package/2x/bundle/style.css +186 -49
  10. package/2x/cjs/components/calendar-picker/calendar-picker.js +12 -6
  11. package/2x/cjs/components/calendar-picker-view/calendar-picker-view.d.ts +4 -1
  12. package/2x/cjs/components/calendar-picker-view/calendar-picker-view.js +69 -26
  13. package/2x/cjs/components/calendar-picker-view/useSyncScroll.d.ts +2 -0
  14. package/2x/cjs/components/calendar-picker-view/useSyncScroll.js +39 -0
  15. package/2x/cjs/components/card/card.css +1 -0
  16. package/2x/cjs/components/card/card.d.ts +2 -1
  17. package/2x/cjs/components/card/card.js +7 -3
  18. package/2x/cjs/components/card/card.patch.css +8 -0
  19. package/2x/cjs/components/date-picker/date-picker-quarter-utils.d.ts +7 -0
  20. package/2x/cjs/components/date-picker/date-picker-quarter-utils.js +77 -0
  21. package/2x/cjs/components/date-picker/date-picker-utils.d.ts +3 -2
  22. package/2x/cjs/components/date-picker/date-picker-utils.js +7 -0
  23. package/2x/cjs/components/image-uploader/image-uploader.js +2 -2
  24. package/2x/cjs/components/input/input.d.ts +2 -2
  25. package/2x/cjs/components/input/input.js +1 -0
  26. package/2x/cjs/components/nav-bar/nav-bar.js +6 -6
  27. package/2x/cjs/components/notice-bar/notice-bar.css +30 -4
  28. package/2x/cjs/components/notice-bar/notice-bar.d.ts +5 -1
  29. package/2x/cjs/components/notice-bar/notice-bar.js +7 -3
  30. package/2x/cjs/components/search-bar/search-bar.d.ts +2 -2
  31. package/2x/cjs/components/search-bar/search-bar.js +1 -0
  32. package/2x/cjs/components/segmented/index.d.ts +4 -0
  33. package/2x/cjs/components/segmented/index.js +10 -0
  34. package/2x/cjs/components/segmented/segmented.css +113 -0
  35. package/2x/cjs/components/segmented/segmented.d.ts +21 -0
  36. package/2x/cjs/components/segmented/segmented.js +57 -0
  37. package/2x/cjs/components/segmented/segmented.patch.css +41 -0
  38. package/2x/cjs/components/tab-bar/tab-bar.d.ts +1 -0
  39. package/2x/cjs/components/tab-bar/tab-bar.js +2 -0
  40. package/2x/cjs/components/tabs/tabs.js +1 -1
  41. package/2x/cjs/components/toast/methods.js +9 -3
  42. package/2x/cjs/global/css-vars-patch.css +42 -0
  43. package/2x/cjs/index.d.ts +2 -0
  44. package/2x/cjs/index.js +7 -0
  45. package/2x/cjs/locales/cnr-ME.d.ts +139 -0
  46. package/2x/cjs/locales/cnr-ME.js +149 -0
  47. package/2x/cjs/locales/hr-HR.d.ts +139 -0
  48. package/2x/cjs/locales/hr-HR.js +149 -0
  49. package/2x/cjs/locales/kk-KZ.js +6 -6
  50. package/2x/cjs/locales/sr-RS.d.ts +139 -0
  51. package/2x/cjs/locales/sr-RS.js +149 -0
  52. package/2x/cjs/utils/render-imperatively.d.ts +1 -0
  53. package/2x/cjs/utils/render-imperatively.js +6 -3
  54. package/2x/es/components/calendar-picker/calendar-picker.js +11 -5
  55. package/2x/es/components/calendar-picker-view/calendar-picker-view.d.ts +4 -1
  56. package/2x/es/components/calendar-picker-view/calendar-picker-view.js +67 -25
  57. package/2x/es/components/calendar-picker-view/useSyncScroll.d.ts +2 -0
  58. package/2x/es/components/calendar-picker-view/useSyncScroll.js +33 -0
  59. package/2x/es/components/card/card.css +1 -0
  60. package/2x/es/components/card/card.d.ts +2 -1
  61. package/2x/es/components/card/card.js +7 -3
  62. package/2x/es/components/card/card.patch.css +8 -0
  63. package/2x/es/components/date-picker/date-picker-quarter-utils.d.ts +7 -0
  64. package/2x/es/components/date-picker/date-picker-quarter-utils.js +68 -0
  65. package/2x/es/components/date-picker/date-picker-utils.d.ts +3 -2
  66. package/2x/es/components/date-picker/date-picker-utils.js +7 -0
  67. package/2x/es/components/image-uploader/image-uploader.js +2 -2
  68. package/2x/es/components/input/input.d.ts +2 -2
  69. package/2x/es/components/input/input.js +1 -0
  70. package/2x/es/components/nav-bar/nav-bar.js +7 -7
  71. package/2x/es/components/notice-bar/notice-bar.css +30 -4
  72. package/2x/es/components/notice-bar/notice-bar.d.ts +5 -1
  73. package/2x/es/components/notice-bar/notice-bar.js +7 -3
  74. package/2x/es/components/search-bar/search-bar.d.ts +2 -2
  75. package/2x/es/components/search-bar/search-bar.js +1 -0
  76. package/2x/es/components/segmented/index.d.ts +4 -0
  77. package/2x/es/components/segmented/index.js +3 -0
  78. package/2x/es/components/segmented/segmented.css +113 -0
  79. package/2x/es/components/segmented/segmented.d.ts +21 -0
  80. package/2x/es/components/segmented/segmented.js +48 -0
  81. package/2x/es/components/segmented/segmented.patch.css +41 -0
  82. package/2x/es/components/tab-bar/tab-bar.d.ts +1 -0
  83. package/2x/es/components/tab-bar/tab-bar.js +2 -0
  84. package/2x/es/components/tabs/tabs.js +1 -1
  85. package/2x/es/components/toast/methods.js +9 -3
  86. package/2x/es/global/css-vars-patch.css +42 -0
  87. package/2x/es/index.d.ts +2 -0
  88. package/2x/es/index.js +1 -0
  89. package/2x/es/locales/cnr-ME.d.ts +139 -0
  90. package/2x/es/locales/cnr-ME.js +142 -0
  91. package/2x/es/locales/hr-HR.d.ts +139 -0
  92. package/2x/es/locales/hr-HR.js +142 -0
  93. package/2x/es/locales/kk-KZ.js +6 -6
  94. package/2x/es/locales/sr-RS.d.ts +139 -0
  95. package/2x/es/locales/sr-RS.js +142 -0
  96. package/2x/es/utils/render-imperatively.d.ts +1 -0
  97. package/2x/es/utils/render-imperatively.js +6 -3
  98. package/2x/package.json +3 -2
  99. package/README.md +2 -2
  100. package/bundle/antd-mobile.cjs.development.js +3012 -1806
  101. package/bundle/antd-mobile.cjs.js +7 -7
  102. package/bundle/antd-mobile.compatible.umd.js +1 -1
  103. package/bundle/antd-mobile.es.development.js +3014 -1808
  104. package/bundle/antd-mobile.es.js +7937 -7154
  105. package/bundle/antd-mobile.umd.development.js +3012 -1806
  106. package/bundle/antd-mobile.umd.js +7 -7
  107. package/bundle/css-vars-patch.css +32 -0
  108. package/bundle/style.css +1 -1
  109. package/cjs/components/calendar-picker/calendar-picker.js +12 -6
  110. package/cjs/components/calendar-picker-view/calendar-picker-view.d.ts +4 -1
  111. package/cjs/components/calendar-picker-view/calendar-picker-view.js +69 -26
  112. package/cjs/components/calendar-picker-view/useSyncScroll.d.ts +2 -0
  113. package/cjs/components/calendar-picker-view/useSyncScroll.js +39 -0
  114. package/cjs/components/card/card.css +1 -0
  115. package/cjs/components/card/card.d.ts +2 -1
  116. package/cjs/components/card/card.js +7 -3
  117. package/cjs/components/card/card.patch.css +6 -0
  118. package/cjs/components/date-picker/date-picker-quarter-utils.d.ts +7 -0
  119. package/cjs/components/date-picker/date-picker-quarter-utils.js +77 -0
  120. package/cjs/components/date-picker/date-picker-utils.d.ts +3 -2
  121. package/cjs/components/date-picker/date-picker-utils.js +7 -0
  122. package/cjs/components/image-uploader/image-uploader.js +2 -2
  123. package/cjs/components/input/input.d.ts +2 -2
  124. package/cjs/components/input/input.js +1 -0
  125. package/cjs/components/nav-bar/nav-bar.js +6 -6
  126. package/cjs/components/notice-bar/notice-bar.css +25 -4
  127. package/cjs/components/notice-bar/notice-bar.d.ts +5 -1
  128. package/cjs/components/notice-bar/notice-bar.js +7 -3
  129. package/cjs/components/search-bar/search-bar.d.ts +2 -2
  130. package/cjs/components/search-bar/search-bar.js +1 -0
  131. package/cjs/components/segmented/index.d.ts +4 -0
  132. package/cjs/components/segmented/index.js +10 -0
  133. package/cjs/components/segmented/segmented.css +97 -0
  134. package/cjs/components/segmented/segmented.d.ts +21 -0
  135. package/cjs/components/segmented/segmented.js +57 -0
  136. package/cjs/components/segmented/segmented.patch.css +32 -0
  137. package/cjs/components/tab-bar/tab-bar.d.ts +1 -0
  138. package/cjs/components/tab-bar/tab-bar.js +2 -0
  139. package/cjs/components/tabs/tabs.js +1 -1
  140. package/cjs/components/toast/methods.js +9 -3
  141. package/cjs/global/css-vars-patch.css +32 -0
  142. package/cjs/index.d.ts +2 -0
  143. package/cjs/index.js +7 -0
  144. package/cjs/locales/cnr-ME.d.ts +139 -0
  145. package/cjs/locales/cnr-ME.js +149 -0
  146. package/cjs/locales/hr-HR.d.ts +139 -0
  147. package/cjs/locales/hr-HR.js +149 -0
  148. package/cjs/locales/kk-KZ.js +6 -6
  149. package/cjs/locales/sr-RS.d.ts +139 -0
  150. package/cjs/locales/sr-RS.js +149 -0
  151. package/cjs/utils/render-imperatively.d.ts +1 -0
  152. package/cjs/utils/render-imperatively.js +6 -3
  153. package/es/components/calendar-picker/calendar-picker.js +11 -5
  154. package/es/components/calendar-picker-view/calendar-picker-view.d.ts +4 -1
  155. package/es/components/calendar-picker-view/calendar-picker-view.js +67 -25
  156. package/es/components/calendar-picker-view/useSyncScroll.d.ts +2 -0
  157. package/es/components/calendar-picker-view/useSyncScroll.js +33 -0
  158. package/es/components/card/card.css +1 -0
  159. package/es/components/card/card.d.ts +2 -1
  160. package/es/components/card/card.js +7 -3
  161. package/es/components/card/card.patch.css +6 -0
  162. package/es/components/date-picker/date-picker-quarter-utils.d.ts +7 -0
  163. package/es/components/date-picker/date-picker-quarter-utils.js +68 -0
  164. package/es/components/date-picker/date-picker-utils.d.ts +3 -2
  165. package/es/components/date-picker/date-picker-utils.js +7 -0
  166. package/es/components/image-uploader/image-uploader.js +2 -2
  167. package/es/components/input/input.d.ts +2 -2
  168. package/es/components/input/input.js +1 -0
  169. package/es/components/nav-bar/nav-bar.js +7 -7
  170. package/es/components/notice-bar/notice-bar.css +25 -4
  171. package/es/components/notice-bar/notice-bar.d.ts +5 -1
  172. package/es/components/notice-bar/notice-bar.js +7 -3
  173. package/es/components/search-bar/search-bar.d.ts +2 -2
  174. package/es/components/search-bar/search-bar.js +1 -0
  175. package/es/components/segmented/index.d.ts +4 -0
  176. package/es/components/segmented/index.js +3 -0
  177. package/es/components/segmented/segmented.css +97 -0
  178. package/es/components/segmented/segmented.d.ts +21 -0
  179. package/es/components/segmented/segmented.js +48 -0
  180. package/es/components/segmented/segmented.patch.css +32 -0
  181. package/es/components/tab-bar/tab-bar.d.ts +1 -0
  182. package/es/components/tab-bar/tab-bar.js +2 -0
  183. package/es/components/tabs/tabs.js +1 -1
  184. package/es/components/toast/methods.js +9 -3
  185. package/es/global/css-vars-patch.css +32 -0
  186. package/es/index.d.ts +2 -0
  187. package/es/index.js +1 -0
  188. package/es/locales/cnr-ME.d.ts +139 -0
  189. package/es/locales/cnr-ME.js +142 -0
  190. package/es/locales/hr-HR.d.ts +139 -0
  191. package/es/locales/hr-HR.js +142 -0
  192. package/es/locales/kk-KZ.js +6 -6
  193. package/es/locales/sr-RS.d.ts +139 -0
  194. package/es/locales/sr-RS.js +142 -0
  195. package/es/utils/render-imperatively.d.ts +1 -0
  196. package/es/utils/render-imperatively.js +6 -3
  197. package/package.json +3 -2
  198. package/umd/antd-mobile.js +1 -1
@@ -4,8 +4,8 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports.Card = void 0;
7
- var _react = _interopRequireDefault(require("react"));
8
7
  var _classnames = _interopRequireDefault(require("classnames"));
8
+ var _react = _interopRequireDefault(require("react"));
9
9
  var _nativeProps = require("../../utils/native-props");
10
10
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
11
11
  const classPrefix = `adm-card`;
@@ -18,9 +18,13 @@ const Card = props => {
18
18
  className: (0, _classnames.default)(`${classPrefix}-header`, props.headerClassName),
19
19
  style: props.headerStyle,
20
20
  onClick: props.onHeaderClick
21
- }, _react.default.createElement("div", {
21
+ }, props.icon && _react.default.createElement("div", {
22
+ className: `${classPrefix}-header-icon`
23
+ }, props.icon), _react.default.createElement("div", {
22
24
  className: `${classPrefix}-header-title`
23
- }, props.title), props.extra);
25
+ }, props.title), props.extra && _react.default.createElement("div", {
26
+ className: `${classPrefix}-header-extra`
27
+ }, props.extra));
24
28
  };
25
29
  const renderBody = () => {
26
30
  if (!props.children) {
@@ -16,6 +16,14 @@
16
16
  font-size: 30px;
17
17
  }
18
18
 
19
+ .adm-card-header-icon {
20
+ margin-right: 16px;
21
+ }
22
+
23
+ .adm-card-header-extra {
24
+ margin-left: 16px;
25
+ }
26
+
19
27
  .adm-card-body {
20
28
  padding: 24px 0;
21
29
  }
@@ -0,0 +1,7 @@
1
+ import type { ReactNode } from 'react';
2
+ import { PickerColumn } from '../picker';
3
+ import type { DatePickerFilter } from './date-picker-utils';
4
+ export declare type QuarterPrecision = 'year' | 'quarter';
5
+ export declare function generateDatePickerColumns(selected: string[], min: Date, max: Date, precision: QuarterPrecision, renderLabel: (type: QuarterPrecision, data: number) => ReactNode, filter: DatePickerFilter | undefined): PickerColumn[];
6
+ export declare function convertDateToStringArray(date: Date | undefined | null): string[];
7
+ export declare function convertStringArrayToDate<T extends string | number | null | undefined>(value: T[]): Date;
@@ -0,0 +1,77 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.convertDateToStringArray = convertDateToStringArray;
7
+ exports.convertStringArrayToDate = convertStringArrayToDate;
8
+ exports.generateDatePickerColumns = generateDatePickerColumns;
9
+ var _dayjs = _interopRequireDefault(require("dayjs"));
10
+ var _quarterOfYear = _interopRequireDefault(require("dayjs/plugin/quarterOfYear"));
11
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
12
+ _dayjs.default.extend(_quarterOfYear.default);
13
+ const precisionRankRecord = {
14
+ year: 0,
15
+ quarter: 1
16
+ };
17
+ function generateDatePickerColumns(selected, min, max, precision, renderLabel, filter) {
18
+ const ret = [];
19
+ const minYear = min.getFullYear();
20
+ const maxYear = max.getFullYear();
21
+ const rank = precisionRankRecord[precision];
22
+ const selectedYear = parseInt(selected[0]);
23
+ const isInMinYear = selectedYear === minYear;
24
+ const isInMaxYear = selectedYear === maxYear;
25
+ const minDay = (0, _dayjs.default)(min);
26
+ const maxDay = (0, _dayjs.default)(max);
27
+ const minQuarter = minDay.quarter();
28
+ const maxQuarter = maxDay.quarter();
29
+ const generateColumn = (from, to, precision) => {
30
+ let column = [];
31
+ for (let i = from; i <= to; i++) {
32
+ column.push(i);
33
+ }
34
+ const prefix = selected.slice(0, precisionRankRecord[precision]);
35
+ const currentFilter = filter === null || filter === void 0 ? void 0 : filter[precision];
36
+ if (currentFilter && typeof currentFilter === 'function') {
37
+ column = column.filter(i => currentFilter(i, {
38
+ get date() {
39
+ const stringArray = [...prefix, i.toString()];
40
+ return convertStringArrayToDate(stringArray);
41
+ }
42
+ }));
43
+ }
44
+ return column;
45
+ };
46
+ if (rank >= precisionRankRecord.year) {
47
+ const lower = minYear;
48
+ const upper = maxYear;
49
+ const years = generateColumn(lower, upper, 'year');
50
+ ret.push(years.map(v => ({
51
+ label: renderLabel('year', v),
52
+ value: v.toString()
53
+ })));
54
+ }
55
+ if (rank >= precisionRankRecord.quarter) {
56
+ const lower = isInMinYear ? minQuarter : 1;
57
+ const upper = isInMaxYear ? maxQuarter : 4;
58
+ const quarters = generateColumn(lower, upper, 'quarter');
59
+ ret.push(quarters.map(v => ({
60
+ label: renderLabel('quarter', v),
61
+ value: v.toString()
62
+ })));
63
+ }
64
+ return ret;
65
+ }
66
+ function convertDateToStringArray(date) {
67
+ if (!date) return [];
68
+ const day = (0, _dayjs.default)(date);
69
+ return [day.year().toString(), day.quarter().toString()];
70
+ }
71
+ function convertStringArrayToDate(value) {
72
+ var _a, _b;
73
+ const yearString = (_a = value[0]) !== null && _a !== void 0 ? _a : '1900';
74
+ const quarterString = (_b = value[1]) !== null && _b !== void 0 ? _b : '1';
75
+ const day = (0, _dayjs.default)().year(parseInt(yearString)).quarter(parseInt(quarterString)).hour(0).minute(0).second(0);
76
+ return day.toDate();
77
+ }
@@ -1,7 +1,8 @@
1
+ import { RenderLabel } from '../date-picker-view/date-picker-view';
1
2
  import type { DatePrecision } from './date-picker-date-utils';
3
+ import type { QuarterPrecision } from './date-picker-quarter-utils';
2
4
  import type { WeekPrecision } from './date-picker-week-utils';
3
- import { RenderLabel } from '../date-picker-view/date-picker-view';
4
- export declare type Precision = DatePrecision | WeekPrecision;
5
+ export declare type Precision = DatePrecision | WeekPrecision | QuarterPrecision;
5
6
  export declare type DatePickerFilter = Partial<Record<Precision, (val: number, extend: {
6
7
  date: Date;
7
8
  }) => boolean>>;
@@ -5,6 +5,7 @@ Object.defineProperty(exports, "__esModule", {
5
5
  });
6
6
  exports.generateDatePickerColumns = exports.convertStringArrayToDate = exports.convertDateToStringArray = void 0;
7
7
  var dateUtils = _interopRequireWildcard(require("./date-picker-date-utils"));
8
+ var quarterUtils = _interopRequireWildcard(require("./date-picker-quarter-utils"));
8
9
  var weekUtils = _interopRequireWildcard(require("./date-picker-week-utils"));
9
10
  var _util = require("./util");
10
11
  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); }
@@ -20,6 +21,8 @@ const precisionLengthRecord = {
20
21
  const convertDateToStringArray = (date, precision) => {
21
22
  if (precision.includes('week')) {
22
23
  return weekUtils.convertDateToStringArray(date);
24
+ } else if (precision.includes('quarter')) {
25
+ return quarterUtils.convertDateToStringArray(date);
23
26
  } else {
24
27
  const datePrecision = precision;
25
28
  const stringArray = dateUtils.convertDateToStringArray(date);
@@ -36,6 +39,8 @@ const convertStringArrayToDate = (value, precision) => {
36
39
  }
37
40
  if (precision.includes('week')) {
38
41
  return weekUtils.convertStringArrayToDate(value);
42
+ } else if (precision.includes('quarter')) {
43
+ return quarterUtils.convertStringArrayToDate(value);
39
44
  } else {
40
45
  return dateUtils.convertStringArrayToDate(value);
41
46
  }
@@ -44,6 +49,8 @@ exports.convertStringArrayToDate = convertStringArrayToDate;
44
49
  const generateDatePickerColumns = (selected, min, max, precision, renderLabel, filter, tillNow) => {
45
50
  if (precision.startsWith('week')) {
46
51
  return weekUtils.generateDatePickerColumns(selected, min, max, precision, renderLabel, filter);
52
+ } else if (precision.startsWith('quarter')) {
53
+ return quarterUtils.generateDatePickerColumns(selected, min, max, precision, renderLabel, filter);
47
54
  } else {
48
55
  return dateUtils.generateDatePickerColumns(selected, min, max, precision, renderLabel, filter, tillNow);
49
56
  }
@@ -227,14 +227,14 @@ const ImageUploader = (0, _react.forwardRef)((p, ref) => {
227
227
  }, _react.default.createElement("span", {
228
228
  className: `${classPrefix}-upload-button-icon`
229
229
  }, _react.default.createElement(_antdMobileIcons.AddOutline, null))), !props.disableUpload && _react.default.createElement("input", {
230
+ "aria-label": locale.ImageUploader.upload,
230
231
  ref: inputRef,
231
232
  capture: props.capture,
232
233
  accept: props.accept,
233
234
  multiple: props.multiple,
234
235
  type: 'file',
235
236
  className: `${classPrefix}-input`,
236
- onChange: onChange,
237
- "aria-hidden": true
237
+ onChange: onChange
238
238
  })));
239
239
  (0, _react.useImperativeHandle)(ref, () => ({
240
240
  get nativeElement() {
@@ -4,7 +4,7 @@ declare type NativeInputProps = React.DetailedHTMLProps<React.InputHTMLAttribute
4
4
  declare type AriaProps = {
5
5
  role?: string;
6
6
  };
7
- export declare type InputProps = Pick<NativeInputProps, 'maxLength' | 'minLength' | 'autoComplete' | 'autoFocus' | 'pattern' | 'inputMode' | 'type' | 'name' | 'onFocus' | 'onBlur' | 'autoCapitalize' | 'autoCorrect' | 'onKeyDown' | 'onKeyUp' | 'onCompositionStart' | 'onCompositionEnd' | 'onClick' | 'step' | 'id' | 'placeholder' | 'readOnly' | 'disabled' | 'enterKeyHint'> & {
7
+ export declare type InputProps = Pick<NativeInputProps, 'maxLength' | 'minLength' | 'autoComplete' | 'autoFocus' | 'pattern' | 'inputMode' | 'type' | 'name' | 'onFocus' | 'onBlur' | 'onPaste' | 'autoCapitalize' | 'autoCorrect' | 'onKeyDown' | 'onKeyUp' | 'onCompositionStart' | 'onCompositionEnd' | 'onClick' | 'step' | 'id' | 'placeholder' | 'readOnly' | 'disabled' | 'enterKeyHint'> & {
8
8
  value?: string;
9
9
  defaultValue?: string;
10
10
  onChange?: (val: string) => void;
@@ -22,7 +22,7 @@ export declare type InputRef = {
22
22
  blur: () => void;
23
23
  nativeElement: HTMLInputElement | null;
24
24
  };
25
- export declare const Input: React.ForwardRefExoticComponent<Pick<NativeInputProps, "pattern" | "id" | "onClick" | "disabled" | "onCompositionEnd" | "onCompositionStart" | "onFocus" | "onBlur" | "onKeyDown" | "onKeyUp" | "type" | "step" | "autoFocus" | "placeholder" | "autoCapitalize" | "autoCorrect" | "inputMode" | "name" | "readOnly" | "autoComplete" | "enterKeyHint" | "maxLength" | "minLength"> & {
25
+ export declare const Input: React.ForwardRefExoticComponent<Pick<NativeInputProps, "pattern" | "id" | "onClick" | "disabled" | "onPaste" | "onCompositionEnd" | "onCompositionStart" | "onFocus" | "onBlur" | "onKeyDown" | "onKeyUp" | "type" | "step" | "autoFocus" | "placeholder" | "autoCapitalize" | "autoCorrect" | "inputMode" | "name" | "readOnly" | "autoComplete" | "enterKeyHint" | "maxLength" | "minLength"> & {
26
26
  value?: string | undefined;
27
27
  defaultValue?: string | undefined;
28
28
  onChange?: ((val: string) => void) | undefined;
@@ -96,6 +96,7 @@ const Input = (0, _react.forwardRef)((props, ref) => {
96
96
  checkValue();
97
97
  (_a = mergedProps.onBlur) === null || _a === void 0 ? void 0 : _a.call(mergedProps, e);
98
98
  },
99
+ onPaste: mergedProps.onPaste,
99
100
  id: mergedProps.id,
100
101
  placeholder: mergedProps.placeholder,
101
102
  disabled: mergedProps.disabled,
@@ -12,19 +12,19 @@ var _withDefaultProps = require("../../utils/with-default-props");
12
12
  var _configProvider = require("../config-provider");
13
13
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
14
14
  const classPrefix = `adm-nav-bar`;
15
- const defaultProps = {
16
- backIcon: true
17
- };
15
+ const defaultBackIcon = _react.default.createElement(_antdMobileIcons.LeftOutline, null);
18
16
  const NavBar = props => {
19
17
  const {
20
18
  navBar: componentConfig = {}
21
19
  } = (0, _configProvider.useConfig)();
22
- const mergedProps = (0, _withDefaultProps.mergeProps)(defaultProps, componentConfig, props);
20
+ const mergedProps = (0, _withDefaultProps.mergeProps)(componentConfig, props);
23
21
  const {
24
22
  back,
25
23
  backIcon,
26
24
  backArrow
27
25
  } = mergedProps;
26
+ const mergedDefaultBackIcon = componentConfig.backIcon || defaultBackIcon;
27
+ const mergedBackIcon = (0, _withDefaultProps.mergeProp)(defaultBackIcon, componentConfig.backIcon, backArrow === true ? mergedDefaultBackIcon : backArrow, backIcon === true ? mergedDefaultBackIcon : backIcon);
28
28
  return (0, _nativeProps.withNativeProps)(mergedProps, _react.default.createElement("div", {
29
29
  className: (0, _classnames.default)(classPrefix)
30
30
  }, _react.default.createElement("div", {
@@ -33,9 +33,9 @@ const NavBar = props => {
33
33
  }, back !== null && _react.default.createElement("div", {
34
34
  className: `${classPrefix}-back`,
35
35
  onClick: mergedProps.onBack
36
- }, (backIcon || backArrow) && _react.default.createElement("span", {
36
+ }, mergedBackIcon && _react.default.createElement("span", {
37
37
  className: `${classPrefix}-back-arrow`
38
- }, backIcon === true || backArrow === true ? componentConfig.backIcon || _react.default.createElement(_antdMobileIcons.LeftOutline, null) : backIcon || backArrow), _react.default.createElement("span", {
38
+ }, mergedBackIcon), _react.default.createElement("span", {
39
39
  "aria-hidden": 'true'
40
40
  }, back)), mergedProps.left), _react.default.createElement("div", {
41
41
  className: `${classPrefix}-title`
@@ -5,6 +5,8 @@
5
5
  --font-size: var(--adm-font-size-7);
6
6
  --icon-font-size: var(--adm-font-size-10);
7
7
  --height: 80px;
8
+ --adm-notice-bar-border-radius: 8px;
9
+ --adm-notice-bar-border-width: 2px;
8
10
  height: var(--height);
9
11
  box-sizing: border-box;
10
12
  font-size: var(--font-size);
@@ -12,9 +14,9 @@
12
14
  display: flex;
13
15
  align-items: center;
14
16
  justify-content: space-between;
15
- border: solid 2px var(--border-color);
16
- border-left: none;
17
- border-right: none;
17
+ border: solid var(--adm-notice-bar-border-width) var(--border-color);
18
+ border-left-width: 0;
19
+ border-right-width: 0;
18
20
  background-color: var(--background-color);
19
21
  color: var(--text-color);
20
22
  }
@@ -32,7 +34,7 @@
32
34
  .adm-notice-bar.adm-notice-bar-error {
33
35
  --background-color: var(--adm-color-danger);
34
36
  --border-color: #d9281e;
35
- --text-color: #ffffff;
37
+ --text-color: #fff;
36
38
  }
37
39
 
38
40
  .adm-notice-bar.adm-notice-bar-info {
@@ -41,6 +43,12 @@
41
43
  --text-color: var(--adm-color-primary);
42
44
  }
43
45
 
46
+ .adm-notice-bar.adm-notice-bar-success {
47
+ --background-color: #d1fff0;
48
+ --border-color: #a8f0d8;
49
+ --text-color: var(--adm-color-success);
50
+ }
51
+
44
52
  .adm-notice-bar .adm-notice-bar-left {
45
53
  flex-shrink: 0;
46
54
  margin-right: 16px;
@@ -89,4 +97,22 @@
89
97
  padding-top: 16px;
90
98
  padding-bottom: 16px;
91
99
  line-height: 44px;
100
+ }
101
+
102
+ .adm-notice-bar-neutral {
103
+ border-radius: var(--adm-notice-bar-border-radius);
104
+ }
105
+
106
+ .adm-notice-bar-rounded {
107
+ border-radius: 2000px;
108
+ }
109
+
110
+ .adm-notice-bar-bordered {
111
+ border-left-width: var(--adm-notice-bar-border-width);
112
+ border-right-width: var(--adm-notice-bar-border-width);
113
+ }
114
+
115
+ .adm-notice-bar-without-border {
116
+ border-top-width: 0;
117
+ border-bottom-width: 0;
92
118
  }
@@ -3,7 +3,7 @@ import React from 'react';
3
3
  import { NativeProps } from '../../utils/native-props';
4
4
  export declare type NoticeBarProps = {
5
5
  /** The type of the NoticeBar */
6
- color?: 'default' | 'alert' | 'error' | 'info';
6
+ color?: 'default' | 'alert' | 'error' | 'success' | 'info';
7
7
  /** TDelay to start scrolling, unit ms */
8
8
  delay?: number;
9
9
  /** Scroll speed, unit px/s */
@@ -24,5 +24,9 @@ export declare type NoticeBarProps = {
24
24
  icon?: ReactNode;
25
25
  /** Whether to display multiple lines */
26
26
  wrap?: boolean;
27
+ /** Block shape */
28
+ shape?: 'rectangular' | 'neutral' | 'rounded';
29
+ /** Border visibility */
30
+ bordered?: 'block' | boolean;
27
31
  } & NativeProps<'--background-color' | '--border-color' | '--text-color' | '--font-size' | '--icon-font-size' | '--height'>;
28
32
  export declare const NoticeBar: React.NamedExoticComponent<NoticeBarProps>;
@@ -22,7 +22,9 @@ const defaultProps = {
22
22
  delay: 2000,
23
23
  speed: 50,
24
24
  icon: _react.default.createElement(_antdMobileIcons.SoundOutline, null),
25
- wrap: false
25
+ wrap: false,
26
+ shape: 'rectangular',
27
+ bordered: 'block'
26
28
  };
27
29
  const NoticeBar = (0, _react.memo)(props => {
28
30
  const {
@@ -78,8 +80,10 @@ const NoticeBar = (0, _react.memo)(props => {
78
80
  });
79
81
  if (!visible) return null;
80
82
  return (0, _nativeProps.withNativeProps)(mergedProps, _react.default.createElement("div", {
81
- className: (0, _classnames.default)(classPrefix, `${classPrefix}-${mergedProps.color}`, {
82
- [`${classPrefix}-wrap`]: mergedProps.wrap
83
+ className: (0, _classnames.default)(classPrefix, `${classPrefix}-${mergedProps.color}`, `${classPrefix}-${mergedProps.shape}`, {
84
+ [`${classPrefix}-wrap`]: mergedProps.wrap,
85
+ [`${classPrefix}-bordered`]: mergedProps.bordered === true,
86
+ [`${classPrefix}-without-border`]: mergedProps.bordered === false
83
87
  }),
84
88
  onClick: mergedProps.onClick
85
89
  }, mergedProps.icon && _react.default.createElement("span", {
@@ -3,7 +3,7 @@ import React from 'react';
3
3
  import { NativeProps } from '../../utils/native-props';
4
4
  import { InputProps, InputRef } from '../input';
5
5
  export declare type SearchBarRef = InputRef;
6
- export declare type SearchBarProps = Pick<InputProps, 'onFocus' | 'onBlur' | 'onClear' | 'onCompositionStart' | 'onCompositionEnd'> & {
6
+ export declare type SearchBarProps = Pick<InputProps, 'onFocus' | 'onBlur' | 'onClear' | 'onCompositionStart' | 'onCompositionEnd' | 'autoFocus'> & {
7
7
  value?: string;
8
8
  defaultValue?: string;
9
9
  maxLength?: number;
@@ -22,7 +22,7 @@ export declare type SearchBarProps = Pick<InputProps, 'onFocus' | 'onBlur' | 'on
22
22
  onChange?: (val: string) => void;
23
23
  onCancel?: () => void;
24
24
  } & NativeProps<'--background' | '--border-radius' | '--placeholder-color' | '--height' | '--padding-left'>;
25
- export declare const SearchBar: React.ForwardRefExoticComponent<Pick<InputProps, "onCompositionEnd" | "onCompositionStart" | "onFocus" | "onBlur" | "onClear"> & {
25
+ export declare const SearchBar: React.ForwardRefExoticComponent<Pick<InputProps, "onCompositionEnd" | "onCompositionStart" | "onFocus" | "onBlur" | "autoFocus" | "onClear"> & {
26
26
  value?: string | undefined;
27
27
  defaultValue?: string | undefined;
28
28
  maxLength?: number | undefined;
@@ -96,6 +96,7 @@ const SearchBar = (0, _react.forwardRef)((props, ref) => {
96
96
  value: value,
97
97
  onChange: setValue,
98
98
  maxLength: mergedProps.maxLength,
99
+ autoFocus: mergedProps.autoFocus,
99
100
  placeholder: mergedProps.placeholder,
100
101
  clearable: mergedProps.clearable,
101
102
  onlyShowClearWhenFocus: mergedProps.onlyShowClearWhenFocus,
@@ -0,0 +1,4 @@
1
+ import './segmented.less';
2
+ import { Segmented } from './segmented';
3
+ export type { SegmentedProps, SegmentedValue } from './segmented';
4
+ export default Segmented;
@@ -0,0 +1,10 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.default = void 0;
7
+ require("./segmented.css");
8
+ var _segmented2 = require("./segmented");
9
+ var _default = _segmented2.Segmented;
10
+ exports.default = _default;
@@ -0,0 +1,113 @@
1
+ .adm-segmented {
2
+ --segmented-background: var(--adm-color-fill-content);
3
+ --segmented-item-color: var(--adm-color-text-secondary);
4
+ --segmented-item-selected-background: var(--adm-color-background);
5
+ --segmented-item-selected-color: var(--adm-color-text);
6
+ --segmented-item-disabled-color: var(--adm-color-weak);
7
+ --transition-time-function: cubic-bezier(0.645, 0.045, 0.355, 1);
8
+ display: inline-block;
9
+ padding: 4px;
10
+ color: var(--segmented-item-color);
11
+ background-color: var(--segmented-background);
12
+ border-radius: 4px;
13
+ transition: all 0.3s var(--transition-time-function);
14
+ }
15
+
16
+ .adm-segmented-group {
17
+ position: relative;
18
+ display: flex;
19
+ align-items: stretch;
20
+ justify-items: flex-start;
21
+ width: 100%;
22
+ }
23
+
24
+ .adm-segmented.adm-segmented-block {
25
+ display: flex;
26
+ }
27
+
28
+ .adm-segmented.adm-segmented-block .adm-segmented-item {
29
+ flex: 1;
30
+ min-width: 0;
31
+ }
32
+
33
+ .adm-segmented-item {
34
+ position: relative;
35
+ text-align: center;
36
+ cursor: pointer;
37
+ transition: color 0.3s var(--transition-time-function);
38
+ }
39
+
40
+ .adm-segmented-item-selected {
41
+ background-color: var(--segmented-item-selected-background);
42
+ border-radius: 4px;
43
+ box-shadow: 0 4px 16px -4px rgba(0, 0, 0, 0.05), 0 2px 8px -2px rgba(0, 0, 0, 0.07), 0 0 2px 0 rgba(0, 0, 0, 0.08);
44
+ color: var(--segmented-item-selected-color);
45
+ }
46
+
47
+ .adm-segmented-item-label {
48
+ min-height: 20px;
49
+ padding: 0 22px;
50
+ line-height: 56px;
51
+ overflow: hidden;
52
+ white-space: nowrap;
53
+ text-overflow: ellipsis;
54
+ word-break: keep-all;
55
+ }
56
+
57
+ .adm-segmented-item-icon + * {
58
+ margin-left: 12px;
59
+ }
60
+
61
+ .adm-segmented-item-input {
62
+ position: absolute;
63
+ top: 0;
64
+ left: 0;
65
+ width: 0;
66
+ height: 0;
67
+ opacity: 0;
68
+ pointer-events: none;
69
+ }
70
+
71
+ .adm-segmented-item-disabled {
72
+ color: var(--segmented-item-disabled-color);
73
+ cursor: not-allowed;
74
+ }
75
+
76
+ .adm-segmented-thumb {
77
+ background-color: var(--segmented-item-selected-background);
78
+ border-radius: 4px;
79
+ box-shadow: 0 4px 16px -4px rgba(0, 0, 0, 0.05), 0 2px 8px -2px rgba(0, 0, 0, 0.07), 0 0 2px 0 rgba(0, 0, 0, 0.08);
80
+ position: absolute;
81
+ top: 0;
82
+ left: 0;
83
+ width: 0;
84
+ height: 100%;
85
+ padding: 8px 0;
86
+ }
87
+
88
+ .adm-segmented-thumb-motion-appear-active {
89
+ transition: transform 0.3s var(--transition-time-function), width 0.3s var(--transition-time-function);
90
+ will-change: transform, width;
91
+ }
92
+
93
+ /* ---- mixins part starts ---- */
94
+
95
+ .segmented-disabled-item {
96
+ color: var(--segmented-item-disabled-color);
97
+ cursor: not-allowed;
98
+ }
99
+
100
+ .segmented-item-selected {
101
+ background-color: var(--segmented-item-selected-background);
102
+ border-radius: 4px;
103
+ box-shadow: 0 4px 16px -4px rgba(0, 0, 0, 0.05), 0 2px 8px -2px rgba(0, 0, 0, 0.07), 0 0 2px 0 rgba(0, 0, 0, 0.08);
104
+ }
105
+
106
+ .segmented-text-ellipsis {
107
+ overflow: hidden;
108
+ white-space: nowrap;
109
+ text-overflow: ellipsis;
110
+ word-break: keep-all;
111
+ }
112
+
113
+ /* ---- mixins part ends ---- */
@@ -0,0 +1,21 @@
1
+ import type { SegmentedLabeledOption as RcSegmentedLabeledOption, SegmentedProps as RCSegmentedProps, SegmentedRawOption } from 'rc-segmented';
2
+ import * as React from 'react';
3
+ import { NativeProps } from '../../utils/native-props';
4
+ export type { SegmentedValue } from 'rc-segmented';
5
+ interface SegmentedLabeledOptionWithoutIcon extends RcSegmentedLabeledOption {
6
+ label: RcSegmentedLabeledOption['label'];
7
+ }
8
+ interface SegmentedLabeledOptionWithIcon extends Omit<RcSegmentedLabeledOption, 'label'> {
9
+ label?: RcSegmentedLabeledOption['label'];
10
+ /** Set icon for Segmented item */
11
+ icon: React.ReactNode;
12
+ }
13
+ export declare type SegmentedLabeledOption = SegmentedLabeledOptionWithIcon | SegmentedLabeledOptionWithoutIcon;
14
+ interface InternalSegmentedProps extends Omit<RCSegmentedProps, 'size' | 'options'> {
15
+ options: (SegmentedRawOption | SegmentedLabeledOption)[];
16
+ /** Option to fit width to its parent's width */
17
+ block?: boolean;
18
+ }
19
+ export declare type SegmentedProps = InternalSegmentedProps & NativeProps<'--segmented-background' | '--segmented-item-color' | '--segmented-item-selected-background' | '--segmented-item-selected-color' | '--segmented-item-disabled-color'>;
20
+ declare const Segmented: React.ForwardRefExoticComponent<Omit<SegmentedProps, "ref"> & React.RefAttributes<HTMLDivElement>>;
21
+ export { Segmented };
@@ -0,0 +1,57 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.Segmented = void 0;
7
+ var _tslib = require("tslib");
8
+ var _classnames = _interopRequireDefault(require("classnames"));
9
+ var _rcSegmented = _interopRequireDefault(require("rc-segmented"));
10
+ var React = _interopRequireWildcard(require("react"));
11
+ var _nativeProps = require("../../utils/native-props");
12
+ 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); }
13
+ function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
14
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
15
+ function isSegmentedLabeledOptionWithIcon(option) {
16
+ return typeof option === 'object' && !!(option === null || option === void 0 ? void 0 : option.icon);
17
+ }
18
+ const classPrefix = `adm-segmented`;
19
+ const Segmented = React.forwardRef((props, ref) => {
20
+ const {
21
+ prefixCls: customizePrefixCls,
22
+ className,
23
+ block,
24
+ options = []
25
+ } = props,
26
+ restProps = (0, _tslib.__rest)(props
27
+ // syntactic sugar to support `icon` for Segmented Item
28
+ , ["prefixCls", "className", "block", "options"]);
29
+ // syntactic sugar to support `icon` for Segmented Item
30
+ const extendedOptions = React.useMemo(() => options.map(option => {
31
+ if (isSegmentedLabeledOptionWithIcon(option)) {
32
+ const {
33
+ icon,
34
+ label
35
+ } = option,
36
+ restOption = (0, _tslib.__rest)(option, ["icon", "label"]);
37
+ return Object.assign(Object.assign({}, restOption), {
38
+ label: React.createElement(React.Fragment, null, React.createElement("span", {
39
+ className: `${classPrefix}-item-icon`
40
+ }, icon), label && React.createElement("span", null, label))
41
+ });
42
+ }
43
+ return option;
44
+ }), [options, classPrefix]);
45
+ return (0, _nativeProps.withNativeProps)(props, React.createElement(_rcSegmented.default, Object.assign({}, restProps, {
46
+ className: (0, _classnames.default)(className, {
47
+ [`${classPrefix}-block`]: block
48
+ }),
49
+ options: extendedOptions,
50
+ ref: ref,
51
+ prefixCls: classPrefix
52
+ })));
53
+ });
54
+ exports.Segmented = Segmented;
55
+ if (process.env.NODE_ENV !== 'production') {
56
+ Segmented.displayName = 'Segmented';
57
+ }
@@ -0,0 +1,41 @@
1
+ .adm-segmented {
2
+ color: #666;
3
+ background-color: #f5f5f5;
4
+ transition: all 0.3s cubic-bezier(0.645, 0.045, 0.355, 1);
5
+ }
6
+
7
+ .adm-segmented-item {
8
+ transition: color 0.3s cubic-bezier(0.645, 0.045, 0.355, 1);
9
+ }
10
+
11
+ .adm-segmented-item-selected {
12
+ background-color: #fff;
13
+ box-shadow: 0 4px 16px -4px rgba(0, 0, 0, 0.05), 0 2px 8px -2px rgba(0, 0, 0, 0.07), 0 0 2px 0 rgba(0, 0, 0, 0.08);
14
+ color: #333;
15
+ }
16
+
17
+ .adm-segmented-item-disabled {
18
+ color: #999;
19
+ }
20
+
21
+ .adm-segmented-thumb {
22
+ background-color: #fff;
23
+ box-shadow: 0 4px 16px -4px rgba(0, 0, 0, 0.05), 0 2px 8px -2px rgba(0, 0, 0, 0.07), 0 0 2px 0 rgba(0, 0, 0, 0.08);
24
+ }
25
+
26
+ .adm-segmented-thumb-motion-appear-active {
27
+ transition: transform 0.3s cubic-bezier(0.645, 0.045, 0.355, 1), width 0.3s cubic-bezier(0.645, 0.045, 0.355, 1);
28
+ }
29
+
30
+ /* ---- mixins part starts ---- */
31
+
32
+ .segmented-disabled-item {
33
+ color: #999;
34
+ }
35
+
36
+ .segmented-item-selected {
37
+ background-color: #fff;
38
+ box-shadow: 0 4px 16px -4px rgba(0, 0, 0, 0.05), 0 2px 8px -2px rgba(0, 0, 0, 0.07), 0 0 2px 0 rgba(0, 0, 0, 0.08);
39
+ }
40
+
41
+ /* ---- mixins part ends ---- */
@@ -5,6 +5,7 @@ export declare type TabBarItemProps = {
5
5
  icon?: ReactNode | ((active: boolean) => ReactNode);
6
6
  title?: ReactNode | ((active: boolean) => ReactNode);
7
7
  badge?: BadgeProps['content'];
8
+ onClick?: () => void;
8
9
  } & NativeProps;
9
10
  export declare const TabBarItem: FC<TabBarItemProps>;
10
11
  export declare type TabBarProps = {