@bundle-stats/ui 3.2.1-alpha.0 → 3.2.1-beta.9
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 +2 -1
- package/lib/components/browsertime-table/browsertime-table.stories.js +1 -0
- package/lib/components/bundle-assets-totals-chart-bars/bundle-assets-totals-chart-bars.js +17 -18
- package/lib/components/job-meta/job-meta.js +1 -1
- package/lib/components/summary/summary.js +52 -34
- package/lib/hooks/search-params.js +1 -1
- package/lib/utils.js +6 -3
- package/lib-esm/app/app.js +60 -50
- package/lib-esm/app/header/header.js +22 -19
- package/lib-esm/components/asset-info/asset-info.js +8 -6
- package/lib-esm/components/browsertime-table/browsertime-table.stories.js +2 -1
- package/lib-esm/components/bundle-assets/bundle-assets.js +93 -80
- package/lib-esm/components/bundle-assets-totals-chart-bars/bundle-assets-totals-chart-bars.js +29 -26
- package/lib-esm/components/bundle-assets-totals-table/bundle-assets-totals-table.js +6 -5
- package/lib-esm/components/bundle-modules/bundle-modules.js +82 -67
- package/lib-esm/components/bundle-modules/bundle-modules.utils.js +9 -6
- package/lib-esm/components/bundle-modules/index.js +6 -3
- package/lib-esm/components/bundle-packages/bundle-packages.js +29 -24
- package/lib-esm/components/component-link.js +7 -6
- package/lib-esm/components/delta/delta.js +7 -6
- package/lib-esm/components/job-meta/job-meta.js +6 -5
- package/lib-esm/components/job-name/job-name.js +14 -11
- package/lib-esm/components/metric/metric.js +10 -9
- package/lib-esm/components/metrics-table/metrics-table.js +24 -20
- package/lib-esm/components/metrics-table-options/metrics-table-options.js +7 -5
- package/lib-esm/components/summary/summary.js +60 -30
- package/lib-esm/components/summary/summary.stories.js +11 -8
- package/lib-esm/components/summary-item/summary-item.js +18 -15
- package/lib-esm/components/total-size-type-title/total-size-type-title.js +17 -14
- package/lib-esm/hooks/rows-filter.js +7 -6
- package/lib-esm/hooks/rows-sort.js +8 -7
- package/lib-esm/hooks/search-params.js +74 -70
- package/lib-esm/layout/footer/footer.js +33 -30
- package/lib-esm/layout/header/header.js +17 -14
- package/lib-esm/layout/header/header.stories.js +45 -30
- package/lib-esm/prototypes/typography.stories.js +5 -4
- package/lib-esm/stories/wrapper.js +20 -14
- package/lib-esm/ui/container/container.js +12 -9
- package/lib-esm/ui/dropdown/dropdown.stories.js +9 -6
- package/lib-esm/ui/file-name/file-name.js +10 -7
- package/lib-esm/ui/filters/filters.container.js +14 -8
- package/lib-esm/ui/filters/filters.js +41 -19
- package/lib-esm/ui/filters/filters.stories.js +4 -3
- package/lib-esm/ui/filters/filters.utils.js +12 -6
- package/lib-esm/ui/horizontal-bar-chart/horizontal-bar-chart.js +7 -6
- package/lib-esm/ui/icon/icon.js +16 -13
- package/lib-esm/ui/input/input.js +6 -5
- package/lib-esm/ui/loader/loader.js +10 -7
- package/lib-esm/ui/logo/logo.js +7 -6
- package/lib-esm/ui/logo/logo.stories.js +7 -1
- package/lib-esm/ui/panels/panels.js +10 -7
- package/lib-esm/ui/popover/popover.js +8 -7
- package/lib-esm/ui/sort-dropdown/sort-dropdown.js +10 -7
- package/lib-esm/ui/table/table.js +8 -7
- package/lib-esm/ui/tabs/tabs.js +9 -6
- package/lib-esm/ui/toolbar/toolbar.stories.js +10 -7
- package/lib-esm/utils.js +13 -4
- package/package.json +19 -14
- package/src/components/bundle-assets-totals-chart-bars/bundle-assets-totals-chart-bars.jsx +15 -15
- package/src/components/job-meta/job-meta.jsx +1 -3
- package/src/components/summary/summary.jsx +26 -10
- package/src/hooks/search-params.js +1 -1
- package/src/utils.jsx +5 -3
|
@@ -2,20 +2,23 @@ import React from 'react';
|
|
|
2
2
|
import PropTypes from 'prop-types';
|
|
3
3
|
import cx from 'classnames';
|
|
4
4
|
import css from './header.module.css';
|
|
5
|
-
export const Header =
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
}
|
|
15
|
-
|
|
16
|
-
}),
|
|
17
|
-
|
|
18
|
-
})
|
|
5
|
+
export const Header = _ref => {
|
|
6
|
+
let {
|
|
7
|
+
className,
|
|
8
|
+
renderLeft,
|
|
9
|
+
renderRight,
|
|
10
|
+
render
|
|
11
|
+
} = _ref;
|
|
12
|
+
return /*#__PURE__*/React.createElement("header", {
|
|
13
|
+
className: cx(css.root, className)
|
|
14
|
+
}, renderLeft({
|
|
15
|
+
className: css.left
|
|
16
|
+
}), render({
|
|
17
|
+
className: css.center
|
|
18
|
+
}), renderRight({
|
|
19
|
+
className: css.right
|
|
20
|
+
}));
|
|
21
|
+
};
|
|
19
22
|
Header.defaultProps = {
|
|
20
23
|
className: '',
|
|
21
24
|
renderLeft: props => /*#__PURE__*/React.createElement("div", props),
|
|
@@ -7,36 +7,51 @@ import { Header } from '.';
|
|
|
7
7
|
const stories = storiesOf('Layout/Header', module);
|
|
8
8
|
stories.addDecorator(getWrapperDecorator());
|
|
9
9
|
stories.add('default', () => /*#__PURE__*/React.createElement(Header, {
|
|
10
|
-
renderLeft:
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
}
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
10
|
+
renderLeft: _ref => {
|
|
11
|
+
let {
|
|
12
|
+
className
|
|
13
|
+
} = _ref;
|
|
14
|
+
return /*#__PURE__*/React.createElement("div", {
|
|
15
|
+
className: className
|
|
16
|
+
}, /*#__PURE__*/React.createElement(Logo, null));
|
|
17
|
+
},
|
|
18
|
+
render: _ref2 => {
|
|
19
|
+
let {
|
|
20
|
+
className
|
|
21
|
+
} = _ref2;
|
|
22
|
+
return /*#__PURE__*/React.createElement("div", {
|
|
23
|
+
className: className
|
|
24
|
+
}, /*#__PURE__*/React.createElement(Tabs, null, /*#__PURE__*/React.createElement("span", null, "Totals"), /*#__PURE__*/React.createElement("span", null, "Assets"), /*#__PURE__*/React.createElement("span", null, "Modules")));
|
|
25
|
+
},
|
|
26
|
+
renderRight: _ref3 => {
|
|
27
|
+
let {
|
|
28
|
+
className
|
|
29
|
+
} = _ref3;
|
|
30
|
+
return /*#__PURE__*/React.createElement("div", {
|
|
31
|
+
className: className
|
|
32
|
+
}, /*#__PURE__*/React.createElement(Logo, {
|
|
33
|
+
kind: "github"
|
|
34
|
+
}));
|
|
35
|
+
}
|
|
27
36
|
}));
|
|
28
37
|
stories.add('menu on the right', () => /*#__PURE__*/React.createElement(Header, {
|
|
29
|
-
renderLeft:
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
}
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
}
|
|
41
|
-
|
|
38
|
+
renderLeft: _ref4 => {
|
|
39
|
+
let {
|
|
40
|
+
className
|
|
41
|
+
} = _ref4;
|
|
42
|
+
return /*#__PURE__*/React.createElement("div", {
|
|
43
|
+
className: className
|
|
44
|
+
}, /*#__PURE__*/React.createElement(Logo, null));
|
|
45
|
+
},
|
|
46
|
+
renderRight: _ref5 => {
|
|
47
|
+
let {
|
|
48
|
+
className
|
|
49
|
+
} = _ref5;
|
|
50
|
+
return /*#__PURE__*/React.createElement("div", {
|
|
51
|
+
className: className,
|
|
52
|
+
style: {
|
|
53
|
+
flexBasis: '100%'
|
|
54
|
+
}
|
|
55
|
+
}, /*#__PURE__*/React.createElement(Tabs, null, /*#__PURE__*/React.createElement("span", null, "Totals"), /*#__PURE__*/React.createElement("span", null, "Assets"), /*#__PURE__*/React.createElement("span", null, "Modules")));
|
|
56
|
+
}
|
|
42
57
|
}));
|
|
@@ -26,10 +26,11 @@ stories.add('typography', () => /*#__PURE__*/React.createElement(React.Fragment,
|
|
|
26
26
|
}
|
|
27
27
|
})))); // eslint-disable-next-line react/prop-types
|
|
28
28
|
|
|
29
|
-
const Item =
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
29
|
+
const Item = _ref => {
|
|
30
|
+
let {
|
|
31
|
+
colorName,
|
|
32
|
+
valueName = 'normal'
|
|
33
|
+
} = _ref;
|
|
33
34
|
const colorFullName = valueName === 'normal' ? colorName : [colorName, valueName].join('-');
|
|
34
35
|
return /*#__PURE__*/React.createElement("div", {
|
|
35
36
|
style: {
|
|
@@ -1,18 +1,24 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
2
|
import { MemoryRouter } from 'react-router-dom';
|
|
3
|
-
export const getWrapperDecorator = (customWrapperStyles
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
3
|
+
export const getWrapperDecorator = function (customWrapperStyles) {
|
|
4
|
+
if (customWrapperStyles === void 0) {
|
|
5
|
+
customWrapperStyles = {};
|
|
6
|
+
}
|
|
7
|
+
|
|
8
|
+
return storyFn => {
|
|
9
|
+
const wrapperStyles = {
|
|
10
|
+
width: '100%',
|
|
11
|
+
height: '100%',
|
|
12
|
+
padding: '24px',
|
|
13
|
+
...customWrapperStyles
|
|
14
|
+
};
|
|
15
|
+
return /*#__PURE__*/React.createElement(MemoryRouter, {
|
|
16
|
+
initialEntries: [{
|
|
17
|
+
pathname: '/',
|
|
18
|
+
key: 'home'
|
|
19
|
+
}]
|
|
20
|
+
}, /*#__PURE__*/React.createElement("div", {
|
|
21
|
+
style: wrapperStyles
|
|
22
|
+
}, storyFn()));
|
|
9
23
|
};
|
|
10
|
-
return /*#__PURE__*/React.createElement(MemoryRouter, {
|
|
11
|
-
initialEntries: [{
|
|
12
|
-
pathname: '/',
|
|
13
|
-
key: 'home'
|
|
14
|
-
}]
|
|
15
|
-
}, /*#__PURE__*/React.createElement("div", {
|
|
16
|
-
style: wrapperStyles
|
|
17
|
-
}, storyFn()));
|
|
18
24
|
};
|
|
@@ -4,15 +4,18 @@ import React from 'react';
|
|
|
4
4
|
import PropTypes from 'prop-types';
|
|
5
5
|
import cx from 'classnames';
|
|
6
6
|
import css from './container.module.css';
|
|
7
|
-
export const Container =
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
},
|
|
7
|
+
export const Container = _ref => {
|
|
8
|
+
let {
|
|
9
|
+
className,
|
|
10
|
+
as: Component,
|
|
11
|
+
...restProps
|
|
12
|
+
} = _ref;
|
|
13
|
+
return /*#__PURE__*/React.createElement(Component, {
|
|
14
|
+
className: cx(css.root, className)
|
|
15
|
+
}, /*#__PURE__*/React.createElement("div", _extends({
|
|
16
|
+
className: css.inner
|
|
17
|
+
}, restProps)));
|
|
18
|
+
};
|
|
16
19
|
Container.defaultProps = {
|
|
17
20
|
className: '',
|
|
18
21
|
as: 'div'
|
|
@@ -16,9 +16,12 @@ stories.add('with right alignement', () => /*#__PURE__*/React.createElement(Drop
|
|
|
16
16
|
stories.add('with render function', () => /*#__PURE__*/React.createElement(Dropdown, {
|
|
17
17
|
glyph: "filter",
|
|
18
18
|
label: "Toggle"
|
|
19
|
-
},
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
19
|
+
}, _ref => {
|
|
20
|
+
let {
|
|
21
|
+
dropdownToggle
|
|
22
|
+
} = _ref;
|
|
23
|
+
return /*#__PURE__*/React.createElement("button", {
|
|
24
|
+
type: "button",
|
|
25
|
+
onClick: dropdownToggle
|
|
26
|
+
}, "Toggle dropdown");
|
|
27
|
+
}));
|
|
@@ -2,13 +2,16 @@ import React from 'react';
|
|
|
2
2
|
import PropTypes from 'prop-types';
|
|
3
3
|
import cx from 'classnames';
|
|
4
4
|
import css from './file-name.module.css';
|
|
5
|
-
export const FileName =
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
5
|
+
export const FileName = _ref => {
|
|
6
|
+
let {
|
|
7
|
+
className,
|
|
8
|
+
as: Component,
|
|
9
|
+
name
|
|
10
|
+
} = _ref;
|
|
11
|
+
return /*#__PURE__*/React.createElement(Component, {
|
|
12
|
+
className: cx(css.root, className)
|
|
13
|
+
}, name);
|
|
14
|
+
};
|
|
12
15
|
FileName.defaultProps = {
|
|
13
16
|
className: '',
|
|
14
17
|
as: 'span',
|
|
@@ -13,7 +13,10 @@ const getInitialValues = (key, filters) => {
|
|
|
13
13
|
}
|
|
14
14
|
|
|
15
15
|
if (typeof filters === 'object') {
|
|
16
|
-
return Object.entries(filters).map(
|
|
16
|
+
return Object.entries(filters).map(_ref => {
|
|
17
|
+
let [groupKey, groupFilters] = _ref;
|
|
18
|
+
return getInitialValues([...(key ? [key] : []), groupKey].join('.'), groupFilters);
|
|
19
|
+
}).reduce((agg, current) => ({ ...agg,
|
|
17
20
|
...current
|
|
18
21
|
}), {});
|
|
19
22
|
}
|
|
@@ -26,10 +29,11 @@ export const filtersDropdownContainer = BaseComponent => {
|
|
|
26
29
|
constructor(props) {
|
|
27
30
|
super(props);
|
|
28
31
|
|
|
29
|
-
this.toggleFilter = (key, value) => this.setState(
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
32
|
+
this.toggleFilter = (key, value) => this.setState(_ref2 => {
|
|
33
|
+
let {
|
|
34
|
+
values,
|
|
35
|
+
...state
|
|
36
|
+
} = _ref2;
|
|
33
37
|
const newState = { ...state,
|
|
34
38
|
values: { ...values,
|
|
35
39
|
[key]: value
|
|
@@ -71,9 +75,11 @@ export const filtersDropdownContainer = BaseComponent => {
|
|
|
71
75
|
};
|
|
72
76
|
}
|
|
73
77
|
|
|
74
|
-
static getDerivedStateFromProps({
|
|
75
|
-
|
|
76
|
-
|
|
78
|
+
static getDerivedStateFromProps(_ref3, state) {
|
|
79
|
+
let {
|
|
80
|
+
filters
|
|
81
|
+
} = _ref3;
|
|
82
|
+
|
|
77
83
|
if (_isEqual(filters, state.values)) {
|
|
78
84
|
return null;
|
|
79
85
|
}
|
|
@@ -65,34 +65,51 @@ const FilterGroup = props => {
|
|
|
65
65
|
...groupData
|
|
66
66
|
} = data;
|
|
67
67
|
const groupItems = Object.entries(groupData);
|
|
68
|
-
const groupCheckboxes = groupItems.filter(
|
|
69
|
-
|
|
68
|
+
const groupCheckboxes = groupItems.filter(_ref => {
|
|
69
|
+
let [itemKey, item] = _ref;
|
|
70
|
+
return typeof (item == null ? void 0 : item.defaultValue) !== 'undefined';
|
|
71
|
+
});
|
|
72
|
+
const isGroupChecked = groupCheckboxes.map(_ref2 => {
|
|
73
|
+
let [itemKey] = _ref2;
|
|
74
|
+
return _get(values, `${groupKey}.${itemKey}`);
|
|
75
|
+
}).reduce((agg, val) => agg && val, true);
|
|
70
76
|
const filterSuffix = getGroupFiltersLabelSuffix(groupItems);
|
|
71
77
|
const hasCustomFilterSuffix = !Object.values(LABELS).includes(filterSuffix);
|
|
72
78
|
const dropdownLabel = /*#__PURE__*/React.createElement(React.Fragment, null, `${groupLabel}:`, "\xA0", /*#__PURE__*/React.createElement("span", {
|
|
73
79
|
className: cx(hasCustomFilterSuffix && css.labelSuffixCustom)
|
|
74
80
|
}, filterSuffix));
|
|
75
81
|
|
|
76
|
-
const getOnGroupCheck = (value, overrides
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
}
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
82
|
+
const getOnGroupCheck = function (value, overrides) {
|
|
83
|
+
if (overrides === void 0) {
|
|
84
|
+
overrides = {};
|
|
85
|
+
}
|
|
86
|
+
|
|
87
|
+
return () => {
|
|
88
|
+
const newFilters = groupCheckboxes.reduce((agg, _ref3) => {
|
|
89
|
+
let [itemKey] = _ref3;
|
|
90
|
+
return { ...agg,
|
|
91
|
+
[`${groupKey}.${itemKey}`]: value
|
|
92
|
+
};
|
|
93
|
+
}, {});
|
|
94
|
+
toggleFilters({ ...newFilters,
|
|
95
|
+
...overrides
|
|
96
|
+
});
|
|
97
|
+
};
|
|
83
98
|
};
|
|
84
99
|
|
|
85
100
|
return /*#__PURE__*/React.createElement(Dropdown, {
|
|
86
101
|
label: dropdownLabel,
|
|
87
102
|
ariaLabel: `${groupLabel}: ${filterSuffix}`
|
|
88
|
-
},
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
103
|
+
}, _ref4 => {
|
|
104
|
+
let {
|
|
105
|
+
MenuItem,
|
|
106
|
+
menu,
|
|
107
|
+
menuItemClassName
|
|
108
|
+
} = _ref4;
|
|
93
109
|
return /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement("div", {
|
|
94
110
|
className: css.filterGroupItems
|
|
95
|
-
}, groupItems.map(
|
|
111
|
+
}, groupItems.map(_ref5 => {
|
|
112
|
+
let [itemKey, itemData] = _ref5;
|
|
96
113
|
const id = [groupKey, itemKey].join('.');
|
|
97
114
|
|
|
98
115
|
const getOnOnlyClick = () => getOnGroupCheck(false, {
|
|
@@ -147,16 +164,21 @@ export const Filters = props => {
|
|
|
147
164
|
toggleFilters
|
|
148
165
|
} = props;
|
|
149
166
|
|
|
150
|
-
const onCheckboxChange =
|
|
151
|
-
|
|
152
|
-
|
|
167
|
+
const onCheckboxChange = _ref6 => {
|
|
168
|
+
let {
|
|
169
|
+
target
|
|
170
|
+
} = _ref6;
|
|
171
|
+
return toggleFilter(target.name, target.checked);
|
|
172
|
+
};
|
|
153
173
|
|
|
154
174
|
const rootClassName = cx(css.root, className);
|
|
155
175
|
return /*#__PURE__*/React.createElement("form", {
|
|
156
176
|
className: rootClassName
|
|
157
177
|
}, /*#__PURE__*/React.createElement(FlexStack, {
|
|
158
178
|
className: css.items
|
|
159
|
-
}, Object.entries(filters).map(
|
|
179
|
+
}, Object.entries(filters).map(_ref7 => {
|
|
180
|
+
let [name, data] = _ref7;
|
|
181
|
+
|
|
160
182
|
if (typeof (data == null ? void 0 : data.defaultValue) !== 'undefined') {
|
|
161
183
|
return /*#__PURE__*/React.createElement(Filter, {
|
|
162
184
|
key: name,
|
|
@@ -8,9 +8,10 @@ stories.addDecorator(getWrapperDecorator({
|
|
|
8
8
|
paddingLeft: '200px'
|
|
9
9
|
}));
|
|
10
10
|
|
|
11
|
-
const FiltersState =
|
|
12
|
-
|
|
13
|
-
|
|
11
|
+
const FiltersState = _ref => {
|
|
12
|
+
let {
|
|
13
|
+
children
|
|
14
|
+
} = _ref;
|
|
14
15
|
const [values, setValues] = useState({
|
|
15
16
|
changed: true,
|
|
16
17
|
'assetType.entrypoint': true
|
|
@@ -13,9 +13,12 @@ export const LABELS = {
|
|
|
13
13
|
export const getGroupFiltersLabelSuffix = filters => {
|
|
14
14
|
const filterCount = filters.length; // eslint-disable-next-line no-unused-vars
|
|
15
15
|
|
|
16
|
-
const checkedFilters = filters.filter(
|
|
17
|
-
|
|
18
|
-
|
|
16
|
+
const checkedFilters = filters.filter(_ref => {
|
|
17
|
+
let [_, {
|
|
18
|
+
defaultValue
|
|
19
|
+
}] = _ref;
|
|
20
|
+
return defaultValue;
|
|
21
|
+
});
|
|
19
22
|
const filterCheckedCount = checkedFilters.length;
|
|
20
23
|
|
|
21
24
|
if (filterCheckedCount === 0) {
|
|
@@ -27,9 +30,12 @@ export const getGroupFiltersLabelSuffix = filters => {
|
|
|
27
30
|
} // eslint-disable-next-line no-unused-vars
|
|
28
31
|
|
|
29
32
|
|
|
30
|
-
const checkedFilterLabels = checkedFilters.map(
|
|
31
|
-
|
|
32
|
-
|
|
33
|
+
const checkedFilterLabels = checkedFilters.map(_ref2 => {
|
|
34
|
+
let [_, {
|
|
35
|
+
label
|
|
36
|
+
}] = _ref2;
|
|
37
|
+
return label;
|
|
38
|
+
});
|
|
33
39
|
let suffix = '';
|
|
34
40
|
let inlinedLabelCount = 0;
|
|
35
41
|
let done = false;
|
|
@@ -110,12 +110,13 @@ export const HorizontalBarChart = props => {
|
|
|
110
110
|
}, []);
|
|
111
111
|
return /*#__PURE__*/React.createElement("div", {
|
|
112
112
|
className: cx(css.root, className)
|
|
113
|
-
}, entries.map(({
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
113
|
+
}, entries.map((_ref, index) => {
|
|
114
|
+
let {
|
|
115
|
+
color,
|
|
116
|
+
getItemTooltip,
|
|
117
|
+
label,
|
|
118
|
+
width
|
|
119
|
+
} = _ref;
|
|
119
120
|
const key = index;
|
|
120
121
|
return /*#__PURE__*/React.createElement(HorizontalBarChartItem, {
|
|
121
122
|
key: key,
|
package/lib-esm/ui/icon/icon.js
CHANGED
|
@@ -16,19 +16,22 @@ const ICONS = {
|
|
|
16
16
|
SORT: 'sort',
|
|
17
17
|
WARNING: 'warning'
|
|
18
18
|
};
|
|
19
|
-
export const Icon =
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
}, /*#__PURE__*/React.createElement("
|
|
30
|
-
|
|
31
|
-
}
|
|
19
|
+
export const Icon = _ref => {
|
|
20
|
+
let {
|
|
21
|
+
className,
|
|
22
|
+
glyph,
|
|
23
|
+
as: Component,
|
|
24
|
+
size,
|
|
25
|
+
...restProps
|
|
26
|
+
} = _ref;
|
|
27
|
+
return /*#__PURE__*/React.createElement(Component, _extends({
|
|
28
|
+
className: cx(css.root, className, css[size])
|
|
29
|
+
}, restProps), /*#__PURE__*/React.createElement("svg", {
|
|
30
|
+
className: css.icon
|
|
31
|
+
}, /*#__PURE__*/React.createElement("use", {
|
|
32
|
+
xlinkHref: `#${glyph}`
|
|
33
|
+
})));
|
|
34
|
+
};
|
|
32
35
|
Icon.ICONS = ICONS;
|
|
33
36
|
Icon.SIZE_SMALL = 'small';
|
|
34
37
|
Icon.SIZE_MEDIUM = 'medium';
|
|
@@ -4,11 +4,12 @@ import React from 'react';
|
|
|
4
4
|
import cx from 'classnames';
|
|
5
5
|
import PropTypes from 'prop-types';
|
|
6
6
|
import css from './input.module.css';
|
|
7
|
-
export const Input =
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
7
|
+
export const Input = _ref => {
|
|
8
|
+
let {
|
|
9
|
+
className,
|
|
10
|
+
size,
|
|
11
|
+
...restProps
|
|
12
|
+
} = _ref;
|
|
12
13
|
const rootClassName = cx(css.root, className, css[size]);
|
|
13
14
|
return /*#__PURE__*/React.createElement("input", _extends({
|
|
14
15
|
className: rootClassName
|
|
@@ -4,13 +4,16 @@ import React from 'react';
|
|
|
4
4
|
import PropTypes from 'prop-types';
|
|
5
5
|
import cx from 'classnames';
|
|
6
6
|
import css from './loader.module.css';
|
|
7
|
-
export const Loader =
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
7
|
+
export const Loader = _ref => {
|
|
8
|
+
let {
|
|
9
|
+
className,
|
|
10
|
+
size,
|
|
11
|
+
...restProps
|
|
12
|
+
} = _ref;
|
|
13
|
+
return /*#__PURE__*/React.createElement("span", _extends({
|
|
14
|
+
className: cx(css.root, className, css[size])
|
|
15
|
+
}, restProps));
|
|
16
|
+
};
|
|
14
17
|
Loader.SIZE_SMALL = 'small';
|
|
15
18
|
Loader.SIZE_MEDIUM = 'medium';
|
|
16
19
|
Loader.SIZE_LARGE = 'large';
|
package/lib-esm/ui/logo/logo.js
CHANGED
|
@@ -78,12 +78,13 @@ const ICONS = {
|
|
|
78
78
|
[KIND_LOGO]: LogoSvg,
|
|
79
79
|
[KIND_WEBPACK]: WebpackSvg
|
|
80
80
|
};
|
|
81
|
-
export const Logo =
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
81
|
+
export const Logo = _ref => {
|
|
82
|
+
let {
|
|
83
|
+
className,
|
|
84
|
+
as: Component,
|
|
85
|
+
kind,
|
|
86
|
+
...props
|
|
87
|
+
} = _ref;
|
|
87
88
|
const rootClassName = cx(css.root, css[kind], className);
|
|
88
89
|
const Svg = ICONS[kind] || LogoSvg;
|
|
89
90
|
return /*#__PURE__*/React.createElement(Component, _extends({
|
|
@@ -5,7 +5,13 @@ import { getWrapperDecorator } from '../../stories';
|
|
|
5
5
|
import { KIND_DEFAULT, KIND_LOGOTYPE, KINDS } from './logo.constants';
|
|
6
6
|
import { Logo } from '.';
|
|
7
7
|
|
|
8
|
-
const selectKind = (value
|
|
8
|
+
const selectKind = function (value) {
|
|
9
|
+
if (value === void 0) {
|
|
10
|
+
value = KIND_DEFAULT;
|
|
11
|
+
}
|
|
12
|
+
|
|
13
|
+
return select('Kind', KINDS, value);
|
|
14
|
+
};
|
|
9
15
|
|
|
10
16
|
const stories = storiesOf('UI/Logo', module);
|
|
11
17
|
stories.addDecorator(getWrapperDecorator());
|
|
@@ -15,13 +15,16 @@ const cloneElement = element => {
|
|
|
15
15
|
});
|
|
16
16
|
};
|
|
17
17
|
|
|
18
|
-
export const Panels =
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
18
|
+
export const Panels = _ref => {
|
|
19
|
+
let {
|
|
20
|
+
className,
|
|
21
|
+
children,
|
|
22
|
+
...restProps
|
|
23
|
+
} = _ref;
|
|
24
|
+
return /*#__PURE__*/React.createElement("div", _extends({
|
|
25
|
+
className: cx(css.root, className)
|
|
26
|
+
}, restProps), React.Children.map(children, cloneElement));
|
|
27
|
+
};
|
|
25
28
|
Panels.defaultProps = {
|
|
26
29
|
className: '',
|
|
27
30
|
children: null
|
|
@@ -6,13 +6,14 @@ import cx from 'classnames';
|
|
|
6
6
|
import { usePopoverState, Popover as UIPopover, PopoverDisclosure as UIPopoverDisclosure, PopoverArrow as UIPopoverArrow } from 'reakit/Popover';
|
|
7
7
|
import { Icon } from '../icon';
|
|
8
8
|
import css from './popover.module.css';
|
|
9
|
-
export const Popover =
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
9
|
+
export const Popover = _ref => {
|
|
10
|
+
let {
|
|
11
|
+
className,
|
|
12
|
+
icon,
|
|
13
|
+
label,
|
|
14
|
+
ariaLabel,
|
|
15
|
+
children
|
|
16
|
+
} = _ref;
|
|
16
17
|
const popover = usePopoverState({
|
|
17
18
|
baseId: process.env.NODE_ENV === 'test' && 'id-test',
|
|
18
19
|
gutter: 24,
|
|
@@ -22,12 +22,14 @@ export const SortDropdown = props => {
|
|
|
22
22
|
label: customLabel,
|
|
23
23
|
glyph: "sort",
|
|
24
24
|
align: "right"
|
|
25
|
-
},
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
25
|
+
}, _ref => {
|
|
26
|
+
let {
|
|
27
|
+
MenuItem,
|
|
28
|
+
menu,
|
|
29
|
+
menuItemClassName,
|
|
30
|
+
menuItemActiveClassName
|
|
31
|
+
} = _ref;
|
|
32
|
+
|
|
31
33
|
const getButtonOnClick = (newField, newDirection) => () => {
|
|
32
34
|
onChange({
|
|
33
35
|
field: newField,
|
|
@@ -38,7 +40,8 @@ export const SortDropdown = props => {
|
|
|
38
40
|
|
|
39
41
|
return /*#__PURE__*/React.createElement("div", {
|
|
40
42
|
className: css.items
|
|
41
|
-
}, Object.entries(fields).map(
|
|
43
|
+
}, Object.entries(fields).map(_ref2 => {
|
|
44
|
+
let [key, item] = _ref2;
|
|
42
45
|
const buttonProps = direction === 'asc' ? {
|
|
43
46
|
className: css.itemAsc,
|
|
44
47
|
onClick: getButtonOnClick(key, 'desc'),
|