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