@kando-env/kando-ui 1.2.449-alpha.9 → 1.2.449

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 (36) hide show
  1. package/lib/Widgets/Map/Map.js +3 -3
  2. package/lib/Widgets/Map/MapUtils.js +1 -2
  3. package/lib/Widgets/MostPolluting/Factories/FactoryBox/FactoryBox.js +38 -20
  4. package/lib/Widgets/MostPolluting/Factories/FactoryBox/styles.js +1 -1
  5. package/lib/assets/icons/TopNavbar/index.js +1 -9
  6. package/lib/components/DischargeHeatmap/DischargeHeatmapContainer.js +2 -2
  7. package/lib/components/DischargeHeatmap/mocks/handlers.js +3 -3
  8. package/lib/components/Header/InfoBar/InfoBar.js +3 -20
  9. package/lib/i18n/en.json +2 -5
  10. package/lib/macros/getVersion.js +2 -2
  11. package/lib/pages/DashboardMap/AssessmentIcon.js +3 -3
  12. package/lib/pages/EventsPage/events/event_info/EventSection.test.js +22 -21
  13. package/lib/pages/EventsPage/events/event_info/Header/Header.js +1 -1
  14. package/lib/pages/EventsPage/events/event_info/Header/HeaderContainer.js +1 -1
  15. package/lib/pages/EventsPage/events/event_info/Header/index.js +1 -1
  16. package/lib/pages/EventsPage/events/event_info/SeverityScore/index.js +1 -1
  17. package/lib/pages/EventsPage/events/event_info/Timelines/index.js +1 -1
  18. package/lib/pages/OperationsPage/RightPanel.js +3 -3
  19. package/lib/store/permissions/permissionsSlice.js +1 -5
  20. package/lib/store/points/models/IPoint.js +1 -1
  21. package/lib/styles/theme/theme.js +2 -3
  22. package/lib/test/mocks/browser.js +1 -1
  23. package/lib/test/test-utils.js +1 -1
  24. package/lib/ui-kit/Dashboard/Dashboard.js +6 -14
  25. package/lib/ui-kit/KandoTable/KandoTable.test.js +1 -1
  26. package/lib/utilities/scoreToData.test.js +1 -1
  27. package/package.json +2 -2
  28. package/lib/Widgets/MostPolluting/Factories/FactoryBox/FactoryCard.js +0 -59
  29. package/lib/assets/icons/TopNavbar/GraphHierarchyIcon.js +0 -77
  30. package/lib/ui-kit/HierarchyGraph/AutoFitTree.js +0 -142
  31. package/lib/ui-kit/HierarchyGraph/HierarchyGraph.js +0 -116
  32. package/lib/ui-kit/HierarchyGraph/Node.js +0 -77
  33. package/lib/ui-kit/HierarchyGraph/NodeIcon.js +0 -45
  34. package/lib/ui-kit/HierarchyGraph/OrientationSwitcher.js +0 -113
  35. package/lib/ui-kit/HierarchyGraph/index.js +0 -11
  36. package/lib/ui-kit/HierarchyGraph/utils.js +0 -101
