@bundle-stats/ui 4.13.0-beta.16 → 4.13.0-beta.18

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 (91) hide show
  1. package/lib/assets/icons.svg +70 -67
  2. package/lib/assets/icons.svg.js +14 -12
  3. package/lib/assets/icons.svg.js.map +1 -1
  4. package/lib/components/bundle-assets/bundle-assets.js +39 -7
  5. package/lib/components/bundle-assets/bundle-assets.js.map +1 -1
  6. package/lib/components/bundle-assets-totals/bundle-assets-totals.js +4 -4
  7. package/lib/components/bundle-assets-totals/bundle-assets-totals.js.map +1 -1
  8. package/lib/components/bundle-modules/bundle-modules.js +28 -7
  9. package/lib/components/bundle-modules/bundle-modules.js.map +1 -1
  10. package/lib/components/bundle-packages/bundle-packages.js +39 -7
  11. package/lib/components/bundle-packages/bundle-packages.js.map +1 -1
  12. package/lib/components/metrics-display-selector/metrics-display-selector.js +41 -4
  13. package/lib/components/metrics-display-selector/metrics-display-selector.js.map +1 -1
  14. package/lib/components/metrics-display-selector/metrics-display-selector.module.css +15 -7
  15. package/lib/components/metrics-treemap/index.js +4 -0
  16. package/lib/components/metrics-treemap/index.js.map +1 -1
  17. package/lib/components/metrics-treemap/metrics-treemap.constants.js +3 -0
  18. package/lib/components/metrics-treemap/metrics-treemap.constants.js.map +1 -0
  19. package/lib/components/metrics-treemap/metrics-treemap.js +63 -44
  20. package/lib/components/metrics-treemap/metrics-treemap.js.map +1 -1
  21. package/lib/components/metrics-treemap/metrics-treemap.module.css +60 -28
  22. package/lib/components/metrics-treemap/metrics-treemap.utils.js +70 -0
  23. package/lib/components/metrics-treemap/metrics-treemap.utils.js.map +1 -0
  24. package/lib/hooks/metrics-display-type.js +56 -24
  25. package/lib/hooks/metrics-display-type.js.map +1 -1
  26. package/lib/hooks/search-params.js +1 -0
  27. package/lib/hooks/search-params.js.map +1 -1
  28. package/lib/ui/icon/icon.js +1 -0
  29. package/lib/ui/icon/icon.js.map +1 -1
  30. package/lib/ui/input-search/input-search.js +1 -1
  31. package/lib/ui/input-search/input-search.js.map +1 -1
  32. package/lib-esm/assets/icons.svg +70 -67
  33. package/lib-esm/assets/icons.svg.js +14 -12
  34. package/lib-esm/assets/icons.svg.js.map +1 -1
  35. package/lib-esm/components/bundle-assets/bundle-assets.js +40 -8
  36. package/lib-esm/components/bundle-assets/bundle-assets.js.map +1 -1
  37. package/lib-esm/components/bundle-assets-totals/bundle-assets-totals.js +5 -5
  38. package/lib-esm/components/bundle-assets-totals/bundle-assets-totals.js.map +1 -1
  39. package/lib-esm/components/bundle-modules/bundle-modules.js +29 -8
  40. package/lib-esm/components/bundle-modules/bundle-modules.js.map +1 -1
  41. package/lib-esm/components/bundle-packages/bundle-packages.js +40 -8
  42. package/lib-esm/components/bundle-packages/bundle-packages.js.map +1 -1
  43. package/lib-esm/components/metrics-display-selector/metrics-display-selector.js +41 -4
  44. package/lib-esm/components/metrics-display-selector/metrics-display-selector.js.map +1 -1
  45. package/lib-esm/components/metrics-display-selector/metrics-display-selector.module.css +15 -7
  46. package/lib-esm/components/metrics-treemap/index.js +1 -0
  47. package/lib-esm/components/metrics-treemap/index.js.map +1 -1
  48. package/lib-esm/components/metrics-treemap/metrics-treemap.constants.js +2 -0
  49. package/lib-esm/components/metrics-treemap/metrics-treemap.constants.js.map +1 -0
  50. package/lib-esm/components/metrics-treemap/metrics-treemap.js +64 -45
  51. package/lib-esm/components/metrics-treemap/metrics-treemap.js.map +1 -1
  52. package/lib-esm/components/metrics-treemap/metrics-treemap.module.css +60 -28
  53. package/lib-esm/components/metrics-treemap/metrics-treemap.utils.js +65 -0
  54. package/lib-esm/components/metrics-treemap/metrics-treemap.utils.js.map +1 -0
  55. package/lib-esm/hooks/metrics-display-type.js +57 -24
  56. package/lib-esm/hooks/metrics-display-type.js.map +1 -1
  57. package/lib-esm/hooks/search-params.js +1 -0
  58. package/lib-esm/hooks/search-params.js.map +1 -1
  59. package/lib-esm/ui/icon/icon.js +1 -0
  60. package/lib-esm/ui/icon/icon.js.map +1 -1
  61. package/lib-esm/ui/input-search/input-search.js +1 -1
  62. package/lib-esm/ui/input-search/input-search.js.map +1 -1
  63. package/package.json +7 -7
  64. package/src/assets/icons/check.svg +4 -0
  65. package/src/assets/icons.svg +70 -67
  66. package/src/assets/icons.svg.jsx +12 -12
  67. package/src/components/bundle-assets/bundle-assets.jsx +76 -20
  68. package/src/components/bundle-assets-totals/bundle-assets-totals.jsx +5 -4
  69. package/src/components/bundle-modules/bundle-modules.tsx +76 -16
  70. package/src/components/bundle-packages/bundle-packages.jsx +71 -16
  71. package/src/components/metrics-display-selector/metrics-display-selector.module.css +15 -7
  72. package/src/components/metrics-display-selector/metrics-display-selector.stories.tsx +33 -0
  73. package/src/components/metrics-display-selector/metrics-display-selector.tsx +83 -25
  74. package/src/components/metrics-treemap/__tests__/metrics-treemap.utils.ts +143 -0
  75. package/src/components/metrics-treemap/index.ts +1 -0
  76. package/src/components/metrics-treemap/metrics-treemap.constants.ts +43 -0
  77. package/src/components/metrics-treemap/metrics-treemap.module.css +60 -28
  78. package/src/components/metrics-treemap/metrics-treemap.stories.tsx +44 -10
  79. package/src/components/metrics-treemap/metrics-treemap.tsx +258 -90
  80. package/src/components/metrics-treemap/metrics-treemap.utils.ts +107 -0
  81. package/src/hooks/metrics-display-type.ts +87 -29
  82. package/src/hooks/search-params.js +1 -0
  83. package/src/ui/icon/icon.tsx +1 -0
  84. package/src/ui/input-search/input-search.tsx +1 -0
  85. package/types/components/metrics-display-selector/metrics-display-selector.d.ts +3 -1
  86. package/types/components/metrics-treemap/index.d.ts +1 -0
  87. package/types/components/metrics-treemap/metrics-treemap.constants.d.ts +15 -0
  88. package/types/components/metrics-treemap/metrics-treemap.d.ts +7 -5
  89. package/types/components/metrics-treemap/metrics-treemap.utils.d.ts +4 -0
  90. package/types/hooks/metrics-display-type.d.ts +8 -2
  91. package/types/ui/icon/icon.d.ts +2 -0
