@reltio/components 1.4.965 → 1.4.969
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/cjs/components/SidePanel/SidePanelContentHeader/SidePanelContentHeader.js +4 -3
- package/cjs/components/SidePanel/SidePanelContentHeader/styles.js +1 -1
- package/cjs/components/attributes/readMode/SimpleAttribute/styles.js +9 -3
- package/cjs/components/history/HistoryFilterButton/HistoryFilterButton.d.ts +2 -1
- package/cjs/components/history/HistoryFilterButton/HistoryFilterButton.js +2 -2
- package/cjs/components/history/HistoryFilterButton/styles.d.ts +1 -1
- package/cjs/components/history/HistoryFilterButton/styles.js +0 -3
- package/cjs/components/history/HistoryHeader/HistoryHeader.d.ts +1 -1
- package/cjs/components/history/HistoryHeader/HistoryHeader.js +6 -5
- package/cjs/components/history/HistoryHeader/styles.d.ts +1 -1
- package/cjs/components/history/HistoryHeader/styles.js +3 -0
- package/cjs/components/history/HistoryMenuButton/HistoryMenuButton.js +1 -4
- package/cjs/components/history/HistoryMenuButton/styles.d.ts +1 -1
- package/cjs/components/history/HistoryMenuButton/styles.js +0 -3
- package/cjs/components/workflow/components/AddWorkflowDialog/AddWorkflowDialog.js +1 -0
- package/esm/components/SidePanel/SidePanelContentHeader/SidePanelContentHeader.js +4 -3
- package/esm/components/SidePanel/SidePanelContentHeader/styles.js +1 -1
- package/esm/components/attributes/readMode/SimpleAttribute/styles.js +9 -3
- package/esm/components/history/HistoryFilterButton/HistoryFilterButton.d.ts +2 -1
- package/esm/components/history/HistoryFilterButton/HistoryFilterButton.js +2 -2
- package/esm/components/history/HistoryFilterButton/styles.d.ts +1 -1
- package/esm/components/history/HistoryFilterButton/styles.js +0 -3
- package/esm/components/history/HistoryHeader/HistoryHeader.d.ts +1 -1
- package/esm/components/history/HistoryHeader/HistoryHeader.js +6 -5
- package/esm/components/history/HistoryHeader/styles.d.ts +1 -1
- package/esm/components/history/HistoryHeader/styles.js +3 -0
- package/esm/components/history/HistoryMenuButton/HistoryMenuButton.js +1 -4
- package/esm/components/history/HistoryMenuButton/styles.d.ts +1 -1
- package/esm/components/history/HistoryMenuButton/styles.js +0 -3
- package/esm/components/workflow/components/AddWorkflowDialog/AddWorkflowDialog.js +1 -0
- package/package.json +3 -3
|
@@ -15,11 +15,12 @@ var SidePanelContentHeader = function (_a) {
|
|
|
15
15
|
var onClose = _a.onClose, mainTitle = _a.mainTitle, secondTitle = _a.secondTitle, content = _a.content, rightContent = _a.rightContent;
|
|
16
16
|
var styles = styles_1.useStyles();
|
|
17
17
|
return (react_1.default.createElement("div", { className: styles.container },
|
|
18
|
-
react_1.default.createElement(SmallIconButton_1.SmallIconButtonWithTooltip, { size: "
|
|
18
|
+
react_1.default.createElement(SmallIconButton_1.SmallIconButtonWithTooltip, { size: "L", icon: Close_1.default, onClick: onClose, className: styles.icon, tooltipTitle: ui_i18n_1.default.text('Close') }),
|
|
19
19
|
content || (react_1.default.createElement(react_1.default.Fragment, null,
|
|
20
20
|
react_1.default.createElement(Typography_1.default, { variant: "h6" }, mainTitle),
|
|
21
|
-
react_1.default.createElement(
|
|
22
|
-
|
|
21
|
+
secondTitle && (react_1.default.createElement(react_1.default.Fragment, null,
|
|
22
|
+
react_1.default.createElement(Divider_1.default, { orientation: "vertical", flexItem: true, className: styles.divider }),
|
|
23
|
+
react_1.default.createElement(Typography_1.default, { variant: "body1", color: "textSecondary", className: styles.secondTitle }, secondTitle))),
|
|
23
24
|
rightContent))));
|
|
24
25
|
};
|
|
25
26
|
exports.SidePanelContentHeader = SidePanelContentHeader;
|
|
@@ -28,9 +28,15 @@ exports.useStyles = styles_1.makeStyles({
|
|
|
28
28
|
flex: 1,
|
|
29
29
|
wordBreak: 'break-all'
|
|
30
30
|
},
|
|
31
|
-
updateAttribute: __assign({ width: 'fit-content', padding: '0 4px', marginLeft: '-4px' }, historyAppearance_1.historyPalettes[historyAppearance_1.HistoryOperations.updateAttribute]),
|
|
32
|
-
|
|
33
|
-
|
|
31
|
+
updateAttribute: __assign(__assign({ width: 'fit-content', padding: '0 4px', marginLeft: '-4px' }, historyAppearance_1.historyPalettes[historyAppearance_1.HistoryOperations.updateAttribute]), { '& > a': {
|
|
32
|
+
color: historyAppearance_1.historyPalettes[historyAppearance_1.HistoryOperations.updateAttribute].color
|
|
33
|
+
} }),
|
|
34
|
+
insertAttribute: __assign(__assign({ width: 'fit-content' }, historyAppearance_1.historyPalettes[historyAppearance_1.HistoryOperations.insertAttribute]), { '& > a': {
|
|
35
|
+
color: historyAppearance_1.historyPalettes[historyAppearance_1.HistoryOperations.insertAttribute].color
|
|
36
|
+
} }),
|
|
37
|
+
deleteAttribute: __assign(__assign({ width: 'fit-content', padding: '0 4px', marginLeft: '-4px', textDecoration: 'line-through' }, historyAppearance_1.historyPalettes[historyAppearance_1.HistoryOperations.deleteAttribute]), { '& > a': {
|
|
38
|
+
color: historyAppearance_1.historyPalettes[historyAppearance_1.HistoryOperations.deleteAttribute].color
|
|
39
|
+
} }),
|
|
34
40
|
multilineAttribute: {
|
|
35
41
|
width: 'fit-content'
|
|
36
42
|
}
|
|
@@ -2,10 +2,11 @@
|
|
|
2
2
|
import { TEntityType } from '@reltio/mdm-sdk';
|
|
3
3
|
import { HistoryFilter } from '../types';
|
|
4
4
|
declare type Props = {
|
|
5
|
+
className?: string;
|
|
5
6
|
filter: HistoryFilter;
|
|
6
7
|
onApplyFilter: (filter: HistoryFilter) => void;
|
|
7
8
|
onClearFilter: () => void;
|
|
8
9
|
entityType: TEntityType;
|
|
9
10
|
};
|
|
10
|
-
declare const HistoryFilterButton: ({ filter, onApplyFilter, onClearFilter, entityType }: Props) => JSX.Element;
|
|
11
|
+
declare const HistoryFilterButton: ({ className, filter, onApplyFilter, onClearFilter, entityType }: Props) => JSX.Element;
|
|
11
12
|
export default HistoryFilterButton;
|
|
@@ -48,7 +48,7 @@ var DateRangeSelector_1 = __importDefault(require("../DateRangeSelector/DateRang
|
|
|
48
48
|
var HistoryActivitySelector_1 = __importDefault(require("../HistoryActivitySelector/HistoryActivitySelector"));
|
|
49
49
|
var styles_1 = require("./styles");
|
|
50
50
|
var HistoryFilterButton = function (_a) {
|
|
51
|
-
var filter = _a.filter, onApplyFilter = _a.onApplyFilter, onClearFilter = _a.onClearFilter, entityType = _a.entityType;
|
|
51
|
+
var className = _a.className, filter = _a.filter, onApplyFilter = _a.onApplyFilter, onClearFilter = _a.onClearFilter, entityType = _a.entityType;
|
|
52
52
|
var styles = styles_1.useStyles();
|
|
53
53
|
var _b = react_1.useState(null), anchorEl = _b[0], setAnchorEl = _b[1];
|
|
54
54
|
var openPopup = function (event) { return setAnchorEl(event.currentTarget); };
|
|
@@ -65,7 +65,7 @@ var HistoryFilterButton = function (_a) {
|
|
|
65
65
|
});
|
|
66
66
|
var _d = currentValue || {}, _e = _d.activities, activities = _e === void 0 ? [] : _e, _f = _d.attributes, attributes = _f === void 0 ? [] : _f, _g = _d.dateRange, dateRange = _g === void 0 ? null : _g, _h = _d.users, users = _h === void 0 ? [] : _h;
|
|
67
67
|
return (react_1.default.createElement(react_1.default.Fragment, null,
|
|
68
|
-
react_1.default.createElement(SmallIconButton_1.SmallIconButton, { icon: FilterList_1.default, size: "
|
|
68
|
+
react_1.default.createElement(SmallIconButton_1.SmallIconButton, { icon: FilterList_1.default, size: "L", onClick: openPopup, className: className }),
|
|
69
69
|
react_1.default.createElement(Popover_1.default, { classes: { paper: styles.popup }, open: !!anchorEl, anchorEl: anchorEl, onClose: closePopup, anchorOrigin: {
|
|
70
70
|
vertical: 'bottom',
|
|
71
71
|
horizontal: 'right'
|
|
@@ -1 +1 @@
|
|
|
1
|
-
export declare const useStyles: (props?: any) => import("@material-ui/core/styles/withStyles").ClassNameMap<"
|
|
1
|
+
export declare const useStyles: (props?: any) => import("@material-ui/core/styles/withStyles").ClassNameMap<"input" | "popup" | "filterControls" | "clearButton" | "filterContainer" | "filterContainerScrollable" | "filterItem">;
|
|
@@ -17,12 +17,13 @@ var HistoryHeader = function (_a) {
|
|
|
17
17
|
var styles = styles_1.useStyles();
|
|
18
18
|
return (react_1.default.createElement("div", { className: styles.root },
|
|
19
19
|
react_1.default.createElement(Typography_1.default, { variant: "h6" }, ui_i18n_1.default.text('History')),
|
|
20
|
-
react_1.default.createElement(
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
20
|
+
!ramda_1.isNil(total) && (react_1.default.createElement(react_1.default.Fragment, null,
|
|
21
|
+
react_1.default.createElement(Divider_1.default, { orientation: "vertical", flexItem: true, className: styles.divider }),
|
|
22
|
+
react_1.default.createElement(Typography_1.default, { variant: "body1", color: "textSecondary", className: styles.count }, total === 1
|
|
23
|
+
? ui_i18n_1.default.text('${count} contributing profile', { count: total })
|
|
24
|
+
: ui_i18n_1.default.text('${count} contributing profiles', { count: total })))),
|
|
24
25
|
react_1.default.createElement(Spacer_1.default, null),
|
|
25
|
-
react_1.default.createElement(HistoryFilterButton_1.default, { entityType: entityType, filter: filter, onApplyFilter: onApplyFilter, onClearFilter: onClearFilter }),
|
|
26
|
+
react_1.default.createElement(HistoryFilterButton_1.default, { className: styles.filterButton, entityType: entityType, filter: filter, onApplyFilter: onApplyFilter, onClearFilter: onClearFilter }),
|
|
26
27
|
react_1.default.createElement(HistoryMenuButton_1.default, null)));
|
|
27
28
|
};
|
|
28
29
|
exports.default = HistoryHeader;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
export declare const useStyles: (props?: any) => import("@material-ui/core/styles/withStyles").ClassNameMap<"count" | "icon" | "root" | "divider">;
|
|
1
|
+
export declare const useStyles: (props?: any) => import("@material-ui/core/styles/withStyles").ClassNameMap<"count" | "icon" | "root" | "divider" | "filterButton">;
|
|
@@ -30,9 +30,7 @@ var mdm_module_1 = __importStar(require("@reltio/mdm-module"));
|
|
|
30
30
|
var SmallIconButton_1 = require("../../SmallIconButton");
|
|
31
31
|
var DropDownMenuButton_1 = __importDefault(require("../../DropDownMenuButton/DropDownMenuButton"));
|
|
32
32
|
var MenuItemRenderer_1 = __importDefault(require("./MenuItemRenderer"));
|
|
33
|
-
var styles_1 = require("./styles");
|
|
34
33
|
var HistoryMenuButton = function () {
|
|
35
|
-
var styles = styles_1.useStyles();
|
|
36
34
|
var mode = react_redux_1.useSelector(mdm_module_1.default.selectors.getHistoryMode);
|
|
37
35
|
var dispatch = react_redux_1.useDispatch();
|
|
38
36
|
var handleModeChange = function (selectedMode) {
|
|
@@ -52,8 +50,7 @@ var HistoryMenuButton = function () {
|
|
|
52
50
|
];
|
|
53
51
|
return (react_1.default.createElement(DropDownMenuButton_1.default, { MenuItemRenderer: MenuItemRenderer_1.default, buttonComponent: SmallIconButton_1.SmallIconButton, buttonProps: {
|
|
54
52
|
icon: MoreVert_1.default,
|
|
55
|
-
size: 'L'
|
|
56
|
-
className: styles.icon
|
|
53
|
+
size: 'L'
|
|
57
54
|
}, menuId: 'history-menu', menuItems: menuItems }));
|
|
58
55
|
};
|
|
59
56
|
exports.default = HistoryMenuButton;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
export declare const useStyles: (props?: any) => import("@material-ui/core/styles/withStyles").ClassNameMap<"
|
|
1
|
+
export declare const useStyles: (props?: any) => import("@material-ui/core/styles/withStyles").ClassNameMap<"menuItem" | "menuText" | "checkIcon">;
|
|
@@ -9,10 +9,11 @@ export var SidePanelContentHeader = function (_a) {
|
|
|
9
9
|
var onClose = _a.onClose, mainTitle = _a.mainTitle, secondTitle = _a.secondTitle, content = _a.content, rightContent = _a.rightContent;
|
|
10
10
|
var styles = useStyles();
|
|
11
11
|
return (React.createElement("div", { className: styles.container },
|
|
12
|
-
React.createElement(SmallIconButtonWithTooltip, { size: "
|
|
12
|
+
React.createElement(SmallIconButtonWithTooltip, { size: "L", icon: CloseIcon, onClick: onClose, className: styles.icon, tooltipTitle: i18n.text('Close') }),
|
|
13
13
|
content || (React.createElement(React.Fragment, null,
|
|
14
14
|
React.createElement(Typography, { variant: "h6" }, mainTitle),
|
|
15
|
-
React.createElement(
|
|
16
|
-
|
|
15
|
+
secondTitle && (React.createElement(React.Fragment, null,
|
|
16
|
+
React.createElement(Divider, { orientation: "vertical", flexItem: true, className: styles.divider }),
|
|
17
|
+
React.createElement(Typography, { variant: "body1", color: "textSecondary", className: styles.secondTitle }, secondTitle))),
|
|
17
18
|
rightContent))));
|
|
18
19
|
};
|
|
@@ -25,9 +25,15 @@ export var useStyles = makeStyles({
|
|
|
25
25
|
flex: 1,
|
|
26
26
|
wordBreak: 'break-all'
|
|
27
27
|
},
|
|
28
|
-
updateAttribute: __assign({ width: 'fit-content', padding: '0 4px', marginLeft: '-4px' }, historyPalettes[HistoryOperations.updateAttribute]),
|
|
29
|
-
|
|
30
|
-
|
|
28
|
+
updateAttribute: __assign(__assign({ width: 'fit-content', padding: '0 4px', marginLeft: '-4px' }, historyPalettes[HistoryOperations.updateAttribute]), { '& > a': {
|
|
29
|
+
color: historyPalettes[HistoryOperations.updateAttribute].color
|
|
30
|
+
} }),
|
|
31
|
+
insertAttribute: __assign(__assign({ width: 'fit-content' }, historyPalettes[HistoryOperations.insertAttribute]), { '& > a': {
|
|
32
|
+
color: historyPalettes[HistoryOperations.insertAttribute].color
|
|
33
|
+
} }),
|
|
34
|
+
deleteAttribute: __assign(__assign({ width: 'fit-content', padding: '0 4px', marginLeft: '-4px', textDecoration: 'line-through' }, historyPalettes[HistoryOperations.deleteAttribute]), { '& > a': {
|
|
35
|
+
color: historyPalettes[HistoryOperations.deleteAttribute].color
|
|
36
|
+
} }),
|
|
31
37
|
multilineAttribute: {
|
|
32
38
|
width: 'fit-content'
|
|
33
39
|
}
|
|
@@ -2,10 +2,11 @@
|
|
|
2
2
|
import { TEntityType } from '@reltio/mdm-sdk';
|
|
3
3
|
import { HistoryFilter } from '../types';
|
|
4
4
|
declare type Props = {
|
|
5
|
+
className?: string;
|
|
5
6
|
filter: HistoryFilter;
|
|
6
7
|
onApplyFilter: (filter: HistoryFilter) => void;
|
|
7
8
|
onClearFilter: () => void;
|
|
8
9
|
entityType: TEntityType;
|
|
9
10
|
};
|
|
10
|
-
declare const HistoryFilterButton: ({ filter, onApplyFilter, onClearFilter, entityType }: Props) => JSX.Element;
|
|
11
|
+
declare const HistoryFilterButton: ({ className, filter, onApplyFilter, onClearFilter, entityType }: Props) => JSX.Element;
|
|
11
12
|
export default HistoryFilterButton;
|
|
@@ -24,7 +24,7 @@ import DateRangeSelector from '../DateRangeSelector/DateRangeSelector';
|
|
|
24
24
|
import HistoryActivitySelector from '../HistoryActivitySelector/HistoryActivitySelector';
|
|
25
25
|
import { useStyles } from './styles';
|
|
26
26
|
var HistoryFilterButton = function (_a) {
|
|
27
|
-
var filter = _a.filter, onApplyFilter = _a.onApplyFilter, onClearFilter = _a.onClearFilter, entityType = _a.entityType;
|
|
27
|
+
var className = _a.className, filter = _a.filter, onApplyFilter = _a.onApplyFilter, onClearFilter = _a.onClearFilter, entityType = _a.entityType;
|
|
28
28
|
var styles = useStyles();
|
|
29
29
|
var _b = useState(null), anchorEl = _b[0], setAnchorEl = _b[1];
|
|
30
30
|
var openPopup = function (event) { return setAnchorEl(event.currentTarget); };
|
|
@@ -41,7 +41,7 @@ var HistoryFilterButton = function (_a) {
|
|
|
41
41
|
});
|
|
42
42
|
var _d = currentValue || {}, _e = _d.activities, activities = _e === void 0 ? [] : _e, _f = _d.attributes, attributes = _f === void 0 ? [] : _f, _g = _d.dateRange, dateRange = _g === void 0 ? null : _g, _h = _d.users, users = _h === void 0 ? [] : _h;
|
|
43
43
|
return (React.createElement(React.Fragment, null,
|
|
44
|
-
React.createElement(SmallIconButton, { icon: FilterListIcon, size: "
|
|
44
|
+
React.createElement(SmallIconButton, { icon: FilterListIcon, size: "L", onClick: openPopup, className: className }),
|
|
45
45
|
React.createElement(Popover, { classes: { paper: styles.popup }, open: !!anchorEl, anchorEl: anchorEl, onClose: closePopup, anchorOrigin: {
|
|
46
46
|
vertical: 'bottom',
|
|
47
47
|
horizontal: 'right'
|
|
@@ -1 +1 @@
|
|
|
1
|
-
export declare const useStyles: (props?: any) => import("@material-ui/core/styles/withStyles").ClassNameMap<"
|
|
1
|
+
export declare const useStyles: (props?: any) => import("@material-ui/core/styles/withStyles").ClassNameMap<"input" | "popup" | "filterControls" | "clearButton" | "filterContainer" | "filterContainerScrollable" | "filterItem">;
|
|
@@ -12,12 +12,13 @@ var HistoryHeader = function (_a) {
|
|
|
12
12
|
var styles = useStyles();
|
|
13
13
|
return (React.createElement("div", { className: styles.root },
|
|
14
14
|
React.createElement(Typography, { variant: "h6" }, i18n.text('History')),
|
|
15
|
-
React.createElement(
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
15
|
+
!isNil(total) && (React.createElement(React.Fragment, null,
|
|
16
|
+
React.createElement(Divider, { orientation: "vertical", flexItem: true, className: styles.divider }),
|
|
17
|
+
React.createElement(Typography, { variant: "body1", color: "textSecondary", className: styles.count }, total === 1
|
|
18
|
+
? i18n.text('${count} contributing profile', { count: total })
|
|
19
|
+
: i18n.text('${count} contributing profiles', { count: total })))),
|
|
19
20
|
React.createElement(Spacer, null),
|
|
20
|
-
React.createElement(HistoryFilterButton, { entityType: entityType, filter: filter, onApplyFilter: onApplyFilter, onClearFilter: onClearFilter }),
|
|
21
|
+
React.createElement(HistoryFilterButton, { className: styles.filterButton, entityType: entityType, filter: filter, onApplyFilter: onApplyFilter, onClearFilter: onClearFilter }),
|
|
21
22
|
React.createElement(HistoryMenuButton, null)));
|
|
22
23
|
};
|
|
23
24
|
export default HistoryHeader;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
export declare const useStyles: (props?: any) => import("@material-ui/core/styles/withStyles").ClassNameMap<"count" | "icon" | "root" | "divider">;
|
|
1
|
+
export declare const useStyles: (props?: any) => import("@material-ui/core/styles/withStyles").ClassNameMap<"count" | "icon" | "root" | "divider" | "filterButton">;
|
|
@@ -6,9 +6,7 @@ import mdmModule, { HistoryMode, profile } from '@reltio/mdm-module';
|
|
|
6
6
|
import { SmallIconButton } from '../../SmallIconButton';
|
|
7
7
|
import DropDownMenuButton from '../../DropDownMenuButton/DropDownMenuButton';
|
|
8
8
|
import MenuItemRenderer from './MenuItemRenderer';
|
|
9
|
-
import { useStyles } from './styles';
|
|
10
9
|
var HistoryMenuButton = function () {
|
|
11
|
-
var styles = useStyles();
|
|
12
10
|
var mode = useSelector(mdmModule.selectors.getHistoryMode);
|
|
13
11
|
var dispatch = useDispatch();
|
|
14
12
|
var handleModeChange = function (selectedMode) {
|
|
@@ -28,8 +26,7 @@ var HistoryMenuButton = function () {
|
|
|
28
26
|
];
|
|
29
27
|
return (React.createElement(DropDownMenuButton, { MenuItemRenderer: MenuItemRenderer, buttonComponent: SmallIconButton, buttonProps: {
|
|
30
28
|
icon: MoreVertIcon,
|
|
31
|
-
size: 'L'
|
|
32
|
-
className: styles.icon
|
|
29
|
+
size: 'L'
|
|
33
30
|
}, menuId: 'history-menu', menuItems: menuItems }));
|
|
34
31
|
};
|
|
35
32
|
export default HistoryMenuButton;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
export declare const useStyles: (props?: any) => import("@material-ui/core/styles/withStyles").ClassNameMap<"
|
|
1
|
+
export declare const useStyles: (props?: any) => import("@material-ui/core/styles/withStyles").ClassNameMap<"menuItem" | "menuText" | "checkIcon">;
|
package/package.json
CHANGED
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@reltio/components",
|
|
3
|
-
"version": "1.4.
|
|
3
|
+
"version": "1.4.969",
|
|
4
4
|
"license": "SEE LICENSE IN LICENSE FILE",
|
|
5
5
|
"main": "./cjs/index.js",
|
|
6
6
|
"module": "./esm/index.js",
|
|
7
7
|
"dependencies": {
|
|
8
8
|
"@date-io/moment": "^1.3.5",
|
|
9
9
|
"@react-google-maps/api": "^2.7.0",
|
|
10
|
-
"@reltio/mdm-module": "^1.4.
|
|
11
|
-
"@reltio/mdm-sdk": "^1.4.
|
|
10
|
+
"@reltio/mdm-module": "^1.4.969",
|
|
11
|
+
"@reltio/mdm-sdk": "^1.4.969",
|
|
12
12
|
"classnames": "^2.2.5",
|
|
13
13
|
"d3-cloud": "^1.2.5",
|
|
14
14
|
"d3-geo": "^2.0.1",
|