@bundle-stats/ui 3.2.5 → 3.2.6-beta.3

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 (112) hide show
  1. package/CHANGELOG.md +29 -0
  2. package/lib/components/bundle-assets/bundle-assets.js +23 -13
  3. package/lib/components/bundle-assets/bundle-assets.module.css +18 -26
  4. package/lib/components/bundle-modules/bundle-modules.js +4 -5
  5. package/lib/components/bundle-packages/bundle-packages.js +14 -8
  6. package/lib/components/bundle-packages/bundle-packages.module.css +8 -12
  7. package/lib/components/delta/delta.module.css +1 -0
  8. package/lib/components/metrics-table-search/metrics-table-search.module.css +5 -4
  9. package/lib/components/metrics-table-title/metrics-table-title.js +9 -7
  10. package/lib/components/metrics-table-title/metrics-table-title.module.css +2 -0
  11. package/lib/components/module-info/module-info.module.css +1 -0
  12. package/lib/components/summary-item/summary-item.js +14 -17
  13. package/lib/components/summary-item/summary-item.module.css +1 -19
  14. package/lib/components/total-size-type-title/total-size-type-title.js +7 -3
  15. package/lib/css/variables.css +3 -3
  16. package/lib/hooks/search-params.js +6 -6
  17. package/lib/layout/box/box.module.css +9 -0
  18. package/lib/ui/dropdown/dropdown.js +16 -26
  19. package/lib/ui/dropdown/dropdown.module.css +11 -12
  20. package/lib/ui/dropdown/dropdown.stories.js +2 -9
  21. package/lib/ui/filters/filters.js +10 -5
  22. package/lib/ui/filters/filters.module.css +10 -0
  23. package/lib/ui/hover-card/hover-card.js +100 -0
  24. package/lib/ui/hover-card/hover-card.module.css +52 -0
  25. package/lib/ui/hover-card/hover-card.stories.js +56 -0
  26. package/lib/ui/hover-card/index.js +18 -0
  27. package/lib/ui/icon/icon.js +6 -6
  28. package/lib/ui/index.js +8 -8
  29. package/lib/ui/table/table.module.css +0 -4
  30. package/lib/ui/{popover → tag}/index.js +4 -4
  31. package/lib/ui/tag/tag.js +72 -0
  32. package/lib/ui/tag/tag.module.css +55 -0
  33. package/lib/ui/tag/tag.stories.js +38 -0
  34. package/lib/ui/tooltip/tooltip.js +10 -9
  35. package/lib/ui/tooltip/tooltip.module.css +1 -1
  36. package/lib-esm/components/bundle-assets/bundle-assets.js +22 -13
  37. package/lib-esm/components/bundle-assets/bundle-assets.module.css +18 -26
  38. package/lib-esm/components/bundle-modules/bundle-modules.js +4 -5
  39. package/lib-esm/components/bundle-packages/bundle-packages.js +13 -8
  40. package/lib-esm/components/bundle-packages/bundle-packages.module.css +8 -12
  41. package/lib-esm/components/delta/delta.module.css +1 -0
  42. package/lib-esm/components/metrics-table-search/metrics-table-search.module.css +5 -4
  43. package/lib-esm/components/metrics-table-title/metrics-table-title.js +8 -7
  44. package/lib-esm/components/metrics-table-title/metrics-table-title.module.css +2 -0
  45. package/lib-esm/components/module-info/module-info.module.css +1 -0
  46. package/lib-esm/components/summary-item/summary-item.js +13 -17
  47. package/lib-esm/components/summary-item/summary-item.module.css +1 -19
  48. package/lib-esm/components/total-size-type-title/total-size-type-title.js +6 -3
  49. package/lib-esm/css/variables.css +3 -3
  50. package/lib-esm/hooks/search-params.js +6 -6
  51. package/lib-esm/layout/box/box.module.css +9 -0
  52. package/lib-esm/ui/dropdown/dropdown.js +15 -25
  53. package/lib-esm/ui/dropdown/dropdown.module.css +11 -12
  54. package/lib-esm/ui/dropdown/dropdown.stories.js +2 -7
  55. package/lib-esm/ui/filters/filters.js +9 -4
  56. package/lib-esm/ui/filters/filters.module.css +10 -0
  57. package/lib-esm/ui/hover-card/hover-card.js +86 -0
  58. package/lib-esm/ui/hover-card/hover-card.module.css +52 -0
  59. package/lib-esm/ui/hover-card/hover-card.stories.js +35 -0
  60. package/lib-esm/ui/hover-card/index.js +1 -0
  61. package/lib-esm/ui/icon/icon.js +3 -3
  62. package/lib-esm/ui/index.js +1 -1
  63. package/lib-esm/ui/table/table.module.css +0 -4
  64. package/lib-esm/ui/tag/index.js +1 -0
  65. package/lib-esm/ui/tag/tag.js +45 -0
  66. package/lib-esm/ui/tag/tag.module.css +55 -0
  67. package/lib-esm/ui/tag/tag.stories.js +23 -0
  68. package/lib-esm/ui/tooltip/tooltip.js +10 -9
  69. package/lib-esm/ui/tooltip/tooltip.module.css +1 -1
  70. package/package.json +9 -9
  71. package/src/components/bundle-assets/bundle-assets.jsx +61 -42
  72. package/src/components/bundle-assets/bundle-assets.module.css +18 -26
  73. package/src/components/bundle-modules/bundle-modules.jsx +24 -14
  74. package/src/components/bundle-packages/bundle-packages.jsx +21 -8
  75. package/src/components/bundle-packages/bundle-packages.module.css +8 -12
  76. package/src/components/delta/delta.module.css +1 -0
  77. package/src/components/metrics-table-search/metrics-table-search.module.css +5 -4
  78. package/src/components/metrics-table-title/metrics-table-title.jsx +20 -21
  79. package/src/components/metrics-table-title/metrics-table-title.module.css +2 -0
  80. package/src/components/module-info/module-info.jsx +1 -5
  81. package/src/components/module-info/module-info.module.css +1 -0
  82. package/src/components/summary-item/summary-item.jsx +20 -26
  83. package/src/components/summary-item/summary-item.module.css +1 -19
  84. package/src/components/total-size-type-title/total-size-type-title.jsx +6 -9
  85. package/src/css/variables.css +3 -3
  86. package/src/hooks/search-params.js +18 -11
  87. package/src/layout/box/box.module.css +9 -0
  88. package/src/ui/dropdown/dropdown.jsx +12 -22
  89. package/src/ui/dropdown/dropdown.module.css +11 -12
  90. package/src/ui/filters/filters.jsx +53 -50
  91. package/src/ui/filters/filters.module.css +10 -0
  92. package/src/ui/hover-card/hover-card.jsx +79 -0
  93. package/src/ui/hover-card/hover-card.module.css +52 -0
  94. package/src/ui/hover-card/index.js +1 -0
  95. package/src/ui/icon/icon.jsx +11 -7
  96. package/src/ui/index.js +1 -1
  97. package/src/ui/table/table.module.css +0 -4
  98. package/src/ui/tag/index.js +1 -0
  99. package/src/ui/tag/tag.jsx +49 -0
  100. package/src/ui/tag/tag.module.css +55 -0
  101. package/src/ui/tooltip/tooltip.jsx +10 -14
  102. package/src/ui/tooltip/tooltip.module.css +1 -1
  103. package/lib/ui/popover/popover.js +0 -92
  104. package/lib/ui/popover/popover.module.css +0 -66
  105. package/lib/ui/popover/popover.stories.js +0 -26
  106. package/lib-esm/ui/popover/index.js +0 -1
  107. package/lib-esm/ui/popover/popover.js +0 -71
  108. package/lib-esm/ui/popover/popover.module.css +0 -66
  109. package/lib-esm/ui/popover/popover.stories.js +0 -14
  110. package/src/ui/popover/index.js +0 -1
  111. package/src/ui/popover/popover.jsx +0 -79
  112. package/src/ui/popover/popover.module.css +0 -66
