1 | "use strict";
|
2 |
|
3 | Object.defineProperty(exports, "__esModule", {
|
4 | value: true
|
5 | });
|
6 | exports.alias = alias;
|
7 | exports.getThemeFromTypeName = getThemeFromTypeName;
|
8 | exports.removeTypeTheme = removeTypeTheme;
|
9 | exports.svgBaseProps = void 0;
|
10 | exports.withThemeSuffix = withThemeSuffix;
|
11 |
|
12 | var _lodash = _interopRequireDefault(require("lodash.camelcase"));
|
13 |
|
14 | var _lodash2 = _interopRequireDefault(require("lodash.upperfirst"));
|
15 |
|
16 | var _warning = _interopRequireDefault(require("../_util/warning"));
|
17 |
|
18 | function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
19 |
|
20 |
|
21 |
|
22 | var svgBaseProps = {
|
23 | width: '1em',
|
24 | height: '1em',
|
25 | fill: 'currentColor',
|
26 | 'aria-hidden': true,
|
27 | focusable: 'false'
|
28 | };
|
29 |
|
30 | exports.svgBaseProps = svgBaseProps;
|
31 | var fillTester = /-fill$/;
|
32 | var outlineTester = /-o$/;
|
33 | var twoToneTester = /-twotone$/;
|
34 |
|
35 | function getThemeFromTypeName(type) {
|
36 | var result = null;
|
37 |
|
38 | if (fillTester.test(type)) {
|
39 | result = 'filled';
|
40 | } else if (outlineTester.test(type)) {
|
41 | result = 'outlined';
|
42 | } else if (twoToneTester.test(type)) {
|
43 | result = 'twoTone';
|
44 | }
|
45 |
|
46 | return result;
|
47 | }
|
48 |
|
49 | function removeTypeTheme(type) {
|
50 | return type.replace(fillTester, '').replace(outlineTester, '').replace(twoToneTester, '');
|
51 | }
|
52 |
|
53 | var themeMap = {
|
54 | filled: 'filled',
|
55 | outlined: 'outlined',
|
56 |
|
57 | twoTone: 'twoTone'
|
58 | };
|
59 |
|
60 | function withThemeSuffix(type, theme) {
|
61 | var result = (0, _lodash2.default)((0, _lodash.default)(type));
|
62 | var realTheme = (0, _lodash2.default)(themeMap[theme]);
|
63 |
|
64 | if (theme !== 'outlined' && !realTheme) {
|
65 | (0, _warning.default)(false, 'Icon', "This icon '".concat(type, "' has unknown theme '").concat(theme, "'"));
|
66 | }
|
67 |
|
68 | return result + realTheme;
|
69 | }
|
70 |
|
71 |
|
72 | function alias(type) {
|
73 | var newType = type;
|
74 |
|
75 | switch (type) {
|
76 | case 'cross':
|
77 | newType = 'close';
|
78 | break;
|
79 |
|
80 |
|
81 | case 'interation':
|
82 | newType = 'interaction';
|
83 | break;
|
84 |
|
85 |
|
86 | case 'canlendar':
|
87 | newType = 'calendar';
|
88 | break;
|
89 |
|
90 |
|
91 | case 'colum-height':
|
92 | newType = 'column-height';
|
93 | break;
|
94 |
|
95 | default:
|
96 | }
|
97 |
|
98 | (0, _warning.default)(newType === type, 'Icon', "Icon '".concat(type, "' was a typo and is now deprecated, please use '").concat(newType, "' instead."));
|
99 | return newType;
|
100 | } |
\ | No newline at end of file |