@@ -1 +1 @@
1
- {"version":3,"file":"metrics-display-selector.js","sourceRoot":"","sources":["../../../src/components/metrics-display-selector/metrics-display-selector.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,MAAM,YAAY,CAAC;AAE5B,OAAO,EAAE,kBAAkB,EAAE,MAAM,iBAAiB,CAAC;AACrD,OAAO,EAAE,MAAM,EAAE,MAAM,iBAAiB,CAAC;AACzC,OAAO,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAC;AACtD,OAAO,EAAE,IAAI,EAAE,MAAM,eAAe,CAAC;AACrC,OAAO,GAAG,MAAM,uCAAuC,CAAC;AAOxD,MAAM,CAAC,MAAM,sBAAsB,GAAG,CACpC,KACuE,EACvE,EAAE;IACF,MAAM,EAAE,SAAS,GAAG,EAAE,EAAE,KAAK,EAAE,QAAQ,EAAE,GAAG,SAAS,EAAE,GAAG,KAAK,CAAC;IAEhE,OAAO,CACL,oBAAC,YAAY,IAAC,SAAS,EAAE,EAAE,CAAC,GAAG,CAAC,IAAI,EAAE,SAAS,CAAC,KAAM,SAAS;QAC7D,oBAAC,MAAM,IACL,OAAO,QACP,MAAM,EAAE,KAAK,KAAK,kBAAkB,CAAC,KAAK,EAC1C,IAAI,EAAC,OAAO,EACZ,IAAI,EAAC,QAAQ,EACb,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,KAAK,EACvB,OAAO,EAAE,GAAG,EAAE,CAAC,QAAQ,CAAC,kBAAkB,CAAC,KAAK,CAAC,EACjD,SAAS,EAAE,GAAG,CAAC,MAAM,YAGd;QACT,oBAAC,MAAM,IACL,OAAO,QACP,MAAM,EAAE,KAAK,KAAK,kBAAkB,CAAC,OAAO,EAC5C,IAAI,EAAC,OAAO,EACZ,IAAI,EAAC,QAAQ,EACb,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,OAAO,EACzB,OAAO,EAAE,GAAG,EAAE,CAAC,QAAQ,CAAC,kBAAkB,CAAC,OAAO,CAAC,EACnD,SAAS,EAAE,EAAE,CAAC,GAAG,CAAC,MAAM,CAAC,cAGlB,CACI,CAChB,CAAC;AACJ,CAAC,CAAC"}
1
+ {"version":3,"file":"metrics-display-selector.js","sourceRoot":"","sources":["../../../src/components/metrics-display-selector/metrics-display-selector.tsx"],"names":[],"mappings":"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"}
@@ -1,10 +1,18 @@
1
- .button {
2
- text-decoration: none;
1
+ .buttonActive {
2
+ background: var(--color-highlight);
3
3
  }
4
4
 
5
- .buttonActive,
6
- .buttonActive:active,
7
- .buttonActive:focus {
8
- color: var(--color-primary);
9
- border-color: var(--color-primary);
5
+ /* explicit ControlGroup last item styles to override ariakit injected sibling nodes */
6
+ .itemLast {
7
+ border-top-right-radius: var(--radius-small) !important;
8
+ border-bottom-right-radius: var(--radius-small) !important;
9
+ }
10
+
11
+ .dropdownItemIcon {
12
+ opacity: 0;
13
+ transition: var(--transition-out);
14
+ }
15
+
16
+ .dropdownItemActive .dropdownItemIcon {
17
+ opacity: 1;
10
18
  }
@@ -1,2 +1,3 @@
1
1
  export * from './metrics-treemap';
2
+ export { getTreemapNodes, getTreemapNodesGroupedByPath } from './metrics-treemap.utils';
2
3
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/components/metrics-treemap/index.ts"],"names":[],"mappings":"AAAA,cAAc,mBAAmB,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/components/metrics-treemap/index.ts"],"names":[],"mappings":"AAAA,cAAc,mBAAmB,CAAC;AAClC,OAAO,EAAE,eAAe,EAAE,4BAA4B,EAAE,MAAM,yBAAyB,CAAC"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=metrics-treemap.constants.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"metrics-treemap.constants.js","sourceRoot":"","sources":["../../../src/components/metrics-treemap/metrics-treemap.constants.ts"],"names":[],"mappings":""}
@@ -1,4 +1,4 @@
1
- import React, { forwardRef, useCallback, useMemo, useRef } from 'react';
1
+ import React, { forwardRef, useCallback, useMemo, useRef, } from 'react';
2
2
  import { useDebounce, useHoverDirty, useMeasure, useMouseHovered } from 'react-use';
3
3
  import cx from 'classnames';
4
4
  import { hierarchy, treemap, treemapSquarify } from 'd3';
@@ -9,8 +9,9 @@ import { Delta } from '../delta';
9
9
  import { RunInfo } from '../run-info';
10
10
  import css from './metrics-treemap.module.css';
11
11
  const SQUARIFY_RATIO = 1.33;
12
- const PADDING_OUTER = 0;
13
- const PADDING_INNER = 2;
12
+ const PADDING_OUTER = 1;
13
+ const PADDING_INNER = 1;
14
+ const GROUPED_PADDING_TOP = 16;
14
15
  const PADDING_TOP = 4;
15
16
  const PADDING_BOTTOM = 2;
16
17
  const PADDING_LEFT = 16;
@@ -18,6 +19,15 @@ const PADDING_RIGHT = 4;
18
19
  const VERTICAL_SPACING = 4;
19
20
  const LINE_HEIGHT = 16;
20
21
  const LINE_HEIGHT_SMALL = 13.3;
22
+ function resolveTileGroupSizeDisplay(width, height) {
23
+ if (height < GROUPED_PADDING_TOP || width < 24) {
24
+ return 'minimal';
25
+ }
26
+ if (height < GROUPED_PADDING_TOP + 8) {
27
+ return 'small';
28
+ }
29
+ return 'default';
30
+ }
21
31
  function resolveTileSizeDisplay(width, height) {
22
32
  if (height > PADDING_TOP + PADDING_BOTTOM + VERTICAL_SPACING + LINE_HEIGHT * 2 &&
23
33
  width > PADDING_LEFT + PADDING_RIGHT + 128) {
@@ -39,18 +49,18 @@ const TileTooltipContent = (props) => {
39
49
  React.createElement(RunInfo, { current: currentRun.displayValue, delta: currentRun.displayDeltaPercentage, deltaType: currentRun.deltaType, baseline: (baselineRun === null || baselineRun === void 0 ? void 0 : baselineRun.displayValue) || '0B' })));
40
50
  };
41
51
  const TileContent = forwardRef((props, ref) => {
42
- const { sizeDisplay, item, runInfo } = props;
52
+ const { label, sizeDisplay, item, runInfo } = props;
43
53
  if (sizeDisplay === 'minimal') {
44
54
  return React.createElement("div", { className: css.tileContent, ref: ref });
45
55
  }
46
56
  return (React.createElement("div", { className: css.tileContent, ref: ref },
47
- React.createElement(FileName, { as: "p", className: css.leadContentLabel, name: item.label }),
48
- sizeDisplay !== 'small' && (React.createElement("p", { className: css.leadContentValue },
49
- React.createElement("span", { className: css.leadContentMetric }, runInfo.displayValue),
50
- React.createElement(Delta, { className: css.leadContentDelta, displayValue: runInfo.displayDeltaPercentage, deltaType: runInfo.deltaType })))));
57
+ React.createElement(FileName, { as: "p", className: css.tileContentLabel, name: label || item.label }),
58
+ sizeDisplay !== 'small' && (React.createElement("p", { className: css.tileContentValue },
59
+ React.createElement("span", { className: css.tileContentMetric }, runInfo.displayValue),
60
+ React.createElement(Delta, { className: css.tileContentDelta, displayValue: runInfo.displayDeltaPercentage, deltaType: runInfo.deltaType })))));
51
61
  });
52
62
  const TileContentWithTooltip = (props) => {
53
- const { sizeDisplay, item, runInfo, parentRef } = props;
63
+ const { label, sizeDisplay, item, runInfo, parentRef } = props;
54
64
  const pointer = useMouseHovered(parentRef, { whenHovered: true });
55
65
  const getAnchorRect = useCallback(() => {
56
66
  var _a, _b, _c, _d;
@@ -69,7 +79,7 @@ const TileContentWithTooltip = (props) => {
69
79
  useDebounce(tooltipState.render, 5, [pointer.docX, pointer.docY]);
70
80
  return (React.createElement(React.Fragment, null,
71
81
  React.createElement(TooltipAnchor, { state: tooltipState, className: css.tileContentTooltipAnchor },
72
- React.createElement(TileContent, { sizeDisplay: sizeDisplay, item: item, runInfo: runInfo })),
82
+ React.createElement(TileContent, { label: label, sizeDisplay: sizeDisplay, item: item, runInfo: runInfo })),
73
83
  React.createElement(Tooltip, { state: tooltipState, className: css.tooltip },
74
84
  React.createElement(TooltipArrow, { state: tooltipState, size: 16, className: css.tileTooltipArrow }),
75
85
  React.createElement(TileTooltipContent, { item: item }))));
@@ -77,59 +87,68 @@ const TileContentWithTooltip = (props) => {
77
87
  const Tile = (props) => {
78
88
  var _a;
79
89
  const { left, top, width, height, data, onClick } = props;
80
- const { item } = data;
90
+ const { item, label } = data;
81
91
  const runInfo = (_a = item.runs) === null || _a === void 0 ? void 0 : _a[0];
82
92
  const sizeDisplay = useMemo(() => resolveTileSizeDisplay(width, height), [width, height]);
83
- const handleOnClick = useCallback(() => onClick === null || onClick === void 0 ? void 0 : onClick(item.key), [item.key, onClick]);
93
+ const handleOnClick = useCallback((event) => {
94
+ event.stopPropagation();
95
+ onClick === null || onClick === void 0 ? void 0 : onClick(item.key);
96
+ }, [item.key, onClick]);
84
97
  const contentRef = useRef(null);
85
98
  const hover = useHoverDirty(contentRef);
86
- const className = cx(css.tile, css[`tile-${runInfo.deltaType}`], sizeDisplay === 'small' && css.tileSmall, left === 0 && css.tileFirstCol);
87
- return (React.createElement("button", { type: "button", onClick: handleOnClick, ref: contentRef, style: { left, top, width, height }, className: className }, hover ? (React.createElement(TileContentWithTooltip, { sizeDisplay: sizeDisplay, item: item, runInfo: runInfo, parentRef: contentRef })) : (React.createElement(TileContent, { sizeDisplay: sizeDisplay, item: item, runInfo: runInfo }))));
99
+ const className = cx(css.tile, css[`tile-${runInfo.deltaType}`], sizeDisplay === 'small' && css.tileSizeSmall, sizeDisplay === 'default' && css.tileSizeDefault, left === 0 && css.tileFirstCol);
100
+ return (React.createElement("button", { type: "button", onClick: handleOnClick, ref: contentRef, style: { left, top, width, height }, className: className }, hover ? (React.createElement(TileContentWithTooltip, { label: label, sizeDisplay: sizeDisplay, item: item, runInfo: runInfo, parentRef: contentRef })) : (React.createElement(TileContent, { label: label, sizeDisplay: sizeDisplay, item: item, runInfo: runInfo }))));
101
+ };
102
+ const TileGroup = (props) => {
103
+ const { title = '', id, childNodes, onItemClick, onGroupClick, left, top, width, height, absoluteLeft, absoluteTop, } = props;
104
+ const onClick = useCallback((event) => {
105
+ onGroupClick === null || onGroupClick === void 0 ? void 0 : onGroupClick(id);
106
+ event.stopPropagation();
107
+ }, [onGroupClick, id]);
108
+ const displaySize = useMemo(() => resolveTileGroupSizeDisplay(width || 0, height || 0), [width, height]);
109
+ if (title && displaySize === 'minimal') {
110
+ return (React.createElement("div", { onClick: onClick, role: "button", "aria-label": "View children entries", className: css.tileGroup, style: { left, top, width, height } }));
111
+ }
112
+ if (title && displaySize === 'small') {
113
+ return (React.createElement("div", { onClick: onClick, role: "button", "aria-label": "View children entries", style: { left, top, width, height }, className: css.tileGroup },
114
+ React.createElement("div", { className: css.tileGroupTitle }, title)));
115
+ }
116
+ return (React.createElement("div", { onClick: onClick, role: "button", "aria-label": "View children entries", className: cx(css.tileGroup, css.tileGroupSizeDefault), style: { left, top, width, height } },
117
+ title && React.createElement("div", { className: css.tileGroupTitle }, title), childNodes === null || childNodes === void 0 ? void 0 :
118
+ childNodes.map((childNode) => {
119
+ if ('children' in childNode) {
120
+ return (React.createElement(TileGroup, { title: childNode.data.label, id: childNode.data.id, childNodes: childNode.children, left: childNode.x0 - absoluteLeft, top: childNode.y0 - absoluteTop, absoluteLeft: childNode.x0, absoluteTop: childNode.y0, width: childNode.x1 - childNode.x0, height: childNode.y1 - childNode.y0, onItemClick: onItemClick, onGroupClick: onGroupClick, key: childNode.data.id }));
121
+ }
122
+ return (React.createElement(Tile, { data: childNode.data, left: childNode.x0 - absoluteLeft, top: childNode.y0 - absoluteTop, width: childNode.x1 - childNode.x0, height: childNode.y1 - childNode.y0, onClick: onItemClick, key: childNode.data.id }));
123
+ })));
88
124
  };
89
125
  function useMetricsTreemapHierarchy(params) {
90
- const { items, width, height } = params;
126
+ const { treeNodes, width, height, nested } = params;
91
127
  const treemapHierarchy = useMemo(() => {
92
- const children = items.map((item) => {
93
- const values = item.runs.map((run) => (run === null || run === void 0 ? void 0 : run.value) || 0);
94
- const value = Math.max(...values);
95
- return {
96
- id: item.key,
97
- value,
98
- item,
99
- };
100
- });
101
- const treemapData = {
102
- id: 'root',
103
- name: 'root',
104
- value: 0,
105
- children,
106
- };
107
- const customHierarchy = hierarchy(treemapData);
128
+ const customHierarchy = hierarchy(treeNodes);
108
129
  customHierarchy.sum((node) => node.value);
109
130
  customHierarchy.sort((a, b) => b.value - a.value);
110
131
  return customHierarchy;
111
- }, [items]);
112
- const tiles = useMemo(() => {
113
- const createTremapLayout = treemap()
132
+ }, [treeNodes]);
133
+ const treemapNodes = useMemo(() => {
134
+ let createTremapLayout = treemap()
114
135
  .size([width, height])
115
136
  .tile(treemapSquarify.ratio(SQUARIFY_RATIO))
116
137
  .paddingOuter(PADDING_OUTER)
117
138
  .paddingInner(PADDING_INNER);
118
- const tremapLayout = createTremapLayout(treemapHierarchy);
119
- return tremapLayout.leaves().filter((tile) => Boolean(tile.parent));
139
+ if (nested) {
140
+ createTremapLayout = createTremapLayout.paddingTop(GROUPED_PADDING_TOP);
141
+ }
142
+ return createTremapLayout(treemapHierarchy);
120
143
  }, [height, width, treemapHierarchy]);
121
- return tiles;
144
+ return treemapNodes;
122
145
  }
123
146
  export const MetricsTreemap = (props) => {
124
- const { className = '', items, onItemClick, emptyMessage = 'No data', ...restProps } = props;
147
+ const { className = '', treeNodes, onItemClick, onGroupClick, emptyMessage = 'No data', nested = false, ...restProps } = props;
125
148
  const [containerRef, { width, height }] = useMeasure();
126
- const tiles = useMetricsTreemapHierarchy({ items, width, height });
127
- return (React.createElement("div", { className: cx(css.root, className), ...restProps, ref: containerRef }, tiles.length > 0 ? (React.createElement("div", { className: css.canvas }, tiles.map((tile) => {
128
- if (!tile.parent) {
129
- return null;
130
- }
131
- return (React.createElement(Tile, { data: tile.data, left: tile.x0, top: tile.y0, width: tile.x1 - tile.x0, height: tile.y1 - tile.y0, onClick: onItemClick, key: tile.id }));
132
- }))) : (React.createElement("div", { className: css.emptyMessage },
149
+ const rootNode = useMetricsTreemapHierarchy({ treeNodes, width, height, nested });
150
+ return (React.createElement("div", { className: cx(css.root, nested && css.nested, className), ...restProps, ref: containerRef }, rootNode.children && rootNode.children.length > 0 ? (React.createElement("div", { className: css.canvas },
151
+ React.createElement(TileGroup, { title: nested ? rootNode.data.label : undefined, id: rootNode.data.id, childNodes: rootNode.children, onItemClick: onItemClick, onGroupClick: onGroupClick, left: rootNode.x0, top: rootNode.y0, absoluteLeft: rootNode.x0, absoluteTop: rootNode.y0, width: rootNode.x1 - rootNode.x0, height: rootNode.y1 - rootNode.y0 }))) : (React.createElement("div", { className: css.emptyMessage },
133
152
  React.createElement("div", { className: css.emptyMessageWrapper }, emptyMessage)))));
134
153
  };
135
154
  //# sourceMappingURL=metrics-treemap.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"metrics-treemap.js","sourceRoot":"","sources":["../../../src/components/metrics-treemap/metrics-treemap.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"metrics-treemap.js","sourceRoot":"","sources":["../../../src/components/metrics-treemap/metrics-treemap.tsx"],"names":[],"mappings":"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"}
@@ -13,25 +13,56 @@
13
13
  top: 0;
14
14
  width: 100%;
15
15
  height: 100%;
16
- fill: var(--color-text);
17
- font-family: var(--font-family);
18
16
  background: var(--color-background);
19
17
  }
20
18
 
21
- /** Tile overlay fill background transition */
22
- .root {
23
- transition: var(--ui-transition-out);
24
- transition-property: opacity;
19
+ /**
20
+ * Tile group
21
+ */
22
+ .tileGroup {
23
+ position: absolute;
24
+ }
25
+
26
+ .tileGroupTitle {
27
+ width: 100%;
28
+ padding: 2px var(--space-xxxsmall);
29
+ color: var(--color-text);
30
+ font-size: 10px;
31
+ line-height: 12px;
32
+ overflow: hidden;
33
+ white-space: nowrap;
34
+ text-overflow: ellipsis;
35
+ }
36
+
37
+ /** Tile group size variation */
38
+ .tileGroupSizeDefault {
39
+ transition: var(--ui-transition-in);
40
+ transition-property: left top width height;
41
+ }
42
+
43
+ /** Tile group nested variation */
44
+ .nested .tileGroup {
45
+ background: rgba(200, 200, 200, 0.1);
46
+ outline: 1px solid rgba(255, 255, 255, 0.6);
47
+ }
48
+
49
+ /** Update background for current tileGroup and its children */
50
+ .nested .tileGroup:has(> .tileGroupTitle:hover),
51
+ .nested .tileGroup:has(> .tileGroupTitle:hover) .tileGroup,
52
+ .nested .tileGroup:has(> .tile:hover),
53
+ .nested .tileGroup:has(> .tile:hover) .tileGroup {
54
+ background: rgba(200, 200, 200, 0.2);
25
55
  }
26
56
 
27
57
  /** Leaf wrapper button */
28
58
  .tile {
29
59
  position: absolute;
30
60
  appearance: none;
61
+ outline: 1px solid rgba(255, 255, 255, 0.6);
31
62
  border: 0;
32
63
  border-radius: 0;
33
64
  padding: 0;
34
- background: none;
65
+ background: var(--color-background);
35
66
  display: flex;
36
67
  align-items: center;
37
68
  font-family: var(--font-family-fixed);
@@ -54,16 +85,13 @@
54
85
  color: var(--color-highlight);
55
86
  transition: var(--ui-transition-out);
56
87
  transition-property: opacity;
57
- opacity: 0.75;
58
- }
59
-
60
- .tile:hover {
61
- transition: var(--ui-transition-in);
88
+ opacity: 0.8;
62
89
  }
63
90
 
64
91
  .tile:hover::before {
65
92
  transition: var(--ui-transition-in);
66
- opacity: 0.5;
93
+ transition-property: opacity;
94
+ opacity: 0.6;
67
95
  }
68
96
 
69
97
  .tileContent {
@@ -84,7 +112,7 @@
84
112
  padding-left: var(--space-small);
85
113
  }
86
114
 
87
- .leadContentLabel {
115
+ .tileContentLabel {
88
116
  flex: 0 1 auto;
89
117
  width: 100%;
90
118
  min-width: 0;
@@ -92,32 +120,37 @@
92
120
  overflow: hidden;
93
121
  }
94
122
 
95
- .leadContentValue {
123
+ .tileContentValue {
96
124
  flex: 0 0 auto;
97
125
  max-width: calc(100% + var(--space-xxsmall));
98
126
  white-space: nowrap;
99
127
  overflow: hidden;
100
128
  }
101
129
 
102
- .leadContentMetric {
130
+ .tileContentMetric {
103
131
  font-weight: bold;
104
132
  }
105
133
 
106
- .leadContentDelta {
134
+ .tileContentDelta {
107
135
  margin-left: var(--space-xxxsmall);
108
136
  }
109
137
 
110
138
  /** Tile size variation */
111
- .tileSmall .tileContent {
139
+ .tileSizeSmall .tileContent {
112
140
  padding: var(--space-xxxsmall) var(--space-xxsmall);
113
141
  gap: 0;
114
142
  font-size: var(--size-xsmall);
115
143
  }
116
144
 
117
- .tileSmall .leadContentLabel {
145
+ .tileSizeSmall .tileContentLabel {
118
146
  margin-top: 0;
119
147
  }
120
148
 
149
+ .tileSizeDefault {
150
+ transition: var(--ui-transition-in);
151
+ transition-property: left top width height;
152
+ }
153
+
121
154
  /** Tile diff variation */
122
155
  .tile-NO_CHANGE {
123
156
  color: var(--color-text-light);
@@ -125,11 +158,11 @@
125
158
 
126
159
  .tile-NO_CHANGE::before {
127
160
  color: var(--color-gray-50);
128
- opacity: 0.4;
161
+ opacity: 0.5;
129
162
  }
130
163
 
131
164
  .tile-NO_CHANGE:hover::before {
132
- opacity: 0.2;
165
+ opacity: 0.3;
133
166
  }
134
167
 
135
168
  .tile-HIGH_NEGATIVE::before {
@@ -193,17 +226,16 @@
193
226
  pointer-events: none;
194
227
  }
195
228
 
196
- /* prevent tooltip portal wrapper from capturing events */
197
- div[role="presentation"]:has(.tooltip) {
198
- pointer-events: none;
199
- }
200
-
201
-
202
229
  .tileTooltipArrow svg {
203
230
  display: block;
204
231
  fill: var(--color-background) !important;
205
232
  }
206
233
 
207
234
  .tileTooltipContentTitle {
208
- font-size: var(--size-medium);
235
+ font-size: var(--size-small);
236
+ }
237
+
238
+ /* prevent tooltip portal wrapper from capturing events */
239
+ div[role="presentation"]:has(.tooltip) {
240
+ pointer-events: none;
209
241
  }
@@ -0,0 +1,65 @@
1
+ const ROOT_LABEL = '(root)';
2
+ function getReportMetricRowMaxValue(item) {
3
+ const values = item.runs.map((run) => (run === null || run === void 0 ? void 0 : run.value) || 0);
4
+ return Math.max(...values);
5
+ }
6
+ export function getTreemapNodes(items) {
7
+ const rootChildren = items.map((item) => ({
8
+ id: item.key,
9
+ label: item.key,
10
+ value: getReportMetricRowMaxValue(item),
11
+ item,
12
+ }));
13
+ return {
14
+ id: '',
15
+ label: ROOT_LABEL,
16
+ value: 0,
17
+ children: rootChildren,
18
+ };
19
+ }
20
+ function setTreeNode(nodes, slugs, currentSlugId, newNode) {
21
+ const baseSlugs = slugs.slice(0, currentSlugId);
22
+ const [currentSlug, ...restSlug] = slugs.slice(currentSlugId);
23
+ if (!currentSlug) {
24
+ nodes.push(newNode);
25
+ return;
26
+ }
27
+ const currentNodePath = [...baseSlugs, currentSlug].join('/');
28
+ let parentNode = nodes.find((treeNode) => treeNode.id === currentNodePath);
29
+ if (!parentNode) {
30
+ parentNode = {
31
+ id: currentNodePath,
32
+ label: currentSlug,
33
+ value: 0,
34
+ children: [],
35
+ };
36
+ nodes.push(parentNode);
37
+ }
38
+ if (restSlug.length === 0) {
39
+ parentNode.children.push(newNode);
40
+ return;
41
+ }
42
+ setTreeNode(parentNode.children, slugs, currentSlugId + 1, newNode);
43
+ }
44
+ export function getTreemapNodesGroupedByPath(items) {
45
+ const treeNodes = [];
46
+ items.forEach((item) => {
47
+ const slugs = item.key.split('/');
48
+ const baseSlugs = slugs.slice(0, -1);
49
+ const baseName = slugs.slice(-1)[0];
50
+ const treeNode = {
51
+ id: item.key,
52
+ label: baseName,
53
+ value: getReportMetricRowMaxValue(item),
54
+ item,
55
+ };
56
+ setTreeNode(treeNodes, baseSlugs, 0, treeNode);
57
+ });
58
+ return {
59
+ id: '',
60
+ label: ROOT_LABEL,
61
+ value: 0,
62
+ children: treeNodes,
63
+ };
64
+ }
65
+ //# sourceMappingURL=metrics-treemap.utils.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"metrics-treemap.utils.js","sourceRoot":"","sources":["../../../src/components/metrics-treemap/metrics-treemap.utils.ts"],"names":[],"mappings":"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"}
@@ -2,35 +2,68 @@ import { useCallback, useEffect, useMemo } from 'react';
2
2
  import { useLocalStorage } from 'react-use';
3
3
  import { StringParam, useQueryParams } from 'use-query-params';
4
4
  import { MetricsDisplayType } from '../constants';
5
- const DEFAULT_DISPLAY_TYPE = MetricsDisplayType.TABLE;
6
- const PARAM_NAME = 'dt';
7
- export const useMetricsDisplayType = () => {
8
- const [{ [PARAM_NAME]: queryDisplayType }, setQueryParams] = useQueryParams({
9
- [PARAM_NAME]: StringParam,
5
+ const DEFAULT_VALUE = MetricsDisplayType.TABLE;
6
+ const DEFAULT_GROUP_BY = '';
7
+ const QUERY_PARAM_VALUE = 'dt';
8
+ const QUERY_PARAM_GROUP_BY = 'dtg';
9
+ export const useMetricsDisplayType = (groups) => {
10
+ const [queryParams, setQueryParams] = useQueryParams({
11
+ [QUERY_PARAM_VALUE]: StringParam,
12
+ [QUERY_PARAM_GROUP_BY]: StringParam,
10
13
  });
11
- const [storageDisplayType, setStoreageDisplayType] = useLocalStorage(PARAM_NAME, MetricsDisplayType.TABLE);
12
- const displayType = useMemo(() => {
13
- const value = queryDisplayType || storageDisplayType;
14
- if (!value) {
15
- return DEFAULT_DISPLAY_TYPE;
14
+ const { [QUERY_PARAM_VALUE]: queryParamValue, [QUERY_PARAM_GROUP_BY]: queryParamGroupBy } = queryParams;
15
+ const [storageValue, setStorageValue] = useLocalStorage(QUERY_PARAM_VALUE, DEFAULT_VALUE);
16
+ const [storageGroupBy, setStorageGroupBy] = useLocalStorage(QUERY_PARAM_GROUP_BY, DEFAULT_GROUP_BY);
17
+ const value = useMemo(() => {
18
+ const resolvedValue = queryParamValue || storageValue;
19
+ if (!resolvedValue) {
20
+ return DEFAULT_VALUE;
16
21
  }
17
- if (!Object.values(MetricsDisplayType).includes(value)) {
18
- return DEFAULT_DISPLAY_TYPE;
22
+ if (!Object.values(MetricsDisplayType).includes(resolvedValue)) {
23
+ return DEFAULT_VALUE;
19
24
  }
20
- return value;
21
- }, [queryDisplayType, storageDisplayType]);
25
+ return resolvedValue;
26
+ }, [queryParamValue, storageValue]);
27
+ const groupBy = useMemo(() => {
28
+ var _a;
29
+ const resolvedValue = queryParamGroupBy || storageGroupBy;
30
+ if (!resolvedValue) {
31
+ return DEFAULT_GROUP_BY;
32
+ }
33
+ if (!((_a = groups === null || groups === void 0 ? void 0 : groups[value]) === null || _a === void 0 ? void 0 : _a.includes(resolvedValue))) {
34
+ return DEFAULT_GROUP_BY;
35
+ }
36
+ return resolvedValue;
37
+ }, [queryParamGroupBy, storageGroupBy]);
38
+ useEffect(() => {
39
+ if (value !== queryParamValue || groupBy !== queryParamGroupBy) {
40
+ setQueryParams({ [QUERY_PARAM_VALUE]: value, [QUERY_PARAM_GROUP_BY]: groupBy });
41
+ }
42
+ }, [value, queryParamValue, groupBy, queryParamGroupBy, setQueryParams]);
22
43
  useEffect(() => {
23
- if (queryDisplayType !== displayType) {
24
- setQueryParams({ [PARAM_NAME]: displayType });
44
+ if (value !== storageValue) {
45
+ setStorageValue(value);
25
46
  }
26
- if (storageDisplayType !== displayType) {
27
- setStoreageDisplayType(queryDisplayType);
47
+ if (groupBy !== storageValue) {
48
+ setStorageGroupBy(groupBy);
28
49
  }
29
- }, [displayType, queryDisplayType, storageDisplayType, setQueryParams, setStoreageDisplayType]);
30
- const setDisplayType = useCallback((value) => {
31
- setStoreageDisplayType(value);
32
- setQueryParams({ [PARAM_NAME]: value });
33
- }, [setStoreageDisplayType, setQueryParams]);
34
- return [displayType, setDisplayType];
50
+ }, [
51
+ value,
52
+ storageValue,
53
+ groupBy,
54
+ storageGroupBy,
55
+ setQueryParams,
56
+ setStorageValue,
57
+ setStorageGroupBy,
58
+ ]);
59
+ const setDisplayType = useCallback((newValue, newGroupBy = DEFAULT_GROUP_BY) => {
60
+ setStorageValue(newValue);
61
+ setStorageGroupBy(newGroupBy);
62
+ setQueryParams({
63
+ [QUERY_PARAM_VALUE]: newValue,
64
+ [QUERY_PARAM_GROUP_BY]: newGroupBy,
65
+ });
66
+ }, [setStorageValue, setQueryParams]);
67
+ return [{ value, groupBy }, setDisplayType];
35
68
  };
36
69
  //# sourceMappingURL=metrics-display-type.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"metrics-display-type.js","sourceRoot":"","sources":["../../src/hooks/metrics-display-type.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,SAAS,EAAE,OAAO,EAAE,MAAM,OAAO,CAAC;AACxD,OAAO,EAAE,eAAe,EAAE,MAAM,WAAW,CAAC;AAC5C,OAAO,EAAE,WAAW,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAE/D,OAAO,EAAE,kBAAkB,EAAE,MAAM,cAAc,CAAC;AAElD,MAAM,oBAAoB,GAAG,kBAAkB,CAAC,KAAK,CAAC;AACtD,MAAM,UAAU,GAAG,IAAI,CAAC;AAIxB,MAAM,CAAC,MAAM,qBAAqB,GAAG,GAA0B,EAAE;IAC/D,MAAM,CAAC,EAAE,CAAC,UAAU,CAAC,EAAE,gBAAgB,EAAE,EAAE,cAAc,CAAC,GAAG,cAAc,CAAC;QAC1E,CAAC,UAAU,CAAC,EAAE,WAAW;KAC1B,CAAC,CAAC;IACH,MAAM,CAAC,kBAAkB,EAAE,sBAAsB,CAAC,GAAG,eAAe,CAClE,UAAU,EACV,kBAAkB,CAAC,KAAK,CACzB,CAAC;IAEF,MAAM,WAAW,GAAG,OAAO,CAAC,GAAG,EAAE;QAC/B,MAAM,KAAK,GAAG,gBAAgB,IAAI,kBAAkB,CAAC;QAErD,IAAI,CAAC,KAAK,EAAE;YACV,OAAO,oBAAoB,CAAC;SAC7B;QAED,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,kBAAkB,CAAC,CAAC,QAAQ,CAAC,KAA2B,CAAC,EAAE;YAC5E,OAAO,oBAAoB,CAAC;SAC7B;QAED,OAAO,KAA2B,CAAC;IACrC,CAAC,EAAE,CAAC,gBAAgB,EAAE,kBAAkB,CAAC,CAAC,CAAC;IAE3C,SAAS,CAAC,GAAG,EAAE;QAEb,IAAI,gBAAgB,KAAK,WAAW,EAAE;YACpC,cAAc,CAAC,EAAE,CAAC,UAAU,CAAC,EAAE,WAAW,EAAE,CAAC,CAAC;SAC/C;QAGD,IAAI,kBAAkB,KAAK,WAAW,EAAE;YACtC,sBAAsB,CAAC,gBAAsC,CAAC,CAAC;SAChE;IACH,CAAC,EAAE,CAAC,WAAW,EAAE,gBAAgB,EAAE,kBAAkB,EAAE,cAAc,EAAE,sBAAsB,CAAC,CAAC,CAAC;IAEhG,MAAM,cAAc,GAAG,WAAW,CAChC,CAAC,KAAyB,EAAE,EAAE;QAC5B,sBAAsB,CAAC,KAAK,CAAC,CAAC;QAC9B,cAAc,CAAC,EAAE,CAAC,UAAU,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC;IAC1C,CAAC,EACD,CAAC,sBAAsB,EAAE,cAAc,CAAC,CACzC,CAAC;IAEF,OAAO,CAAC,WAAW,EAAE,cAAc,CAAC,CAAC;AACvC,CAAC,CAAC"}
1
+ {"version":3,"file":"metrics-display-type.js","sourceRoot":"","sources":["../../src/hooks/metrics-display-type.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,SAAS,EAAE,OAAO,EAAE,MAAM,OAAO,CAAC;AACxD,OAAO,EAAE,eAAe,EAAE,MAAM,WAAW,CAAC;AAC5C,OAAO,EAAE,WAAW,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAE/D,OAAO,EAAE,kBAAkB,EAAE,MAAM,cAAc,CAAC;AAElD,MAAM,aAAa,GAAG,kBAAkB,CAAC,KAAK,CAAC;AAC/C,MAAM,gBAAgB,GAAG,EAAE,CAAC;AAG5B,MAAM,iBAAiB,GAAG,IAAI,CAAC;AAE/B,MAAM,oBAAoB,GAAG,KAAK,CAAC;AAOnC,MAAM,CAAC,MAAM,qBAAqB,GAAG,CACnC,MAA2D,EACpC,EAAE;IACzB,MAAM,CAAC,WAAW,EAAE,cAAc,CAAC,GAAG,cAAc,CAAC;QACnD,CAAC,iBAAiB,CAAC,EAAE,WAAW;QAChC,CAAC,oBAAoB,CAAC,EAAE,WAAW;KACpC,CAAC,CAAC;IAEH,MAAM,EAAE,CAAC,iBAAiB,CAAC,EAAE,eAAe,EAAE,CAAC,oBAAoB,CAAC,EAAE,iBAAiB,EAAE,GACvF,WAAW,CAAC;IAEd,MAAM,CAAC,YAAY,EAAE,eAAe,CAAC,GAAG,eAAe,CAAC,iBAAiB,EAAE,aAAa,CAAC,CAAC;IAC1F,MAAM,CAAC,cAAc,EAAE,iBAAiB,CAAC,GAAG,eAAe,CACzD,oBAAoB,EACpB,gBAAgB,CACjB,CAAC;IAKF,MAAM,KAAK,GAAG,OAAO,CAAC,GAAG,EAAE;QACzB,MAAM,aAAa,GAAG,eAAe,IAAI,YAAY,CAAC;QAEtD,IAAI,CAAC,aAAa,EAAE;YAClB,OAAO,aAAa,CAAC;SACtB;QAED,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,kBAAkB,CAAC,CAAC,QAAQ,CAAC,aAAmC,CAAC,EAAE;YACpF,OAAO,aAAa,CAAC;SACtB;QAED,OAAO,aAAmC,CAAC;IAC7C,CAAC,EAAE,CAAC,eAAe,EAAE,YAAY,CAAC,CAAC,CAAC;IAKpC,MAAM,OAAO,GAAG,OAAO,CAAC,GAAG,EAAE;;QAC3B,MAAM,aAAa,GAAG,iBAAiB,IAAI,cAAc,CAAC;QAE1D,IAAI,CAAC,aAAa,EAAE;YAClB,OAAO,gBAAgB,CAAC;SACzB;QAED,IAAI,CAAC,CAAA,MAAA,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAG,KAAK,CAAC,0CAAE,QAAQ,CAAC,aAAmC,CAAC,CAAA,EAAE;YACnE,OAAO,gBAAgB,CAAC;SACzB;QAED,OAAO,aAAa,CAAC;IACvB,CAAC,EAAE,CAAC,iBAAiB,EAAE,cAAc,CAAC,CAAC,CAAC;IAKxC,SAAS,CAAC,GAAG,EAAE;QACb,IAAI,KAAK,KAAK,eAAe,IAAI,OAAO,KAAK,iBAAiB,EAAE;YAC9D,cAAc,CAAC,EAAE,CAAC,iBAAiB,CAAC,EAAE,KAAK,EAAE,CAAC,oBAAoB,CAAC,EAAE,OAAO,EAAE,CAAC,CAAC;SACjF;IACH,CAAC,EAAE,CAAC,KAAK,EAAE,eAAe,EAAE,OAAO,EAAE,iBAAiB,EAAE,cAAc,CAAC,CAAC,CAAC;IAKzE,SAAS,CAAC,GAAG,EAAE;QACb,IAAI,KAAK,KAAK,YAAY,EAAE;YAC1B,eAAe,CAAC,KAAK,CAAC,CAAC;SACxB;QACD,IAAI,OAAO,KAAK,YAAY,EAAE;YAC5B,iBAAiB,CAAC,OAAO,CAAC,CAAC;SAC5B;IACH,CAAC,EAAE;QACD,KAAK;QACL,YAAY;QACZ,OAAO;QACP,cAAc;QACd,cAAc;QACd,eAAe;QACf,iBAAiB;KAClB,CAAC,CAAC;IAEH,MAAM,cAAc,GAAG,WAAW,CAChC,CAAC,QAA4B,EAAE,aAAqB,gBAAgB,EAAE,EAAE;QACtE,eAAe,CAAC,QAAQ,CAAC,CAAC;QAC1B,iBAAiB,CAAC,UAAU,CAAC,CAAC;QAE9B,cAAc,CAAC;YACb,CAAC,iBAAiB,CAAC,EAAE,QAAQ;YAC7B,CAAC,oBAAoB,CAAC,EAAE,UAAU;SACnC,CAAC,CAAC;IACL,CAAC,EACD,CAAC,eAAe,EAAE,cAAc,CAAC,CAClC,CAAC;IAEF,OAAO,CAAC,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE,cAAc,CAAC,CAAC;AAC9C,CAAC,CAAC"}
@@ -28,6 +28,7 @@ const getSearchReducer = ({ defaultFilters, allEntriesFilters, setParentState })
28
28
  const newState = {
29
29
  filters: payload,
30
30
  search: state.search,
31
+ searchPattern: getSearchPattern(state.search),
31
32
  };
32
33
  setParentState(newState);
33
34
  return newState;