@bundle-stats/ui 4.4.0 → 4.5.0-beta.0

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 (186) hide show
  1. package/lib/app/header/header.module.css +1 -0
  2. package/lib/assets/icons.svg +17 -11
  3. package/lib/assets/icons.svg.js +15 -11
  4. package/lib/assets/icons.svg.js.map +1 -1
  5. package/lib/components/bundle-assets/bundle-assets.js +3 -11
  6. package/lib/components/bundle-assets/bundle-assets.js.map +1 -1
  7. package/lib/components/bundle-assets/bundle-assets.utils.js +8 -20
  8. package/lib/components/bundle-assets/bundle-assets.utils.js.map +1 -1
  9. package/lib/components/bundle-assets/index.js +0 -2
  10. package/lib/components/bundle-assets/index.js.map +1 -1
  11. package/lib/components/bundle-modules/bundle-modules.js +2 -10
  12. package/lib/components/bundle-modules/bundle-modules.js.map +1 -1
  13. package/lib/components/bundle-modules/bundle-modules.utils.js +1 -13
  14. package/lib/components/bundle-modules/bundle-modules.utils.js.map +1 -1
  15. package/lib/components/bundle-modules/index.js +2 -4
  16. package/lib/components/bundle-modules/index.js.map +1 -1
  17. package/lib/components/bundle-packages/bundle-packages.js +2 -10
  18. package/lib/components/bundle-packages/bundle-packages.js.map +1 -1
  19. package/lib/components/bundle-packages/bundle-packages.utils.js +1 -13
  20. package/lib/components/bundle-packages/bundle-packages.utils.js.map +1 -1
  21. package/lib/components/bundle-packages/index.js +2 -4
  22. package/lib/components/bundle-packages/index.js.map +1 -1
  23. package/lib/components/jobs-header/jobs-header.js +2 -2
  24. package/lib/components/jobs-header/jobs-header.js.map +1 -1
  25. package/lib/components/metrics-table/metrics-table.js +47 -104
  26. package/lib/components/metrics-table/metrics-table.js.map +1 -1
  27. package/lib/components/metrics-table/metrics-table.module.css +18 -17
  28. package/lib/components/metrics-table-search/metrics-table-search.js +1 -1
  29. package/lib/components/metrics-table-search/metrics-table-search.js.map +1 -1
  30. package/lib/components/metrics-table-title/metrics-table-title.js +2 -2
  31. package/lib/components/metrics-table-title/metrics-table-title.js.map +1 -1
  32. package/lib/components/metrics-table-title/metrics-table-title.module.css +3 -1
  33. package/lib/components/{job-header → sort-button}/index.js +1 -1
  34. package/lib/components/sort-button/index.js.map +1 -0
  35. package/lib/components/sort-button/sort-button.js +73 -0
  36. package/lib/components/sort-button/sort-button.js.map +1 -0
  37. package/lib/components/sort-button/sort-button.module.css +89 -0
  38. package/lib/components/total-size-type-title/total-size-type-title.js +1 -1
  39. package/lib/components/total-size-type-title/total-size-type-title.js.map +1 -1
  40. package/lib/constants.js +5 -1
  41. package/lib/constants.js.map +1 -1
  42. package/lib/hooks/rows-sort.js +13 -5
  43. package/lib/hooks/rows-sort.js.map +1 -1
  44. package/lib/ui/icon/icon.js +2 -0
  45. package/lib/ui/icon/icon.js.map +1 -1
  46. package/lib/ui/index.js +1 -3
  47. package/lib/ui/index.js.map +1 -1
  48. package/lib-esm/app/header/header.module.css +1 -0
  49. package/lib-esm/assets/icons.svg +17 -11
  50. package/lib-esm/assets/icons.svg.js +15 -11
  51. package/lib-esm/assets/icons.svg.js.map +1 -1
  52. package/lib-esm/components/bundle-assets/bundle-assets.js +3 -11
  53. package/lib-esm/components/bundle-assets/bundle-assets.js.map +1 -1
  54. package/lib-esm/components/bundle-assets/bundle-assets.utils.js +8 -21
  55. package/lib-esm/components/bundle-assets/bundle-assets.utils.js.map +1 -1
  56. package/lib-esm/components/bundle-assets/index.js +0 -2
  57. package/lib-esm/components/bundle-assets/index.js.map +1 -1
  58. package/lib-esm/components/bundle-modules/bundle-modules.js +2 -10
  59. package/lib-esm/components/bundle-modules/bundle-modules.js.map +1 -1
  60. package/lib-esm/components/bundle-modules/bundle-modules.utils.js +1 -14
  61. package/lib-esm/components/bundle-modules/bundle-modules.utils.js.map +1 -1
  62. package/lib-esm/components/bundle-modules/index.js +2 -4
  63. package/lib-esm/components/bundle-modules/index.js.map +1 -1
  64. package/lib-esm/components/bundle-packages/bundle-packages.js +2 -10
  65. package/lib-esm/components/bundle-packages/bundle-packages.js.map +1 -1
  66. package/lib-esm/components/bundle-packages/bundle-packages.utils.js +1 -14
  67. package/lib-esm/components/bundle-packages/bundle-packages.utils.js.map +1 -1
  68. package/lib-esm/components/bundle-packages/index.js +2 -4
  69. package/lib-esm/components/bundle-packages/index.js.map +1 -1
  70. package/lib-esm/components/jobs-header/jobs-header.js +2 -2
  71. package/lib-esm/components/jobs-header/jobs-header.js.map +1 -1
  72. package/lib-esm/components/metrics-table/metrics-table.js +47 -81
  73. package/lib-esm/components/metrics-table/metrics-table.js.map +1 -1
  74. package/lib-esm/components/metrics-table/metrics-table.module.css +18 -17
  75. package/lib-esm/components/metrics-table-search/metrics-table-search.js +1 -1
  76. package/lib-esm/components/metrics-table-search/metrics-table-search.js.map +1 -1
  77. package/lib-esm/components/metrics-table-title/metrics-table-title.js +2 -2
  78. package/lib-esm/components/metrics-table-title/metrics-table-title.js.map +1 -1
  79. package/lib-esm/components/metrics-table-title/metrics-table-title.module.css +3 -1
  80. package/lib-esm/components/sort-button/index.js +2 -0
  81. package/lib-esm/components/sort-button/index.js.map +1 -0
  82. package/lib-esm/components/sort-button/sort-button.js +43 -0
  83. package/lib-esm/components/sort-button/sort-button.js.map +1 -0
  84. package/lib-esm/components/sort-button/sort-button.module.css +89 -0
  85. package/lib-esm/components/total-size-type-title/total-size-type-title.js +1 -1
  86. package/lib-esm/components/total-size-type-title/total-size-type-title.js.map +1 -1
  87. package/lib-esm/constants.js +4 -0
  88. package/lib-esm/constants.js.map +1 -1
  89. package/lib-esm/hooks/rows-sort.js +11 -4
  90. package/lib-esm/hooks/rows-sort.js.map +1 -1
  91. package/lib-esm/ui/icon/icon.js +2 -0
  92. package/lib-esm/ui/icon/icon.js.map +1 -1
  93. package/lib-esm/ui/index.js +0 -1
  94. package/lib-esm/ui/index.js.map +1 -1
  95. package/package.json +5 -5
  96. package/src/app/header/header.module.css +1 -0
  97. package/src/assets/icons/chevron-down.svg +1 -0
  98. package/src/assets/icons/chevron-up.svg +1 -0
  99. package/src/assets/icons/github.svg +1 -1
  100. package/src/assets/icons.svg +17 -11
  101. package/src/assets/icons.svg.jsx +25 -11
  102. package/src/components/bundle-assets/bundle-assets.jsx +3 -10
  103. package/src/components/bundle-assets/bundle-assets.utils.js +8 -24
  104. package/src/components/bundle-assets/index.jsx +0 -2
  105. package/src/components/bundle-modules/bundle-modules.jsx +2 -14
  106. package/src/components/bundle-modules/bundle-modules.utils.js +1 -17
  107. package/src/components/bundle-modules/index.jsx +2 -4
  108. package/src/components/bundle-packages/bundle-packages.jsx +2 -9
  109. package/src/components/bundle-packages/bundle-packages.utils.js +1 -17
  110. package/src/components/bundle-packages/index.jsx +2 -4
  111. package/src/components/jobs-header/jobs-header.tsx +2 -2
  112. package/src/components/metrics-table/metrics-table.jsx +142 -132
  113. package/src/components/metrics-table/metrics-table.module.css +18 -17
  114. package/src/components/metrics-table-search/metrics-table-search.jsx +1 -1
  115. package/src/components/metrics-table-title/metrics-table-title.jsx +2 -2
  116. package/src/components/metrics-table-title/metrics-table-title.module.css +3 -1
  117. package/src/components/sort-button/index.ts +1 -0
  118. package/src/components/sort-button/sort-button.module.css +89 -0
  119. package/src/components/sort-button/sort-button.tsx +108 -0
  120. package/src/components/total-size-type-title/total-size-type-title.jsx +1 -1
  121. package/src/constants.js +5 -0
  122. package/src/hooks/rows-sort.ts +48 -0
  123. package/src/types.d.ts +4 -0
  124. package/src/ui/icon/icon.tsx +2 -0
  125. package/src/ui/index.js +0 -1
  126. package/types/components/bundle-assets/bundle-assets.d.ts +0 -1
  127. package/types/components/bundle-assets/bundle-assets.utils.d.ts +1 -1
  128. package/types/components/bundle-modules/bundle-modules.d.ts +1 -3
  129. package/types/components/bundle-modules/bundle-modules.utils.d.ts +1 -1
  130. package/types/components/bundle-packages/bundle-packages.d.ts +0 -1
  131. package/types/components/bundle-packages/bundle-packages.utils.d.ts +1 -1
  132. package/types/components/metrics-table/metrics-table.d.ts +3 -7
  133. package/types/components/sort-button/index.d.ts +1 -0
  134. package/types/components/sort-button/sort-button.d.ts +11 -0
  135. package/types/constants.d.ts +4 -0
  136. package/types/hooks/rows-sort.d.ts +14 -11
  137. package/types/ui/icon/icon.d.ts +4 -0
  138. package/types/ui/index.d.ts +0 -1
  139. package/lib/components/bundle-assets/bundle-assets.constants.js +0 -21
  140. package/lib/components/bundle-assets/bundle-assets.constants.js.map +0 -1
  141. package/lib/components/bundle-modules/bundle-modules.constants.js +0 -21
  142. package/lib/components/bundle-modules/bundle-modules.constants.js.map +0 -1
  143. package/lib/components/bundle-packages/bundle-packages.constants.js +0 -21
  144. package/lib/components/bundle-packages/bundle-packages.constants.js.map +0 -1
  145. package/lib/components/job-header/index.js.map +0 -1
  146. package/lib/components/job-header/job-header.js +0 -54
  147. package/lib/components/job-header/job-header.js.map +0 -1
  148. package/lib/components/job-header/job-header.module.css +0 -19
  149. package/lib/ui/sort-dropdown/index.js +0 -18
  150. package/lib/ui/sort-dropdown/index.js.map +0 -1
  151. package/lib/ui/sort-dropdown/sort-dropdown.js +0 -101
  152. package/lib/ui/sort-dropdown/sort-dropdown.js.map +0 -1
  153. package/lib/ui/sort-dropdown/sort-dropdown.module.css +0 -22
  154. package/lib-esm/components/bundle-assets/bundle-assets.constants.js +0 -18
  155. package/lib-esm/components/bundle-assets/bundle-assets.constants.js.map +0 -1
  156. package/lib-esm/components/bundle-modules/bundle-modules.constants.js +0 -18
  157. package/lib-esm/components/bundle-modules/bundle-modules.constants.js.map +0 -1
  158. package/lib-esm/components/bundle-packages/bundle-packages.constants.js +0 -18
  159. package/lib-esm/components/bundle-packages/bundle-packages.constants.js.map +0 -1
  160. package/lib-esm/components/job-header/index.js +0 -2
  161. package/lib-esm/components/job-header/index.js.map +0 -1
  162. package/lib-esm/components/job-header/job-header.js +0 -47
  163. package/lib-esm/components/job-header/job-header.js.map +0 -1
  164. package/lib-esm/components/job-header/job-header.module.css +0 -19
  165. package/lib-esm/ui/sort-dropdown/index.js +0 -2
  166. package/lib-esm/ui/sort-dropdown/index.js.map +0 -1
  167. package/lib-esm/ui/sort-dropdown/sort-dropdown.js +0 -71
  168. package/lib-esm/ui/sort-dropdown/sort-dropdown.js.map +0 -1
  169. package/lib-esm/ui/sort-dropdown/sort-dropdown.module.css +0 -22
  170. package/src/components/bundle-assets/bundle-assets.constants.js +0 -18
  171. package/src/components/bundle-modules/bundle-modules.constants.js +0 -18
  172. package/src/components/bundle-packages/bundle-packages.constants.js +0 -18
  173. package/src/components/job-header/index.js +0 -1
  174. package/src/components/job-header/job-header.jsx +0 -69
  175. package/src/components/job-header/job-header.module.css +0 -19
  176. package/src/hooks/rows-sort.js +0 -24
  177. package/src/ui/sort-dropdown/index.js +0 -1
  178. package/src/ui/sort-dropdown/sort-dropdown.jsx +0 -121
  179. package/src/ui/sort-dropdown/sort-dropdown.module.css +0 -22
  180. package/types/components/bundle-assets/bundle-assets.constants.d.ts +0 -21
  181. package/types/components/bundle-modules/bundle-modules.constants.d.ts +0 -21
  182. package/types/components/bundle-packages/bundle-packages.constants.d.ts +0 -21
  183. package/types/components/job-header/index.d.ts +0 -1
  184. package/types/components/job-header/job-header.d.ts +0 -26
  185. package/types/ui/sort-dropdown/index.d.ts +0 -1
  186. package/types/ui/sort-dropdown/sort-dropdown.d.ts +0 -24