package/CHANGELOG.md CHANGED
@@ -3,6 +3,35 @@
3
3
  All notable changes to this project will be documented in this file.
4
4
  See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
5
5
 
6
+ ## [3.2.6-beta.3](https://github.com/relative-ci/bundle-stats/compare/v3.2.6-beta.2...v3.2.6-beta.3) (2022-02-28)
7
+
8
+ **Note:** Version bump only for package @bundle-stats/ui
9
+
10
+
11
+
12
+
13
+
14
+ ## [3.2.6-beta.2](https://github.com/relative-ci/bundle-stats/compare/v3.2.5...v3.2.6-beta.2) (2022-02-27)
15
+
16
+
17
+ ### Bug Fixes
18
+
19
+ * **ui:** Add border-radius to flags ([4f7663b](https://github.com/relative-ci/bundle-stats/commit/4f7663b29a954cf1ace9caa9739acd9f37aa3b95))
20
+ * **ui:** Box - add border-radius to outline ([bd78d20](https://github.com/relative-ci/bundle-stats/commit/bd78d2052db4b781afc3a1d9e8dd583986d0093d))
21
+ * **ui:** Normlize border-radius usage ([e8a6b30](https://github.com/relative-ci/bundle-stats/commit/e8a6b302729112d75a82c74ef1d952fc639d16ab))
22
+ * **ui:** SearchParams - trigger filter change correctly ([0c331d2](https://github.com/relative-ci/bundle-stats/commit/0c331d2704382cd72d42363db539107fe22ed2ee))
23
+ * **ui:** Table - remove last row bottom line ([9398a93](https://github.com/relative-ci/bundle-stats/commit/9398a936e1d937aed188f96ce56ebfa56f3af7d7))
24
+
25
+
26
+ ### Features
27
+
28
+ * **ui:** Add HoverCard component ([6ee79d5](https://github.com/relative-ci/bundle-stats/commit/6ee79d52bf5d02445e3cfca9f41841e5c710355f))
29
+ * **ui:** Add Tag component ([f796f9c](https://github.com/relative-ci/bundle-stats/commit/f796f9c909703dab3a513059215a2ce24bc12244))
30
+
31
+
32
+
33
+
34
+
6
35
  ## [3.2.5](https://github.com/relative-ci/bundle-stats/compare/v3.2.4...v3.2.5) (2022-02-15)
7
36
 
8
37
 
@@ -29,10 +29,12 @@ var _icon = require("../../ui/icon");
29
29
 
30
30
  var _fileName = require("../../ui/file-name");
31
31
 
32
- var _popover = require("../../ui/popover");
32
+ var _hoverCard = require("../../ui/hover-card");
33
33
 
34
34
  var _tooltip = require("../../ui/tooltip");
35
35
 
36
+ var _tag = require("../../ui/tag");
37
+
36
38
  var _filters = require("../../ui/filters");
37
39
 
38
40
  var _sortDropdown = require("../../ui/sort-dropdown");
@@ -137,11 +139,11 @@ var getRenderRowHeader = function getRenderRowHeader(_ref6) {
137
139
  isChunk = item.isChunk,
138
140
  isEntry = item.isEntry,
139
141
  isInitial = item.isInitial;
140
- return /*#__PURE__*/_react["default"].createElement(_popover.Popover, {
141
- label: /*#__PURE__*/_react["default"].createElement(_fileName.FileName, {
142
- name: label
143
- }),
144
- icon: /*#__PURE__*/_react["default"].createElement("div", {
142
+ return /*#__PURE__*/_react["default"].createElement(_hoverCard.HoverCard, {
143
+ label: /*#__PURE__*/_react["default"].createElement(_flexStack.FlexStack, {
144
+ space: "xxxsmall",
145
+ className: _bundleAssetsModule["default"].assetName
146
+ }, /*#__PURE__*/_react["default"].createElement("div", {
145
147
  className: _bundleAssetsModule["default"].assetInfoFlags
146
148
  }, isNotPredictive && /*#__PURE__*/_react["default"].createElement(_tooltip.Tooltip, {
147
149
  className: _bundleAssetsModule["default"].notPredictive,
@@ -151,16 +153,24 @@ var getRenderRowHeader = function getRenderRowHeader(_ref6) {
151
153
  }, /*#__PURE__*/_react["default"].createElement(_icon.Icon, {
152
154
  className: _bundleAssetsModule["default"].notPredictiveIcon,
153
155
  glyph: "warning"
154
- })), isChunk && /*#__PURE__*/_react["default"].createElement("span", {
156
+ })), isChunk && /*#__PURE__*/_react["default"].createElement(_tag.Tag, {
155
157
  title: "Chunk",
156
- className: _bundleAssetsModule["default"].flagChunk
157
- }, "c"), isEntry && /*#__PURE__*/_react["default"].createElement("span", {
158
+ size: _tag.Tag.SIZES.SMALL,
159
+ kind: _tag.Tag.KINDS.INFO,
160
+ className: (0, _classnames["default"])(_bundleAssetsModule["default"].tag, _bundleAssetsModule["default"].tagChunk)
161
+ }), isEntry && /*#__PURE__*/_react["default"].createElement(_tag.Tag, {
158
162
  title: "Entrypoint",
159
- className: _bundleAssetsModule["default"].flagEntry
160
- }, "e"), isInitial && /*#__PURE__*/_react["default"].createElement("span", {
163
+ size: _tag.Tag.SIZES.SMALL,
164
+ kind: _tag.Tag.KINDS.INFO,
165
+ className: (0, _classnames["default"])(_bundleAssetsModule["default"].tag, _bundleAssetsModule["default"].tagEntry)
166
+ }), isInitial && /*#__PURE__*/_react["default"].createElement(_tag.Tag, {
161
167
  title: "Initial",
162
- className: _bundleAssetsModule["default"].flagInitial
163
- }, "i"))
168
+ size: _tag.Tag.SIZES.SMALL,
169
+ kind: _tag.Tag.KINDS.INFO,
170
+ className: (0, _classnames["default"])(_bundleAssetsModule["default"].tag, _bundleAssetsModule["default"].tagInitial)
171
+ })), /*#__PURE__*/_react["default"].createElement(_fileName.FileName, {
172
+ name: label
173
+ }))
164
174
  }, /*#__PURE__*/_react["default"].createElement(_assetInfo.AssetInfo, {
165
175
  className: _bundleAssetsModule["default"].assetInfo,
166
176
  item: item,
@@ -8,6 +8,11 @@
8
8
  margin-right: -1px; /** collapse border */
9
9
  }
10
10
 
11
+ .assetName {
12
+ display: inline-flex;
13
+ align-items: center;
14
+ }
15
+
11
16
  .notPredictive {
12
17
  margin-right: var(--space-xxsmall);
13
18
  display: inline-block;
@@ -30,41 +35,28 @@
30
35
  display: none;
31
36
  }
32
37
 
33
- .flag {
34
- display: inline-block;
35
- width: var(--space-xsmall);
36
- height: var(--space-xsmall);
37
- font-family: var(--font-family);
38
- font-size: 8px;
39
- font-weight: bold;
40
- background: var(--color-highlight);
41
- color: var(--color-text-light);
42
- line-height: var(--space-xsmall);
43
- text-align: center;
44
- text-transform: uppercase;
45
- vertical-align: middle;
46
- }
47
-
48
- .flag + .flag {
38
+ .tag + .tag {
49
39
  margin-left: 2px;
50
40
  }
51
41
 
52
- .flagEntry {
53
- composes: flag;
42
+ .tagEntry {
54
43
  background: var(--color-info-light);
55
- color: var(--color-background);
56
44
  }
57
45
 
58
- .flagInitial {
59
- composes: flag;
46
+ .tagEntry::before {
47
+ content: 'e';
48
+ }
49
+
50
+ .tagInitial {
60
51
  background: var(--color-info-light);
61
- color: var(--color-background);
62
52
  }
63
53
 
64
- .flagChunk {
65
- composes: flag;
66
- background: var(--color-info);
67
- color: var(--color-background);
54
+ .tagInitial::before {
55
+ content: 'i';
56
+ }
57
+
58
+ .tagChunk::before {
59
+ content: 'c';
68
60
  }
69
61
 
70
62
  /* Tooltip not predictive */
@@ -35,7 +35,7 @@ var _fileName = require("../../ui/file-name");
35
35
 
36
36
  var _filters = require("../../ui/filters");
37
37
 
38
- var _popover = require("../../ui/popover");
38
+ var _hoverCard = require("../../ui/hover-card");
39
39
 
40
40
  var _sortDropdown = require("../../ui/sort-dropdown");
41
41
 
@@ -101,11 +101,10 @@ var RowHeader = function RowHeader(_ref) {
101
101
 
102
102
  return /*#__PURE__*/_react["default"].createElement("div", {
103
103
  onMouseEnter: handleOnMouseEnter
104
- }, !showPopopver ? content : /*#__PURE__*/_react["default"].createElement(_popover.Popover, {
105
- ariaLabel: "View module info",
104
+ }, !showPopopver ? content : /*#__PURE__*/_react["default"].createElement(_hoverCard.HoverCard, {
106
105
  label: content
107
106
  }, function (_ref2) {
108
- var popoverToggle = _ref2.popoverToggle;
107
+ var close = _ref2.close;
109
108
  return /*#__PURE__*/_react["default"].createElement(_moduleInfo.ModuleInfo, {
110
109
  className: _bundleModulesModule["default"].namePopover,
111
110
  item: row,
@@ -113,7 +112,7 @@ var RowHeader = function RowHeader(_ref) {
113
112
  chunkIds: chunkIds,
114
113
  labels: labels,
115
114
  customComponentLink: CustomComponentLink,
116
- onClick: popoverToggle
115
+ onClick: close
117
116
  });
118
117
  }));
119
118
  };
@@ -27,10 +27,12 @@ var _emptySet = require("../../ui/empty-set");
27
27
 
28
28
  var _filters = require("../../ui/filters");
29
29
 
30
- var _popover = require("../../ui/popover");
30
+ var _hoverCard = require("../../ui/hover-card");
31
31
 
32
32
  var _sortDropdown = require("../../ui/sort-dropdown");
33
33
 
34
+ var _tag = require("../../ui/tag");
35
+
34
36
  var _toolbar = require("../../ui/toolbar");
35
37
 
36
38
  var _fileName = require("../../ui/file-name");
@@ -139,15 +141,19 @@ var PackageRowHeader = function PackageRowHeader(_ref2) {
139
141
  className: _bundlePackagesModule["default"].packageNames
140
142
  }, packageNames.map(function (packageName, index) {
141
143
  // Render duplicate flag only for the last entry
142
- var duplicateFlag = index === packageNames.length - 1 && item.duplicate && /*#__PURE__*/_react["default"].createElement("span", {
143
- className: _bundlePackagesModule["default"].duplicate,
144
- title: "Duplicate package"
145
- }, "D");
144
+ var duplicateFlag = index === packageNames.length - 1 && item.duplicate && /*#__PURE__*/_react["default"].createElement(_tag.Tag, {
145
+ title: "Duplicate package",
146
+ kind: _tag.Tag.KINDS.DANGER,
147
+ size: _tag.Tag.SIZES.SMALL,
148
+ className: _bundlePackagesModule["default"].tagDuplicate
149
+ });
146
150
 
147
- return /*#__PURE__*/_react["default"].createElement(_popover.Popover, {
151
+ return /*#__PURE__*/_react["default"].createElement(_hoverCard.HoverCard, {
148
152
  className: _bundlePackagesModule["default"].packageName,
149
- icon: duplicateFlag,
150
- label: packageName
153
+ label: /*#__PURE__*/_react["default"].createElement(_flexStack.FlexStack, {
154
+ space: "xxxsmall",
155
+ className: _bundlePackagesModule["default"].packageNameLabel
156
+ }, duplicateFlag, /*#__PURE__*/_react["default"].createElement("span", null, packageName))
151
157
  }, /*#__PURE__*/_react["default"].createElement(PackagePopoverContent, {
152
158
  name: packageName,
153
159
  path: path,
@@ -12,20 +12,12 @@
12
12
  margin-right: -1px; /** collapse border */
13
13
  }
14
14
 
15
- .duplicate {
15
+ .tagDuplicate {
16
16
  margin-right: var(--space-xxxsmall);
17
- display: inline-block;
18
- width: var(--space-small);
19
- height: var(--space-small);
20
- font-size: 10px;
21
- font-weight: bold;
22
- line-height: var(--space-small);
23
- text-align: center;
24
- text-transform: uppercase;
25
- vertical-align: middle;
17
+ }
26
18
 
27
- background: var(--color-danger);
28
- color: var(--color-light);
19
+ .tagDuplicate::before {
20
+ content: 'd';
29
21
  }
30
22
 
31
23
  .packageName {
@@ -43,6 +35,10 @@
43
35
  color: var(--color-text-ultra-light);
44
36
  }
45
37
 
38
+ .packageNameLabel {
39
+ align-items: center;
40
+ }
41
+
46
42
  .packagePopover {
47
43
  min-width: 320px;
48
44
  }
@@ -28,6 +28,7 @@
28
28
  }
29
29
 
30
30
  .inverted {
31
+ border-radius: var(--radius-small);
31
32
  background-color: var(--color-gray-ultra-light);
32
33
  color: var(--color-light);
33
34
  }
@@ -5,6 +5,7 @@
5
5
  }
6
6
 
7
7
  .input {
8
+ border-radius: var(--radius-small) 0 0 var(--radius-small);
8
9
  height: var(--space-large);
9
10
  border-color: var(--color-outline);
10
11
  }
@@ -21,12 +22,12 @@
21
22
  cursor: pointer;
22
23
  border-radius: 50%;
23
24
  position: absolute;
24
- right: 0;
25
+ right: 2px;
25
26
  top: 50%;
26
27
  transform: translateY(-50%);
27
- padding: var(--space-xxsmall);
28
- width: var(--space-large);
29
- height: var(--space-large);
28
+ padding: var(--space-xxxsmall);
29
+ width: var(--space-medium);
30
+ height: var(--space-medium);
30
31
  background: radial-gradient(var(--color-background) 50%, transparent);
31
32
  color: var(--color-text-ultra-light);
32
33
  transition: var(--transition-in);
@@ -17,7 +17,9 @@ var _flexStack = require("../../layout/flex-stack");
17
17
 
18
18
  var _stack = require("../../layout/stack");
19
19
 
20
- var _popover = require("../../ui/popover");
20
+ var _icon = require("../../ui/icon");
21
+
22
+ var _hoverCard = require("../../ui/hover-card");
21
23
 
22
24
  var _metricsTableTitleModule = _interopRequireDefault(require("./metrics-table-title.module.css"));
23
25
 
@@ -30,22 +32,22 @@ var MetricsTableTitle = function MetricsTableTitle(props) {
30
32
  popoverInfo = props.popoverInfo,
31
33
  popoverHref = props.popoverHref;
32
34
  var rootClassName = (0, _classnames["default"])(_metricsTableTitleModule["default"].root, className);
33
- return /*#__PURE__*/_react["default"].createElement(_stack.Stack, {
35
+ return /*#__PURE__*/_react["default"].createElement(_flexStack.FlexStack, {
34
36
  space: "xxxsmall",
35
37
  className: rootClassName
36
- }, /*#__PURE__*/_react["default"].createElement(_flexStack.FlexStack, {
37
- space: "xxxsmall"
38
38
  }, /*#__PURE__*/_react["default"].createElement("span", null, title), info && /*#__PURE__*/_react["default"].createElement("span", {
39
39
  className: _metricsTableTitleModule["default"].info
40
- }, info), (popoverInfo || popoverHref) && /*#__PURE__*/_react["default"].createElement(_popover.Popover, {
41
- icon: "help"
40
+ }, info), (popoverInfo || popoverHref) && /*#__PURE__*/_react["default"].createElement(_hoverCard.HoverCard, {
41
+ label: /*#__PURE__*/_react["default"].createElement(_icon.Icon, {
42
+ glyph: "help"
43
+ })
42
44
  }, /*#__PURE__*/_react["default"].createElement(_stack.Stack, {
43
45
  space: "xxxsmall"
44
46
  }, popoverInfo && /*#__PURE__*/_react["default"].createElement("p", null, popoverInfo), popoverHref && /*#__PURE__*/_react["default"].createElement("p", null, /*#__PURE__*/_react["default"].createElement("a", {
45
47
  href: popoverHref,
46
48
  target: "_blank",
47
49
  rel: "noreferrer"
48
- }, _i18n["default"].READ_MORE))))));
50
+ }, _i18n["default"].READ_MORE)))));
49
51
  };
50
52
 
51
53
  exports.MetricsTableTitle = MetricsTableTitle;
@@ -1,5 +1,7 @@
1
1
  .root {
2
+ align-items: center;
2
3
  font-weight: bold;
4
+ line-height: var(--space-small);
3
5
  text-transform: uppercase;
4
6
  color: var(--color-text-light);
5
7
  }
@@ -15,6 +15,7 @@
15
15
  }
16
16
 
17
17
  .fileName {
18
+ max-width: 100%;
18
19
  padding: 2px;
19
20
  background: var(--color-highlight-warning);
20
21
  }
@@ -13,7 +13,9 @@ var _classnames = _interopRequireDefault(require("classnames"));
13
13
 
14
14
  var _utils = require("@bundle-stats/utils");
15
15
 
16
- var _popover = require("../../ui/popover");
16
+ var _hoverCard = require("../../ui/hover-card");
17
+
18
+ var _icon = require("../../ui/icon");
17
19
 
18
20
  var _skeleton = require("../../ui/skeleton");
19
21
 
@@ -37,29 +39,22 @@ function _objectWithoutProperties(source, excluded) { if (source == null) return
37
39
 
38
40
  function _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }
39
41
 
40
- var MetricInfoPopover = function MetricInfoPopover(_ref) {
42
+ var MetricInfo = function MetricInfo(_ref) {
41
43
  var description = _ref.description,
42
44
  url = _ref.url;
43
-
44
- // Workaround cases where the parent is a link
45
- var readMoreOnClick = function readMoreOnClick() {
46
- window.open(url);
47
- };
48
-
49
45
  return /*#__PURE__*/_react["default"].createElement(_stack.Stack, {
50
46
  space: "xxxsmall"
51
- }, /*#__PURE__*/_react["default"].createElement("p", null, description), url && /*#__PURE__*/_react["default"].createElement("p", null, /*#__PURE__*/_react["default"].createElement("button", {
52
- type: "button",
53
- className: _summaryItemModule["default"].readMoreBtn,
54
- onClick: readMoreOnClick
47
+ }, /*#__PURE__*/_react["default"].createElement("p", null, description), url && /*#__PURE__*/_react["default"].createElement("p", null, /*#__PURE__*/_react["default"].createElement("a", {
48
+ href: url,
49
+ className: _summaryItemModule["default"].readMoreLink
55
50
  }, "Read more")));
56
51
  };
57
52
 
58
- MetricInfoPopover.propTypes = {
53
+ MetricInfo.propTypes = {
59
54
  description: _propTypes["default"].string.isRequired,
60
55
  url: _propTypes["default"].string
61
56
  };
62
- MetricInfoPopover.defaultProps = {
57
+ MetricInfo.defaultProps = {
63
58
  url: ''
64
59
  };
65
60
 
@@ -93,10 +88,12 @@ var SummaryItem = function SummaryItem(_ref2) {
93
88
  as: "h3",
94
89
  space: "xxxsmall",
95
90
  className: _summaryItemModule["default"].title
96
- }, /*#__PURE__*/_react["default"].createElement("span", null, metric.label), showMetricDescriptionTooltip && /*#__PURE__*/_react["default"].createElement(_popover.Popover, {
91
+ }, /*#__PURE__*/_react["default"].createElement("span", null, metric.label), showMetricDescriptionTooltip && /*#__PURE__*/_react["default"].createElement(_hoverCard.HoverCard, {
97
92
  className: _summaryItemModule["default"].icon,
98
- icon: "help"
99
- }, /*#__PURE__*/_react["default"].createElement(MetricInfoPopover, metric))), !loading ? /*#__PURE__*/_react["default"].createElement(_stack.Stack, null, /*#__PURE__*/_react["default"].createElement(_metric.Metric, {
93
+ label: /*#__PURE__*/_react["default"].createElement(_icon.Icon, {
94
+ glyph: "help"
95
+ })
96
+ }, /*#__PURE__*/_react["default"].createElement(MetricInfo, metric))), !loading ? /*#__PURE__*/_react["default"].createElement(_stack.Stack, null, /*#__PURE__*/_react["default"].createElement(_metric.Metric, {
100
97
  className: _summaryItemModule["default"].currentMetric,
101
98
  value: current,
102
99
  formatter: metric.formatter,
@@ -1,4 +1,5 @@
1
1
  .title {
2
+ align-items: center;
2
3
  color: var(--color-text-ultra-light);
3
4
  font-weight: bold;
4
5
  font-size: var(--size-xsmall);
@@ -7,25 +8,6 @@
7
8
  white-space: nowrap;
8
9
  }
9
10
 
10
- .readMoreBtn {
11
- appearance: none;
12
- padding: 0;
13
- border: 0;
14
- background: none;
15
- cursor: pointer;
16
- /* simulate link */
17
- color: var(--color-primary);
18
- text-decoration: underline;
19
- line-height: var(--space-small);
20
- }
21
-
22
- .readMoreBtn:hover,
23
- .readMoreBtn:active,
24
- .readMoreBtn:focus {
25
- color: var(--color-primary-dark);
26
- text-decoration: none;
27
- }
28
-
29
11
  .currentMetric {
30
12
  display: block;
31
13
  color: var(--color-heading);
@@ -19,7 +19,9 @@ var _flexStack = require("../../layout/flex-stack");
19
19
 
20
20
  var _stack = require("../../layout/stack");
21
21
 
22
- var _popover = require("../../ui/popover");
22
+ var _icon = require("../../ui/icon");
23
+
24
+ var _hoverCard = require("../../ui/hover-card");
23
25
 
24
26
  var _totalSizeTypeTitleModule = _interopRequireDefault(require("./total-size-type-title.module.css"));
25
27
 
@@ -30,8 +32,10 @@ var TotalSizeTypeTitle = function TotalSizeTypeTitle(_ref) {
30
32
  return /*#__PURE__*/_react["default"].createElement(_flexStack.FlexStack, {
31
33
  space: "xxxsmall",
32
34
  className: (0, _classnames["default"])(_totalSizeTypeTitleModule["default"].title, className)
33
- }, /*#__PURE__*/_react["default"].createElement("span", null, _i18n["default"].ASSET_TOTALS), /*#__PURE__*/_react["default"].createElement(_popover.Popover, {
34
- icon: "help"
35
+ }, /*#__PURE__*/_react["default"].createElement("span", null, _i18n["default"].ASSET_TOTALS), /*#__PURE__*/_react["default"].createElement(_hoverCard.HoverCard, {
36
+ label: /*#__PURE__*/_react["default"].createElement(_icon.Icon, {
37
+ glyph: "help"
38
+ })
35
39
  }, /*#__PURE__*/_react["default"].createElement(_stack.Stack, {
36
40
  space: "xxxsmall"
37
41
  }, /*#__PURE__*/_react["default"].createElement("p", null, _i18n["default"].ASSET_TOTALS_INFO), /*#__PURE__*/_react["default"].createElement("p", null, /*#__PURE__*/_react["default"].createElement("a", {
@@ -181,9 +181,9 @@
181
181
  --layer-high: 1000;
182
182
  --layer-xhigh: 10000;
183
183
 
184
- --radius-small: var(--space-xxxsmall);
185
- --radius-medium: var(--space-xxsmall);
186
- --radius-large: var(--space-small);
184
+ --radius-small: 2px;
185
+ --radius-medium: var(--space-xxxsmall);
186
+ --radius-large: var(--space-xxsmall);
187
187
 
188
188
  /** Layout */
189
189
  --max-width: 80rem;
@@ -157,7 +157,7 @@ var useSearchParams = function useSearchParams(_ref2) {
157
157
 
158
158
  (0, _react.useLayoutEffect)(function () {
159
159
  // Run a deep comparison to prevent circular setState triggering
160
- if (parentSearch === search || (0, _isEqual2["default"])(parentFilters, filters)) {
160
+ if (parentSearch === search && (0, _isEqual2["default"])(initialFilters, filters)) {
161
161
  return;
162
162
  }
163
163
 
@@ -165,7 +165,7 @@ var useSearchParams = function useSearchParams(_ref2) {
165
165
  type: ACTION_SET,
166
166
  payload: generateState(initialFilters, parentSearch)
167
167
  });
168
- }, [search, filters, parentFilters, parentSearch]);
168
+ }, [dispatch, search, filters, parentSearch, initialFilters]);
169
169
  /** Callbacks */
170
170
 
171
171
  var handleUpdateSearch = (0, _react.useCallback)(function (newValue) {
@@ -173,23 +173,23 @@ var useSearchParams = function useSearchParams(_ref2) {
173
173
  type: ACTION_SET_SEARCH,
174
174
  payload: newValue
175
175
  });
176
- }, []);
176
+ }, [dispatch]);
177
177
  var handleUpdateFilters = (0, _react.useCallback)(function (newFilters) {
178
178
  dispatch({
179
179
  type: ACTION_SET_FILTERS,
180
180
  payload: newFilters
181
181
  });
182
- }, []);
182
+ }, [dispatch]);
183
183
  var handleResetFilters = (0, _react.useCallback)(function () {
184
184
  dispatch({
185
185
  type: ACTION_RESET_DEFAULT
186
186
  });
187
- }, []);
187
+ }, [dispatch]);
188
188
  var handleResetAllFilters = (0, _react.useCallback)(function () {
189
189
  dispatch({
190
190
  type: ACTION_RESET_ALL
191
191
  });
192
- }, []);
192
+ }, [dispatch]);
193
193
  return {
194
194
  search: search,
195
195
  searchPattern: searchPattern,
@@ -4,6 +4,15 @@
4
4
 
5
5
  .outline {
6
6
  border: 1px solid var(--color-outline);
7
+ border-radius: var(--radius-medium);
8
+ }
9
+
10
+ .outline > :first-child {
11
+ border-radius: var(--radius-medium) var(--radius-medium) 0 0;
12
+ }
13
+
14
+ .outline > :last-child {
15
+ border-radius: 0 0 var(--radius-medium) var(--radius-medium);
7
16
  }
8
17
 
9
18
  .padding-xxxsmall {
@@ -11,7 +11,7 @@ var _propTypes = _interopRequireDefault(require("prop-types"));
11
11
 
12
12
  var _classnames = _interopRequireDefault(require("classnames"));
13
13
 
14
- var _Menu = require("reakit/Menu");
14
+ var _menu = require("ariakit/menu");
15
15
 
16
16
  var _flexStack = require("../../layout/flex-stack");
17
17
 
@@ -21,35 +21,32 @@ var _dropdownModule = _interopRequireDefault(require("./dropdown.module.css"));
21
21
 
22
22
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
23
23
 
24
- function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
25
-
26
24
  var Dropdown = function Dropdown(props) {
27
25
  var className = props.className,
28
26
  label = props.label,
29
27
  ariaLabel = props.ariaLabel,
30
28
  glyph = props.glyph,
31
- activeLabel = props.activeLabel,
32
29
  children = props.children;
33
- var rootClassName = (0, _classnames["default"])(_dropdownModule["default"].root, activeLabel && _dropdownModule["default"].activeLabel, className);
34
- var menu = (0, _Menu.useMenuState)({
35
- baseId: process.env.NODE_ENV === 'test' && 'id-test',
36
- modal: true
37
- });
38
- return /*#__PURE__*/_react["default"].createElement(_react["default"].Fragment, null, /*#__PURE__*/_react["default"].createElement(_Menu.MenuButton, _extends({}, menu, {
39
- className: rootClassName,
30
+ var rootClassName = (0, _classnames["default"])(_dropdownModule["default"].root, className);
31
+ var menuState = (0, _menu.useMenuState)();
32
+ return /*#__PURE__*/_react["default"].createElement("div", {
33
+ className: rootClassName
34
+ }, /*#__PURE__*/_react["default"].createElement(_menu.MenuButton, {
35
+ state: menuState,
36
+ className: _dropdownModule["default"].button,
40
37
  tabIndex: null
41
- }), /*#__PURE__*/_react["default"].createElement(_flexStack.FlexStack, {
42
- space: "xxxsmall",
43
- className: _dropdownModule["default"].label
38
+ }, /*#__PURE__*/_react["default"].createElement(_flexStack.FlexStack, {
39
+ space: "xxxsmall"
44
40
  }, glyph && /*#__PURE__*/_react["default"].createElement(_icon.Icon, {
45
41
  className: _dropdownModule["default"].labelIcon,
46
42
  glyph: glyph
47
- }), label)), /*#__PURE__*/_react["default"].createElement(_Menu.Menu, _extends({}, menu, {
43
+ }), label)), /*#__PURE__*/_react["default"].createElement(_menu.Menu, {
44
+ state: menuState,
48
45
  "aria-label": ariaLabel || label,
49
46
  className: _dropdownModule["default"].dropdown
50
- }), typeof children === 'function' ? children({
51
- MenuItem: _Menu.MenuItem,
52
- menu: menu,
47
+ }, typeof children === 'function' ? children({
48
+ MenuItem: _menu.MenuItem,
49
+ menu: menuState,
53
50
  menuItemClassName: _dropdownModule["default"].menuItem,
54
51
  menuItemActiveClassName: _dropdownModule["default"].menuItemActive
55
52
  }) : children));
@@ -60,8 +57,7 @@ Dropdown.defaultProps = {
60
57
  className: '',
61
58
  label: null,
62
59
  ariaLabel: '',
63
- glyph: null,
64
- activeLabel: false
60
+ glyph: null
65
61
  };
66
62
  Dropdown.propTypes = {
67
63
  /** Adopted child class name */
@@ -76,12 +72,6 @@ Dropdown.propTypes = {
76
72
  /** Icon glyph */
77
73
  glyph: _propTypes["default"].oneOfType([_propTypes["default"].string, _propTypes["default"].node]),
78
74
 
79
- /** Dropdown open state */
80
- open: _propTypes["default"].bool.isRequired,
81
-
82
- /** Active label flag */
83
- activeLabel: _propTypes["default"].bool,
84
-
85
75
  /** Content */
86
76
  children: _propTypes["default"].oneOfType([_propTypes["default"].string, _propTypes["default"].element, _propTypes["default"].func]).isRequired
87
77
  };