@bundle-stats/ui 3.2.6-beta.1 → 3.2.6-beta.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +3 -1
- package/lib/components/bundle-assets/bundle-assets.js +8 -6
- package/lib/components/bundle-assets/bundle-assets.module.css +5 -0
- package/lib/components/bundle-modules/bundle-modules.js +4 -5
- package/lib/components/bundle-packages/bundle-packages.js +6 -4
- package/lib/components/bundle-packages/bundle-packages.module.css +4 -0
- package/lib/components/metrics-table-title/metrics-table-title.js +9 -7
- package/lib/components/metrics-table-title/metrics-table-title.module.css +2 -0
- package/lib/components/module-info/module-info.module.css +1 -0
- package/lib/components/summary-item/summary-item.js +14 -17
- package/lib/components/summary-item/summary-item.module.css +1 -19
- package/lib/components/total-size-type-title/total-size-type-title.js +7 -3
- package/lib/css/variables.css +1 -1
- package/lib/hooks/search-params.js +6 -6
- package/lib/ui/dropdown/dropdown.js +15 -24
- package/lib/ui/dropdown/dropdown.module.css +7 -7
- package/lib/ui/dropdown/dropdown.stories.js +2 -9
- package/lib/ui/hover-card/hover-card.js +100 -0
- package/lib/ui/hover-card/hover-card.module.css +52 -0
- package/lib/ui/hover-card/hover-card.stories.js +56 -0
- package/lib/ui/{popover → hover-card}/index.js +4 -4
- package/lib/ui/icon/icon.js +6 -6
- package/lib/ui/index.js +0 -8
- package/lib/ui/tooltip/tooltip.js +10 -9
- package/lib-esm/components/bundle-assets/bundle-assets.js +8 -6
- package/lib-esm/components/bundle-assets/bundle-assets.module.css +5 -0
- package/lib-esm/components/bundle-modules/bundle-modules.js +4 -5
- package/lib-esm/components/bundle-packages/bundle-packages.js +6 -4
- package/lib-esm/components/bundle-packages/bundle-packages.module.css +4 -0
- package/lib-esm/components/metrics-table-title/metrics-table-title.js +8 -7
- package/lib-esm/components/metrics-table-title/metrics-table-title.module.css +2 -0
- package/lib-esm/components/module-info/module-info.module.css +1 -0
- package/lib-esm/components/summary-item/summary-item.js +13 -17
- package/lib-esm/components/summary-item/summary-item.module.css +1 -19
- package/lib-esm/components/total-size-type-title/total-size-type-title.js +6 -3
- package/lib-esm/css/variables.css +1 -1
- package/lib-esm/hooks/search-params.js +6 -6
- package/lib-esm/ui/dropdown/dropdown.js +14 -23
- package/lib-esm/ui/dropdown/dropdown.module.css +7 -7
- package/lib-esm/ui/dropdown/dropdown.stories.js +2 -7
- package/lib-esm/ui/hover-card/hover-card.js +86 -0
- package/lib-esm/ui/hover-card/hover-card.module.css +52 -0
- package/lib-esm/ui/hover-card/hover-card.stories.js +35 -0
- package/lib-esm/ui/hover-card/index.js +1 -0
- package/lib-esm/ui/icon/icon.js +3 -3
- package/lib-esm/ui/index.js +0 -1
- package/lib-esm/ui/tooltip/tooltip.js +10 -9
- package/package.json +5 -5
- package/src/components/bundle-assets/bundle-assets.jsx +38 -36
- package/src/components/bundle-assets/bundle-assets.module.css +5 -0
- package/src/components/bundle-modules/bundle-modules.jsx +24 -14
- package/src/components/bundle-packages/bundle-packages.jsx +11 -3
- package/src/components/bundle-packages/bundle-packages.module.css +4 -0
- package/src/components/metrics-table-title/metrics-table-title.jsx +20 -21
- package/src/components/metrics-table-title/metrics-table-title.module.css +2 -0
- package/src/components/module-info/module-info.jsx +1 -5
- package/src/components/module-info/module-info.module.css +1 -0
- package/src/components/summary-item/summary-item.jsx +20 -26
- package/src/components/summary-item/summary-item.module.css +1 -19
- package/src/components/total-size-type-title/total-size-type-title.jsx +6 -9
- package/src/css/variables.css +1 -1
- package/src/hooks/search-params.js +18 -11
- package/src/ui/dropdown/dropdown.jsx +9 -17
- package/src/ui/dropdown/dropdown.module.css +7 -7
- package/src/ui/hover-card/hover-card.jsx +79 -0
- package/src/ui/hover-card/hover-card.module.css +52 -0
- package/src/ui/hover-card/index.js +1 -0
- package/src/ui/icon/icon.jsx +11 -7
- package/src/ui/index.js +0 -1
- package/src/ui/tooltip/tooltip.jsx +10 -14
- package/lib/ui/popover/popover.js +0 -92
- package/lib/ui/popover/popover.module.css +0 -66
- package/lib/ui/popover/popover.stories.js +0 -26
- package/lib-esm/ui/popover/index.js +0 -1
- package/lib-esm/ui/popover/popover.js +0 -71
- package/lib-esm/ui/popover/popover.module.css +0 -66
- package/lib-esm/ui/popover/popover.stories.js +0 -14
- package/src/ui/popover/index.js +0 -1
- package/src/ui/popover/popover.jsx +0 -79
- package/src/ui/popover/popover.module.css +0 -66
package/CHANGELOG.md
CHANGED
|
@@ -3,7 +3,7 @@
|
|
|
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.
|
|
6
|
+
## [3.2.6-beta.2](https://github.com/relative-ci/bundle-stats/compare/v3.2.5...v3.2.6-beta.2) (2022-02-27)
|
|
7
7
|
|
|
8
8
|
|
|
9
9
|
### Bug Fixes
|
|
@@ -11,11 +11,13 @@ See [Conventional Commits](https://conventionalcommits.org) for commit guideline
|
|
|
11
11
|
* **ui:** Add border-radius to flags ([4f7663b](https://github.com/relative-ci/bundle-stats/commit/4f7663b29a954cf1ace9caa9739acd9f37aa3b95))
|
|
12
12
|
* **ui:** Box - add border-radius to outline ([bd78d20](https://github.com/relative-ci/bundle-stats/commit/bd78d2052db4b781afc3a1d9e8dd583986d0093d))
|
|
13
13
|
* **ui:** Normlize border-radius usage ([e8a6b30](https://github.com/relative-ci/bundle-stats/commit/e8a6b302729112d75a82c74ef1d952fc639d16ab))
|
|
14
|
+
* **ui:** SearchParams - trigger filter change correctly ([0c331d2](https://github.com/relative-ci/bundle-stats/commit/0c331d2704382cd72d42363db539107fe22ed2ee))
|
|
14
15
|
* **ui:** Table - remove last row bottom line ([9398a93](https://github.com/relative-ci/bundle-stats/commit/9398a936e1d937aed188f96ce56ebfa56f3af7d7))
|
|
15
16
|
|
|
16
17
|
|
|
17
18
|
### Features
|
|
18
19
|
|
|
20
|
+
* **ui:** Add HoverCard component ([6ee79d5](https://github.com/relative-ci/bundle-stats/commit/6ee79d52bf5d02445e3cfca9f41841e5c710355f))
|
|
19
21
|
* **ui:** Add Tag component ([f796f9c](https://github.com/relative-ci/bundle-stats/commit/f796f9c909703dab3a513059215a2ce24bc12244))
|
|
20
22
|
|
|
21
23
|
|
|
@@ -29,7 +29,7 @@ var _icon = require("../../ui/icon");
|
|
|
29
29
|
|
|
30
30
|
var _fileName = require("../../ui/file-name");
|
|
31
31
|
|
|
32
|
-
var
|
|
32
|
+
var _hoverCard = require("../../ui/hover-card");
|
|
33
33
|
|
|
34
34
|
var _tooltip = require("../../ui/tooltip");
|
|
35
35
|
|
|
@@ -139,11 +139,11 @@ var getRenderRowHeader = function getRenderRowHeader(_ref6) {
|
|
|
139
139
|
isChunk = item.isChunk,
|
|
140
140
|
isEntry = item.isEntry,
|
|
141
141
|
isInitial = item.isInitial;
|
|
142
|
-
return /*#__PURE__*/_react["default"].createElement(
|
|
143
|
-
label: /*#__PURE__*/_react["default"].createElement(
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
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", {
|
|
147
147
|
className: _bundleAssetsModule["default"].assetInfoFlags
|
|
148
148
|
}, isNotPredictive && /*#__PURE__*/_react["default"].createElement(_tooltip.Tooltip, {
|
|
149
149
|
className: _bundleAssetsModule["default"].notPredictive,
|
|
@@ -168,6 +168,8 @@ var getRenderRowHeader = function getRenderRowHeader(_ref6) {
|
|
|
168
168
|
size: _tag.Tag.SIZES.SMALL,
|
|
169
169
|
kind: _tag.Tag.KINDS.INFO,
|
|
170
170
|
className: (0, _classnames["default"])(_bundleAssetsModule["default"].tag, _bundleAssetsModule["default"].tagInitial)
|
|
171
|
+
})), /*#__PURE__*/_react["default"].createElement(_fileName.FileName, {
|
|
172
|
+
name: label
|
|
171
173
|
}))
|
|
172
174
|
}, /*#__PURE__*/_react["default"].createElement(_assetInfo.AssetInfo, {
|
|
173
175
|
className: _bundleAssetsModule["default"].assetInfo,
|
|
@@ -35,7 +35,7 @@ var _fileName = require("../../ui/file-name");
|
|
|
35
35
|
|
|
36
36
|
var _filters = require("../../ui/filters");
|
|
37
37
|
|
|
38
|
-
var
|
|
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(
|
|
105
|
-
ariaLabel: "View module info",
|
|
104
|
+
}, !showPopopver ? content : /*#__PURE__*/_react["default"].createElement(_hoverCard.HoverCard, {
|
|
106
105
|
label: content
|
|
107
106
|
}, function (_ref2) {
|
|
108
|
-
var
|
|
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:
|
|
115
|
+
onClick: close
|
|
117
116
|
});
|
|
118
117
|
}));
|
|
119
118
|
};
|
|
@@ -27,7 +27,7 @@ var _emptySet = require("../../ui/empty-set");
|
|
|
27
27
|
|
|
28
28
|
var _filters = require("../../ui/filters");
|
|
29
29
|
|
|
30
|
-
var
|
|
30
|
+
var _hoverCard = require("../../ui/hover-card");
|
|
31
31
|
|
|
32
32
|
var _sortDropdown = require("../../ui/sort-dropdown");
|
|
33
33
|
|
|
@@ -148,10 +148,12 @@ var PackageRowHeader = function PackageRowHeader(_ref2) {
|
|
|
148
148
|
className: _bundlePackagesModule["default"].tagDuplicate
|
|
149
149
|
});
|
|
150
150
|
|
|
151
|
-
return /*#__PURE__*/_react["default"].createElement(
|
|
151
|
+
return /*#__PURE__*/_react["default"].createElement(_hoverCard.HoverCard, {
|
|
152
152
|
className: _bundlePackagesModule["default"].packageName,
|
|
153
|
-
|
|
154
|
-
|
|
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))
|
|
155
157
|
}, /*#__PURE__*/_react["default"].createElement(PackagePopoverContent, {
|
|
156
158
|
name: packageName,
|
|
157
159
|
path: path,
|
|
@@ -17,7 +17,9 @@ var _flexStack = require("../../layout/flex-stack");
|
|
|
17
17
|
|
|
18
18
|
var _stack = require("../../layout/stack");
|
|
19
19
|
|
|
20
|
-
var
|
|
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(
|
|
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(
|
|
41
|
-
|
|
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;
|
|
@@ -13,7 +13,9 @@ var _classnames = _interopRequireDefault(require("classnames"));
|
|
|
13
13
|
|
|
14
14
|
var _utils = require("@bundle-stats/utils");
|
|
15
15
|
|
|
16
|
-
var
|
|
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
|
|
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("
|
|
52
|
-
|
|
53
|
-
className: _summaryItemModule["default"].
|
|
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
|
-
|
|
53
|
+
MetricInfo.propTypes = {
|
|
59
54
|
description: _propTypes["default"].string.isRequired,
|
|
60
55
|
url: _propTypes["default"].string
|
|
61
56
|
};
|
|
62
|
-
|
|
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(
|
|
91
|
+
}, /*#__PURE__*/_react["default"].createElement("span", null, metric.label), showMetricDescriptionTooltip && /*#__PURE__*/_react["default"].createElement(_hoverCard.HoverCard, {
|
|
97
92
|
className: _summaryItemModule["default"].icon,
|
|
98
|
-
|
|
99
|
-
|
|
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
|
|
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(
|
|
34
|
-
|
|
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", {
|
package/lib/css/variables.css
CHANGED
|
@@ -170,7 +170,7 @@
|
|
|
170
170
|
--color-outline-warning: var(--color-yellow-200);
|
|
171
171
|
--color-outline-danger: var(--color-red-100);
|
|
172
172
|
|
|
173
|
-
--color-shadow: rgba(0, 0, 0, 0.
|
|
173
|
+
--color-shadow: rgba(0, 0, 0, 0.2);
|
|
174
174
|
|
|
175
175
|
--transition-in: all 0.2s ease-in;
|
|
176
176
|
--transition-out: all 0.17s ease-out;
|
|
@@ -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
|
|
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,
|
|
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,
|
|
@@ -11,7 +11,7 @@ var _propTypes = _interopRequireDefault(require("prop-types"));
|
|
|
11
11
|
|
|
12
12
|
var _classnames = _interopRequireDefault(require("classnames"));
|
|
13
13
|
|
|
14
|
-
var
|
|
14
|
+
var _menu = require("ariakit/menu");
|
|
15
15
|
|
|
16
16
|
var _flexStack = require("../../layout/flex-stack");
|
|
17
17
|
|
|
@@ -21,34 +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,
|
|
34
|
-
var
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
}
|
|
38
|
-
|
|
39
|
-
className:
|
|
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
|
-
}
|
|
38
|
+
}, /*#__PURE__*/_react["default"].createElement(_flexStack.FlexStack, {
|
|
42
39
|
space: "xxxsmall"
|
|
43
40
|
}, glyph && /*#__PURE__*/_react["default"].createElement(_icon.Icon, {
|
|
44
41
|
className: _dropdownModule["default"].labelIcon,
|
|
45
42
|
glyph: glyph
|
|
46
|
-
}), label)), /*#__PURE__*/_react["default"].createElement(
|
|
43
|
+
}), label)), /*#__PURE__*/_react["default"].createElement(_menu.Menu, {
|
|
44
|
+
state: menuState,
|
|
47
45
|
"aria-label": ariaLabel || label,
|
|
48
46
|
className: _dropdownModule["default"].dropdown
|
|
49
|
-
}
|
|
50
|
-
MenuItem:
|
|
51
|
-
menu:
|
|
47
|
+
}, typeof children === 'function' ? children({
|
|
48
|
+
MenuItem: _menu.MenuItem,
|
|
49
|
+
menu: menuState,
|
|
52
50
|
menuItemClassName: _dropdownModule["default"].menuItem,
|
|
53
51
|
menuItemActiveClassName: _dropdownModule["default"].menuItemActive
|
|
54
52
|
}) : children));
|
|
@@ -59,8 +57,7 @@ Dropdown.defaultProps = {
|
|
|
59
57
|
className: '',
|
|
60
58
|
label: null,
|
|
61
59
|
ariaLabel: '',
|
|
62
|
-
glyph: null
|
|
63
|
-
activeLabel: false
|
|
60
|
+
glyph: null
|
|
64
61
|
};
|
|
65
62
|
Dropdown.propTypes = {
|
|
66
63
|
/** Adopted child class name */
|
|
@@ -75,12 +72,6 @@ Dropdown.propTypes = {
|
|
|
75
72
|
/** Icon glyph */
|
|
76
73
|
glyph: _propTypes["default"].oneOfType([_propTypes["default"].string, _propTypes["default"].node]),
|
|
77
74
|
|
|
78
|
-
/** Dropdown open state */
|
|
79
|
-
open: _propTypes["default"].bool.isRequired,
|
|
80
|
-
|
|
81
|
-
/** Active label flag */
|
|
82
|
-
activeLabel: _propTypes["default"].bool,
|
|
83
|
-
|
|
84
75
|
/** Content */
|
|
85
76
|
children: _propTypes["default"].oneOfType([_propTypes["default"].string, _propTypes["default"].element, _propTypes["default"].func]).isRequired
|
|
86
77
|
};
|
|
@@ -1,4 +1,8 @@
|
|
|
1
1
|
.root {
|
|
2
|
+
display: inline-block;
|
|
3
|
+
}
|
|
4
|
+
|
|
5
|
+
.button {
|
|
2
6
|
background: none;
|
|
3
7
|
border: none;
|
|
4
8
|
padding: 0;
|
|
@@ -18,9 +22,9 @@
|
|
|
18
22
|
color: var(--color-text-light);
|
|
19
23
|
}
|
|
20
24
|
|
|
21
|
-
.
|
|
22
|
-
.
|
|
23
|
-
.
|
|
25
|
+
.button:hover,
|
|
26
|
+
.button:focus,
|
|
27
|
+
.button:active {
|
|
24
28
|
outline: none;
|
|
25
29
|
box-shadow: 0 0 var(--space-xxxsmall) var(--color-shadow);
|
|
26
30
|
border-color: var(--color-outline-dark);
|
|
@@ -44,10 +48,6 @@
|
|
|
44
48
|
box-shadow: 0 2px var(--space-xsmall) var(--color-shadow);
|
|
45
49
|
}
|
|
46
50
|
|
|
47
|
-
.activeLabel .label {
|
|
48
|
-
color: var(--color-text);
|
|
49
|
-
}
|
|
50
|
-
|
|
51
51
|
.menuItem {
|
|
52
52
|
display: block;
|
|
53
53
|
appearance: none;
|
|
@@ -18,22 +18,15 @@ stories.add('default', function () {
|
|
|
18
18
|
label: "Toggle"
|
|
19
19
|
}, /*#__PURE__*/_react["default"].createElement("ul", null, /*#__PURE__*/_react["default"].createElement("li", null, "Option 1"), /*#__PURE__*/_react["default"].createElement("li", null, "Option 2")));
|
|
20
20
|
});
|
|
21
|
-
stories.add('with right alignement', function () {
|
|
22
|
-
return /*#__PURE__*/_react["default"].createElement(_.Dropdown, {
|
|
23
|
-
glyph: "filter",
|
|
24
|
-
label: "Toggle",
|
|
25
|
-
align: "right"
|
|
26
|
-
}, /*#__PURE__*/_react["default"].createElement("ul", null, /*#__PURE__*/_react["default"].createElement("li", null, "Option 1"), /*#__PURE__*/_react["default"].createElement("li", null, "Option 2")));
|
|
27
|
-
});
|
|
28
21
|
stories.add('with render function', function () {
|
|
29
22
|
return /*#__PURE__*/_react["default"].createElement(_.Dropdown, {
|
|
30
23
|
glyph: "filter",
|
|
31
24
|
label: "Toggle"
|
|
32
25
|
}, function (_ref) {
|
|
33
|
-
var
|
|
26
|
+
var menu = _ref.menu;
|
|
34
27
|
return /*#__PURE__*/_react["default"].createElement("button", {
|
|
35
28
|
type: "button",
|
|
36
|
-
onClick:
|
|
29
|
+
onClick: menu.toggle
|
|
37
30
|
}, "Toggle dropdown");
|
|
38
31
|
});
|
|
39
32
|
});
|
|
@@ -0,0 +1,100 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.HoverCard = void 0;
|
|
7
|
+
|
|
8
|
+
var _react = _interopRequireDefault(require("react"));
|
|
9
|
+
|
|
10
|
+
var _propTypes = _interopRequireDefault(require("prop-types"));
|
|
11
|
+
|
|
12
|
+
var _classnames = _interopRequireDefault(require("classnames"));
|
|
13
|
+
|
|
14
|
+
var _hovercard = require("ariakit/hovercard");
|
|
15
|
+
|
|
16
|
+
var _icon = require("../icon");
|
|
17
|
+
|
|
18
|
+
var _hoverCardModule = _interopRequireDefault(require("./hover-card.module.css"));
|
|
19
|
+
|
|
20
|
+
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
|
|
21
|
+
|
|
22
|
+
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); }
|
|
23
|
+
|
|
24
|
+
var resolveComponent = function resolveComponent(as, href) {
|
|
25
|
+
if (as) {
|
|
26
|
+
return as;
|
|
27
|
+
}
|
|
28
|
+
|
|
29
|
+
if (href) {
|
|
30
|
+
return 'a';
|
|
31
|
+
}
|
|
32
|
+
|
|
33
|
+
return 'span';
|
|
34
|
+
};
|
|
35
|
+
|
|
36
|
+
var HoverCard = function HoverCard(props) {
|
|
37
|
+
var className = props.className,
|
|
38
|
+
href = props.href,
|
|
39
|
+
as = props.as,
|
|
40
|
+
label = props.label,
|
|
41
|
+
children = props.children;
|
|
42
|
+
var state = (0, _hovercard.useHovercardState)({
|
|
43
|
+
gutter: 8
|
|
44
|
+
});
|
|
45
|
+
var hoverCardProps = (0, _hovercard.useHovercard)({
|
|
46
|
+
state: state,
|
|
47
|
+
portal: true
|
|
48
|
+
}); // Fallback to span if no href
|
|
49
|
+
|
|
50
|
+
var Component = resolveComponent(as, href);
|
|
51
|
+
return /*#__PURE__*/_react["default"].createElement("div", {
|
|
52
|
+
className: (0, _classnames["default"])(_hoverCardModule["default"].root, className)
|
|
53
|
+
}, /*#__PURE__*/_react["default"].createElement(_hovercard.HovercardAnchor, {
|
|
54
|
+
state: state,
|
|
55
|
+
href: href,
|
|
56
|
+
className: _hoverCardModule["default"].anchor,
|
|
57
|
+
as: Component
|
|
58
|
+
}, label), /*#__PURE__*/_react["default"].createElement(_hovercard.Hovercard, _extends({}, hoverCardProps, {
|
|
59
|
+
state: state,
|
|
60
|
+
className: _hoverCardModule["default"].hoverCard,
|
|
61
|
+
style: {
|
|
62
|
+
zIndex: 10000
|
|
63
|
+
}
|
|
64
|
+
}), /*#__PURE__*/_react["default"].createElement(_hovercard.HovercardArrow, {
|
|
65
|
+
size: 24
|
|
66
|
+
}), typeof children === 'function' ? children({
|
|
67
|
+
close: state.hide
|
|
68
|
+
}) : children, /*#__PURE__*/_react["default"].createElement(_icon.Icon, {
|
|
69
|
+
glyph: "close",
|
|
70
|
+
size: "small",
|
|
71
|
+
as: "button",
|
|
72
|
+
type: "button",
|
|
73
|
+
className: _hoverCardModule["default"].closeBtn,
|
|
74
|
+
onClick: state.hide
|
|
75
|
+
})));
|
|
76
|
+
};
|
|
77
|
+
|
|
78
|
+
exports.HoverCard = HoverCard;
|
|
79
|
+
HoverCard.propTypes = {
|
|
80
|
+
/** Adopted child class name */
|
|
81
|
+
className: _propTypes["default"].string,
|
|
82
|
+
|
|
83
|
+
/** Anchor label */
|
|
84
|
+
label: _propTypes["default"].node,
|
|
85
|
+
|
|
86
|
+
/** Anchor href */
|
|
87
|
+
href: _propTypes["default"].string,
|
|
88
|
+
|
|
89
|
+
/** Anchor component */
|
|
90
|
+
as: _propTypes["default"].elementType,
|
|
91
|
+
|
|
92
|
+
/** Hover card component */
|
|
93
|
+
children: _propTypes["default"].oneOfType([_propTypes["default"].node, _propTypes["default"].func]).isRequired
|
|
94
|
+
};
|
|
95
|
+
HoverCard.defaultProps = {
|
|
96
|
+
className: '',
|
|
97
|
+
label: '',
|
|
98
|
+
as: '',
|
|
99
|
+
href: ''
|
|
100
|
+
};
|