@teambit/graph 0.0.752 → 0.0.755

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.
Files changed (87) hide show
  1. package/dist/graph.compare.section.d.ts +13 -0
  2. package/dist/graph.compare.section.js +57 -0
  3. package/dist/graph.compare.section.js.map +1 -0
  4. package/dist/graph.ui.runtime.d.ts +2 -1
  5. package/dist/graph.ui.runtime.js +28 -2
  6. package/dist/graph.ui.runtime.js.map +1 -1
  7. package/dist/index.d.ts +12 -7
  8. package/dist/index.js +149 -9
  9. package/dist/index.js.map +1 -1
  10. package/dist/ui/component-node/component-node.js +27 -1
  11. package/dist/ui/component-node/component-node.js.map +1 -1
  12. package/dist/ui/component-node/component-node.module.scss +8 -0
  13. package/dist/ui/component-node/index.d.ts +12 -1
  14. package/dist/ui/component-node/index.js +56 -0
  15. package/dist/ui/component-node/index.js.map +1 -1
  16. package/dist/ui/component-node/variants.d.ts +2 -2
  17. package/dist/ui/component-node/variants.js +3 -1
  18. package/dist/ui/component-node/variants.js.map +1 -1
  19. package/dist/ui/dependencies-compare/compare-graph-model.d.ts +7 -0
  20. package/dist/ui/dependencies-compare/compare-graph-model.js +29 -0
  21. package/dist/ui/dependencies-compare/compare-graph-model.js.map +1 -0
  22. package/dist/ui/dependencies-compare/compare-node-model.d.ts +9 -0
  23. package/dist/ui/dependencies-compare/compare-node-model.js +45 -0
  24. package/dist/ui/dependencies-compare/compare-node-model.js.map +1 -0
  25. package/dist/ui/dependencies-compare/dependencies-compare.d.ts +2 -0
  26. package/dist/ui/dependencies-compare/dependencies-compare.js +205 -0
  27. package/dist/ui/dependencies-compare/dependencies-compare.js.map +1 -0
  28. package/dist/ui/dependencies-compare/dependencies-compare.module.scss +12 -0
  29. package/dist/ui/dependencies-compare/dependency-compare-node.d.ts +7 -0
  30. package/dist/ui/dependencies-compare/dependency-compare-node.js +271 -0
  31. package/dist/ui/dependencies-compare/dependency-compare-node.js.map +1 -0
  32. package/dist/ui/dependencies-compare/dependency-compare-node.module.scss +21 -0
  33. package/dist/ui/dependencies-compare/dependency-compare-variants.module.scss +21 -0
  34. package/dist/ui/dependencies-compare/diff-graph.d.ts +4 -0
  35. package/dist/ui/dependencies-compare/diff-graph.js +96 -0
  36. package/dist/ui/dependencies-compare/diff-graph.js.map +1 -0
  37. package/dist/ui/dependencies-compare/index.d.ts +1 -0
  38. package/dist/ui/dependencies-compare/index.js +23 -0
  39. package/dist/ui/dependencies-compare/index.js.map +1 -0
  40. package/dist/ui/dependencies-graph/calc-elements.d.ts +3 -3
  41. package/dist/ui/dependencies-graph/calc-elements.js.map +1 -1
  42. package/dist/ui/dependencies-graph/calc-layout.d.ts +2 -2
  43. package/dist/ui/dependencies-graph/calc-layout.js.map +1 -1
  44. package/dist/ui/dependencies-graph/dependencies-graph.d.ts +2 -2
  45. package/dist/ui/dependencies-graph/dependencies-graph.js.map +1 -1
  46. package/dist/ui/dependencies-graph/index.d.ts +9 -0
  47. package/dist/ui/dependencies-graph/index.js +96 -0
  48. package/dist/ui/dependencies-graph/index.js.map +1 -1
  49. package/dist/ui/graph-page/index.d.ts +5 -0
  50. package/dist/ui/graph-page/index.js +40 -0
  51. package/dist/ui/graph-page/index.js.map +1 -1
  52. package/dist/ui/query/graph-model.d.ts +5 -5
  53. package/dist/ui/query/graph-model.js.map +1 -1
  54. package/dist/ui/query/index.d.ts +1 -0
  55. package/dist/ui/query/index.js +16 -0
  56. package/dist/ui/query/index.js.map +1 -1
  57. package/dist/ui/query/use-graph-query.d.ts +2 -2
  58. package/dist/ui/query/use-graph-query.js +2 -1
  59. package/dist/ui/query/use-graph-query.js.map +1 -1
  60. package/dist/ui/query/use-graph.d.ts +1 -1
  61. package/graph.compare.section.tsx +16 -0
  62. package/graph.ui.runtime.tsx +14 -4
  63. package/package-tar/teambit-graph-0.0.755.tgz +0 -0
  64. package/package.json +15 -8
  65. package/{preview-1654399579544.js → preview-1654697373869.js} +2 -2
  66. package/ui/component-node/component-node.module.scss +8 -0
  67. package/ui/component-node/component-node.tsx +5 -1
  68. package/ui/component-node/index.ts +6 -1
  69. package/ui/component-node/variants.ts +2 -2
  70. package/ui/dependencies-compare/compare-graph-model.ts +8 -0
  71. package/ui/dependencies-compare/compare-node-model.ts +11 -0
  72. package/ui/dependencies-compare/dependencies-compare.module.scss +12 -0
  73. package/ui/dependencies-compare/dependencies-compare.tsx +109 -0
  74. package/ui/dependencies-compare/dependency-compare-node.module.scss +21 -0
  75. package/ui/dependencies-compare/dependency-compare-node.tsx +99 -0
  76. package/ui/dependencies-compare/dependency-compare-variants.module.scss +21 -0
  77. package/ui/dependencies-compare/diff-graph.ts +69 -0
  78. package/ui/dependencies-compare/index.ts +1 -0
  79. package/ui/dependencies-graph/calc-elements.tsx +3 -3
  80. package/ui/dependencies-graph/calc-layout.tsx +2 -2
  81. package/ui/dependencies-graph/dependencies-graph.tsx +8 -8
  82. package/ui/dependencies-graph/index.ts +9 -0
  83. package/ui/graph-page/index.ts +6 -0
  84. package/ui/query/graph-model.ts +3 -2
  85. package/ui/query/index.ts +1 -0
  86. package/ui/query/use-graph-query.ts +3 -2
  87. package/package-tar/teambit-graph-0.0.752.tgz +0 -0
