@equinor/eds-core-react 0.35.1 → 0.36.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/dist/eds-core-react.cjs +5582 -4353
- package/dist/esm/components/Accordion/Accordion.js +21 -23
- package/dist/esm/components/Accordion/Accordion.tokens.js +65 -23
- package/dist/esm/components/Accordion/AccordionHeader.js +74 -62
- package/dist/esm/components/Accordion/AccordionHeaderActions.js +22 -20
- package/dist/esm/components/Accordion/AccordionHeaderTitle.js +22 -20
- package/dist/esm/components/Accordion/AccordionItem.js +28 -35
- package/dist/esm/components/Accordion/AccordionPanel.js +27 -26
- package/dist/esm/components/Accordion/index.js +1 -1
- package/dist/esm/components/Autocomplete/Autocomplete.js +451 -329
- package/dist/esm/components/Autocomplete/Autocomplete.tokens.js +33 -17
- package/dist/esm/components/Autocomplete/Option.js +35 -32
- package/dist/esm/components/Avatar/Avatar.js +19 -26
- package/dist/esm/components/Avatar/Avatar.tokens.js +1 -1
- package/dist/esm/components/Banner/Banner.js +26 -27
- package/dist/esm/components/Banner/Banner.tokens.js +47 -18
- package/dist/esm/components/Banner/BannerActions.js +18 -19
- package/dist/esm/components/Banner/BannerIcon.js +26 -25
- package/dist/esm/components/Banner/BannerMessage.js +13 -14
- package/dist/esm/components/Banner/index.js +1 -1
- package/dist/esm/components/Breadcrumbs/Breadcrumb.js +30 -32
- package/dist/esm/components/Breadcrumbs/Breadcrumbs.js +46 -53
- package/dist/esm/components/Breadcrumbs/Breadcrumbs.tokens.js +20 -5
- package/dist/esm/components/Breadcrumbs/index.js +1 -1
- package/dist/esm/components/Button/Button.js +46 -46
- package/dist/esm/components/Button/ButtonGroup/ButtonGroup.js +22 -22
- package/dist/esm/components/Button/ButtonGroup/ButtonGroup.tokens.js +8 -2
- package/dist/esm/components/Button/InnerFullWidth.js +8 -10
- package/dist/esm/components/Button/ToggleButton/ToggleButton.js +23 -33
- package/dist/esm/components/Button/index.js +1 -1
- package/dist/esm/components/Button/tokens/button.js +62 -31
- package/dist/esm/components/Button/tokens/contained.js +38 -14
- package/dist/esm/components/Button/tokens/contained_icon.js +13 -10
- package/dist/esm/components/Button/tokens/ghost.js +36 -13
- package/dist/esm/components/Button/tokens/icon.js +46 -20
- package/dist/esm/components/Button/tokens/index.js +1 -1
- package/dist/esm/components/Button/tokens/outlined.js +42 -15
- package/dist/esm/components/Card/Card.js +24 -27
- package/dist/esm/components/Card/Card.tokens.js +32 -11
- package/dist/esm/components/Card/CardActions.js +22 -23
- package/dist/esm/components/Card/CardContent.js +12 -12
- package/dist/esm/components/Card/CardHeader.js +15 -13
- package/dist/esm/components/Card/CardHeaderTitle.js +12 -12
- package/dist/esm/components/Card/CardMedia.js +20 -20
- package/dist/esm/components/Card/index.js +1 -1
- package/dist/esm/components/Checkbox/Checkbox.js +20 -21
- package/dist/esm/components/Checkbox/Checkbox.tokens.js +41 -16
- package/dist/esm/components/Checkbox/Input.js +75 -84
- package/dist/esm/components/Chip/Chip.js +61 -64
- package/dist/esm/components/Chip/Chip.tokens.js +68 -26
- package/dist/esm/components/Chip/Icon.js +13 -11
- package/dist/esm/components/Dialog/Dialog.js +34 -35
- package/dist/esm/components/Dialog/Dialog.tokens.js +32 -10
- package/dist/esm/components/Dialog/DialogActions.js +13 -14
- package/dist/esm/components/Dialog/DialogContent.js +19 -20
- package/dist/esm/components/Dialog/DialogHeader.js +16 -15
- package/dist/esm/components/Dialog/DialogTitle.js +13 -14
- package/dist/esm/components/Dialog/index.js +1 -1
- package/dist/esm/components/Divider/Divider.js +24 -25
- package/dist/esm/components/Divider/Divider.tokens.js +24 -10
- package/dist/esm/components/EdsProvider/eds.context.js +18 -26
- package/dist/esm/components/Icon/Icon.js +75 -78
- package/dist/esm/components/Icon/index.js +1 -1
- package/dist/esm/components/Icon/library.js +9 -8
- package/dist/esm/components/Input/Input.js +93 -92
- package/dist/esm/components/Input/Input.tokens.js +56 -40
- package/dist/esm/components/InputWrapper/HelperText/HelperText.js +24 -28
- package/dist/esm/components/InputWrapper/HelperText/HelperText.token.js +11 -7
- package/dist/esm/components/InputWrapper/InputWrapper.js +34 -35
- package/dist/esm/components/InputWrapper/InputWrapper.tokens.js +56 -40
- package/dist/esm/components/Label/Label.js +16 -20
- package/dist/esm/components/Label/Label.tokens.js +11 -7
- package/dist/esm/components/List/List.js +17 -19
- package/dist/esm/components/List/List.tokens.js +6 -2
- package/dist/esm/components/List/ListItem.js +7 -8
- package/dist/esm/components/List/index.js +1 -1
- package/dist/esm/components/Menu/Menu.context.js +35 -42
- package/dist/esm/components/Menu/Menu.js +111 -108
- package/dist/esm/components/Menu/Menu.tokens.js +57 -24
- package/dist/esm/components/Menu/MenuItem.js +59 -61
- package/dist/esm/components/Menu/MenuList.js +52 -55
- package/dist/esm/components/Menu/MenuSection.js +9 -9
- package/dist/esm/components/Menu/index.js +1 -1
- package/dist/esm/components/Pagination/Pagination.js +70 -75
- package/dist/esm/components/Pagination/Pagination.tokens.js +18 -5
- package/dist/esm/components/Pagination/PaginationItem.js +18 -19
- package/dist/esm/components/Pagination/paginationControl.js +18 -22
- package/dist/esm/components/Paper/Paper.js +15 -18
- package/dist/esm/components/Paper/Paper.tokens.js +12 -4
- package/dist/esm/components/Popover/Popover.js +98 -87
- package/dist/esm/components/Popover/Popover.tokens.js +37 -11
- package/dist/esm/components/Popover/PopoverActions.js +15 -14
- package/dist/esm/components/Popover/PopoverContent.js +15 -14
- package/dist/esm/components/Popover/PopoverHeader.js +16 -15
- package/dist/esm/components/Popover/PopoverTitle.js +15 -14
- package/dist/esm/components/Popover/index.js +1 -1
- package/dist/esm/components/Progress/Circular/CircularProgress.js +33 -42
- package/dist/esm/components/Progress/Circular/CircularProgress.tokens.js +24 -8
- package/dist/esm/components/Progress/Dots/DotProgress.js +20 -23
- package/dist/esm/components/Progress/Dots/DotProgress.tokens.js +20 -8
- package/dist/esm/components/Progress/Linear/LinearProgress.js +25 -31
- package/dist/esm/components/Progress/Linear/LinearProgress.tokens.js +13 -4
- package/dist/esm/components/Progress/Star/StarProgress.js +23 -27
- package/dist/esm/components/Progress/Star/StarProgress.tokens.js +10 -2
- package/dist/esm/components/Progress/index.js +1 -1
- package/dist/esm/components/Radio/Radio.js +71 -83
- package/dist/esm/components/Radio/Radio.tokens.js +41 -16
- package/dist/esm/components/Scrim/Scrim.js +20 -23
- package/dist/esm/components/Scrim/Scrim.tokens.js +11 -3
- package/dist/esm/components/Search/Search.js +24 -31
- package/dist/esm/components/Select/NativeSelect.js +45 -44
- package/dist/esm/components/Select/NativeSelect.tokens.js +15 -10
- package/dist/esm/components/SideBar/SideBar.context.js +27 -33
- package/dist/esm/components/SideBar/SideBar.js +42 -40
- package/dist/esm/components/SideBar/SideBar.tokens.js +49 -20
- package/dist/esm/components/SideBar/SideBarAccordion/index.js +98 -90
- package/dist/esm/components/SideBar/SideBarAccordionItem/index.js +46 -33
- package/dist/esm/components/SideBar/SideBarButton/index.js +61 -45
- package/dist/esm/components/SideBar/SideBarContent.js +13 -13
- package/dist/esm/components/SideBar/SideBarFooter.js +13 -13
- package/dist/esm/components/SideBar/SideBarToggle.js +40 -26
- package/dist/esm/components/SideBar/SidebarLink/index.js +87 -48
- package/dist/esm/components/SideBar/index.js +1 -1
- package/dist/esm/components/SideSheet/SideSheet.js +27 -27
- package/dist/esm/components/SideSheet/SideSheet.tokens.js +29 -12
- package/dist/esm/components/Slider/MinMax.js +10 -6
- package/dist/esm/components/Slider/Output.js +15 -18
- package/dist/esm/components/Slider/Slider.js +157 -188
- package/dist/esm/components/Slider/Slider.tokens.js +67 -19
- package/dist/esm/components/Slider/SliderInput.js +37 -34
- package/dist/esm/components/Snackbar/Snackbar.js +39 -45
- package/dist/esm/components/Snackbar/Snackbar.tokens.js +45 -17
- package/dist/esm/components/Snackbar/SnackbarAction.js +15 -14
- package/dist/esm/components/Snackbar/index.js +1 -1
- package/dist/esm/components/Switch/Switch.js +37 -42
- package/dist/esm/components/Switch/Switch.styles.js +17 -20
- package/dist/esm/components/Switch/Switch.tokens.js +66 -21
- package/dist/esm/components/Switch/SwitchDefault.js +38 -36
- package/dist/esm/components/Switch/SwitchSmall.js +38 -33
- package/dist/esm/components/Table/Body.js +8 -9
- package/dist/esm/components/Table/Caption.js +12 -14
- package/dist/esm/components/Table/Cell.js +15 -14
- package/dist/esm/components/Table/DataCell/DataCell.js +27 -26
- package/dist/esm/components/Table/DataCell/DataCell.tokens.js +79 -38
- package/dist/esm/components/Table/Head/Head.js +10 -11
- package/dist/esm/components/Table/Head/Head.tokens.js +15 -4
- package/dist/esm/components/Table/HeaderCell/HeaderCell.js +37 -33
- package/dist/esm/components/Table/HeaderCell/HeaderCell.tokens.js +65 -28
- package/dist/esm/components/Table/Inner.context.js +2 -2
- package/dist/esm/components/Table/Row/Row.js +12 -16
- package/dist/esm/components/Table/Row/Row.tokens.js +13 -4
- package/dist/esm/components/Table/Table.js +8 -9
- package/dist/esm/components/Table/index.js +1 -1
- package/dist/esm/components/TableOfContents/LinkItem.js +11 -11
- package/dist/esm/components/TableOfContents/TableOfContents.js +25 -26
- package/dist/esm/components/TableOfContents/TableOfContents.tokens.js +46 -21
- package/dist/esm/components/TableOfContents/index.js +1 -1
- package/dist/esm/components/Tabs/Tab.js +30 -29
- package/dist/esm/components/Tabs/TabList.js +50 -62
- package/dist/esm/components/Tabs/TabPanel.js +19 -18
- package/dist/esm/components/Tabs/TabPanels.js +16 -17
- package/dist/esm/components/Tabs/Tabs.context.js +3 -5
- package/dist/esm/components/Tabs/Tabs.js +37 -53
- package/dist/esm/components/Tabs/Tabs.tokens.js +56 -21
- package/dist/esm/components/Tabs/index.js +1 -1
- package/dist/esm/components/TextField/TextField.js +64 -59
- package/dist/esm/components/Textarea/Textarea.js +38 -38
- package/dist/esm/components/Tooltip/Tooltip.js +79 -81
- package/dist/esm/components/Tooltip/Tooltip.tokens.js +33 -13
- package/dist/esm/components/TopBar/Actions.js +9 -11
- package/dist/esm/components/TopBar/CustomContent.js +9 -11
- package/dist/esm/components/TopBar/Header.js +9 -11
- package/dist/esm/components/TopBar/TopBar.js +24 -25
- package/dist/esm/components/TopBar/TopBar.tokens.js +10 -4
- package/dist/esm/components/TopBar/index.js +1 -1
- package/dist/esm/components/Typography/Typography.js +42 -54
- package/dist/esm/components/Typography/Typography.tokens.js +50 -23
- package/dist/esm/node_modules/.pnpm/ramda@0.29.1/node_modules/ramda/es/internal/_isPlaceholder.js +1 -3
- package/dist/types/components/Accordion/Accordion.types.d.ts +1 -1
- package/dist/types/components/Autocomplete/Autocomplete.d.ts +13 -0
- package/dist/types/components/Autocomplete/Option.d.ts +1 -0
- package/dist/types/components/Slider/Slider.d.ts +11 -3
- package/package.json +6 -7
|
@@ -1,29 +1,28 @@
|
|
|
1
|
-
import _objectSpread from '@babel/runtime/helpers/objectSpread2';
|
|
2
|
-
import _objectWithoutProperties from '@babel/runtime/helpers/objectWithoutProperties';
|
|
3
1
|
import { forwardRef } from 'react';
|
|
4
2
|
import styled, { css } from 'styled-components';
|
|
5
3
|
import { typographyTemplate } from '@equinor/eds-utils';
|
|
6
4
|
import { jsx, Fragment } from 'react/jsx-runtime';
|
|
7
5
|
|
|
8
|
-
|
|
9
|
-
var StyledDialogTitle = styled.div.withConfig({
|
|
6
|
+
const StyledDialogTitle = styled.div.withConfig({
|
|
10
7
|
displayName: "DialogTitle__StyledDialogTitle",
|
|
11
8
|
componentId: "sc-1t3jljt-0"
|
|
12
|
-
})(
|
|
13
|
-
|
|
14
|
-
|
|
9
|
+
})(({
|
|
10
|
+
theme,
|
|
11
|
+
children
|
|
12
|
+
}) => {
|
|
15
13
|
return css(["", " min-height:", ";align-self:end;justify-self:start;margin-right:", ";", ""], typographyTemplate(theme.entities.title.typography), theme.entities.title.minHeight, theme.entities.children.spacings.right, !children && css(["min-height:initial;height:'8px';"]));
|
|
16
14
|
});
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
15
|
+
const DialogTitle = /*#__PURE__*/forwardRef(function DialogTitle({
|
|
16
|
+
children,
|
|
17
|
+
...rest
|
|
18
|
+
}, ref) {
|
|
20
19
|
return /*#__PURE__*/jsx(Fragment, {
|
|
21
|
-
children: /*#__PURE__*/jsx(StyledDialogTitle,
|
|
20
|
+
children: /*#__PURE__*/jsx(StyledDialogTitle, {
|
|
22
21
|
id: "eds-dialog-title",
|
|
23
|
-
ref: ref
|
|
24
|
-
|
|
22
|
+
ref: ref,
|
|
23
|
+
...rest,
|
|
25
24
|
children: children
|
|
26
|
-
})
|
|
25
|
+
})
|
|
27
26
|
});
|
|
28
27
|
});
|
|
29
28
|
|
|
@@ -4,7 +4,7 @@ import { DialogTitle } from './DialogTitle.js';
|
|
|
4
4
|
import { DialogContent } from './DialogContent.js';
|
|
5
5
|
import { DialogHeader } from './DialogHeader.js';
|
|
6
6
|
|
|
7
|
-
|
|
7
|
+
const Dialog = Dialog$1;
|
|
8
8
|
Dialog.Actions = DialogActions;
|
|
9
9
|
Dialog.Title = DialogTitle;
|
|
10
10
|
Dialog.CustomContent = DialogContent;
|
|
@@ -1,41 +1,40 @@
|
|
|
1
|
-
import _objectSpread from '@babel/runtime/helpers/objectSpread2';
|
|
2
|
-
import _objectWithoutProperties from '@babel/runtime/helpers/objectWithoutProperties';
|
|
3
1
|
import { forwardRef } from 'react';
|
|
4
2
|
import styled, { css } from 'styled-components';
|
|
5
3
|
import * as Divider_tokens from './Divider.tokens.js';
|
|
6
|
-
import { divider as divider$1 } from './Divider.tokens.js';
|
|
7
4
|
import { jsx } from 'react/jsx-runtime';
|
|
8
5
|
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
6
|
+
const {
|
|
7
|
+
divider
|
|
8
|
+
} = Divider_tokens;
|
|
9
|
+
const StyledDivider = styled.hr.withConfig({
|
|
12
10
|
displayName: "Divider__StyledDivider",
|
|
13
11
|
componentId: "sc-1d8osde-0"
|
|
14
|
-
})(
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
12
|
+
})(({
|
|
13
|
+
$backgroundColor,
|
|
14
|
+
$marginTop,
|
|
15
|
+
$marginBottom,
|
|
16
|
+
$dividerHeight
|
|
17
|
+
}) => {
|
|
19
18
|
return css(["border:none;background-color:", ";margin-top:", ";margin-bottom:calc(", " - ", "px);height:", "px;"], $backgroundColor, $marginTop, $marginBottom, $dividerHeight, $dividerHeight);
|
|
20
19
|
});
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
var colorValue = color === 'medium' ? 'mediumColor' : color;
|
|
30
|
-
var props = _objectSpread({
|
|
20
|
+
const Divider = /*#__PURE__*/forwardRef(function Divider({
|
|
21
|
+
color = 'medium',
|
|
22
|
+
variant = 'medium',
|
|
23
|
+
size = '1',
|
|
24
|
+
...rest
|
|
25
|
+
}, ref) {
|
|
26
|
+
const colorValue = color === 'medium' ? 'mediumColor' : color;
|
|
27
|
+
const props = {
|
|
31
28
|
$backgroundColor: divider[colorValue].background,
|
|
32
29
|
$marginTop: Divider_tokens[variant].spacings.top,
|
|
33
30
|
$marginBottom: Divider_tokens[variant].spacings.bottom,
|
|
34
|
-
$dividerHeight: parseInt(size)
|
|
35
|
-
|
|
36
|
-
|
|
31
|
+
$dividerHeight: parseInt(size),
|
|
32
|
+
...rest
|
|
33
|
+
};
|
|
34
|
+
return /*#__PURE__*/jsx(StyledDivider, {
|
|
35
|
+
...props,
|
|
37
36
|
ref: ref
|
|
38
|
-
})
|
|
37
|
+
});
|
|
39
38
|
});
|
|
40
39
|
|
|
41
40
|
export { Divider };
|
|
@@ -1,13 +1,27 @@
|
|
|
1
1
|
import { tokens } from '@equinor/eds-tokens';
|
|
2
2
|
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
3
|
+
const {
|
|
4
|
+
colors: {
|
|
5
|
+
ui: {
|
|
6
|
+
background__default: {
|
|
7
|
+
rgba: lighter
|
|
8
|
+
},
|
|
9
|
+
background__light: {
|
|
10
|
+
rgba: light
|
|
11
|
+
},
|
|
12
|
+
background__medium: {
|
|
13
|
+
rgba: mediumColor
|
|
14
|
+
}
|
|
15
|
+
}
|
|
16
|
+
},
|
|
17
|
+
spacings: {
|
|
18
|
+
comfortable: {
|
|
19
|
+
small: spacingSmall,
|
|
20
|
+
medium: spacingMedium
|
|
21
|
+
}
|
|
22
|
+
}
|
|
23
|
+
} = tokens;
|
|
24
|
+
const divider = {
|
|
11
25
|
lighter: {
|
|
12
26
|
background: lighter
|
|
13
27
|
},
|
|
@@ -18,13 +32,13 @@ var divider = {
|
|
|
18
32
|
background: mediumColor
|
|
19
33
|
}
|
|
20
34
|
};
|
|
21
|
-
|
|
35
|
+
const small = {
|
|
22
36
|
spacings: {
|
|
23
37
|
top: spacingSmall,
|
|
24
38
|
bottom: spacingSmall
|
|
25
39
|
}
|
|
26
40
|
};
|
|
27
|
-
|
|
41
|
+
const medium = {
|
|
28
42
|
spacings: {
|
|
29
43
|
top: spacingMedium,
|
|
30
44
|
bottom: spacingMedium
|
|
@@ -1,45 +1,37 @@
|
|
|
1
|
-
import _objectSpread from '@babel/runtime/helpers/objectSpread2';
|
|
2
|
-
import _slicedToArray from '@babel/runtime/helpers/slicedToArray';
|
|
3
1
|
import { useState, useEffect, useContext, createContext } from 'react';
|
|
4
2
|
import { jsx } from 'react/jsx-runtime';
|
|
5
3
|
|
|
6
|
-
|
|
4
|
+
const initalState = {
|
|
7
5
|
/** Density for all components inside `EdsProvider` */
|
|
8
6
|
density: 'comfortable'
|
|
9
7
|
};
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
});
|
|
25
|
-
});
|
|
26
|
-
};
|
|
27
|
-
useEffect(function () {
|
|
8
|
+
const EdsContext = /*#__PURE__*/createContext(initalState);
|
|
9
|
+
const EdsProvider = ({
|
|
10
|
+
children,
|
|
11
|
+
density
|
|
12
|
+
}) => {
|
|
13
|
+
const [state, setState] = useState({
|
|
14
|
+
...initalState,
|
|
15
|
+
density: density || 'comfortable'
|
|
16
|
+
});
|
|
17
|
+
const setDensity = density => setState(prevState => ({
|
|
18
|
+
...prevState,
|
|
19
|
+
density
|
|
20
|
+
}));
|
|
21
|
+
useEffect(() => {
|
|
28
22
|
if (typeof density !== 'undefined' && density !== state.density) {
|
|
29
23
|
setDensity(density);
|
|
30
24
|
}
|
|
31
25
|
}, [density, state.density]);
|
|
32
|
-
|
|
26
|
+
const value = {
|
|
33
27
|
density: state.density,
|
|
34
|
-
setDensity
|
|
28
|
+
setDensity
|
|
35
29
|
};
|
|
36
30
|
return /*#__PURE__*/jsx(EdsContext.Provider, {
|
|
37
31
|
value: value,
|
|
38
32
|
children: children
|
|
39
33
|
});
|
|
40
34
|
};
|
|
41
|
-
|
|
42
|
-
return useContext(EdsContext);
|
|
43
|
-
};
|
|
35
|
+
const useEds = () => useContext(EdsContext);
|
|
44
36
|
|
|
45
37
|
export { EdsProvider, useEds };
|
|
@@ -1,121 +1,118 @@
|
|
|
1
|
-
import _objectSpread from '@babel/runtime/helpers/objectSpread2';
|
|
2
|
-
import _objectWithoutProperties from '@babel/runtime/helpers/objectWithoutProperties';
|
|
3
1
|
import { forwardRef } from 'react';
|
|
4
2
|
import styled from 'styled-components';
|
|
5
3
|
import { get } from './library.js';
|
|
6
4
|
import { jsxs, jsx } from 'react/jsx-runtime';
|
|
7
5
|
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
};
|
|
20
|
-
}).withConfig({
|
|
6
|
+
const StyledSvg = styled.svg.attrs(({
|
|
7
|
+
$height,
|
|
8
|
+
$width,
|
|
9
|
+
fill
|
|
10
|
+
}) => ({
|
|
11
|
+
name: null,
|
|
12
|
+
xmlns: 'http://www.w3.org/2000/svg',
|
|
13
|
+
height: `${$height}px`,
|
|
14
|
+
width: `${$width}px`,
|
|
15
|
+
fill
|
|
16
|
+
})).withConfig({
|
|
21
17
|
displayName: "Icon__StyledSvg",
|
|
22
18
|
componentId: "sc-6evbi1-0"
|
|
23
|
-
})(["transform:", ";"],
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
};
|
|
36
|
-
}).withConfig({
|
|
19
|
+
})(["transform:", ";"], ({
|
|
20
|
+
$rotation
|
|
21
|
+
}) => $rotation ? `rotate(${$rotation}deg)` : 'none');
|
|
22
|
+
const StyledPath = styled.path.attrs(({
|
|
23
|
+
$height,
|
|
24
|
+
$size
|
|
25
|
+
}) => ({
|
|
26
|
+
size: null,
|
|
27
|
+
fillRule: 'evenodd',
|
|
28
|
+
clipRule: 'evenodd',
|
|
29
|
+
transform: $size / $height !== 1 ? `scale(${$size / $height})` : null
|
|
30
|
+
})).withConfig({
|
|
37
31
|
displayName: "Icon__StyledPath",
|
|
38
32
|
componentId: "sc-6evbi1-1"
|
|
39
33
|
})([""]);
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
};
|
|
46
|
-
var findIcon = function findIcon(name, data, size) {
|
|
34
|
+
const customIcon = icon => ({
|
|
35
|
+
icon,
|
|
36
|
+
count: Math.floor(Math.random() * 1000)
|
|
37
|
+
});
|
|
38
|
+
const findIcon = (name, data, size) => {
|
|
47
39
|
// eslint-disable-next-line prefer-const
|
|
48
|
-
|
|
49
|
-
icon
|
|
50
|
-
count
|
|
40
|
+
let {
|
|
41
|
+
icon,
|
|
42
|
+
count
|
|
43
|
+
} = data ? customIcon(data) : get(name);
|
|
51
44
|
if (size < 24) {
|
|
52
|
-
var _icon$sizes;
|
|
53
45
|
// fallback to normal icon if small is not made yet
|
|
54
|
-
icon =
|
|
46
|
+
icon = icon.sizes?.small || icon;
|
|
55
47
|
}
|
|
56
48
|
return {
|
|
57
|
-
icon
|
|
58
|
-
count
|
|
49
|
+
icon,
|
|
50
|
+
count
|
|
59
51
|
};
|
|
60
52
|
};
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
53
|
+
const Icon = /*#__PURE__*/forwardRef(function Icon({
|
|
54
|
+
size,
|
|
55
|
+
color = 'currentColor',
|
|
56
|
+
name,
|
|
57
|
+
rotation,
|
|
58
|
+
title,
|
|
59
|
+
data,
|
|
60
|
+
...rest
|
|
61
|
+
}, ref) {
|
|
70
62
|
// eslint-disable-next-line prefer-const
|
|
71
|
-
|
|
72
|
-
icon
|
|
73
|
-
count
|
|
63
|
+
const {
|
|
64
|
+
icon,
|
|
65
|
+
count
|
|
66
|
+
} = findIcon(name, data, size);
|
|
74
67
|
if (typeof icon === 'undefined') {
|
|
75
|
-
throw Error(
|
|
68
|
+
throw Error(`Icon "${name}" not found. Have you added it using Icon.add() or using data props?`);
|
|
76
69
|
}
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
$height
|
|
81
|
-
$width
|
|
70
|
+
const $height = size ? size : parseInt(icon.width);
|
|
71
|
+
const $width = size ? size : parseInt(icon.height);
|
|
72
|
+
let svgProps = {
|
|
73
|
+
$height,
|
|
74
|
+
$width,
|
|
82
75
|
fill: color,
|
|
83
|
-
viewBox:
|
|
76
|
+
viewBox: `0 0 ${$width} ${$height}`,
|
|
84
77
|
$rotation: rotation,
|
|
85
|
-
name
|
|
78
|
+
name,
|
|
86
79
|
'aria-hidden': true
|
|
87
80
|
};
|
|
88
|
-
|
|
81
|
+
const pathProps = {
|
|
89
82
|
$height: icon.height ? parseInt(icon.height) : size,
|
|
90
83
|
$size: size || parseInt(icon.height)
|
|
91
84
|
};
|
|
92
85
|
|
|
93
86
|
// Accessibility
|
|
94
|
-
|
|
87
|
+
let titleId = '';
|
|
95
88
|
if (title) {
|
|
96
|
-
titleId =
|
|
97
|
-
svgProps =
|
|
98
|
-
|
|
89
|
+
titleId = `${icon.prefix}-${icon.name}-${count}`;
|
|
90
|
+
svgProps = {
|
|
91
|
+
...svgProps,
|
|
92
|
+
title,
|
|
99
93
|
role: 'img',
|
|
100
94
|
'aria-hidden': undefined,
|
|
101
95
|
'aria-labelledby': titleId
|
|
102
|
-
}
|
|
96
|
+
};
|
|
103
97
|
}
|
|
104
|
-
return /*#__PURE__*/jsxs(StyledSvg,
|
|
98
|
+
return /*#__PURE__*/jsxs(StyledSvg, {
|
|
99
|
+
...svgProps,
|
|
100
|
+
...rest,
|
|
105
101
|
ref: ref,
|
|
106
102
|
children: [title && /*#__PURE__*/jsx("title", {
|
|
107
103
|
id: titleId,
|
|
108
104
|
children: title
|
|
109
|
-
}), Array.isArray(icon.svgPathData) ? icon.svgPathData.map(
|
|
110
|
-
return /*#__PURE__*/jsx(StyledPath,
|
|
105
|
+
}), Array.isArray(icon.svgPathData) ? icon.svgPathData.map(pathData => {
|
|
106
|
+
return /*#__PURE__*/jsx(StyledPath, {
|
|
107
|
+
...pathProps,
|
|
111
108
|
d: pathData
|
|
112
|
-
}
|
|
113
|
-
}) : /*#__PURE__*/jsx(StyledPath,
|
|
114
|
-
"data-testid": "eds-icon-path"
|
|
115
|
-
|
|
109
|
+
}, pathData);
|
|
110
|
+
}) : /*#__PURE__*/jsx(StyledPath, {
|
|
111
|
+
"data-testid": "eds-icon-path",
|
|
112
|
+
...pathProps,
|
|
116
113
|
d: icon.svgPathData
|
|
117
|
-
})
|
|
118
|
-
})
|
|
114
|
+
})]
|
|
115
|
+
});
|
|
119
116
|
});
|
|
120
117
|
|
|
121
118
|
// Icon.displayName = 'EdsIcon'
|
|
@@ -1,17 +1,18 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
var _icons = {};
|
|
4
|
-
var count = 0;
|
|
1
|
+
let _icons = {};
|
|
2
|
+
let count = 0;
|
|
5
3
|
/** Add icons to library to be used for rendering using name.
|
|
6
4
|
This needs to be done lonly once */
|
|
7
|
-
|
|
8
|
-
_icons =
|
|
5
|
+
const add = icons => {
|
|
6
|
+
_icons = {
|
|
7
|
+
..._icons,
|
|
8
|
+
...icons
|
|
9
|
+
};
|
|
9
10
|
};
|
|
10
|
-
|
|
11
|
+
const get = name => {
|
|
11
12
|
count += 1;
|
|
12
13
|
return {
|
|
13
14
|
icon: _icons[name],
|
|
14
|
-
count
|
|
15
|
+
count
|
|
15
16
|
};
|
|
16
17
|
};
|
|
17
18
|
|