@digigov/react-icons 2.0.0-rc.0 → 2.0.0-rc.10
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/Base/index.d.ts +95 -0
- package/Base/index.js +69 -0
- package/Base/package.json +6 -0
- package/Icon/index.d.ts +1 -1
- package/Icon/index.js +1 -1
- package/SvgIcon/__snapshots__/index.test.tsx.snap +390 -0
- package/SvgIcon/index.d.ts +37 -0
- package/SvgIcon/index.js +26 -0
- package/SvgIcon/index.test/index.js +105 -0
- package/SvgIcon/index.test/package.json +6 -0
- package/SvgIcon/index.test.d.ts +1 -0
- package/SvgIcon/package.json +6 -0
- package/cjs/Base/index.js +75 -0
- package/cjs/Icon/index.js +1 -1
- package/cjs/SvgIcon/__snapshots__/index.test.tsx.snap +390 -0
- package/cjs/SvgIcon/index.js +33 -0
- package/cjs/SvgIcon/index.test/index.js +108 -0
- package/cjs/lazy/index.js +108 -0
- package/cjs/registry/index.js +4 -0
- package/index.js +1 -1
- package/lazy/index.js +84 -0
- package/lazy.d.ts +12 -0
- package/package.json +3 -3
- package/registry/index.js +4 -0
- package/registry.d.ts +2 -0
- package/src/Base/index.tsx +257 -0
- package/src/Icon/index.tsx +1 -1
- package/src/SvgIcon/__snapshots__/index.test.tsx.snap +390 -0
- package/src/SvgIcon/index.test.tsx +68 -0
- package/src/SvgIcon/index.tsx +72 -0
- package/src/lazy.js +12 -0
- package/src/registry.js +4 -0
|
@@ -0,0 +1,68 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import { mount } from 'enzyme';
|
|
3
|
+
|
|
4
|
+
import SvgIcon from '@digigov/react-icons/SvgIcon';
|
|
5
|
+
|
|
6
|
+
it('renders the SvgIcon with no props', () => {
|
|
7
|
+
expect(mount(<SvgIcon />)).toMatchSnapshot();
|
|
8
|
+
});
|
|
9
|
+
it('renders the SvgIcon with prop size=xs', () => {
|
|
10
|
+
expect(mount(<SvgIcon size="xs">hello</SvgIcon>)).toMatchSnapshot();
|
|
11
|
+
});
|
|
12
|
+
it('renders the SvgIcon with prop size=sm', () => {
|
|
13
|
+
expect(mount(<SvgIcon size="sm">hello</SvgIcon>)).toMatchSnapshot();
|
|
14
|
+
});
|
|
15
|
+
it('renders the SvgIcon with prop size=md', () => {
|
|
16
|
+
expect(mount(<SvgIcon size="md">hello</SvgIcon>)).toMatchSnapshot();
|
|
17
|
+
});
|
|
18
|
+
it('renders the SvgIcon with prop size=lg', () => {
|
|
19
|
+
expect(mount(<SvgIcon size="lg">hello</SvgIcon>)).toMatchSnapshot();
|
|
20
|
+
});
|
|
21
|
+
it('renders the SvgIcon with prop size=xl', () => {
|
|
22
|
+
expect(mount(<SvgIcon size="xl">hello</SvgIcon>)).toMatchSnapshot();
|
|
23
|
+
});
|
|
24
|
+
it('renders the SvgIcon with prop color=base-content', () => {
|
|
25
|
+
expect(mount(<SvgIcon color="base-content">hello</SvgIcon>)).toMatchSnapshot();
|
|
26
|
+
});
|
|
27
|
+
it('renders the SvgIcon with prop color=dark', () => {
|
|
28
|
+
expect(mount(<SvgIcon color="dark">hello</SvgIcon>)).toMatchSnapshot();
|
|
29
|
+
});
|
|
30
|
+
it('renders the SvgIcon with prop color=white', () => {
|
|
31
|
+
expect(mount(<SvgIcon color="white">hello</SvgIcon>)).toMatchSnapshot();
|
|
32
|
+
});
|
|
33
|
+
it('renders the SvgIcon with prop color=gray', () => {
|
|
34
|
+
expect(mount(<SvgIcon color="gray">hello</SvgIcon>)).toMatchSnapshot();
|
|
35
|
+
});
|
|
36
|
+
it('renders the SvgIcon with prop color=primary', () => {
|
|
37
|
+
expect(mount(<SvgIcon color="primary">hello</SvgIcon>)).toMatchSnapshot();
|
|
38
|
+
});
|
|
39
|
+
it('renders the SvgIcon with prop color=success', () => {
|
|
40
|
+
expect(mount(<SvgIcon color="success">hello</SvgIcon>)).toMatchSnapshot();
|
|
41
|
+
});
|
|
42
|
+
it('renders the SvgIcon with prop color=warning', () => {
|
|
43
|
+
expect(mount(<SvgIcon color="warning">hello</SvgIcon>)).toMatchSnapshot();
|
|
44
|
+
});
|
|
45
|
+
it('renders the SvgIcon with prop color=error', () => {
|
|
46
|
+
expect(mount(<SvgIcon color="error">hello</SvgIcon>)).toMatchSnapshot();
|
|
47
|
+
});
|
|
48
|
+
it('renders the SvgIcon with prop color=focus', () => {
|
|
49
|
+
expect(mount(<SvgIcon color="focus">hello</SvgIcon>)).toMatchSnapshot();
|
|
50
|
+
});
|
|
51
|
+
it('renders the SvgIcon with prop color=warning and size=sm', () => {
|
|
52
|
+
expect(
|
|
53
|
+
mount(
|
|
54
|
+
<SvgIcon color="warning" size="sm">
|
|
55
|
+
hello
|
|
56
|
+
</SvgIcon>
|
|
57
|
+
)
|
|
58
|
+
).toMatchSnapshot();
|
|
59
|
+
});
|
|
60
|
+
it('renders the SvgIcon with prop color=error and size= xl', () => {
|
|
61
|
+
expect(
|
|
62
|
+
mount(
|
|
63
|
+
<SvgIcon color="warning" size="xl">
|
|
64
|
+
hello
|
|
65
|
+
</SvgIcon>
|
|
66
|
+
)
|
|
67
|
+
).toMatchSnapshot();
|
|
68
|
+
});
|
|
@@ -0,0 +1,72 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import clsx from 'clsx';
|
|
3
|
+
import Base, { BaseProps } from '@digigov/react-icons/Base';
|
|
4
|
+
|
|
5
|
+
export interface SvgIconProps extends BaseProps<'svg'> {
|
|
6
|
+
/**
|
|
7
|
+
* size is optional.
|
|
8
|
+
* size prop declares the size of the svg icon.
|
|
9
|
+
* @value 'xs'
|
|
10
|
+
* @value 'sm'
|
|
11
|
+
* @value 'md'
|
|
12
|
+
* @value 'lg'
|
|
13
|
+
* @value 'xl'
|
|
14
|
+
* @default 'sm'
|
|
15
|
+
*/
|
|
16
|
+
size?: 'xs' | 'sm' | 'md' | 'lg' | 'xl';
|
|
17
|
+
|
|
18
|
+
/**
|
|
19
|
+
* color property styles svg icon with Gov.gr palette's basic colors.
|
|
20
|
+
* color property is optional.
|
|
21
|
+
* @value 'base-content'
|
|
22
|
+
* @value 'dark', always dark, among all themes
|
|
23
|
+
* @value 'white', always white, among all themes
|
|
24
|
+
* @value 'gray'
|
|
25
|
+
* @value 'primary'
|
|
26
|
+
* @value 'success'
|
|
27
|
+
* @value 'warning'
|
|
28
|
+
* @value 'error'
|
|
29
|
+
* @value 'focus', use only in focus state, in dark background
|
|
30
|
+
* @value 'info'
|
|
31
|
+
* @value 'link'
|
|
32
|
+
*/
|
|
33
|
+
color?:
|
|
34
|
+
| 'base-content'
|
|
35
|
+
| 'dark'
|
|
36
|
+
| 'white'
|
|
37
|
+
| 'gray'
|
|
38
|
+
| 'primary'
|
|
39
|
+
| 'success'
|
|
40
|
+
| 'warning'
|
|
41
|
+
| 'error'
|
|
42
|
+
| 'focus'
|
|
43
|
+
| 'info'
|
|
44
|
+
| 'link';
|
|
45
|
+
}
|
|
46
|
+
/**
|
|
47
|
+
* Use SvgIcon as global svg component.
|
|
48
|
+
* SvgIcon can be used inside other svg components as children such as CheckIcon, CaretIcon etc.
|
|
49
|
+
*/
|
|
50
|
+
export const SvgIcon = React.forwardRef<SVGSVGElement, SvgIconProps>(
|
|
51
|
+
function SvgIcon({ size, color, children, className, ...props }, ref) {
|
|
52
|
+
return (
|
|
53
|
+
<Base
|
|
54
|
+
as="svg"
|
|
55
|
+
ref={ref}
|
|
56
|
+
className={clsx(className, {
|
|
57
|
+
'ds-svg-icon': true,
|
|
58
|
+
[`ds-svg-icon--${color}`]: color !== undefined,
|
|
59
|
+
[`ds-svg-icon--${size}`]: size !== undefined,
|
|
60
|
+
})}
|
|
61
|
+
focusable="false"
|
|
62
|
+
viewBox="0 0 24 24"
|
|
63
|
+
aria-hidden="true"
|
|
64
|
+
{...props}
|
|
65
|
+
>
|
|
66
|
+
{children}
|
|
67
|
+
</Base>
|
|
68
|
+
);
|
|
69
|
+
}
|
|
70
|
+
);
|
|
71
|
+
|
|
72
|
+
export default SvgIcon;
|
package/src/lazy.js
CHANGED
|
@@ -3,14 +3,26 @@ export default {
|
|
|
3
3
|
'AccessibilityIcon': lazy(() => import('@digigov/react-icons/AccessibilityIcon').then((module)=> ({default: module['AccessibilityIcon']}))),
|
|
4
4
|
'ArrowIcon': lazy(() => import('@digigov/react-icons/ArrowIcon').then((module)=> ({default: module['ArrowIcon']}))),
|
|
5
5
|
'BurgerIcon': lazy(() => import('@digigov/react-icons/BurgerIcon').then((module)=> ({default: module['BurgerIcon']}))),
|
|
6
|
+
'CancelIcon': lazy(() => import('@digigov/react-icons/CancelIcon').then((module)=> ({default: module['CancelIcon']}))),
|
|
6
7
|
'CaretIcon': lazy(() => import('@digigov/react-icons/CaretIcon').then((module)=> ({default: module['CaretIcon']}))),
|
|
8
|
+
'ChatIcon': lazy(() => import('@digigov/react-icons/ChatIcon').then((module)=> ({default: module['ChatIcon']}))),
|
|
7
9
|
'CheckIcon': lazy(() => import('@digigov/react-icons/CheckIcon').then((module)=> ({default: module['CheckIcon']}))),
|
|
8
10
|
'ChevronIcon': lazy(() => import('@digigov/react-icons/ChevronIcon').then((module)=> ({default: module['ChevronIcon']}))),
|
|
9
11
|
'CloseIcon': lazy(() => import('@digigov/react-icons/CloseIcon').then((module)=> ({default: module['CloseIcon']}))),
|
|
12
|
+
'DownloadIcon': lazy(() => import('@digigov/react-icons/DownloadIcon').then((module)=> ({default: module['DownloadIcon']}))),
|
|
13
|
+
'ExclamationIcon': lazy(() => import('@digigov/react-icons/ExclamationIcon').then((module)=> ({default: module['ExclamationIcon']}))),
|
|
10
14
|
'GlobeIcon': lazy(() => import('@digigov/react-icons/GlobeIcon').then((module)=> ({default: module['GlobeIcon']}))),
|
|
11
15
|
'Icon': lazy(() => import('@digigov/react-icons/Icon').then((module)=> ({default: module['Icon']}))),
|
|
12
16
|
'UncheckIcon': lazy(() => import('@digigov/react-icons/UncheckIcon').then((module)=> ({default: module['UncheckIcon']}))),
|
|
13
17
|
'MoreVertIcon': lazy(() => import('@digigov/react-icons/MoreVertIcon').then((module)=> ({default: module['MoreVertIcon']}))),
|
|
14
18
|
'SearchIcon': lazy(() => import('@digigov/react-icons/SearchIcon').then((module)=> ({default: module['SearchIcon']}))),
|
|
19
|
+
'LockIcon': lazy(() => import('@digigov/react-icons/LockIcon').then((module)=> ({default: module['LockIcon']}))),
|
|
20
|
+
'PdfFileIcon': lazy(() => import('@digigov/react-icons/PdfFileIcon').then((module)=> ({default: module['PdfFileIcon']}))),
|
|
21
|
+
'PlusIcon': lazy(() => import('@digigov/react-icons/PlusIcon').then((module)=> ({default: module['PlusIcon']}))),
|
|
22
|
+
'MinusIcon': lazy(() => import('@digigov/react-icons/MinusIcon').then((module)=> ({default: module['MinusIcon']}))),
|
|
23
|
+
'LoginIcon': lazy(() => import('@digigov/react-icons/LoginIcon').then((module)=> ({default: module['LoginIcon']}))),
|
|
24
|
+
'RestoreIcon': lazy(() => import('@digigov/react-icons/RestoreIcon').then((module)=> ({default: module['RestoreIcon']}))),
|
|
25
|
+
'ReplyIcon': lazy(() => import('@digigov/react-icons/ReplyIcon').then((module)=> ({default: module['ReplyIcon']}))),
|
|
26
|
+
'PrintIcon': lazy(() => import('@digigov/react-icons/PrintIcon').then((module)=> ({default: module['PrintIcon']}))),
|
|
15
27
|
|
|
16
28
|
}
|
package/src/registry.js
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
|
|
2
2
|
import * as _digigov_react_icons_AccessibilityIcon from '@digigov/react-icons/AccessibilityIcon';
|
|
3
3
|
import * as _digigov_react_icons_ArrowIcon from '@digigov/react-icons/ArrowIcon';
|
|
4
|
+
import * as _digigov_react_icons_Base from '@digigov/react-icons/Base';
|
|
4
5
|
import * as _digigov_react_icons_BurgerIcon from '@digigov/react-icons/BurgerIcon';
|
|
5
6
|
import * as _digigov_react_icons_CancelIcon from '@digigov/react-icons/CancelIcon';
|
|
6
7
|
import * as _digigov_react_icons_CaretIcon from '@digigov/react-icons/CaretIcon';
|
|
@@ -24,6 +25,7 @@ import * as _digigov_react_icons_PrintIcon from '@digigov/react-icons/PrintIcon'
|
|
|
24
25
|
import * as _digigov_react_icons_ReplyIcon from '@digigov/react-icons/ReplyIcon';
|
|
25
26
|
import * as _digigov_react_icons_RestoreIcon from '@digigov/react-icons/RestoreIcon';
|
|
26
27
|
import * as _digigov_react_icons_SearchIcon from '@digigov/react-icons/SearchIcon';
|
|
28
|
+
import * as _digigov_react_icons_SvgIcon from '@digigov/react-icons/SvgIcon';
|
|
27
29
|
import * as _digigov_react_icons_UncheckIcon from '@digigov/react-icons/UncheckIcon'
|
|
28
30
|
function lazyImport(pkgImport) {
|
|
29
31
|
// eslint-disable-next-line no-undef
|
|
@@ -47,6 +49,7 @@ function lazyImport(pkgImport) {
|
|
|
47
49
|
export default {
|
|
48
50
|
'@digigov/react-icons/AccessibilityIcon': lazyImport(_digigov_react_icons_AccessibilityIcon),
|
|
49
51
|
'@digigov/react-icons/ArrowIcon': lazyImport(_digigov_react_icons_ArrowIcon),
|
|
52
|
+
'@digigov/react-icons/Base': lazyImport(_digigov_react_icons_Base),
|
|
50
53
|
'@digigov/react-icons/BurgerIcon': lazyImport(_digigov_react_icons_BurgerIcon),
|
|
51
54
|
'@digigov/react-icons/CancelIcon': lazyImport(_digigov_react_icons_CancelIcon),
|
|
52
55
|
'@digigov/react-icons/CaretIcon': lazyImport(_digigov_react_icons_CaretIcon),
|
|
@@ -70,6 +73,7 @@ export default {
|
|
|
70
73
|
'@digigov/react-icons/ReplyIcon': lazyImport(_digigov_react_icons_ReplyIcon),
|
|
71
74
|
'@digigov/react-icons/RestoreIcon': lazyImport(_digigov_react_icons_RestoreIcon),
|
|
72
75
|
'@digigov/react-icons/SearchIcon': lazyImport(_digigov_react_icons_SearchIcon),
|
|
76
|
+
'@digigov/react-icons/SvgIcon': lazyImport(_digigov_react_icons_SvgIcon),
|
|
73
77
|
'@digigov/react-icons/UncheckIcon': lazyImport(_digigov_react_icons_UncheckIcon)
|
|
74
78
|
};
|
|
75
79
|
|