@@ -0,0 +1,7 @@
1
+ import { EdgeModel, GraphModel } from '@teambit/graph';
2
+ import { CompareNodeModel } from './compare-node-model';
3
+ export declare class CompareGraphModel extends GraphModel<CompareNodeModel, EdgeModel> {
4
+ nodes: CompareNodeModel[];
5
+ edges: EdgeModel[];
6
+ constructor(nodes: CompareNodeModel[], edges: EdgeModel[]);
7
+ }
@@ -0,0 +1,29 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.CompareGraphModel = void 0;
7
+
8
+ function _graph() {
9
+ const data = require("@teambit/graph");
10
+
11
+ _graph = function () {
12
+ return data;
13
+ };
14
+
15
+ return data;
16
+ }
17
+
18
+ class CompareGraphModel extends _graph().GraphModel {
19
+ constructor(nodes, edges) {
20
+ super(nodes, edges);
21
+ this.nodes = nodes;
22
+ this.edges = edges;
23
+ }
24
+
25
+ }
26
+
27
+ exports.CompareGraphModel = CompareGraphModel;
28
+
29
+ //# sourceMappingURL=compare-graph-model.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["CompareGraphModel","GraphModel","constructor","nodes","edges"],"sources":["compare-graph-model.ts"],"sourcesContent":["import { EdgeModel, GraphModel } from '@teambit/graph';\nimport { CompareNodeModel } from './compare-node-model';\n\nexport class CompareGraphModel extends GraphModel<CompareNodeModel, EdgeModel> {\n constructor(public nodes: CompareNodeModel[], public edges: EdgeModel[]) {\n super(nodes, edges);\n }\n}\n"],"mappings":";;;;;;;AAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;AAAA;;AAGO,MAAMA,iBAAN,SAAgCC,mBAAhC,CAAwE;EAC7EC,WAAW,CAAQC,KAAR,EAA0CC,KAA1C,EAA8D;IACvE,MAAMD,KAAN,EAAaC,KAAb;IADuE,KAAtDD,KAAsD,GAAtDA,KAAsD;IAAA,KAApBC,KAAoB,GAApBA,KAAoB;EAExE;;AAH4E"}
@@ -0,0 +1,9 @@
1
+ import { ComponentModel } from '@teambit/component';
2
+ import { NodeModel } from '@teambit/graph';
3
+ export declare type CompareStatus = 'modified' | 'new' | 'deleted' | undefined;
4
+ export declare class CompareNodeModel extends NodeModel {
5
+ id: string;
6
+ component: ComponentModel;
7
+ compareVersion: string;
8
+ status: CompareStatus;
9
+ }
@@ -0,0 +1,45 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+
5
+ require("core-js/modules/es.array.iterator.js");
6
+
7
+ Object.defineProperty(exports, "__esModule", {
8
+ value: true
9
+ });
10
+ exports.CompareNodeModel = void 0;
11
+
12
+ function _defineProperty2() {
13
+ const data = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
14
+
15
+ _defineProperty2 = function () {
16
+ return data;
17
+ };
18
+
19
+ return data;
20
+ }
21
+
22
+ function _graph() {
23
+ const data = require("@teambit/graph");
24
+
25
+ _graph = function () {
26
+ return data;
27
+ };
28
+
29
+ return data;
30
+ }
31
+
32
+ class CompareNodeModel extends _graph().NodeModel {
33
+ constructor(...args) {
34
+ super(...args);
35
+ (0, _defineProperty2().default)(this, "id", void 0);
36
+ (0, _defineProperty2().default)(this, "component", void 0);
37
+ (0, _defineProperty2().default)(this, "compareVersion", void 0);
38
+ (0, _defineProperty2().default)(this, "status", void 0);
39
+ }
40
+
41
+ }
42
+
43
+ exports.CompareNodeModel = CompareNodeModel;
44
+
45
+ //# sourceMappingURL=compare-node-model.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["CompareNodeModel","NodeModel"],"sources":["compare-node-model.ts"],"sourcesContent":["import { ComponentModel } from '@teambit/component';\nimport { NodeModel } from '@teambit/graph';\n\nexport type CompareStatus = 'modified' | 'new' | 'deleted' | undefined;\n\nexport class CompareNodeModel extends NodeModel {\n id: string;\n component: ComponentModel;\n compareVersion: string;\n status: CompareStatus;\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;AACA;EAAA;;EAAA;IAAA;EAAA;;EAAA;AAAA;;AAIO,MAAMA,gBAAN,SAA+BC,kBAA/B,CAAyC;EAAA;IAAA;IAAA;IAAA;IAAA;IAAA;EAAA;;AAAA"}
@@ -0,0 +1,2 @@
1
+ /// <reference types="react" />
2
+ export declare function DependenciesCompare(): JSX.Element;
@@ -0,0 +1,205 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+
5
+ require("core-js/modules/es.array.iterator.js");
6
+
7
+ Object.defineProperty(exports, "__esModule", {
8
+ value: true
9
+ });
10
+ exports.DependenciesCompare = DependenciesCompare;
11
+
12
+ function _classnames() {
13
+ const data = _interopRequireDefault(require("classnames"));
14
+
15
+ _classnames = function () {
16
+ return data;
17
+ };
18
+
19
+ return data;
20
+ }
21
+
22
+ function _componentUi() {
23
+ const data = require("@teambit/component.ui.compare");
24
+
25
+ _componentUi = function () {
26
+ return data;
27
+ };
28
+
29
+ return data;
30
+ }
31
+
32
+ function _designUi() {
33
+ const data = require("@teambit/design.ui.round-loader");
34
+
35
+ _designUi = function () {
36
+ return data;
37
+ };
38
+
39
+ return data;
40
+ }
41
+
42
+ function _graph() {
43
+ const data = require("@teambit/graph");
44
+
45
+ _graph = function () {
46
+ return data;
47
+ };
48
+
49
+ return data;
50
+ }
51
+
52
+ function _react() {
53
+ const data = _interopRequireWildcard(require("react"));
54
+
55
+ _react = function () {
56
+ return data;
57
+ };
58
+
59
+ return data;
60
+ }
61
+
62
+ function _reactFlowRenderer() {
63
+ const data = _interopRequireWildcard(require("react-flow-renderer"));
64
+
65
+ _reactFlowRenderer = function () {
66
+ return data;
67
+ };
68
+
69
+ return data;
70
+ }
71
+
72
+ function _dependenciesCompareModule() {
73
+ const data = _interopRequireDefault(require("./dependencies-compare.module.scss"));
74
+
75
+ _dependenciesCompareModule = function () {
76
+ return data;
77
+ };
78
+
79
+ return data;
80
+ }
81
+
82
+ function _dependencyCompareNode() {
83
+ const data = require("./dependency-compare-node");
84
+
85
+ _dependencyCompareNode = function () {
86
+ return data;
87
+ };
88
+
89
+ return data;
90
+ }
91
+
92
+ function _diffGraph2() {
93
+ const data = require("./diff-graph");
94
+
95
+ _diffGraph2 = function () {
96
+ return data;
97
+ };
98
+
99
+ return data;
100
+ }
101
+
102
+ function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function (nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
103
+
104
+ function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
105
+
106
+ function ComponentNodeContainer(props) {
107
+ const {
108
+ sourcePosition = _reactFlowRenderer().Position.Top,
109
+ targetPosition = _reactFlowRenderer().Position.Bottom,
110
+ data,
111
+ id
112
+ } = props;
113
+ return /*#__PURE__*/_react().default.createElement("div", {
114
+ key: id
115
+ }, /*#__PURE__*/_react().default.createElement(_reactFlowRenderer().Handle, {
116
+ type: "target",
117
+ position: targetPosition,
118
+ isConnectable: false
119
+ }), /*#__PURE__*/_react().default.createElement(_reactFlowRenderer().Handle, {
120
+ type: "source",
121
+ position: sourcePosition,
122
+ isConnectable: false
123
+ }), /*#__PURE__*/_react().default.createElement(_dependencyCompareNode().DependencyCompareNode, {
124
+ node: data.node,
125
+ type: data.type
126
+ }));
127
+ }
128
+
129
+ const NodeTypes = {
130
+ ComponentNode: ComponentNodeContainer
131
+ };
132
+
133
+ function DependenciesCompare() {
134
+ var _componentCompare$bas, _componentCompare$com, _diffGraph;
135
+
136
+ const graphRef = (0, _react().useRef)();
137
+ const componentCompare = (0, _componentUi().useComponentCompare)();
138
+ const baseId = componentCompare === null || componentCompare === void 0 ? void 0 : (_componentCompare$bas = componentCompare.base) === null || _componentCompare$bas === void 0 ? void 0 : _componentCompare$bas.id;
139
+ const compareId = componentCompare === null || componentCompare === void 0 ? void 0 : (_componentCompare$com = componentCompare.compare) === null || _componentCompare$com === void 0 ? void 0 : _componentCompare$com.id;
140
+ const [filter, setFilter] = (0, _react().useState)('runtimeOnly');
141
+ const isFiltered = filter === 'runtimeOnly';
142
+ const {
143
+ loading: baseLoading,
144
+ graph: baseGraph
145
+ } = (0, _graph().useGraphQuery)(baseId && [baseId.toString()], filter);
146
+ const {
147
+ loading: compareLoading,
148
+ graph: compareGraph
149
+ } = (0, _graph().useGraphQuery)(compareId && [compareId.toString()], filter);
150
+ const loading = baseLoading || compareLoading;
151
+ const graph = (_diffGraph = (0, _diffGraph2().diffGraph)(baseGraph, compareGraph, baseId)) !== null && _diffGraph !== void 0 ? _diffGraph : undefined;
152
+ const elements = (0, _graph().calcElements)(graph, {
153
+ rootNode: baseId
154
+ });
155
+ (0, _react().useEffect)(() => {
156
+ var _graphRef$current;
157
+
158
+ (_graphRef$current = graphRef.current) === null || _graphRef$current === void 0 ? void 0 : _graphRef$current.fitView();
159
+ }, [elements]);
160
+
161
+ function handleLoad(instance) {
162
+ var _graphRef$current2;
163
+
164
+ graphRef.current = instance;
165
+ (_graphRef$current2 = graphRef.current) === null || _graphRef$current2 === void 0 ? void 0 : _graphRef$current2.fitView();
166
+ }
167
+
168
+ const onCheckFilter = _isFiltered => {
169
+ setFilter(_isFiltered ? 'runtimeOnly' : undefined);
170
+ };
171
+
172
+ if (!loading && (!baseGraph || !compareGraph)) {
173
+ return /*#__PURE__*/_react().default.createElement(_react().default.Fragment, null);
174
+ }
175
+
176
+ return /*#__PURE__*/_react().default.createElement("div", {
177
+ className: (0, _classnames().default)([_dependenciesCompareModule().default.page, _graph().graphPageStyles.graph])
178
+ }, loading && /*#__PURE__*/_react().default.createElement("div", {
179
+ className: _dependenciesCompareModule().default.loader
180
+ }, /*#__PURE__*/_react().default.createElement(_designUi().RoundLoader, null)), /*#__PURE__*/_react().default.createElement(_reactFlowRenderer().ReactFlowProvider, null, /*#__PURE__*/_react().default.createElement(_reactFlowRenderer().default, {
181
+ draggable: false,
182
+ nodesDraggable: true,
183
+ selectNodesOnDrag: false,
184
+ nodesConnectable: false,
185
+ zoomOnDoubleClick: false,
186
+ elementsSelectable: false,
187
+ maxZoom: 1,
188
+ className: _graph().dependenciesGraphStyles.graph,
189
+ elements: elements,
190
+ nodeTypes: NodeTypes,
191
+ onLoad: handleLoad
192
+ }, /*#__PURE__*/_react().default.createElement(_reactFlowRenderer().Background, null), /*#__PURE__*/_react().default.createElement(_reactFlowRenderer().Controls, {
193
+ className: _graph().dependenciesGraphStyles.controls
194
+ }), /*#__PURE__*/_react().default.createElement(_reactFlowRenderer().MiniMap, {
195
+ nodeColor: _graph().calcMinimapColors,
196
+ className: _graph().dependenciesGraphStyles.minimap
197
+ }), /*#__PURE__*/_react().default.createElement(_graph().GraphFilters, {
198
+ className: _graph().graphPageStyles.filters,
199
+ disable: loading,
200
+ isFiltered: isFiltered,
201
+ onChangeFilter: onCheckFilter
202
+ }))));
203
+ }
204
+
205
+ //# sourceMappingURL=dependencies-compare.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["ComponentNodeContainer","props","sourcePosition","Position","Top","targetPosition","Bottom","data","id","node","type","NodeTypes","ComponentNode","DependenciesCompare","graphRef","useRef","componentCompare","useComponentCompare","baseId","base","compareId","compare","filter","setFilter","useState","isFiltered","loading","baseLoading","graph","baseGraph","useGraphQuery","toString","compareLoading","compareGraph","diffGraph","undefined","elements","calcElements","rootNode","useEffect","current","fitView","handleLoad","instance","onCheckFilter","_isFiltered","classNames","styles","page","graphPageStyles","loader","dependenciesGraphStyles","controls","calcMinimapColors","minimap","filters"],"sources":["dependencies-compare.tsx"],"sourcesContent":["import classNames from 'classnames';\nimport { useComponentCompare } from '@teambit/component.ui.compare';\nimport { RoundLoader } from '@teambit/design.ui.round-loader';\nimport {\n calcElements,\n calcMinimapColors,\n dependenciesGraphStyles,\n GraphFilter,\n GraphFilters,\n graphPageStyles,\n useGraphQuery,\n} from '@teambit/graph';\nimport React, { useEffect, useRef, useState } from 'react';\nimport ReactFlow, {\n Background,\n Controls,\n Handle,\n MiniMap,\n NodeProps,\n NodeTypesType,\n OnLoadParams,\n Position,\n ReactFlowProvider,\n} from 'react-flow-renderer';\nimport styles from './dependencies-compare.module.scss';\nimport { DependencyCompareNode } from './dependency-compare-node';\nimport { diffGraph } from './diff-graph';\n\nfunction ComponentNodeContainer(props: NodeProps) {\n const { sourcePosition = Position.Top, targetPosition = Position.Bottom, data, id } = props;\n\n return (\n <div key={id}>\n <Handle type=\"target\" position={targetPosition} isConnectable={false} />\n <Handle type=\"source\" position={sourcePosition} isConnectable={false} />\n <DependencyCompareNode node={data.node} type={data.type} />\n </div>\n );\n}\n\nconst NodeTypes: NodeTypesType = { ComponentNode: ComponentNodeContainer };\n\nexport function DependenciesCompare() {\n const graphRef = useRef<OnLoadParams>();\n const componentCompare = useComponentCompare();\n\n const baseId = componentCompare?.base?.id;\n const compareId = componentCompare?.compare?.id;\n\n const [filter, setFilter] = useState<GraphFilter>('runtimeOnly');\n const isFiltered = filter === 'runtimeOnly';\n const { loading: baseLoading, graph: baseGraph } = useGraphQuery(baseId && [baseId.toString()], filter);\n const { loading: compareLoading, graph: compareGraph } = useGraphQuery(compareId && [compareId.toString()], filter);\n const loading = baseLoading || compareLoading;\n const graph = diffGraph(baseGraph, compareGraph, baseId) ?? undefined;\n const elements = calcElements(graph, { rootNode: baseId });\n\n useEffect(() => {\n graphRef.current?.fitView();\n }, [elements]);\n\n function handleLoad(instance: OnLoadParams) {\n graphRef.current = instance;\n graphRef.current?.fitView();\n }\n\n const onCheckFilter = (_isFiltered: boolean) => {\n setFilter(_isFiltered ? 'runtimeOnly' : undefined);\n };\n\n if (!loading && (!baseGraph || !compareGraph)) {\n return <></>;\n }\n\n return (\n <div className={classNames([styles.page, graphPageStyles.graph])}>\n {loading && (\n <div className={styles.loader}>\n <RoundLoader />\n </div>\n )}\n <ReactFlowProvider>\n <ReactFlow\n draggable={false}\n nodesDraggable={true}\n selectNodesOnDrag={false}\n nodesConnectable={false}\n zoomOnDoubleClick={false}\n elementsSelectable={false}\n maxZoom={1}\n className={dependenciesGraphStyles.graph}\n elements={elements}\n nodeTypes={NodeTypes}\n onLoad={handleLoad}\n >\n <Background />\n <Controls className={dependenciesGraphStyles.controls} />\n <MiniMap nodeColor={calcMinimapColors} className={dependenciesGraphStyles.minimap} />\n <GraphFilters\n className={graphPageStyles.filters}\n disable={loading}\n isFiltered={isFiltered}\n onChangeFilter={onCheckFilter}\n />\n </ReactFlow>\n </ReactFlowProvider>\n </div>\n );\n}\n"],"mappings":"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"}
@@ -0,0 +1,12 @@
1
+ $d30: #878c9a;
2
+ $b70: #0d2de3;
3
+
4
+ .page {
5
+ margin-top: 16px; // not exported
6
+ }
7
+
8
+ .loader {
9
+ display: flex;
10
+ align-items: center;
11
+ height: 100%;
12
+ }
@@ -0,0 +1,7 @@
1
+ /// <reference types="react" />
2
+ import { CompareNodeModel } from './compare-node-model';
3
+ export declare type DependencyCompareNodeProps = {
4
+ node: CompareNodeModel;
5
+ type?: string;
6
+ };
7
+ export declare function DependencyCompareNode(props: DependencyCompareNodeProps): JSX.Element;
@@ -0,0 +1,271 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+
5
+ Object.defineProperty(exports, "__esModule", {
6
+ value: true
7
+ });
8
+ exports.DependencyCompareNode = DependencyCompareNode;
9
+
10
+ function _extends2() {
11
+ const data = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
12
+
13
+ _extends2 = function () {
14
+ return data;
15
+ };
16
+
17
+ return data;
18
+ }
19
+
20
+ function _objectWithoutProperties2() {
21
+ const data = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutProperties"));
22
+
23
+ _objectWithoutProperties2 = function () {
24
+ return data;
25
+ };
26
+
27
+ return data;
28
+ }
29
+
30
+ function _baseUiRouting() {
31
+ const data = require("@teambit/base-ui.routing.nav-link");
32
+
33
+ _baseUiRouting = function () {
34
+ return data;
35
+ };
36
+
37
+ return data;
38
+ }
39
+
40
+ function _baseUiSurfaces() {
41
+ const data = require("@teambit/base-ui.surfaces.card");
42
+
43
+ _baseUiSurfaces = function () {
44
+ return data;
45
+ };
46
+
47
+ return data;
48
+ }
49
+
50
+ function _baseUiText() {
51
+ const data = require("@teambit/base-ui.text.muted-text");
52
+
53
+ _baseUiText = function () {
54
+ return data;
55
+ };
56
+
57
+ return data;
58
+ }
59
+
60
+ function _component() {
61
+ const data = require("@teambit/component");
62
+
63
+ _component = function () {
64
+ return data;
65
+ };
66
+
67
+ return data;
68
+ }
69
+
70
+ function _componentModules() {
71
+ const data = require("@teambit/component.modules.component-url");
72
+
73
+ _componentModules = function () {
74
+ return data;
75
+ };
76
+
77
+ return data;
78
+ }
79
+
80
+ function _componentUi() {
81
+ const data = require("@teambit/component.ui.compare");
82
+
83
+ _componentUi = function () {
84
+ return data;
85
+ };
86
+
87
+ return data;
88
+ }
89
+
90
+ function _componentUi2() {
91
+ const data = require("@teambit/component.ui.deprecation-icon");
92
+
93
+ _componentUi2 = function () {
94
+ return data;
95
+ };
96
+
97
+ return data;
98
+ }
99
+
100
+ function _designUiStyles() {
101
+ const data = require("@teambit/design.ui.styles.ellipsis");
102
+
103
+ _designUiStyles = function () {
104
+ return data;
105
+ };
106
+
107
+ return data;
108
+ }
109
+
110
+ function _envsUi() {
111
+ const data = require("@teambit/envs.ui.env-icon");
112
+
113
+ _envsUi = function () {
114
+ return data;
115
+ };
116
+
117
+ return data;
118
+ }
119
+
120
+ function _graph() {
121
+ const data = require("@teambit/graph");
122
+
123
+ _graph = function () {
124
+ return data;
125
+ };
126
+
127
+ return data;
128
+ }
129
+
130
+ function _classnames() {
131
+ const data = _interopRequireDefault(require("classnames"));
132
+
133
+ _classnames = function () {
134
+ return data;
135
+ };
136
+
137
+ return data;
138
+ }
139
+
140
+ function _react() {
141
+ const data = _interopRequireWildcard(require("react"));
142
+
143
+ _react = function () {
144
+ return data;
145
+ };
146
+
147
+ return data;
148
+ }
149
+
150
+ function _semver() {
151
+ const data = require("semver");
152
+
153
+ _semver = function () {
154
+ return data;
155
+ };
156
+
157
+ return data;
158
+ }
159
+
160
+ function _dependencyCompareNodeModule() {
161
+ const data = _interopRequireDefault(require("./dependency-compare-node.module.scss"));
162
+
163
+ _dependencyCompareNodeModule = function () {
164
+ return data;
165
+ };
166
+
167
+ return data;
168
+ }
169
+
170
+ function _dependencyCompareVariantsModule() {
171
+ const data = _interopRequireDefault(require("./dependency-compare-variants.module.scss"));
172
+
173
+ _dependencyCompareVariantsModule = function () {
174
+ return data;
175
+ };
176
+
177
+ return data;
178
+ }
179
+
180
+ function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function (nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
181
+
182
+ function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
183
+
184
+ function getVariant(nodeType) {
185
+ switch (nodeType) {
186
+ case 'defaultNode':
187
+ return _graph().defaultNode;
188
+
189
+ case 'root':
190
+ return _dependencyCompareVariantsModule().default[nodeType];
191
+
192
+ case 'external':
193
+ return _graph().external;
194
+
195
+ default:
196
+ return null;
197
+ }
198
+ }
199
+
200
+ function DependencyCompareNode(props) {
201
+ const {
202
+ node,
203
+ type = 'defaultNode'
204
+ } = props;
205
+ const {
206
+ id: baseIdStr,
207
+ component: baseComponent,
208
+ compareVersion,
209
+ status
210
+ } = node;
211
+ const {
212
+ version: baseVersion
213
+ } = baseComponent;
214
+
215
+ const baseId = _component().ComponentID.fromString(baseIdStr);
216
+
217
+ const versionDiff = (0, _react().useMemo)(() => (0, _semver().valid)(baseVersion) && (0, _semver().valid)(compareVersion) && (0, _semver().compare)(baseVersion, compareVersion), [baseVersion, compareVersion]);
218
+ return /*#__PURE__*/_react().default.createElement(_baseUiSurfaces().Card, {
219
+ className: (0, _classnames().default)(_graph().componentNodeStyles.compNode, getVariant(type)),
220
+ elevation: "none"
221
+ }, /*#__PURE__*/_react().default.createElement("div", {
222
+ className: _graph().componentNodeStyles.firstRow
223
+ }, /*#__PURE__*/_react().default.createElement(_envsUi().EnvIcon, {
224
+ component: baseComponent,
225
+ className: _graph().componentNodeStyles.envIcon
226
+ }), /*#__PURE__*/_react().default.createElement(Breadcrumbs, {
227
+ componentId: baseId,
228
+ className: _baseUiText().mutedText
229
+ })), /*#__PURE__*/_react().default.createElement("div", {
230
+ className: _graph().componentNodeStyles.nameLine
231
+ }, /*#__PURE__*/_react().default.createElement(_baseUiRouting().NavLink, {
232
+ className: _dependencyCompareNodeModule().default.link,
233
+ external: true,
234
+ href: _componentModules().ComponentUrl.toUrl(baseId, {
235
+ includeVersion: false
236
+ })
237
+ }, /*#__PURE__*/_react().default.createElement("span", {
238
+ className: (0, _classnames().default)(_graph().componentNodeStyles.name, _designUiStyles().ellipsis)
239
+ }, baseId.name)), baseId.version && /*#__PURE__*/_react().default.createElement("span", {
240
+ className: (0, _classnames().default)(_graph().componentNodeStyles.version, _designUiStyles().ellipsis)
241
+ }, baseId.version), versionDiff !== 0 && /*#__PURE__*/_react().default.createElement("img", {
242
+ className: (0, _classnames().default)([_dependencyCompareNodeModule().default.arrowIcon, _dependencyCompareNodeModule().default.versionUp]),
243
+ src: "https://static.bit.dev/bit-icons/version-bump.svg"
244
+ }), compareVersion && versionDiff !== 0 && /*#__PURE__*/_react().default.createElement("span", {
245
+ className: (0, _classnames().default)(_dependencyCompareNodeModule().default.version, _graph().componentNodeStyles.version, _designUiStyles().ellipsis, versionDiff === -1 && _dependencyCompareNodeModule().default.versionUp, versionDiff === 1 && _dependencyCompareNodeModule().default.versionDown)
246
+ }, compareVersion), /*#__PURE__*/_react().default.createElement("div", {
247
+ className: _dependencyCompareNodeModule().default.buffs
248
+ }, /*#__PURE__*/_react().default.createElement(_componentUi2().DeprecationIcon, {
249
+ component: baseComponent
250
+ }), status !== undefined && /*#__PURE__*/_react().default.createElement(_componentUi().CompareStatusResolver, {
251
+ status: status
252
+ }))));
253
+ }
254
+
255
+ function Breadcrumbs(_ref) {
256
+ let {
257
+ componentId,
258
+ className
259
+ } = _ref,
260
+ rest = (0, _objectWithoutProperties2().default)(_ref, ["componentId", "className"]);
261
+ const {
262
+ scope,
263
+ namespace
264
+ } = componentId;
265
+ const showSep = !!scope && !!namespace;
266
+ return /*#__PURE__*/_react().default.createElement("div", (0, _extends2().default)({}, rest, {
267
+ className: (0, _classnames().default)(_dependencyCompareNodeModule().default.breadcrumbs, _designUiStyles().ellipsis, className)
268
+ }), scope, showSep && '/', namespace);
269
+ }
270
+
271
+ //# sourceMappingURL=dependency-compare-node.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["getVariant","nodeType","defaultNode","variants","external","DependencyCompareNode","props","node","type","id","baseIdStr","component","baseComponent","compareVersion","status","version","baseVersion","baseId","ComponentID","fromString","versionDiff","useMemo","valid","compare","classnames","componentNodeStyles","compNode","firstRow","envIcon","mutedText","nameLine","styles","link","ComponentUrl","toUrl","includeVersion","name","ellipsis","arrowIcon","versionUp","versionDown","buffs","undefined","Breadcrumbs","componentId","className","rest","scope","namespace","showSep","breadcrumbs"],"sources":["dependency-compare-node.tsx"],"sourcesContent":["import { NavLink } from '@teambit/base-ui.routing.nav-link';\nimport { Card } from '@teambit/base-ui.surfaces.card';\nimport { mutedText } from '@teambit/base-ui.text.muted-text';\nimport { ComponentID } from '@teambit/component';\nimport { ComponentUrl } from '@teambit/component.modules.component-url';\nimport { CompareStatusResolver } from '@teambit/component.ui.compare';\nimport { DeprecationIcon } from '@teambit/component.ui.deprecation-icon';\nimport { ellipsis } from '@teambit/design.ui.styles.ellipsis';\nimport { EnvIcon } from '@teambit/envs.ui.env-icon';\nimport { componentNodeStyles, defaultNode, external } from '@teambit/graph';\nimport classnames from 'classnames';\nimport React, { useMemo } from 'react';\nimport { compare, valid } from 'semver';\nimport { CompareNodeModel } from './compare-node-model';\nimport styles from './dependency-compare-node.module.scss';\nimport variants from './dependency-compare-variants.module.scss';\n\nfunction getVariant(nodeType?: string) {\n switch (nodeType) {\n case 'defaultNode':\n return defaultNode;\n case 'root':\n return variants[nodeType];\n case 'external':\n return external;\n default:\n return null;\n }\n}\n\nexport type DependencyCompareNodeProps = {\n node: CompareNodeModel;\n type?: string;\n};\n\nexport function DependencyCompareNode(props: DependencyCompareNodeProps) {\n const { node, type = 'defaultNode' } = props;\n const { id: baseIdStr, component: baseComponent, compareVersion, status } = node;\n const { version: baseVersion } = baseComponent;\n const baseId = ComponentID.fromString(baseIdStr);\n const versionDiff = useMemo(\n () => valid(baseVersion) && valid(compareVersion) && compare(baseVersion, compareVersion),\n [baseVersion, compareVersion]\n );\n\n return (\n <Card className={classnames(componentNodeStyles.compNode, getVariant(type))} elevation=\"none\">\n <div className={componentNodeStyles.firstRow}>\n <EnvIcon component={baseComponent} className={componentNodeStyles.envIcon} />\n <Breadcrumbs componentId={baseId} className={mutedText} />\n </div>\n <div className={componentNodeStyles.nameLine}>\n <NavLink className={styles.link} external={true} href={ComponentUrl.toUrl(baseId, { includeVersion: false })}>\n <span className={classnames(componentNodeStyles.name, ellipsis)}>{baseId.name}</span>\n </NavLink>\n {baseId.version && <span className={classnames(componentNodeStyles.version, ellipsis)}>{baseId.version}</span>}\n {versionDiff !== 0 && (\n <img\n className={classnames([styles.arrowIcon, styles.versionUp])}\n src=\"https://static.bit.dev/bit-icons/version-bump.svg\"\n />\n )}\n {compareVersion && versionDiff !== 0 && (\n <span\n className={classnames(\n styles.version,\n componentNodeStyles.version,\n ellipsis,\n versionDiff === -1 && styles.versionUp,\n versionDiff === 1 && styles.versionDown\n )}\n >\n {compareVersion}\n </span>\n )}\n\n <div className={styles.buffs}>\n <DeprecationIcon component={baseComponent} />\n {status !== undefined && <CompareStatusResolver status={status} />}\n </div>\n </div>\n </Card>\n );\n}\n\ntype BreadcrumbsProps = { componentId: ComponentID } & React.HTMLAttributes<HTMLDivElement>;\n\nfunction Breadcrumbs({ componentId, className, ...rest }: BreadcrumbsProps) {\n const { scope, namespace } = componentId;\n const showSep = !!scope && !!namespace;\n\n return (\n <div {...rest} className={classnames(styles.breadcrumbs, ellipsis, className)}>\n {scope}\n {showSep && '/'}\n {namespace}\n </div>\n );\n}\n"],"mappings":"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"}
@@ -0,0 +1,21 @@
1
+ .arrowIcon {
2
+ height: 16px;
3
+ padding-right: 8px;
4
+ }
5
+
6
+ .versionUp {
7
+ color: var(--positive-color, #37b26c);
8
+ }
9
+
10
+ .versionDown {
11
+ color: var(--negative-color, #e62e5c);
12
+ }
13
+
14
+ .link {
15
+ text-decoration: none;
16
+ color: var(--bit-text-color-heavyed);
17
+
18
+ &:hover {
19
+ text-decoration: underline;
20
+ }
21
+ }