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.
- package/2x/README.md +2 -2
- package/2x/bundle/antd-mobile.cjs.development.js +3012 -1806
- package/2x/bundle/antd-mobile.cjs.js +7 -7
- package/2x/bundle/antd-mobile.es.development.js +3014 -1808
- package/2x/bundle/antd-mobile.es.js +7937 -7154
- package/2x/bundle/antd-mobile.umd.development.js +3012 -1806
- package/2x/bundle/antd-mobile.umd.js +7 -7
- package/2x/bundle/css-vars-patch.css +42 -0
- package/2x/bundle/style.css +186 -49
- package/2x/cjs/components/calendar-picker/calendar-picker.js +12 -6
- package/2x/cjs/components/calendar-picker-view/calendar-picker-view.d.ts +4 -1
- package/2x/cjs/components/calendar-picker-view/calendar-picker-view.js +69 -26
- package/2x/cjs/components/calendar-picker-view/useSyncScroll.d.ts +2 -0
- package/2x/cjs/components/calendar-picker-view/useSyncScroll.js +39 -0
- package/2x/cjs/components/card/card.css +1 -0
- package/2x/cjs/components/card/card.d.ts +2 -1
- package/2x/cjs/components/card/card.js +7 -3
- package/2x/cjs/components/card/card.patch.css +8 -0
- package/2x/cjs/components/date-picker/date-picker-quarter-utils.d.ts +7 -0
- package/2x/cjs/components/date-picker/date-picker-quarter-utils.js +77 -0
- package/2x/cjs/components/date-picker/date-picker-utils.d.ts +3 -2
- package/2x/cjs/components/date-picker/date-picker-utils.js +7 -0
- package/2x/cjs/components/image-uploader/image-uploader.js +2 -2
- package/2x/cjs/components/input/input.d.ts +2 -2
- package/2x/cjs/components/input/input.js +1 -0
- package/2x/cjs/components/nav-bar/nav-bar.js +6 -6
- package/2x/cjs/components/notice-bar/notice-bar.css +30 -4
- package/2x/cjs/components/notice-bar/notice-bar.d.ts +5 -1
- package/2x/cjs/components/notice-bar/notice-bar.js +7 -3
- package/2x/cjs/components/search-bar/search-bar.d.ts +2 -2
- package/2x/cjs/components/search-bar/search-bar.js +1 -0
- package/2x/cjs/components/segmented/index.d.ts +4 -0
- package/2x/cjs/components/segmented/index.js +10 -0
- package/2x/cjs/components/segmented/segmented.css +113 -0
- package/2x/cjs/components/segmented/segmented.d.ts +21 -0
- package/2x/cjs/components/segmented/segmented.js +57 -0
- package/2x/cjs/components/segmented/segmented.patch.css +41 -0
- package/2x/cjs/components/tab-bar/tab-bar.d.ts +1 -0
- package/2x/cjs/components/tab-bar/tab-bar.js +2 -0
- package/2x/cjs/components/tabs/tabs.js +1 -1
- package/2x/cjs/components/toast/methods.js +9 -3
- package/2x/cjs/global/css-vars-patch.css +42 -0
- package/2x/cjs/index.d.ts +2 -0
- package/2x/cjs/index.js +7 -0
- package/2x/cjs/locales/cnr-ME.d.ts +139 -0
- package/2x/cjs/locales/cnr-ME.js +149 -0
- package/2x/cjs/locales/hr-HR.d.ts +139 -0
- package/2x/cjs/locales/hr-HR.js +149 -0
- package/2x/cjs/locales/kk-KZ.js +6 -6
- package/2x/cjs/locales/sr-RS.d.ts +139 -0
- package/2x/cjs/locales/sr-RS.js +149 -0
- package/2x/cjs/utils/render-imperatively.d.ts +1 -0
- package/2x/cjs/utils/render-imperatively.js +6 -3
- package/2x/es/components/calendar-picker/calendar-picker.js +11 -5
- package/2x/es/components/calendar-picker-view/calendar-picker-view.d.ts +4 -1
- package/2x/es/components/calendar-picker-view/calendar-picker-view.js +67 -25
- package/2x/es/components/calendar-picker-view/useSyncScroll.d.ts +2 -0
- package/2x/es/components/calendar-picker-view/useSyncScroll.js +33 -0
- package/2x/es/components/card/card.css +1 -0
- package/2x/es/components/card/card.d.ts +2 -1
- package/2x/es/components/card/card.js +7 -3
- package/2x/es/components/card/card.patch.css +8 -0
- package/2x/es/components/date-picker/date-picker-quarter-utils.d.ts +7 -0
- package/2x/es/components/date-picker/date-picker-quarter-utils.js +68 -0
- package/2x/es/components/date-picker/date-picker-utils.d.ts +3 -2
- package/2x/es/components/date-picker/date-picker-utils.js +7 -0
- package/2x/es/components/image-uploader/image-uploader.js +2 -2
- package/2x/es/components/input/input.d.ts +2 -2
- package/2x/es/components/input/input.js +1 -0
- package/2x/es/components/nav-bar/nav-bar.js +7 -7
- package/2x/es/components/notice-bar/notice-bar.css +30 -4
- package/2x/es/components/notice-bar/notice-bar.d.ts +5 -1
- package/2x/es/components/notice-bar/notice-bar.js +7 -3
- package/2x/es/components/search-bar/search-bar.d.ts +2 -2
- package/2x/es/components/search-bar/search-bar.js +1 -0
- package/2x/es/components/segmented/index.d.ts +4 -0
- package/2x/es/components/segmented/index.js +3 -0
- package/2x/es/components/segmented/segmented.css +113 -0
- package/2x/es/components/segmented/segmented.d.ts +21 -0
- package/2x/es/components/segmented/segmented.js +48 -0
- package/2x/es/components/segmented/segmented.patch.css +41 -0
- package/2x/es/components/tab-bar/tab-bar.d.ts +1 -0
- package/2x/es/components/tab-bar/tab-bar.js +2 -0
- package/2x/es/components/tabs/tabs.js +1 -1
- package/2x/es/components/toast/methods.js +9 -3
- package/2x/es/global/css-vars-patch.css +42 -0
- package/2x/es/index.d.ts +2 -0
- package/2x/es/index.js +1 -0
- package/2x/es/locales/cnr-ME.d.ts +139 -0
- package/2x/es/locales/cnr-ME.js +142 -0
- package/2x/es/locales/hr-HR.d.ts +139 -0
- package/2x/es/locales/hr-HR.js +142 -0
- package/2x/es/locales/kk-KZ.js +6 -6
- package/2x/es/locales/sr-RS.d.ts +139 -0
- package/2x/es/locales/sr-RS.js +142 -0
- package/2x/es/utils/render-imperatively.d.ts +1 -0
- package/2x/es/utils/render-imperatively.js +6 -3
- package/2x/package.json +3 -2
- package/README.md +2 -2
- package/bundle/antd-mobile.cjs.development.js +3012 -1806
- package/bundle/antd-mobile.cjs.js +7 -7
- package/bundle/antd-mobile.compatible.umd.js +1 -1
- package/bundle/antd-mobile.es.development.js +3014 -1808
- package/bundle/antd-mobile.es.js +7937 -7154
- package/bundle/antd-mobile.umd.development.js +3012 -1806
- package/bundle/antd-mobile.umd.js +7 -7
- package/bundle/css-vars-patch.css +32 -0
- package/bundle/style.css +1 -1
- package/cjs/components/calendar-picker/calendar-picker.js +12 -6
- package/cjs/components/calendar-picker-view/calendar-picker-view.d.ts +4 -1
- package/cjs/components/calendar-picker-view/calendar-picker-view.js +69 -26
- package/cjs/components/calendar-picker-view/useSyncScroll.d.ts +2 -0
- package/cjs/components/calendar-picker-view/useSyncScroll.js +39 -0
- package/cjs/components/card/card.css +1 -0
- package/cjs/components/card/card.d.ts +2 -1
- package/cjs/components/card/card.js +7 -3
- package/cjs/components/card/card.patch.css +6 -0
- package/cjs/components/date-picker/date-picker-quarter-utils.d.ts +7 -0
- package/cjs/components/date-picker/date-picker-quarter-utils.js +77 -0
- package/cjs/components/date-picker/date-picker-utils.d.ts +3 -2
- package/cjs/components/date-picker/date-picker-utils.js +7 -0
- package/cjs/components/image-uploader/image-uploader.js +2 -2
- package/cjs/components/input/input.d.ts +2 -2
- package/cjs/components/input/input.js +1 -0
- package/cjs/components/nav-bar/nav-bar.js +6 -6
- package/cjs/components/notice-bar/notice-bar.css +25 -4
- package/cjs/components/notice-bar/notice-bar.d.ts +5 -1
- package/cjs/components/notice-bar/notice-bar.js +7 -3
- package/cjs/components/search-bar/search-bar.d.ts +2 -2
- package/cjs/components/search-bar/search-bar.js +1 -0
- package/cjs/components/segmented/index.d.ts +4 -0
- package/cjs/components/segmented/index.js +10 -0
- package/cjs/components/segmented/segmented.css +97 -0
- package/cjs/components/segmented/segmented.d.ts +21 -0
- package/cjs/components/segmented/segmented.js +57 -0
- package/cjs/components/segmented/segmented.patch.css +32 -0
- package/cjs/components/tab-bar/tab-bar.d.ts +1 -0
- package/cjs/components/tab-bar/tab-bar.js +2 -0
- package/cjs/components/tabs/tabs.js +1 -1
- package/cjs/components/toast/methods.js +9 -3
- package/cjs/global/css-vars-patch.css +32 -0
- package/cjs/index.d.ts +2 -0
- package/cjs/index.js +7 -0
- package/cjs/locales/cnr-ME.d.ts +139 -0
- package/cjs/locales/cnr-ME.js +149 -0
- package/cjs/locales/hr-HR.d.ts +139 -0
- package/cjs/locales/hr-HR.js +149 -0
- package/cjs/locales/kk-KZ.js +6 -6
- package/cjs/locales/sr-RS.d.ts +139 -0
- package/cjs/locales/sr-RS.js +149 -0
- package/cjs/utils/render-imperatively.d.ts +1 -0
- package/cjs/utils/render-imperatively.js +6 -3
- package/es/components/calendar-picker/calendar-picker.js +11 -5
- package/es/components/calendar-picker-view/calendar-picker-view.d.ts +4 -1
- package/es/components/calendar-picker-view/calendar-picker-view.js +67 -25
- package/es/components/calendar-picker-view/useSyncScroll.d.ts +2 -0
- package/es/components/calendar-picker-view/useSyncScroll.js +33 -0
- package/es/components/card/card.css +1 -0
- package/es/components/card/card.d.ts +2 -1
- package/es/components/card/card.js +7 -3
- package/es/components/card/card.patch.css +6 -0
- package/es/components/date-picker/date-picker-quarter-utils.d.ts +7 -0
- package/es/components/date-picker/date-picker-quarter-utils.js +68 -0
- package/es/components/date-picker/date-picker-utils.d.ts +3 -2
- package/es/components/date-picker/date-picker-utils.js +7 -0
- package/es/components/image-uploader/image-uploader.js +2 -2
- package/es/components/input/input.d.ts +2 -2
- package/es/components/input/input.js +1 -0
- package/es/components/nav-bar/nav-bar.js +7 -7
- package/es/components/notice-bar/notice-bar.css +25 -4
- package/es/components/notice-bar/notice-bar.d.ts +5 -1
- package/es/components/notice-bar/notice-bar.js +7 -3
- package/es/components/search-bar/search-bar.d.ts +2 -2
- package/es/components/search-bar/search-bar.js +1 -0
- package/es/components/segmented/index.d.ts +4 -0
- package/es/components/segmented/index.js +3 -0
- package/es/components/segmented/segmented.css +97 -0
- package/es/components/segmented/segmented.d.ts +21 -0
- package/es/components/segmented/segmented.js +48 -0
- package/es/components/segmented/segmented.patch.css +32 -0
- package/es/components/tab-bar/tab-bar.d.ts +1 -0
- package/es/components/tab-bar/tab-bar.js +2 -0
- package/es/components/tabs/tabs.js +1 -1
- package/es/components/toast/methods.js +9 -3
- package/es/global/css-vars-patch.css +32 -0
- package/es/index.d.ts +2 -0
- package/es/index.js +1 -0
- package/es/locales/cnr-ME.d.ts +139 -0
- package/es/locales/cnr-ME.js +142 -0
- package/es/locales/hr-HR.d.ts +139 -0
- package/es/locales/hr-HR.js +142 -0
- package/es/locales/kk-KZ.js +6 -6
- package/es/locales/sr-RS.d.ts +139 -0
- package/es/locales/sr-RS.js +142 -0
- package/es/utils/render-imperatively.d.ts +1 -0
- package/es/utils/render-imperatively.js +6 -3
- package/package.json +3 -2
- 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) {
|
|
@@ -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
|
-
|
|
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
|
|
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)(
|
|
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
|
-
},
|
|
36
|
+
}, mergedBackIcon && _react.default.createElement("span", {
|
|
37
37
|
className: `${classPrefix}-back-arrow`
|
|
38
|
-
},
|
|
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
|
|
16
|
-
border-left:
|
|
17
|
-
border-right:
|
|
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: #
|
|
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,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 = {
|