@@ -1,101 +0,0 @@
1
- "use strict";
2
-
3
- var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
- Object.defineProperty(exports, "__esModule", {
5
- value: true
6
- });
7
- exports.ActionsContainer = void 0;
8
- exports.buildTree = buildTree;
9
- exports.mapById = mapById;
10
- var _objectSpread2 = _interopRequireDefault(require("@babel/runtime/helpers/esm/objectSpread2"));
11
- var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime/helpers/esm/objectWithoutProperties"));
12
- var _createForOfIteratorHelper2 = _interopRequireDefault(require("@babel/runtime/helpers/esm/createForOfIteratorHelper"));
13
- var _styledComponents = _interopRequireDefault(require("styled-components"));
14
- var _excluded = ["name"],
15
- _excluded2 = ["id", "name", "has_device", "group", "area_name"];
16
- /**
17
- * Convert edges to rows suitable for d3.stratify()
18
- * Returns an array of { id, parentId, distance?, shape_data? }
19
- * If multiple roots exist, you can optionally add a super root row.
20
- */
21
-
22
- function buildTree(connections, point_data, utility_name) {
23
- var nodes = {};
24
- var children = new Set();
25
-
26
- // Build map of nodes and track children
27
- var _iterator = (0, _createForOfIteratorHelper2.default)(connections),
28
- _step;
29
- try {
30
- for (_iterator.s(); !(_step = _iterator.n()).done;) {
31
- var _step$value = _step.value,
32
- source_point_id = _step$value.source_point_id,
33
- target_point_id = _step$value.target_point_id,
34
- distance = _step$value.distance;
35
- var _ref = point_data[source_point_id] || {},
36
- name = _ref.name,
37
- sourceData = (0, _objectWithoutProperties2.default)(_ref, _excluded);
38
- if (!nodes[source_point_id]) nodes[source_point_id] = {
39
- name: name,
40
- children: []
41
- };
42
- if (!nodes[target_point_id]) {
43
- var target_data = point_data[target_point_id] || {};
44
- nodes[target_point_id] = {
45
- name: target_data.name,
46
- attributes: (0, _objectSpread2.default)((0, _objectSpread2.default)({}, target_data), {}, {
47
- point_id: target_point_id
48
- }),
49
- children: []
50
- };
51
- }
52
- nodes[target_point_id].children.push(nodes[source_point_id]);
53
- children.add(source_point_id);
54
- nodes[source_point_id].attributes = (0, _objectSpread2.default)((0, _objectSpread2.default)({
55
- distance: distance
56
- }, sourceData), {}, {
57
- point_id: source_point_id
58
- });
59
- }
60
-
61
- // Find root(s)
62
- } catch (err) {
63
- _iterator.e(err);
64
- } finally {
65
- _iterator.f();
66
- }
67
- var roots = Object.keys(nodes).filter(function (id) {
68
- return !children.has(Number(id));
69
- }).map(function (id) {
70
- return nodes[id];
71
- });
72
-
73
- // If multiple roots exist, wrap in a super root
74
- return roots.length === 1 ? roots[0] : {
75
- name: utility_name,
76
- children: roots
77
- };
78
- }
79
- function mapById(items) {
80
- return items.reduce(function (acc, _ref2) {
81
- var id = _ref2.id,
82
- name = _ref2.name,
83
- has_device = _ref2.has_device,
84
- group = _ref2.group,
85
- area_name = _ref2.area_name,
86
- props = (0, _objectWithoutProperties2.default)(_ref2, _excluded2);
87
- acc[id] = (0, _objectSpread2.default)((0, _objectSpread2.default)({}, props), {}, {
88
- name: name,
89
- monitored: has_device,
90
- type: area_name ? 'area' : group.type,
91
- area_name: area_name
92
- });
93
- return acc;
94
- }, {});
95
- }
96
- var ActionsContainer = _styledComponents.default.div.withConfig({
97
- displayName: "utils__ActionsContainer",
98
- componentId: "sc-21qmj9-0"
99
- })(["{width:100%;text-align:center;margin-top:-10px;margin-inline-start:15px;}"]);
100
- exports.ActionsContainer = ActionsContainer;
101
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJidWlsZFRyZWUiLCJjb25uZWN0aW9ucyIsInBvaW50X2RhdGEiLCJ1dGlsaXR5X25hbWUiLCJub2RlcyIsImNoaWxkcmVuIiwiU2V0IiwiX2l0ZXJhdG9yIiwiX2NyZWF0ZUZvck9mSXRlcmF0b3JIZWxwZXIyIiwiZGVmYXVsdCIsIl9zdGVwIiwicyIsIm4iLCJkb25lIiwiX3N0ZXAkdmFsdWUiLCJ2YWx1ZSIsInNvdXJjZV9wb2ludF9pZCIsInRhcmdldF9wb2ludF9pZCIsImRpc3RhbmNlIiwiX3JlZiIsIm5hbWUiLCJzb3VyY2VEYXRhIiwiX29iamVjdFdpdGhvdXRQcm9wZXJ0aWVzMiIsIl9leGNsdWRlZCIsInRhcmdldF9kYXRhIiwiYXR0cmlidXRlcyIsIl9vYmplY3RTcHJlYWQyIiwicG9pbnRfaWQiLCJwdXNoIiwiYWRkIiwiZXJyIiwiZSIsImYiLCJyb290cyIsIk9iamVjdCIsImtleXMiLCJmaWx0ZXIiLCJpZCIsImhhcyIsIk51bWJlciIsIm1hcCIsImxlbmd0aCIsIm1hcEJ5SWQiLCJpdGVtcyIsInJlZHVjZSIsImFjYyIsIl9yZWYyIiwiaGFzX2RldmljZSIsImdyb3VwIiwiYXJlYV9uYW1lIiwicHJvcHMiLCJfZXhjbHVkZWQyIiwibW9uaXRvcmVkIiwidHlwZSIsIkFjdGlvbnNDb250YWluZXIiLCJzdHlsZWQiLCJkaXYiLCJ3aXRoQ29uZmlnIiwiZGlzcGxheU5hbWUiLCJjb21wb25lbnRJZCIsImV4cG9ydHMiXSwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvdWkta2l0L0hpZXJhcmNoeUdyYXBoL3V0aWxzLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IElQb2ludCB9IGZyb20gJy4uLy4uL3N0b3JlL3BvaW50cy9tb2RlbHMvSVBvaW50JztcbmltcG9ydCBzdHlsZWQgZnJvbSAnc3R5bGVkLWNvbXBvbmVudHMvbWFjcm8nO1xuXG4vKipcbiAqIENvbnZlcnQgZWRnZXMgdG8gcm93cyBzdWl0YWJsZSBmb3IgZDMuc3RyYXRpZnkoKVxuICogUmV0dXJucyBhbiBhcnJheSBvZiB7IGlkLCBwYXJlbnRJZCwgZGlzdGFuY2U/LCBzaGFwZV9kYXRhPyB9XG4gKiBJZiBtdWx0aXBsZSByb290cyBleGlzdCwgeW91IGNhbiBvcHRpb25hbGx5IGFkZCBhIHN1cGVyIHJvb3Qgcm93LlxuICovXG50eXBlIEVkZ2UgPSB7XG4gIHNvdXJjZV9wb2ludF9pZDogbnVtYmVyIHwgc3RyaW5nO1xuICB0YXJnZXRfcG9pbnRfaWQ6IG51bWJlciB8IHN0cmluZztcbiAgZGlzdGFuY2U/OiBudW1iZXI7XG59O1xudHlwZSBUcmVlTm9kZSA9IHtcbiAgbmFtZTogc3RyaW5nO1xuICBjaGlsZHJlbj86IFRyZWVOb2RlW107XG4gIGF0dHJpYnV0ZXM/OiB7IGRpc3RhbmNlOiBudW1iZXI7IHR5cGU6IHN0cmluZzsgbW9uaXRvcmVkOiBib29sZWFuIH07XG59O1xudHlwZSBUcmVlRGF0YSA9IFRyZWVOb2RlIHwgeyBuYW1lOiBzdHJpbmc7IGNoaWxkcmVuOiBUcmVlTm9kZVtdIH07XG5cbmV4cG9ydCBmdW5jdGlvbiBidWlsZFRyZWUoXG4gIGNvbm5lY3Rpb25zOiBFZGdlW10sXG4gIHBvaW50X2RhdGEsXG4gIHV0aWxpdHlfbmFtZSxcbik6IFRyZWVEYXRhIHtcbiAgY29uc3Qgbm9kZXMgPSB7fTtcbiAgY29uc3QgY2hpbGRyZW4gPSBuZXcgU2V0KCk7XG5cbiAgLy8gQnVpbGQgbWFwIG9mIG5vZGVzIGFuZCB0cmFjayBjaGlsZHJlblxuICBmb3IgKGNvbnN0IHsgc291cmNlX3BvaW50X2lkLCB0YXJnZXRfcG9pbnRfaWQsIGRpc3RhbmNlIH0gb2YgY29ubmVjdGlvbnMpIHtcbiAgICBjb25zdCB7IG5hbWUsIC4uLnNvdXJjZURhdGEgfSA9IHBvaW50X2RhdGFbc291cmNlX3BvaW50X2lkXSB8fCB7fTtcbiAgICBpZiAoIW5vZGVzW3NvdXJjZV9wb2ludF9pZF0pXG4gICAgICBub2Rlc1tzb3VyY2VfcG9pbnRfaWRdID0ge1xuICAgICAgICBuYW1lLFxuICAgICAgICBjaGlsZHJlbjogW10sXG4gICAgICB9O1xuICAgIGlmICghbm9kZXNbdGFyZ2V0X3BvaW50X2lkXSkge1xuICAgICAgY29uc3QgdGFyZ2V0X2RhdGEgPSBwb2ludF9kYXRhW3RhcmdldF9wb2ludF9pZF0gfHwge307XG4gICAgICBub2Rlc1t0YXJnZXRfcG9pbnRfaWRdID0ge1xuICAgICAgICBuYW1lOiB0YXJnZXRfZGF0YS5uYW1lLFxuICAgICAgICBhdHRyaWJ1dGVzOiB7XG4gICAgICAgICAgLi4udGFyZ2V0X2RhdGEsXG4gICAgICAgICAgcG9pbnRfaWQ6IHRhcmdldF9wb2ludF9pZCxcbiAgICAgICAgfSxcbiAgICAgICAgY2hpbGRyZW46IFtdLFxuICAgICAgfTtcbiAgICB9XG4gICAgbm9kZXNbdGFyZ2V0X3BvaW50X2lkXS5jaGlsZHJlbi5wdXNoKG5vZGVzW3NvdXJjZV9wb2ludF9pZF0pO1xuICAgIGNoaWxkcmVuLmFkZChzb3VyY2VfcG9pbnRfaWQpO1xuICAgIG5vZGVzW3NvdXJjZV9wb2ludF9pZF0uYXR0cmlidXRlcyA9IHtcbiAgICAgIGRpc3RhbmNlLFxuICAgICAgLi4uc291cmNlRGF0YSxcbiAgICAgIHBvaW50X2lkOiBzb3VyY2VfcG9pbnRfaWQsXG4gICAgfTtcbiAgfVxuXG4gIC8vIEZpbmQgcm9vdChzKVxuICBjb25zdCByb290cyA9IE9iamVjdC5rZXlzKG5vZGVzKVxuICAgIC5maWx0ZXIoKGlkKSA9PiAhY2hpbGRyZW4uaGFzKE51bWJlcihpZCkpKVxuICAgIC5tYXAoKGlkKSA9PiBub2Rlc1tpZF0pO1xuXG4gIC8vIElmIG11bHRpcGxlIHJvb3RzIGV4aXN0LCB3cmFwIGluIGEgc3VwZXIgcm9vdFxuICByZXR1cm4gcm9vdHMubGVuZ3RoID09PSAxXG4gICAgPyByb290c1swXVxuICAgIDogeyBuYW1lOiB1dGlsaXR5X25hbWUsIGNoaWxkcmVuOiByb290cyB9O1xufVxudHlwZSBQb2ludERhdGEgPSB7XG4gIG5hbWU6IHN0cmluZztcbiAgbW9uaXRvcmVkOiBib29sZWFuO1xuICB0eXBlOiBzdHJpbmc7XG4gIGFyZWFfbmFtZT86IHN0cmluZztcbiAgc2NvcmU/OiBudW1iZXI7XG59O1xuZXhwb3J0IGZ1bmN0aW9uIG1hcEJ5SWQoaXRlbXM6IElQb2ludFtdKTogUmVjb3JkPHN0cmluZyB8IG51bWJlciwgUG9pbnREYXRhPiB7XG4gIHJldHVybiBpdGVtcy5yZWR1Y2UoXG4gICAgKGFjYywgeyBpZCwgbmFtZSwgaGFzX2RldmljZSwgZ3JvdXAsIGFyZWFfbmFtZSwgLi4ucHJvcHMgfSkgPT4ge1xuICAgICAgYWNjW2lkXSA9IHtcbiAgICAgICAgLi4ucHJvcHMsXG4gICAgICAgIG5hbWUsXG4gICAgICAgIG1vbml0b3JlZDogaGFzX2RldmljZSxcbiAgICAgICAgdHlwZTogYXJlYV9uYW1lID8gJ2FyZWEnIDogZ3JvdXAudHlwZSxcbiAgICAgICAgYXJlYV9uYW1lLFxuICAgICAgfTtcbiAgICAgIHJldHVybiBhY2M7XG4gICAgfSxcbiAgICB7fSBhcyBSZWNvcmQ8c3RyaW5nIHwgbnVtYmVyLCBQb2ludERhdGE+LFxuICApO1xufVxuXG5leHBvcnQgY29uc3QgQWN0aW9uc0NvbnRhaW5lciA9IHN0eWxlZC5kaXZgXG4gICB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIG1hcmdpbi10b3A6IC0xMHB4O1xuICAgIG1hcmdpbi1pbmxpbmUtc3RhcnQ6IDE1cHg7XG4gIH1cbmA7XG4iXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7OztBQUdBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBYU8sU0FBU0EsU0FBU0EsQ0FDdkJDLFdBQW1CLEVBQ25CQyxVQUFVLEVBQ1ZDLFlBQVksRUFDRjtFQUNWLElBQU1DLEtBQUssR0FBRyxDQUFDLENBQUM7RUFDaEIsSUFBTUMsUUFBUSxHQUFHLElBQUlDLEdBQUcsQ0FBQyxDQUFDOztFQUUxQjtFQUFBLElBQUFDLFNBQUEsT0FBQUMsMkJBQUEsQ0FBQUMsT0FBQSxFQUM2RFIs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