@@ -1,101 +0,0 @@
1
- "use strict";
2
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
- if (k2 === undefined) k2 = k;
4
- var desc = Object.getOwnPropertyDescriptor(m, k);
5
- if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
- desc = { enumerable: true, get: function() { return m[k]; } };
7
- }
8
- Object.defineProperty(o, k2, desc);
9
- }) : (function(o, m, k, k2) {
10
- if (k2 === undefined) k2 = k;
11
- o[k2] = m[k];
12
- }));
13
- var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
- Object.defineProperty(o, "default", { enumerable: true, value: v });
15
- }) : function(o, v) {
16
- o["default"] = v;
17
- });
18
- var __importStar = (this && this.__importStar) || function (mod) {
19
- if (mod && mod.__esModule) return mod;
20
- var result = {};
21
- if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
22
- __setModuleDefault(result, mod);
23
- return result;
24
- };
25
- var __importDefault = (this && this.__importDefault) || function (mod) {
26
- return (mod && mod.__esModule) ? mod : { "default": mod };
27
- };
28
- Object.defineProperty(exports, "__esModule", { value: true });
29
- exports.SortDropdown = void 0;
30
- const react_1 = __importStar(require("react"));
31
- const prop_types_1 = __importDefault(require("prop-types"));
32
- const classnames_1 = __importDefault(require("classnames"));
33
- const dropdown_1 = require("../dropdown");
34
- const icon_1 = require("../icon");
35
- const sort_dropdown_module_css_1 = __importDefault(require("./sort-dropdown.module.css"));
36
- const Item = ({ as: Component, id, label, isActive, direction, defaultDirection, getButtonOnClick, ...restProps }) => {
37
- const buttonProps = (0, react_1.useMemo)(() => {
38
- let resolveNextDirection = defaultDirection;
39
- if (isActive) {
40
- resolveNextDirection = direction === 'asc' ? 'desc' : 'asc';
41
- }
42
- if (resolveNextDirection === 'desc') {
43
- return {
44
- className: sort_dropdown_module_css_1.default.itemAsc,
45
- onClick: getButtonOnClick(id, 'desc'),
46
- title: `Order data by ${label} descending`,
47
- };
48
- }
49
- return {
50
- onClick: getButtonOnClick(id, 'asc'),
51
- title: `Order data by ${label} ascending`,
52
- };
53
- }, [isActive, direction, defaultDirection, id, label]);
54
- return (react_1.default.createElement(Component, { ...restProps, ...buttonProps, isActive: isActive, className: (0, classnames_1.default)(sort_dropdown_module_css_1.default.item, isActive && sort_dropdown_module_css_1.default.itemActive, buttonProps.className) },
55
- react_1.default.createElement(icon_1.Icon, { className: sort_dropdown_module_css_1.default.itemIcon, glyph: "arrow" }),
56
- react_1.default.createElement("span", { className: sort_dropdown_module_css_1.default.itemLabel }, label)));
57
- };
58
- Item.propTypes = {
59
- className: prop_types_1.default.string,
60
- as: prop_types_1.default.element.isRequired,
61
- id: prop_types_1.default.string.isRequired,
62
- label: prop_types_1.default.string.isRequired,
63
- isActive: prop_types_1.default.bool.isRequired,
64
- direction: prop_types_1.default.string.isRequired,
65
- defaultDirection: prop_types_1.default.string.isRequired,
66
- getButtonOnClick: prop_types_1.default.func.isRequired,
67
- };
68
- Item.defaultProps = {
69
- className: '',
70
- };
71
- const SortDropdown = (props) => {
72
- const { className, label, fields, field, direction, onChange } = props;
73
- const rootClassName = (0, classnames_1.default)(sort_dropdown_module_css_1.default.root, className);
74
- const customLabel = fields[field] ? `Ordered by ${fields[field].label}` : label;
75
- return (react_1.default.createElement(dropdown_1.Dropdown, { className: rootClassName, label: customLabel, glyph: "sort", align: "right" }, ({ MenuItem, menu, menuItemClassName, menuItemActiveClassName }) => {
76
- const getButtonOnClick = (newField, newDirection) => () => {
77
- onChange({ field: newField, direction: newDirection });
78
- menu.toggle();
79
- };
80
- return (react_1.default.createElement("div", { className: sort_dropdown_module_css_1.default.items }, Object.entries(fields).map(([key, item]) => (react_1.default.createElement(Item, { key: key, as: MenuItem, isActive: field === key, id: key, label: item.label, direction: direction, defaultDirection: item.defaultDirection, getButtonOnClick: getButtonOnClick })))));
81
- }));
82
- };
83
- exports.SortDropdown = SortDropdown;
84
- exports.SortDropdown.defaultProps = {
85
- className: '',
86
- label: 'Order by',
87
- onChange: () => { },
88
- field: '',
89
- direction: 'asc',
90
- };
91
- exports.SortDropdown.propTypes = {
92
- className: prop_types_1.default.string,
93
- label: prop_types_1.default.string,
94
- fields: prop_types_1.default.shape({
95
- [prop_types_1.default.string]: prop_types_1.default.string,
96
- }).isRequired,
97
- onChange: prop_types_1.default.func,
98
- field: prop_types_1.default.string,
99
- direction: prop_types_1.default.string,
100
- };
101
- //# sourceMappingURL=sort-dropdown.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"sort-dropdown.js","sourceRoot":"","sources":["../../../src/ui/sort-dropdown/sort-dropdown.jsx"],"names":[],"mappings":"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"}
@@ -1,22 +0,0 @@
1
- .item {
2
- display: flex;
3
- align-items: center;
4
- }
5
-
6
- .itemIcon {
7
- flex: 0 0 auto;
8
- visibility: hidden;
9
- margin-right: var(--space-xxxsmall);
10
- }
11
-
12
- .itemLabel {
13
- flex: 1 1 100%;
14
- }
15
-
16
- .itemAsc .itemIcon {
17
- transform: rotate(180deg);
18
- }
19
-
20
- .itemActive .itemIcon {
21
- visibility: visible;
22
- }
@@ -1,18 +0,0 @@
1
- export const SORT_BY_NAME = 'name';
2
- export const SORT_BY_SIZE = 'size';
3
- export const SORT_BY_DELTA = 'delta';
4
- export const SORT_BY = {
5
- [SORT_BY_NAME]: {
6
- label: 'Name',
7
- defaultDirection: 'asc',
8
- },
9
- [SORT_BY_DELTA]: {
10
- label: 'Delta',
11
- defaultDirection: 'desc',
12
- },
13
- [SORT_BY_SIZE]: {
14
- label: 'Size',
15
- defaultDirection: 'desc',
16
- },
17
- };
18
- //# sourceMappingURL=bundle-assets.constants.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"bundle-assets.constants.js","sourceRoot":"","sources":["../../../src/components/bundle-assets/bundle-assets.constants.js"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,YAAY,GAAG,MAAM,CAAC;AACnC,MAAM,CAAC,MAAM,YAAY,GAAG,MAAM,CAAC;AACnC,MAAM,CAAC,MAAM,aAAa,GAAG,OAAO,CAAC;AAErC,MAAM,CAAC,MAAM,OAAO,GAAG;IACrB,CAAC,YAAY,CAAC,EAAE;QACd,KAAK,EAAE,MAAM;QACb,gBAAgB,EAAE,KAAK;KACxB;IACD,CAAC,aAAa,CAAC,EAAE;QACf,KAAK,EAAE,OAAO;QACd,gBAAgB,EAAE,MAAM;KACzB;IACD,CAAC,YAAY,CAAC,EAAE;QACd,KAAK,EAAE,MAAM;QACb,gBAAgB,EAAE,MAAM;KACzB;CACF,CAAC"}
@@ -1,18 +0,0 @@
1
- export const SORT_BY_NAME = 'name';
2
- export const SORT_BY_SIZE = 'size';
3
- export const SORT_BY_DELTA = 'delta';
4
- export const SORT_BY = {
5
- [SORT_BY_NAME]: {
6
- label: 'Name',
7
- defaultDirection: 'asc',
8
- },
9
- [SORT_BY_DELTA]: {
10
- label: 'Delta',
11
- defaultDirection: 'desc',
12
- },
13
- [SORT_BY_SIZE]: {
14
- label: 'Size',
15
- defaultDirection: 'desc',
16
- },
17
- };
18
- //# sourceMappingURL=bundle-modules.constants.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"bundle-modules.constants.js","sourceRoot":"","sources":["../../../src/components/bundle-modules/bundle-modules.constants.js"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,YAAY,GAAG,MAAM,CAAC;AACnC,MAAM,CAAC,MAAM,YAAY,GAAG,MAAM,CAAC;AACnC,MAAM,CAAC,MAAM,aAAa,GAAG,OAAO,CAAC;AAErC,MAAM,CAAC,MAAM,OAAO,GAAG;IACrB,CAAC,YAAY,CAAC,EAAE;QACd,KAAK,EAAE,MAAM;QACb,gBAAgB,EAAE,KAAK;KACxB;IACD,CAAC,aAAa,CAAC,EAAE;QACf,KAAK,EAAE,OAAO;QACd,gBAAgB,EAAE,MAAM;KACzB;IACD,CAAC,YAAY,CAAC,EAAE;QACd,KAAK,EAAE,MAAM;QACb,gBAAgB,EAAE,MAAM;KACzB;CACF,CAAC"}
@@ -1,18 +0,0 @@
1
- export const SORT_BY_NAME = 'name';
2
- export const SORT_BY_SIZE = 'size';
3
- export const SORT_BY_DELTA = 'delta';
4
- export const SORT_BY = {
5
- [SORT_BY_NAME]: {
6
- label: 'Name',
7
- defaultDirection: 'asc',
8
- },
9
- [SORT_BY_DELTA]: {
10
- label: 'Delta',
11
- defaultDirection: 'desc',
12
- },
13
- [SORT_BY_SIZE]: {
14
- label: 'Size',
15
- defaultDirection: 'desc',
16
- },
17
- };
18
- //# sourceMappingURL=bundle-packages.constants.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"bundle-packages.constants.js","sourceRoot":"","sources":["../../../src/components/bundle-packages/bundle-packages.constants.js"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,YAAY,GAAG,MAAM,CAAC;AACnC,MAAM,CAAC,MAAM,YAAY,GAAG,MAAM,CAAC;AACnC,MAAM,CAAC,MAAM,aAAa,GAAG,OAAO,CAAC;AAErC,MAAM,CAAC,MAAM,OAAO,GAAG;IACrB,CAAC,YAAY,CAAC,EAAE;QACd,KAAK,EAAE,MAAM;QACb,gBAAgB,EAAE,KAAK;KACxB;IACD,CAAC,aAAa,CAAC,EAAE;QACf,KAAK,EAAE,OAAO;QACd,gBAAgB,EAAE,MAAM;KACzB;IACD,CAAC,YAAY,CAAC,EAAE;QACd,KAAK,EAAE,MAAM;QACb,gBAAgB,EAAE,MAAM;KACzB;CACF,CAAC"}
@@ -1,2 +0,0 @@
1
- export * from './job-header';
2
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/components/job-header/index.js"],"names":[],"mappings":"AAAA,cAAc,cAAc,CAAC"}
@@ -1,47 +0,0 @@
1
- import React from 'react';
2
- import PropTypes from 'prop-types';
3
- import cx from 'classnames';
4
- import get from 'lodash/get';
5
- import { Source, formatDateTime } from '@bundle-stats/utils';
6
- import { FlexStack } from '../../layout/flex-stack';
7
- import { Stack } from '../../layout/stack';
8
- import { Icon } from '../../ui/icon';
9
- import { Tag } from '../../ui/tag';
10
- import css from './job-header.module.css';
11
- export const JobHeader = (props) => {
12
- const { className, tag, job, children } = props;
13
- const { builtAt, hash } = get(job, `meta.${Source.webpack}`, {});
14
- const rootClassName = cx(css.root, className);
15
- return (React.createElement(Stack, { className: rootClassName, space: "xxsmall" },
16
- React.createElement(FlexStack, { space: "xsmall", alignItems: "center" },
17
- React.createElement(FlexStack, { space: "xxxsmall", as: "h1", className: css.title },
18
- React.createElement("span", null, `#${job.internalBuildNumber}`),
19
- tag && React.createElement(Tag, { className: css.tag }, tag)),
20
- builtAt && (React.createElement(FlexStack, { space: "xxxsmall", alignItems: "center", inline: true, as: "span", title: builtAt, className: css.meta },
21
- React.createElement(Icon, { glyph: "clock", className: css.metaIcon }),
22
- React.createElement("span", { className: css.metaText }, formatDateTime({ dateStyle: 'medium', timeStyle: 'medium' }, builtAt)))),
23
- hash && (React.createElement(FlexStack, { space: "xxxsmall", alignItems: "center", inline: true, title: "Webpack bundle hash", className: css.meta },
24
- React.createElement(Icon, { glyph: "commit", className: css.metaIcon }),
25
- React.createElement("span", { className: css.metaText }, hash.slice(0, 7))))),
26
- children && (React.createElement(FlexStack, { space: "xxsmall", className: css.meta },
27
- React.createElement("div", { className: css.content }, children)))));
28
- };
29
- JobHeader.propTypes = {
30
- className: PropTypes.string,
31
- tag: PropTypes.string,
32
- job: PropTypes.shape({
33
- internalBuildNumber: PropTypes.number,
34
- meta: PropTypes.shape({
35
- builtAt: PropTypes.string,
36
- }),
37
- summary: PropTypes.object,
38
- }),
39
- children: PropTypes.element,
40
- };
41
- JobHeader.defaultProps = {
42
- className: '',
43
- tag: '',
44
- job: null,
45
- children: null,
46
- };
47
- //# sourceMappingURL=job-header.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"job-header.js","sourceRoot":"","sources":["../../../src/components/job-header/job-header.jsx"],"names":[],"mappings":"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"}
@@ -1,19 +0,0 @@
1
- .title {
2
- font-size: var(--size-xlarge);
3
- line-height: 1;
4
- font-weight: bold;
5
- vertical-align: top;
6
- }
7
-
8
- .tag {
9
- margin-left: var(--space-xxsmall);
10
- vertical-align: top;
11
- outline: 1px solid var(--color-outline);
12
- background: var(--color-highlight);
13
- color: var(--color-text-light);
14
- }
15
-
16
- .meta {
17
- font-size: var(--size-small);
18
- color: var(--color-text-light);
19
- }
@@ -1,2 +0,0 @@
1
- export * from './sort-dropdown';
2
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/ui/sort-dropdown/index.js"],"names":[],"mappings":"AAAA,cAAc,iBAAiB,CAAC"}
@@ -1,71 +0,0 @@
1
- import React, { useMemo } from 'react';
2
- import PropTypes from 'prop-types';
3
- import cx from 'classnames';
4
- import { Dropdown } from '../dropdown';
5
- import { Icon } from '../icon';
6
- import css from './sort-dropdown.module.css';
7
- const Item = ({ as: Component, id, label, isActive, direction, defaultDirection, getButtonOnClick, ...restProps }) => {
8
- const buttonProps = useMemo(() => {
9
- let resolveNextDirection = defaultDirection;
10
- if (isActive) {
11
- resolveNextDirection = direction === 'asc' ? 'desc' : 'asc';
12
- }
13
- if (resolveNextDirection === 'desc') {
14
- return {
15
- className: css.itemAsc,
16
- onClick: getButtonOnClick(id, 'desc'),
17
- title: `Order data by ${label} descending`,
18
- };
19
- }
20
- return {
21
- onClick: getButtonOnClick(id, 'asc'),
22
- title: `Order data by ${label} ascending`,
23
- };
24
- }, [isActive, direction, defaultDirection, id, label]);
25
- return (React.createElement(Component, { ...restProps, ...buttonProps, isActive: isActive, className: cx(css.item, isActive && css.itemActive, buttonProps.className) },
26
- React.createElement(Icon, { className: css.itemIcon, glyph: "arrow" }),
27
- React.createElement("span", { className: css.itemLabel }, label)));
28
- };
29
- Item.propTypes = {
30
- className: PropTypes.string,
31
- as: PropTypes.element.isRequired,
32
- id: PropTypes.string.isRequired,
33
- label: PropTypes.string.isRequired,
34
- isActive: PropTypes.bool.isRequired,
35
- direction: PropTypes.string.isRequired,
36
- defaultDirection: PropTypes.string.isRequired,
37
- getButtonOnClick: PropTypes.func.isRequired,
38
- };
39
- Item.defaultProps = {
40
- className: '',
41
- };
42
- export const SortDropdown = (props) => {
43
- const { className, label, fields, field, direction, onChange } = props;
44
- const rootClassName = cx(css.root, className);
45
- const customLabel = fields[field] ? `Ordered by ${fields[field].label}` : label;
46
- return (React.createElement(Dropdown, { className: rootClassName, label: customLabel, glyph: "sort", align: "right" }, ({ MenuItem, menu, menuItemClassName, menuItemActiveClassName }) => {
47
- const getButtonOnClick = (newField, newDirection) => () => {
48
- onChange({ field: newField, direction: newDirection });
49
- menu.toggle();
50
- };
51
- return (React.createElement("div", { className: css.items }, Object.entries(fields).map(([key, item]) => (React.createElement(Item, { key: key, as: MenuItem, isActive: field === key, id: key, label: item.label, direction: direction, defaultDirection: item.defaultDirection, getButtonOnClick: getButtonOnClick })))));
52
- }));
53
- };
54
- SortDropdown.defaultProps = {
55
- className: '',
56
- label: 'Order by',
57
- onChange: () => { },
58
- field: '',
59
- direction: 'asc',
60
- };
61
- SortDropdown.propTypes = {
62
- className: PropTypes.string,
63
- label: PropTypes.string,
64
- fields: PropTypes.shape({
65
- [PropTypes.string]: PropTypes.string,
66
- }).isRequired,
67
- onChange: PropTypes.func,
68
- field: PropTypes.string,
69
- direction: PropTypes.string,
70
- };
71
- //# sourceMappingURL=sort-dropdown.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"sort-dropdown.js","sourceRoot":"","sources":["../../../src/ui/sort-dropdown/sort-dropdown.jsx"],"names":[],"mappings":"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"}
@@ -1,22 +0,0 @@
1
- .item {
2
- display: flex;
3
- align-items: center;
4
- }
5
-
6
- .itemIcon {
7
- flex: 0 0 auto;
8
- visibility: hidden;
9
- margin-right: var(--space-xxxsmall);
10
- }
11
-
12
- .itemLabel {
13
- flex: 1 1 100%;
14
- }
15
-
16
- .itemAsc .itemIcon {
17
- transform: rotate(180deg);
18
- }
19
-
20
- .itemActive .itemIcon {
21
- visibility: visible;
22
- }
@@ -1,18 +0,0 @@
1
- export const SORT_BY_NAME = 'name';
2
- export const SORT_BY_SIZE = 'size';
3
- export const SORT_BY_DELTA = 'delta';
4
-
5
- export const SORT_BY = {
6
- [SORT_BY_NAME]: {
7
- label: 'Name',
8
- defaultDirection: 'asc',
9
- },
10
- [SORT_BY_DELTA]: {
11
- label: 'Delta',
12
- defaultDirection: 'desc',
13
- },
14
- [SORT_BY_SIZE]: {
15
- label: 'Size',
16
- defaultDirection: 'desc',
17
- },
18
- };
@@ -1,18 +0,0 @@
1
- export const SORT_BY_NAME = 'name';
2
- export const SORT_BY_SIZE = 'size';
3
- export const SORT_BY_DELTA = 'delta';
4
-
5
- export const SORT_BY = {
6
- [SORT_BY_NAME]: {
7
- label: 'Name',
8
- defaultDirection: 'asc',
9
- },
10
- [SORT_BY_DELTA]: {
11
- label: 'Delta',
12
- defaultDirection: 'desc',
13
- },
14
- [SORT_BY_SIZE]: {
15
- label: 'Size',
16
- defaultDirection: 'desc',
17
- },
18
- };
@@ -1,18 +0,0 @@
1
- export const SORT_BY_NAME = 'name';
2
- export const SORT_BY_SIZE = 'size';
3
- export const SORT_BY_DELTA = 'delta';
4
-
5
- export const SORT_BY = {
6
- [SORT_BY_NAME]: {
7
- label: 'Name',
8
- defaultDirection: 'asc',
9
- },
10
- [SORT_BY_DELTA]: {
11
- label: 'Delta',
12
- defaultDirection: 'desc',
13
- },
14
- [SORT_BY_SIZE]: {
15
- label: 'Size',
16
- defaultDirection: 'desc',
17
- },
18
- };
@@ -1 +0,0 @@
1
- export * from './job-header';
@@ -1,69 +0,0 @@
1
- import React from 'react';
2
- import PropTypes from 'prop-types';
3
- import cx from 'classnames';
4
- import get from 'lodash/get';
5
- import { Source, formatDateTime } from '@bundle-stats/utils';
6
-
7
- import { FlexStack } from '../../layout/flex-stack';
8
- import { Stack } from '../../layout/stack';
9
- import { Icon } from '../../ui/icon';
10
- import { Tag } from '../../ui/tag';
11
- import css from './job-header.module.css';
12
-
13
- export const JobHeader = (props) => {
14
- const { className, tag, job, children } = props;
15
-
16
- const { builtAt, hash } = get(job, `meta.${Source.webpack}`, {});
17
- const rootClassName = cx(css.root, className);
18
-
19
- return (
20
- <Stack className={rootClassName} space="xxsmall">
21
- <FlexStack space="xsmall" alignItems="center">
22
- <FlexStack space="xxxsmall" as="h1" className={css.title}>
23
- <span>{`#${job.internalBuildNumber}`}</span>
24
- {tag && <Tag className={css.tag}>{tag}</Tag>}
25
- </FlexStack>
26
-
27
- {builtAt && (
28
- <FlexStack space="xxxsmall" alignItems="center" inline as="span" title={builtAt} className={css.meta}>
29
- <Icon glyph="clock" className={css.metaIcon} />
30
- <span className={css.metaText}>
31
- {formatDateTime({ dateStyle: 'medium', timeStyle: 'medium' }, builtAt)}
32
- </span>
33
- </FlexStack>
34
- )}
35
-
36
- {hash && (
37
- <FlexStack space="xxxsmall" alignItems="center" inline title="Webpack bundle hash" className={css.meta}>
38
- <Icon glyph="commit" className={css.metaIcon} />
39
- <span className={css.metaText}>{hash.slice(0, 7)}</span>
40
- </FlexStack>
41
- )}
42
- </FlexStack>
43
- {children && (<FlexStack space="xxsmall" className={css.meta}>
44
- <div className={css.content}>{children}</div>
45
- </FlexStack>
46
- )}
47
- </Stack>
48
- );
49
- };
50
-
51
- JobHeader.propTypes = {
52
- className: PropTypes.string,
53
- tag: PropTypes.string,
54
- job: PropTypes.shape({
55
- internalBuildNumber: PropTypes.number,
56
- meta: PropTypes.shape({
57
- builtAt: PropTypes.string,
58
- }),
59
- summary: PropTypes.object, // eslint-disable-line react/forbid-prop-types
60
- }),
61
- children: PropTypes.element,
62
- };
63
-
64
- JobHeader.defaultProps = {
65
- className: '',
66
- tag: '',
67
- job: null,
68
- children: null,
69
- };
@@ -1,19 +0,0 @@
1
- .title {
2
- font-size: var(--size-xlarge);
3
- line-height: 1;
4
- font-weight: bold;
5
- vertical-align: top;
6
- }
7
-
8
- .tag {
9
- margin-left: var(--space-xxsmall);
10
- vertical-align: top;
11
- outline: 1px solid var(--color-outline);
12
- background: var(--color-highlight);
13
- color: var(--color-text-light);
14
- }
15
-
16
- .meta {
17
- font-size: var(--size-small);
18
- color: var(--color-text-light);
19
- }
@@ -1,24 +0,0 @@
1
- import { useState, useMemo } from 'react';
2
- import orderBy from 'lodash/orderBy';
3
-
4
- export const useRowsSort = ({
5
- rows,
6
- sortFields,
7
- sortBy = 'size',
8
- sortDirection = 'desc',
9
- getCustomSort,
10
- }) => {
11
- const [sort, updateSort] = useState({ field: sortBy, direction: sortDirection });
12
-
13
- const orderedRows = useMemo(
14
- () => orderBy(rows, getCustomSort(sort.field), sort.direction),
15
- [rows, sort],
16
- );
17
-
18
- return {
19
- sortFields,
20
- sort,
21
- updateSort,
22
- items: orderedRows,
23
- };
24
- };
@@ -1 +0,0 @@
1
- export * from './sort-dropdown';