@bundle-stats/ui 4.13.0-beta.2 → 4.13.0-beta.21

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 (279) hide show
  1. package/lib/app/app.js +4 -8
  2. package/lib/app/app.js.map +1 -1
  3. package/lib/app/app.module.css +2 -2
  4. package/lib/assets/icons.svg +70 -67
  5. package/lib/assets/icons.svg.js +14 -12
  6. package/lib/assets/icons.svg.js.map +1 -1
  7. package/lib/components/bundle-assets/bundle-assets.js +47 -8
  8. package/lib/components/bundle-assets/bundle-assets.js.map +1 -1
  9. package/lib/components/bundle-assets/bundle-assets.module.css +0 -5
  10. package/lib/components/bundle-assets-totals/bundle-assets-totals.js +25 -14
  11. package/lib/components/bundle-assets-totals/bundle-assets-totals.js.map +1 -1
  12. package/lib/components/bundle-modules/bundle-modules.i18n.js +1 -1
  13. package/lib/components/bundle-modules/bundle-modules.js +45 -14
  14. package/lib/components/bundle-modules/bundle-modules.js.map +1 -1
  15. package/lib/components/bundle-modules/bundle-modules.module.css +0 -5
  16. package/lib/components/bundle-packages/bundle-packages.js +45 -6
  17. package/lib/components/bundle-packages/bundle-packages.js.map +1 -1
  18. package/lib/components/bundle-packages/bundle-packages.module.css +0 -5
  19. package/lib/components/delta/delta.js +1 -1
  20. package/lib/components/delta/delta.js.map +1 -1
  21. package/lib/components/delta/delta.module.css +10 -1
  22. package/lib/components/index.js +1 -3
  23. package/lib/components/index.js.map +1 -1
  24. package/lib/components/jobs-header/jobs-header.module.css +0 -4
  25. package/lib/components/metrics-display-selector/metrics-display-selector.js +42 -5
  26. package/lib/components/metrics-display-selector/metrics-display-selector.js.map +1 -1
  27. package/lib/components/metrics-display-selector/metrics-display-selector.module.css +15 -7
  28. package/lib/components/metrics-table/metrics-table.i18n.js +1 -6
  29. package/lib/components/metrics-table/metrics-table.i18n.js.map +1 -1
  30. package/lib/components/metrics-table/metrics-table.js +4 -37
  31. package/lib/components/metrics-table/metrics-table.js.map +1 -1
  32. package/lib/components/metrics-table/metrics-table.module.css +1 -44
  33. package/lib/components/{total-size-type-title → metrics-table-header}/index.js +1 -1
  34. package/lib/components/metrics-table-header/index.js.map +1 -0
  35. package/lib/components/metrics-table-header/metrics-table-header.i18n.js +9 -0
  36. package/lib/components/metrics-table-header/metrics-table-header.i18n.js.map +1 -0
  37. package/lib/components/metrics-table-header/metrics-table-header.js +79 -0
  38. package/lib/components/metrics-table-header/metrics-table-header.js.map +1 -0
  39. package/lib/components/metrics-table-header/metrics-table-header.module.css +51 -0
  40. package/lib/components/metrics-table-options/metrics-table-options.js +2 -2
  41. package/lib/components/metrics-table-options/metrics-table-options.js.map +1 -1
  42. package/lib/components/metrics-table-title/metrics-table-title.js +1 -1
  43. package/lib/components/metrics-table-title/metrics-table-title.js.map +1 -1
  44. package/lib/components/metrics-table-title/metrics-table-title.module.css +4 -4
  45. package/lib/components/metrics-treemap/index.js +4 -0
  46. package/lib/components/metrics-treemap/index.js.map +1 -1
  47. package/lib/components/metrics-treemap/metrics-treemap.constants.js +3 -0
  48. package/lib/components/metrics-treemap/metrics-treemap.constants.js.map +1 -0
  49. package/lib/components/metrics-treemap/metrics-treemap.i18n.js +6 -0
  50. package/lib/components/metrics-treemap/metrics-treemap.i18n.js.map +1 -0
  51. package/lib/components/metrics-treemap/metrics-treemap.js +106 -73
  52. package/lib/components/metrics-treemap/metrics-treemap.js.map +1 -1
  53. package/lib/components/metrics-treemap/metrics-treemap.module.css +156 -51
  54. package/lib/components/metrics-treemap/metrics-treemap.utils.js +109 -0
  55. package/lib/components/metrics-treemap/metrics-treemap.utils.js.map +1 -0
  56. package/lib/components/module-info/module-info.js +1 -2
  57. package/lib/components/module-info/module-info.js.map +1 -1
  58. package/lib/components/run-info/run-info.module.css +7 -7
  59. package/lib/components/sort-button/sort-button.module.css +1 -0
  60. package/lib/css/variables.css +14 -13
  61. package/lib/hooks/metrics-display-type.js +45 -24
  62. package/lib/hooks/metrics-display-type.js.map +1 -1
  63. package/lib/hooks/search-params.js +1 -0
  64. package/lib/hooks/search-params.js.map +1 -1
  65. package/lib/layout/box/box.module.css +4 -2
  66. package/lib/layout/flex-stack/flex-stack.js +3 -4
  67. package/lib/layout/flex-stack/flex-stack.js.map +1 -1
  68. package/lib/layout/flex-stack/flex-stack.module.css +19 -23
  69. package/lib/ui/button/button.js +5 -4
  70. package/lib/ui/button/button.js.map +1 -1
  71. package/lib/ui/button/button.module.css +55 -53
  72. package/lib/ui/dropdown/dropdown.js +10 -40
  73. package/lib/ui/dropdown/dropdown.js.map +1 -1
  74. package/lib/ui/dropdown/index.js.map +1 -1
  75. package/lib/ui/filters/filters.js +33 -35
  76. package/lib/ui/filters/filters.js.map +1 -1
  77. package/lib/ui/filters/filters.module.css +55 -67
  78. package/lib/ui/hover-card/hover-card.js +1 -1
  79. package/lib/ui/hover-card/hover-card.js.map +1 -1
  80. package/lib/ui/icon/icon.js +2 -1
  81. package/lib/ui/icon/icon.js.map +1 -1
  82. package/lib/ui/input-search/input-search.js +1 -1
  83. package/lib/ui/input-search/input-search.js.map +1 -1
  84. package/lib/ui/loader/loader.js +1 -1
  85. package/lib/ui/loader/loader.js.map +1 -1
  86. package/lib/ui/table/table.module.css +30 -0
  87. package/lib/ui/tag/tag.module.css +3 -3
  88. package/lib/ui/toolbar/toolbar.module.css +1 -3
  89. package/lib-esm/app/app.js +4 -8
  90. package/lib-esm/app/app.js.map +1 -1
  91. package/lib-esm/app/app.module.css +2 -2
  92. package/lib-esm/assets/icons.svg +70 -67
  93. package/lib-esm/assets/icons.svg.js +14 -12
  94. package/lib-esm/assets/icons.svg.js.map +1 -1
  95. package/lib-esm/components/bundle-assets/bundle-assets.js +48 -9
  96. package/lib-esm/components/bundle-assets/bundle-assets.js.map +1 -1
  97. package/lib-esm/components/bundle-assets/bundle-assets.module.css +0 -5
  98. package/lib-esm/components/bundle-assets-totals/bundle-assets-totals.js +26 -15
  99. package/lib-esm/components/bundle-assets-totals/bundle-assets-totals.js.map +1 -1
  100. package/lib-esm/components/bundle-modules/bundle-modules.i18n.js +1 -1
  101. package/lib-esm/components/bundle-modules/bundle-modules.js +46 -15
  102. package/lib-esm/components/bundle-modules/bundle-modules.js.map +1 -1
  103. package/lib-esm/components/bundle-modules/bundle-modules.module.css +0 -5
  104. package/lib-esm/components/bundle-packages/bundle-packages.js +46 -7
  105. package/lib-esm/components/bundle-packages/bundle-packages.js.map +1 -1
  106. package/lib-esm/components/bundle-packages/bundle-packages.module.css +0 -5
  107. package/lib-esm/components/delta/delta.js +1 -1
  108. package/lib-esm/components/delta/delta.js.map +1 -1
  109. package/lib-esm/components/delta/delta.module.css +10 -1
  110. package/lib-esm/components/index.js +0 -1
  111. package/lib-esm/components/index.js.map +1 -1
  112. package/lib-esm/components/jobs-header/jobs-header.module.css +0 -4
  113. package/lib-esm/components/metrics-display-selector/metrics-display-selector.js +42 -5
  114. package/lib-esm/components/metrics-display-selector/metrics-display-selector.js.map +1 -1
  115. package/lib-esm/components/metrics-display-selector/metrics-display-selector.module.css +15 -7
  116. package/lib-esm/components/metrics-table/metrics-table.i18n.js +0 -5
  117. package/lib-esm/components/metrics-table/metrics-table.i18n.js.map +1 -1
  118. package/lib-esm/components/metrics-table/metrics-table.js +4 -37
  119. package/lib-esm/components/metrics-table/metrics-table.js.map +1 -1
  120. package/lib-esm/components/metrics-table/metrics-table.module.css +1 -44
  121. package/lib-esm/components/metrics-table-header/index.js +2 -0
  122. package/lib-esm/components/metrics-table-header/index.js.map +1 -0
  123. package/lib-esm/components/metrics-table-header/metrics-table-header.i18n.js +6 -0
  124. package/lib-esm/components/metrics-table-header/metrics-table-header.i18n.js.map +1 -0
  125. package/lib-esm/components/metrics-table-header/metrics-table-header.js +49 -0
  126. package/lib-esm/components/metrics-table-header/metrics-table-header.js.map +1 -0
  127. package/lib-esm/components/metrics-table-header/metrics-table-header.module.css +51 -0
  128. package/lib-esm/components/metrics-table-options/metrics-table-options.js +3 -3
  129. package/lib-esm/components/metrics-table-options/metrics-table-options.js.map +1 -1
  130. package/lib-esm/components/metrics-table-title/metrics-table-title.js +1 -1
  131. package/lib-esm/components/metrics-table-title/metrics-table-title.js.map +1 -1
  132. package/lib-esm/components/metrics-table-title/metrics-table-title.module.css +4 -4
  133. package/lib-esm/components/metrics-treemap/index.js +1 -0
  134. package/lib-esm/components/metrics-treemap/index.js.map +1 -1
  135. package/lib-esm/components/metrics-treemap/metrics-treemap.constants.js +2 -0
  136. package/lib-esm/components/metrics-treemap/metrics-treemap.constants.js.map +1 -0
  137. package/lib-esm/components/metrics-treemap/metrics-treemap.i18n.js +3 -0
  138. package/lib-esm/components/metrics-treemap/metrics-treemap.i18n.js.map +1 -0
  139. package/lib-esm/components/metrics-treemap/metrics-treemap.js +108 -74
  140. package/lib-esm/components/metrics-treemap/metrics-treemap.js.map +1 -1
  141. package/lib-esm/components/metrics-treemap/metrics-treemap.module.css +156 -51
  142. package/lib-esm/components/metrics-treemap/metrics-treemap.utils.js +105 -0
  143. package/lib-esm/components/metrics-treemap/metrics-treemap.utils.js.map +1 -0
  144. package/lib-esm/components/module-info/module-info.js +1 -2
  145. package/lib-esm/components/module-info/module-info.js.map +1 -1
  146. package/lib-esm/components/run-info/run-info.module.css +7 -7
  147. package/lib-esm/components/sort-button/sort-button.module.css +1 -0
  148. package/lib-esm/css/variables.css +14 -13
  149. package/lib-esm/hooks/metrics-display-type.js +46 -24
  150. package/lib-esm/hooks/metrics-display-type.js.map +1 -1
  151. package/lib-esm/hooks/search-params.js +1 -0
  152. package/lib-esm/hooks/search-params.js.map +1 -1
  153. package/lib-esm/layout/box/box.module.css +4 -2
  154. package/lib-esm/layout/flex-stack/flex-stack.js +3 -4
  155. package/lib-esm/layout/flex-stack/flex-stack.js.map +1 -1
  156. package/lib-esm/layout/flex-stack/flex-stack.module.css +19 -23
  157. package/lib-esm/ui/button/button.js +5 -4
  158. package/lib-esm/ui/button/button.js.map +1 -1
  159. package/lib-esm/ui/button/button.module.css +55 -53
  160. package/lib-esm/ui/dropdown/dropdown.js +8 -39
  161. package/lib-esm/ui/dropdown/dropdown.js.map +1 -1
  162. package/lib-esm/ui/dropdown/index.js.map +1 -1
  163. package/lib-esm/ui/filters/filters.js +34 -36
  164. package/lib-esm/ui/filters/filters.js.map +1 -1
  165. package/lib-esm/ui/filters/filters.module.css +55 -67
  166. package/lib-esm/ui/hover-card/hover-card.js +1 -1
  167. package/lib-esm/ui/hover-card/hover-card.js.map +1 -1
  168. package/lib-esm/ui/icon/icon.js +2 -1
  169. package/lib-esm/ui/icon/icon.js.map +1 -1
  170. package/lib-esm/ui/input-search/input-search.js +1 -1
  171. package/lib-esm/ui/input-search/input-search.js.map +1 -1
  172. package/lib-esm/ui/loader/loader.js +1 -1
  173. package/lib-esm/ui/loader/loader.js.map +1 -1
  174. package/lib-esm/ui/table/table.module.css +30 -0
  175. package/lib-esm/ui/tag/tag.module.css +3 -3
  176. package/lib-esm/ui/toolbar/toolbar.module.css +1 -3
  177. package/package.json +10 -10
  178. package/src/app/app.jsx +4 -12
  179. package/src/app/app.module.css +2 -2
  180. package/src/assets/icons/check.svg +4 -0
  181. package/src/assets/icons.svg +70 -67
  182. package/src/assets/icons.svg.jsx +12 -12
  183. package/src/components/bundle-assets/bundle-assets.jsx +85 -12
  184. package/src/components/bundle-assets/bundle-assets.module.css +0 -5
  185. package/src/components/bundle-assets-totals/bundle-assets-totals.jsx +71 -35
  186. package/src/components/bundle-modules/bundle-modules.i18n.ts +1 -1
  187. package/src/components/bundle-modules/bundle-modules.module.css +0 -5
  188. package/src/components/bundle-modules/bundle-modules.tsx +123 -45
  189. package/src/components/bundle-packages/bundle-packages.jsx +79 -10
  190. package/src/components/bundle-packages/bundle-packages.module.css +0 -5
  191. package/src/components/delta/delta.jsx +1 -1
  192. package/src/components/delta/delta.module.css +10 -1
  193. package/src/components/index.js +0 -1
  194. package/src/components/jobs-header/jobs-header.module.css +0 -4
  195. package/src/components/metrics-display-selector/metrics-display-selector.module.css +15 -7
  196. package/src/components/metrics-display-selector/metrics-display-selector.stories.tsx +33 -0
  197. package/src/components/metrics-display-selector/metrics-display-selector.tsx +86 -28
  198. package/src/components/metrics-table/metrics-table.i18n.ts +0 -7
  199. package/src/components/metrics-table/metrics-table.module.css +1 -44
  200. package/src/components/metrics-table/metrics-table.tsx +17 -153
  201. package/src/components/metrics-table-header/index.ts +1 -0
  202. package/src/components/metrics-table-header/metrics-table-header.i18n.ts +6 -0
  203. package/src/components/metrics-table-header/metrics-table-header.module.css +51 -0
  204. package/src/components/metrics-table-header/metrics-table-header.tsx +172 -0
  205. package/src/components/metrics-table-options/metrics-table-options.jsx +4 -10
  206. package/src/components/metrics-table-title/metrics-table-title.jsx +1 -1
  207. package/src/components/metrics-table-title/metrics-table-title.module.css +4 -4
  208. package/src/components/metrics-treemap/__tests__/metrics-treemap.utils.ts +188 -0
  209. package/src/components/metrics-treemap/index.ts +1 -0
  210. package/src/components/metrics-treemap/metrics-treemap.constants.ts +52 -0
  211. package/src/components/metrics-treemap/metrics-treemap.i18n.ts +2 -0
  212. package/src/components/metrics-treemap/metrics-treemap.module.css +156 -51
  213. package/src/components/metrics-treemap/metrics-treemap.stories.tsx +44 -10
  214. package/src/components/metrics-treemap/metrics-treemap.tsx +349 -145
  215. package/src/components/metrics-treemap/metrics-treemap.utils.ts +162 -0
  216. package/src/components/module-info/module-info.tsx +1 -1
  217. package/src/components/run-info/run-info.module.css +7 -7
  218. package/src/components/sort-button/sort-button.module.css +1 -0
  219. package/src/css/variables.css +14 -13
  220. package/src/hooks/metrics-display-type.ts +79 -29
  221. package/src/hooks/search-params.js +1 -0
  222. package/src/layout/box/box.module.css +4 -2
  223. package/src/layout/flex-stack/flex-stack.module.css +19 -23
  224. package/src/layout/flex-stack/flex-stack.tsx +2 -8
  225. package/src/ui/button/button.module.css +55 -53
  226. package/src/ui/button/button.stories.tsx +16 -9
  227. package/src/ui/button/button.tsx +8 -7
  228. package/src/ui/dropdown/dropdown.stories.tsx +25 -0
  229. package/src/ui/dropdown/dropdown.tsx +66 -0
  230. package/src/ui/filters/filters.module.css +55 -67
  231. package/src/ui/filters/filters.stories.tsx +109 -0
  232. package/src/ui/filters/filters.tsx +128 -167
  233. package/src/ui/hover-card/hover-card.tsx +1 -1
  234. package/src/ui/icon/icon.tsx +2 -1
  235. package/src/ui/input-search/input-search.tsx +1 -0
  236. package/src/ui/loader/loader.jsx +1 -1
  237. package/src/ui/table/table.module.css +30 -0
  238. package/src/ui/tag/tag.module.css +3 -3
  239. package/src/ui/toolbar/toolbar.module.css +1 -3
  240. package/types/components/bundle-assets-totals/bundle-assets-totals.d.ts +5 -1
  241. package/types/components/bundle-modules/bundle-modules.i18n.d.ts +1 -1
  242. package/types/components/delta/delta.d.ts +2 -2
  243. package/types/components/index.d.ts +0 -1
  244. package/types/components/metrics-display-selector/metrics-display-selector.d.ts +5 -3
  245. package/types/components/metrics-table/metrics-table.d.ts +4 -10
  246. package/types/components/metrics-table/metrics-table.i18n.d.ts +0 -5
  247. package/types/components/metrics-table-header/index.d.ts +1 -0
  248. package/types/components/metrics-table-header/metrics-table-header.d.ts +15 -0
  249. package/types/components/metrics-table-header/metrics-table-header.i18n.d.ts +5 -0
  250. package/types/components/metrics-treemap/index.d.ts +1 -0
  251. package/types/components/metrics-treemap/metrics-treemap.constants.d.ts +20 -0
  252. package/types/components/metrics-treemap/metrics-treemap.d.ts +7 -5
  253. package/types/components/metrics-treemap/metrics-treemap.i18n.d.ts +2 -0
  254. package/types/components/metrics-treemap/metrics-treemap.utils.d.ts +5 -0
  255. package/types/hooks/metrics-display-type.d.ts +8 -2
  256. package/types/ui/dropdown/dropdown.d.ts +12 -47
  257. package/types/ui/dropdown/index.d.ts +1 -1
  258. package/types/ui/filters/filters.d.ts +2 -7
  259. package/types/ui/icon/icon.d.ts +4 -2
  260. package/types/ui/loader/loader.d.ts +2 -2
  261. package/lib/components/bundle-assets-totals/bundle-assets-totals.module.css +0 -7
  262. package/lib/components/total-size-type-title/index.js.map +0 -1
  263. package/lib/components/total-size-type-title/total-size-type-title.js +0 -32
  264. package/lib/components/total-size-type-title/total-size-type-title.js.map +0 -1
  265. package/lib/components/total-size-type-title/total-size-type-title.module.css +0 -14
  266. package/lib-esm/components/bundle-assets-totals/bundle-assets-totals.module.css +0 -7
  267. package/lib-esm/components/total-size-type-title/index.js +0 -2
  268. package/lib-esm/components/total-size-type-title/index.js.map +0 -1
  269. package/lib-esm/components/total-size-type-title/total-size-type-title.js +0 -25
  270. package/lib-esm/components/total-size-type-title/total-size-type-title.js.map +0 -1
  271. package/lib-esm/components/total-size-type-title/total-size-type-title.module.css +0 -14
  272. package/src/components/bundle-assets-totals/bundle-assets-totals.module.css +0 -7
  273. package/src/components/total-size-type-title/index.js +0 -1
  274. package/src/components/total-size-type-title/total-size-type-title.jsx +0 -41
  275. package/src/components/total-size-type-title/total-size-type-title.module.css +0 -14
  276. package/src/ui/dropdown/dropdown.jsx +0 -88
  277. package/types/components/total-size-type-title/index.d.ts +0 -1
  278. package/types/components/total-size-type-title/total-size-type-title.d.ts +0 -14
  279. /package/src/ui/dropdown/{index.js → index.ts} +0 -0
@@ -0,0 +1,109 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.resolveGroupDeltaType = exports.getTreemapNodesGroupedByPath = exports.getTreemapNodes = void 0;
4
+ const utils_1 = require("@bundle-stats/utils");
5
+ const ROOT_LABEL = '(root)';
6
+ function getReportMetricRowMaxValue(item) {
7
+ const values = item.runs.map((run) => run?.value || 0);
8
+ return Math.max(...values);
9
+ }
10
+ function getTreemapNodes(items) {
11
+ const rootChildren = items.map((item) => ({
12
+ id: item.key,
13
+ label: item.label,
14
+ value: getReportMetricRowMaxValue(item),
15
+ item,
16
+ }));
17
+ return {
18
+ id: '',
19
+ label: ROOT_LABEL,
20
+ value: 0,
21
+ children: rootChildren,
22
+ };
23
+ }
24
+ exports.getTreemapNodes = getTreemapNodes;
25
+ function getItemValues(runs) {
26
+ const runCount = runs?.length;
27
+ const current = runs[0]?.value || 0;
28
+ if (runCount < 2) {
29
+ return { current, baseline: 0 };
30
+ }
31
+ return {
32
+ current,
33
+ baseline: runs[runCount - 1]?.value || 0,
34
+ };
35
+ }
36
+ function setTreeNode(nodes, slugs, currentSlugId, newNode) {
37
+ const baseSlugs = slugs.slice(0, currentSlugId);
38
+ const [currentSlug, ...restSlug] = slugs.slice(currentSlugId);
39
+ if (!currentSlug) {
40
+ nodes.push(newNode);
41
+ return getItemValues(newNode.item.runs);
42
+ }
43
+ const currentNodePath = [...baseSlugs, currentSlug].join('/');
44
+ let parentNode = nodes.find((treeNode) => treeNode.id === currentNodePath);
45
+ if (!parentNode) {
46
+ parentNode = {
47
+ id: currentNodePath,
48
+ label: currentSlug,
49
+ value: 0,
50
+ children: [],
51
+ total: {
52
+ current: 0,
53
+ baseline: 0,
54
+ },
55
+ };
56
+ nodes.push(parentNode);
57
+ }
58
+ const nodeValues = getItemValues(newNode?.item?.runs);
59
+ parentNode.total = {
60
+ current: (parentNode.total?.current || 0) + nodeValues.current,
61
+ baseline: (parentNode.total?.baseline || 0) + (nodeValues.baseline || 0),
62
+ };
63
+ if (restSlug.length === 0) {
64
+ parentNode.children.push(newNode);
65
+ return getItemValues(newNode.item.runs);
66
+ }
67
+ return setTreeNode(parentNode.children, slugs, currentSlugId + 1, newNode);
68
+ }
69
+ function getTreemapNodesGroupedByPath(items) {
70
+ const treeNodes = [];
71
+ const total = { current: 0, baseline: 0 };
72
+ items.forEach((item) => {
73
+ const slugs = item.key.split('/');
74
+ const baseSlugs = slugs.slice(0, -1);
75
+ const baseName = slugs.slice(-1)[0];
76
+ const treeNode = {
77
+ id: item.key,
78
+ label: baseName,
79
+ value: getReportMetricRowMaxValue(item),
80
+ item,
81
+ };
82
+ const childrenTotal = setTreeNode(treeNodes, baseSlugs, 0, treeNode);
83
+ total.current += childrenTotal.current || 0;
84
+ total.baseline += childrenTotal.baseline || 0;
85
+ });
86
+ return {
87
+ id: '',
88
+ label: ROOT_LABEL,
89
+ value: 0,
90
+ children: treeNodes,
91
+ total,
92
+ };
93
+ }
94
+ exports.getTreemapNodesGroupedByPath = getTreemapNodesGroupedByPath;
95
+ function resolveGroupDeltaType(metricRunInfo) {
96
+ if (!metricRunInfo) {
97
+ return utils_1.DeltaType.NO_CHANGE;
98
+ }
99
+ const deltaType = 'displayDelta' in metricRunInfo ? metricRunInfo.deltaType : undefined;
100
+ if (deltaType?.match(/NEGATIVE/)) {
101
+ return utils_1.DeltaType.NEGATIVE;
102
+ }
103
+ if (deltaType?.match(/POSITIVE/)) {
104
+ return utils_1.DeltaType.POSITIVE;
105
+ }
106
+ return utils_1.DeltaType.NO_CHANGE;
107
+ }
108
+ exports.resolveGroupDeltaType = resolveGroupDeltaType;
109
+ //# sourceMappingURL=metrics-treemap.utils.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"metrics-treemap.utils.js","sourceRoot":"","sources":["../../../src/components/metrics-treemap/metrics-treemap.utils.ts"],"names":[],"mappings":"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"}
@@ -54,8 +54,7 @@ const ModuleInfo = (props) => {
54
54
  return (react_1.default.createElement(entry_info_1.EntryInfo, { item: item, labels: labels, tags: tags, onClose: onClose, className: rootClassName },
55
55
  react_1.default.createElement(stack_1.Stack, { space: "xxxsmall" },
56
56
  item.runs?.map((currentRun, index) => !(0, isEmpty_1.default)(currentRun?.chunkIds) && (react_1.default.createElement(entry_info_1.EntryInfo.Meta, { label: "Chunks", className: module_info_module_css_1.default.chunks },
57
- "Job #",
58
- index + 1,
57
+ labels[index],
59
58
  ":",
60
59
  currentRun.chunkIds.map((chunkId) => {
61
60
  const chunk = chunks?.find(({ id }) => id === chunkId);
@@ -1 +1 @@
1
- {"version":3,"file":"module-info.js","sourceRoot":"","sources":["../../../src/components/module-info/module-info.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"module-info.js","sourceRoot":"","sources":["../../../src/components/module-info/module-info.tsx"],"names":[],"mappings":"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"}
@@ -31,6 +31,10 @@
31
31
  font-weight: bold;
32
32
  }
33
33
 
34
+ .delta {
35
+ font-weight: normal;
36
+ }
37
+
34
38
  .deltaValue + .deltaValue::before {
35
39
  margin-left: calc(var(--space-xxxsmall) / 2);
36
40
  margin-right: calc(var(--space-xxxsmall) / 2);
@@ -72,17 +76,13 @@
72
76
 
73
77
  /* Size variation */
74
78
  .small .currentMetric {
75
- font-size: var(--size-large);
79
+ font-size: var(--size-medium);
76
80
  }
77
81
 
78
82
  .large .currentMetric {
79
- font-size: var(--size-xxxlarge);
83
+ font-size: var(--size-xxlarge);
80
84
  }
81
85
 
82
86
  .large .baselineMetric {
83
- font-size: var(--size-medium);
84
- }
85
-
86
- .large .delta {
87
- margin-left: var(--space-xxxsmall);
87
+ font-size: var(--size-small);
88
88
  }
@@ -3,6 +3,7 @@
3
3
  display: inline-block;
4
4
  border-radius: var(--radius-small);
5
5
  position: relative;
6
+ color: var(--color-text-ultra-light);
6
7
  }
7
8
 
8
9
  .toggle {
@@ -29,20 +29,20 @@
29
29
  /*
30
30
  * Color scheme:
31
31
  * https://coolors.co/287acc-da444e-55b950-efcc1a-192339
32
- * http://mcg.mbitson.com/#!?mcgpalette0=%23da444e&mcgpalette1=%2355b950&mcgpalette2=%23efcc1a&mcgpalette3=%23353138&mcgpalette4=%23287acc&themename=mcgtheme
32
+ * http://mcg.mbitson.com/#!?mcgpalette0=%23da444e&mcgpalette1=%2355b950&mcgpalette2=%23efcc1a&mcgpalette3=%233e3c49&mcgpalette4=%23287acc&themename=bundle-stats
33
33
  * https://hihayk.github.io/scale/#4/5/50/90/-51/0/0/14/353138/53/49/56/white
34
34
  */
35
35
  --color-gray-25: #f9f9fa;
36
36
  --color-gray-50: #e8e8e9;
37
- --color-gray-100: #c6c5c7;
38
- --color-gray-200: #a2a0a4;
39
- --color-gray-300: #7e7b80;
40
- --color-gray-400: #59565c;
41
- --color-gray-500: #353138;
42
- --color-gray-600: #302b31;
43
- --color-gray-700: #2a252a;
44
- --color-gray-800: #231e22;
45
- --color-gray-900: #1c181b;
37
+ --color-gray-100: #c5c5c8;
38
+ --color-gray-200: #9f9ea4;
39
+ --color-gray-300: #787780;
40
+ --color-gray-400: #5b5964;
41
+ --color-gray-500: #3e3c49;
42
+ --color-gray-600: #383642;
43
+ --color-gray-700: #302e39;
44
+ --color-gray-800: #282731;
45
+ --color-gray-900: #1b1a21;
46
46
 
47
47
  --color-gray-ultra-light: var(--color-gray-200);
48
48
  --color-gray-light: var(--color-gray-300);
@@ -192,9 +192,10 @@
192
192
  --shadow-layer: 0 0 var(--space-xxxsmall) var(--color-shadow);
193
193
  --shadow-layer-high: 0 0 var(--space-xxsmall) var(--color-shadow);
194
194
 
195
- --radius-small: 4px;
196
- --radius-medium: 5px;
197
- --radius-large: 6px;
195
+ --radius-xsmall: 3px;
196
+ --radius-small: 5px;
197
+ --radius-medium: 7px;
198
+ --radius-large: 9px;
198
199
 
199
200
  --outline-hover: 0 0 0 3px var(--color-highlight);
200
201
 
@@ -5,36 +5,57 @@ const react_1 = require("react");
5
5
  const react_use_1 = require("react-use");
6
6
  const use_query_params_1 = require("use-query-params");
7
7
  const constants_1 = require("../constants");
8
- const DEFAULT_DISPLAY_TYPE = constants_1.MetricsDisplayType.TABLE;
9
- const PARAM_NAME = 'dt';
10
- const useMetricsDisplayType = () => {
11
- const [{ [PARAM_NAME]: queryDisplayType }, setQueryParams] = (0, use_query_params_1.useQueryParams)({
12
- [PARAM_NAME]: use_query_params_1.StringParam,
8
+ const DEFAULT_VALUE = constants_1.MetricsDisplayType.TABLE;
9
+ const DEFAULT_GROUP_BY = '';
10
+ const QUERY_PARAM_VALUE = 'dt';
11
+ const QUERY_PARAM_GROUP_BY = 'dtg';
12
+ const useMetricsDisplayType = (groups) => {
13
+ const [queryParams, setQueryParams] = (0, use_query_params_1.useQueryParams)({
14
+ [QUERY_PARAM_VALUE]: use_query_params_1.StringParam,
15
+ [QUERY_PARAM_GROUP_BY]: use_query_params_1.StringParam,
13
16
  });
14
- const [storageDisplayType, setStoreageDisplayType] = (0, react_use_1.useLocalStorage)(PARAM_NAME, constants_1.MetricsDisplayType.TABLE);
15
- const displayType = (0, react_1.useMemo)(() => {
16
- const value = queryDisplayType || storageDisplayType;
17
- if (!value) {
18
- return DEFAULT_DISPLAY_TYPE;
17
+ const { [QUERY_PARAM_VALUE]: queryParamValue, [QUERY_PARAM_GROUP_BY]: queryParamGroupBy } = queryParams;
18
+ const [localStorage, setLocalStorage] = (0, react_use_1.useLocalStorage)('storage', {
19
+ value: DEFAULT_VALUE,
20
+ groupBy: DEFAULT_GROUP_BY,
21
+ });
22
+ const value = (0, react_1.useMemo)(() => {
23
+ const resolvedValue = queryParamValue ?? localStorage?.value;
24
+ if (!resolvedValue) {
25
+ return DEFAULT_VALUE;
26
+ }
27
+ if (!Object.values(constants_1.MetricsDisplayType).includes(resolvedValue)) {
28
+ return DEFAULT_VALUE;
19
29
  }
20
- if (!Object.values(constants_1.MetricsDisplayType).includes(value)) {
21
- return DEFAULT_DISPLAY_TYPE;
30
+ return resolvedValue;
31
+ }, [queryParamValue, localStorage?.value]);
32
+ const groupBy = (0, react_1.useMemo)(() => {
33
+ const resolvedValue = queryParamGroupBy ?? localStorage?.groupBy;
34
+ if (!resolvedValue) {
35
+ return DEFAULT_GROUP_BY;
22
36
  }
23
- return value;
24
- }, [queryDisplayType, storageDisplayType]);
37
+ if (!groups?.[value]?.includes(resolvedValue)) {
38
+ return DEFAULT_GROUP_BY;
39
+ }
40
+ return resolvedValue;
41
+ }, [queryParamGroupBy, localStorage?.groupBy]);
25
42
  (0, react_1.useEffect)(() => {
26
- if (queryDisplayType !== displayType) {
27
- setQueryParams({ [PARAM_NAME]: displayType });
43
+ if (value !== queryParamValue || groupBy !== queryParamGroupBy) {
44
+ setQueryParams({ [QUERY_PARAM_VALUE]: value, [QUERY_PARAM_GROUP_BY]: groupBy });
28
45
  }
29
- if (storageDisplayType !== displayType) {
30
- setStoreageDisplayType(queryDisplayType);
46
+ }, [value, queryParamValue, groupBy, queryParamGroupBy, setQueryParams]);
47
+ (0, react_1.useEffect)(() => {
48
+ if (value !== localStorage?.value || groupBy !== localStorage.groupBy) {
49
+ setLocalStorage({ value, groupBy });
31
50
  }
32
- }, [displayType, queryDisplayType, storageDisplayType, setQueryParams, setStoreageDisplayType]);
33
- const setDisplayType = (0, react_1.useCallback)((value) => {
34
- setStoreageDisplayType(value);
35
- setQueryParams({ [PARAM_NAME]: value });
36
- }, [setStoreageDisplayType, setQueryParams]);
37
- return [displayType, setDisplayType];
51
+ }, [value, groupBy, setLocalStorage, localStorage]);
52
+ const setDisplayType = (0, react_1.useCallback)((newValue, newGroupBy = DEFAULT_GROUP_BY) => {
53
+ setQueryParams({
54
+ [QUERY_PARAM_VALUE]: newValue,
55
+ [QUERY_PARAM_GROUP_BY]: newGroupBy,
56
+ });
57
+ }, [setQueryParams]);
58
+ return (0, react_1.useMemo)(() => [{ value, groupBy }, setDisplayType], [value, groupBy, setDisplayType]);
38
59
  };
39
60
  exports.useMetricsDisplayType = useMetricsDisplayType;
40
61
  //# sourceMappingURL=metrics-display-type.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"metrics-display-type.js","sourceRoot":"","sources":["../../src/hooks/metrics-display-type.ts"],"names":[],"mappings":";;;AAAA,iCAAwD;AACxD,yCAA4C;AAC5C,uDAA+D;AAE/D,4CAAkD;AAElD,MAAM,oBAAoB,GAAG,8BAAkB,CAAC,KAAK,CAAC;AACtD,MAAM,UAAU,GAAG,IAAI,CAAC;AAIjB,MAAM,qBAAqB,GAAG,GAA0B,EAAE;IAC/D,MAAM,CAAC,EAAE,CAAC,UAAU,CAAC,EAAE,gBAAgB,EAAE,EAAE,cAAc,CAAC,GAAG,IAAA,iCAAc,EAAC;QAC1E,CAAC,UAAU,CAAC,EAAE,8BAAW;KAC1B,CAAC,CAAC;IACH,MAAM,CAAC,kBAAkB,EAAE,sBAAsB,CAAC,GAAG,IAAA,2BAAe,EAClE,UAAU,EACV,8BAAkB,CAAC,KAAK,CACzB,CAAC;IAEF,MAAM,WAAW,GAAG,IAAA,eAAO,EAAC,GAAG,EAAE;QAC/B,MAAM,KAAK,GAAG,gBAAgB,IAAI,kBAAkB,CAAC;QAErD,IAAI,CAAC,KAAK,EAAE;YACV,OAAO,oBAAoB,CAAC;SAC7B;QAED,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,8BAAkB,CAAC,CAAC,QAAQ,CAAC,KAA2B,CAAC,EAAE;YAC5E,OAAO,oBAAoB,CAAC;SAC7B;QAED,OAAO,KAA2B,CAAC;IACrC,CAAC,EAAE,CAAC,gBAAgB,EAAE,kBAAkB,CAAC,CAAC,CAAC;IAE3C,IAAA,iBAAS,EAAC,GAAG,EAAE;QAEb,IAAI,gBAAgB,KAAK,WAAW,EAAE;YACpC,cAAc,CAAC,EAAE,CAAC,UAAU,CAAC,EAAE,WAAW,EAAE,CAAC,CAAC;SAC/C;QAGD,IAAI,kBAAkB,KAAK,WAAW,EAAE;YACtC,sBAAsB,CAAC,gBAAsC,CAAC,CAAC;SAChE;IACH,CAAC,EAAE,CAAC,WAAW,EAAE,gBAAgB,EAAE,kBAAkB,EAAE,cAAc,EAAE,sBAAsB,CAAC,CAAC,CAAC;IAEhG,MAAM,cAAc,GAAG,IAAA,mBAAW,EAChC,CAAC,KAAyB,EAAE,EAAE;QAC5B,sBAAsB,CAAC,KAAK,CAAC,CAAC;QAC9B,cAAc,CAAC,EAAE,CAAC,UAAU,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC;IAC1C,CAAC,EACD,CAAC,sBAAsB,EAAE,cAAc,CAAC,CACzC,CAAC;IAEF,OAAO,CAAC,WAAW,EAAE,cAAc,CAAC,CAAC;AACvC,CAAC,CAAC;AA5CW,QAAA,qBAAqB,yBA4ChC"}
1
+ {"version":3,"file":"metrics-display-type.js","sourceRoot":"","sources":["../../src/hooks/metrics-display-type.ts"],"names":[],"mappings":"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"}
@@ -34,6 +34,7 @@ const getSearchReducer = ({ defaultFilters, allEntriesFilters, setParentState })
34
34
  const newState = {
35
35
  filters: payload,
36
36
  search: state.search,
37
+ searchPattern: getSearchPattern(state.search),
37
38
  };
38
39
  setParentState(newState);
39
40
  return newState;
@@ -1 +1 @@
1
- {"version":3,"file":"search-params.js","sourceRoot":"","sources":["../../src/hooks/search-params.js"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"search-params.js","sourceRoot":"","sources":["../../src/hooks/search-params.js"],"names":[],"mappings":"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"}
@@ -8,11 +8,13 @@
8
8
  }
9
9
 
10
10
  .outline > :first-child {
11
- border-radius: var(--radius-medium) var(--radius-medium) 0 0;
11
+ border-top-left-radius: var(--radius-medium);
12
+ border-top-right-radius: var(--radius-medium);
12
13
  }
13
14
 
14
15
  .outline > :last-child {
15
- border-radius: 0 0 var(--radius-medium) var(--radius-medium);
16
+ border-bottom-left-radius: var(--radius-medium);
17
+ border-bottom-right-radius: var(--radius-medium);
16
18
  }
17
19
 
18
20
  .outlineHover {
@@ -7,12 +7,11 @@ exports.FlexStack = void 0;
7
7
  const react_1 = __importDefault(require("react"));
8
8
  const classnames_1 = __importDefault(require("classnames"));
9
9
  const tokens_1 = require("../../tokens");
10
- const utils_1 = require("../../utils");
11
10
  const flex_stack_module_css_1 = __importDefault(require("./flex-stack.module.css"));
12
11
  const FlexStack = (props) => {
13
- const { as: Component = 'div', className = '', space = tokens_1.NO_SPACE, inline = false, children = null, alignItems = '', ...restProps } = props;
14
- const rootClassName = (0, classnames_1.default)(className, flex_stack_module_css_1.default.root, flex_stack_module_css_1.default[`space--${space}`], flex_stack_module_css_1.default[`align-items--${alignItems}`], inline && flex_stack_module_css_1.default.inline);
15
- return (react_1.default.createElement(Component, { ...restProps, className: rootClassName }, react_1.default.Children.map(children, (0, utils_1.getRenderChildWithClassName)(flex_stack_module_css_1.default.item))));
12
+ const { as: Component = 'div', className = '', space = tokens_1.NO_SPACE, inline = false, alignItems = '', ...restProps } = props;
13
+ const rootClassName = (0, classnames_1.default)(flex_stack_module_css_1.default.root, flex_stack_module_css_1.default[`space--${space}`], flex_stack_module_css_1.default[`align-items--${alignItems}`], inline && flex_stack_module_css_1.default.inline, className);
14
+ return react_1.default.createElement(Component, { ...restProps, className: rootClassName });
16
15
  };
17
16
  exports.FlexStack = FlexStack;
18
17
  //# sourceMappingURL=flex-stack.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"flex-stack.js","sourceRoot":"","sources":["../../../src/layout/flex-stack/flex-stack.tsx"],"names":[],"mappings":";;;;;;AAAA,kDAA0B;AAC1B,4DAA4B;AAE5B,yCAAgD;AAChD,uCAA0D;AAC1D,oFAA0C;AAWnC,MAAM,SAAS,GAAG,CACvB,KAAiF,EACjF,EAAE;IACF,MAAM,EACJ,EAAE,EAAE,SAAS,GAAG,KAAK,EACrB,SAAS,GAAG,EAAE,EACd,KAAK,GAAG,iBAAQ,EAChB,MAAM,GAAG,KAAK,EACd,QAAQ,GAAG,IAAI,EACf,UAAU,GAAG,EAAE,EACf,GAAG,SAAS,EACb,GAAG,KAAK,CAAC;IAEV,MAAM,aAAa,GAAG,IAAA,oBAAE,EACtB,SAAS,EACT,+BAAG,CAAC,IAAI,EACR,+BAAG,CAAC,UAAU,KAAK,EAAE,CAAC,EACtB,+BAAG,CAAC,gBAAgB,UAAU,EAAE,CAAC,EACjC,MAAM,IAAI,+BAAG,CAAC,MAAM,CACrB,CAAC;IAEF,OAAO,CACL,8BAAC,SAAS,OAAK,SAAS,EAAE,SAAS,EAAE,aAAa,IAC/C,eAAK,CAAC,QAAQ,CAAC,GAAG,CAAC,QAAQ,EAAE,IAAA,mCAA2B,EAAC,+BAAG,CAAC,IAAI,CAAC,CAAC,CAC1D,CACb,CAAC;AACJ,CAAC,CAAC;AA1BW,QAAA,SAAS,aA0BpB"}
1
+ {"version":3,"file":"flex-stack.js","sourceRoot":"","sources":["../../../src/layout/flex-stack/flex-stack.tsx"],"names":[],"mappings":";;;;;;AAAA,kDAA0B;AAC1B,4DAA4B;AAE5B,yCAAgD;AAChD,oFAA0C;AAWnC,MAAM,SAAS,GAAG,CACvB,KAAiF,EACjF,EAAE;IACF,MAAM,EACJ,EAAE,EAAE,SAAS,GAAG,KAAK,EACrB,SAAS,GAAG,EAAE,EACd,KAAK,GAAG,iBAAQ,EAChB,MAAM,GAAG,KAAK,EACd,UAAU,GAAG,EAAE,EACf,GAAG,SAAS,EACb,GAAG,KAAK,CAAC;IAEV,MAAM,aAAa,GAAG,IAAA,oBAAE,EACtB,+BAAG,CAAC,IAAI,EACR,+BAAG,CAAC,UAAU,KAAK,EAAE,CAAC,EACtB,+BAAG,CAAC,gBAAgB,UAAU,EAAE,CAAC,EACjC,MAAM,IAAI,+BAAG,CAAC,MAAM,EACpB,SAAS,CACV,CAAC;IAEF,OAAO,8BAAC,SAAS,OAAK,SAAS,EAAE,SAAS,EAAE,aAAa,GAAI,CAAC;AAChE,CAAC,CAAC;AArBW,QAAA,SAAS,aAqBpB"}
@@ -1,48 +1,44 @@
1
1
  .root {
2
2
  display: flex;
3
- align-items: stretch;
4
3
  justify-content: flex-start;
5
- }
6
-
7
- .root > .item:last-child {
8
- margin-right: 0;
4
+ gap: 0;
9
5
  }
10
6
 
11
7
  /** Space variation */
12
- .space--xxxsmall > .item {
13
- margin: 0 var(--space-xxxsmall) 0 0;
8
+ .space--xxxsmall {
9
+ gap: var(--space-xxxsmall);
14
10
  }
15
11
 
16
- .space--xxsmall > .item {
17
- margin: 0 var(--space-xxsmall) 0 0;
12
+ .space--xxsmall {
13
+ gap: var(--space-xxsmall);
18
14
  }
19
15
 
20
- .space--xsmall > .item {
21
- margin: 0 var(--space-xsmall) 0 0;
16
+ .space--xsmall {
17
+ gap: var(--space-xsmall);
22
18
  }
23
19
 
24
- .space--small > .item {
25
- margin: 0 var(--space-small) 0 0;
20
+ .space--small {
21
+ gap: var(--space-small);
26
22
  }
27
23
 
28
- .space--medium > .item {
29
- margin: 0 var(--space-medium) 0 0;
24
+ .space--medium {
25
+ gap: var(--space-medium);
30
26
  }
31
27
 
32
- .space--large > .item {
33
- margin: 0 var(--space-large) 0 0;
28
+ .space--large {
29
+ gap: var(--space-large);
34
30
  }
35
31
 
36
- .space--xlarge > .item {
37
- margin: 0 var(--space-xlarge) 0 0;
32
+ .space--xlarge {
33
+ gap: var(--space-xlarge);
38
34
  }
39
35
 
40
- .space--xxlarge > .item {
41
- margin: 0 var(--space-xxlarge) 0 0;
36
+ .space--xxlarge {
37
+ gap: var(--space-xxlarge);
42
38
  }
43
39
 
44
- .space--xxxlarge > .item {
45
- margin: 0 var(--space-xxxlarge) 0 0;
40
+ .space--xxxlarge {
41
+ gap: var(--space-xxxlarge);
46
42
  }
47
43
 
48
44
  /** Align items variation */
@@ -23,14 +23,15 @@ exports.BUTTON_KIND = {
23
23
  SUCCES: 'success',
24
24
  };
25
25
  const ButtonComponent = (props) => {
26
- const { className = '', outline = false, solid = false, active = false, kind = 'default', size = 'medium', radius = '', padding = '', as: Component = button_1.Button, children, Icon = icon_1.Icon, glyph, rightGlyph, ...restProps } = props;
26
+ const { className = '', outline = false, solid = false, active = false, kind = 'default', size = 'medium', radius = '', padding = '', as: Component = button_1.Button, children = null, Icon = icon_1.Icon, glyph, rightGlyph, ...restProps } = props;
27
27
  const resolvedPadding = padding || ((outline || solid) && size);
28
28
  const resolvedRadius = radius || ((outline || solid) && size);
29
- const rootClassName = (0, classnames_1.default)(button_module_css_1.default.root, button_module_css_1.default[size], kind && button_module_css_1.default[kind], outline && button_module_css_1.default.outline, outline && button_module_css_1.default[`outline--${kind}`], solid && button_module_css_1.default.solid, solid && button_module_css_1.default[`solid--${kind}`], resolvedPadding && button_module_css_1.default[`padding--${resolvedPadding}`], resolvedPadding && outline && button_module_css_1.default[`outline--padding--${resolvedPadding}`], resolvedRadius && button_module_css_1.default[`radius--${resolvedRadius}`], active && button_module_css_1.default.active, active && outline && button_module_css_1.default[`active-outline-${kind}`], button_module_css_1.default[size], className);
29
+ const resolvedSize = Object.values(exports.BUTTON_SIZE).includes(size) ? size : exports.BUTTON_SIZE.MEDIUM;
30
+ const rootClassName = (0, classnames_1.default)(button_module_css_1.default.root, kind && button_module_css_1.default[kind], button_module_css_1.default[resolvedSize], outline && button_module_css_1.default.outline, outline && button_module_css_1.default[`outline--${kind}`], solid && button_module_css_1.default.solid, solid && button_module_css_1.default[`solid--${kind}`], resolvedPadding && button_module_css_1.default.padding, resolvedRadius && button_module_css_1.default[`radius--${resolvedRadius}`], active && button_module_css_1.default.active, active && outline && button_module_css_1.default[`active-outline-${kind}`], className);
30
31
  return (react_1.default.createElement(Component, { ...restProps, className: rootClassName },
31
- glyph && react_1.default.createElement(Icon, { glyph: glyph, size: size, className: button_module_css_1.default.glyph }),
32
+ glyph && react_1.default.createElement(Icon, { glyph: glyph, className: button_module_css_1.default.glyph }),
32
33
  children && react_1.default.createElement("span", { className: button_module_css_1.default.content }, children),
33
- rightGlyph && react_1.default.createElement(Icon, { glyph: glyph, size: size, className: button_module_css_1.default.glyph })));
34
+ rightGlyph && react_1.default.createElement(Icon, { glyph: rightGlyph, className: button_module_css_1.default.glyph })));
34
35
  };
35
36
  exports.Button = react_1.default.forwardRef(ButtonComponent);
36
37
  //# sourceMappingURL=button.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"button.js","sourceRoot":"","sources":["../../../src/ui/button/button.tsx"],"names":[],"mappings":";;;;;;AAAA,kDAA0B;AAC1B,4DAA4B;AAC5B,2CAA+D;AAE/D,kCAA2C;AAC3C,4EAAsC;AAEzB,QAAA,WAAW,GAAG;IACzB,KAAK,EAAE,OAAO;IACd,MAAM,EAAE,QAAQ;IAChB,KAAK,EAAE,OAAO;CACN,CAAC;AAEE,QAAA,WAAW,GAAG;IACzB,OAAO,EAAE,SAAS;IAClB,SAAS,EAAE,WAAW;IACtB,KAAK,EAAE,QAAQ;IACf,OAAO,EAAE,SAAS;IAClB,IAAI,EAAE,MAAM;IACZ,MAAM,EAAE,SAAS;CACT,CAAC;AAmBX,MAAM,eAAe,GAAG,CACtB,KAAqF,EACrF,EAAE;IACF,MAAM,EACJ,SAAS,GAAG,EAAE,EACd,OAAO,GAAG,KAAK,EACf,KAAK,GAAG,KAAK,EACb,MAAM,GAAG,KAAK,EACd,IAAI,GAAG,SAAS,EAChB,IAAI,GAAG,QAAQ,EACf,MAAM,GAAG,EAAE,EACX,OAAO,GAAG,EAAE,EACZ,EAAE,EAAE,SAAS,GAAG,eAAmB,EACnC,QAAQ,EACR,IAAI,GAAG,WAAQ,EACf,KAAK,EACL,UAAU,EACV,GAAG,SAAS,EACb,GAAG,KAAK,CAAC;IAGV,MAAM,eAAe,GAAG,OAAO,IAAI,CAAC,CAAC,OAAO,IAAI,KAAK,CAAC,IAAI,IAAI,CAAC,CAAC;IAChE,MAAM,cAAc,GAAG,MAAM,IAAI,CAAC,CAAC,OAAO,IAAI,KAAK,CAAC,IAAI,IAAI,CAAC,CAAC;IAE9D,MAAM,aAAa,GAAG,IAAA,oBAAE,EACtB,2BAAG,CAAC,IAAI,EACR,2BAAG,CAAC,IAAI,CAAC,EACT,IAAI,IAAI,2BAAG,CAAC,IAAI,CAAC,EAEjB,OAAO,IAAI,2BAAG,CAAC,OAAO,EACtB,OAAO,IAAI,2BAAG,CAAC,YAAY,IAAI,EAAE,CAAC,EAElC,KAAK,IAAI,2BAAG,CAAC,KAAK,EAClB,KAAK,IAAI,2BAAG,CAAC,UAAU,IAAI,EAAE,CAAC,EAE9B,eAAe,IAAI,2BAAG,CAAC,YAAY,eAAe,EAAE,CAAC,EACrD,eAAe,IAAI,OAAO,IAAI,2BAAG,CAAC,qBAAqB,eAAe,EAAE,CAAC,EACzE,cAAc,IAAI,2BAAG,CAAC,WAAW,cAAc,EAAE,CAAC,EAElD,MAAM,IAAI,2BAAG,CAAC,MAAM,EACpB,MAAM,IAAI,OAAO,IAAI,2BAAG,CAAC,kBAAkB,IAAI,EAAE,CAAC,EAElD,2BAAG,CAAC,IAAI,CAAC,EACT,SAAS,CACV,CAAC;IAEF,OAAO,CACL,8BAAC,SAAS,OAAK,SAAS,EAAE,SAAS,EAAE,aAAa;QAC/C,KAAK,IAAI,8BAAC,IAAI,IAAC,KAAK,EAAE,KAAK,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE,2BAAG,CAAC,KAAK,GAAI;QACjE,QAAQ,IAAI,wCAAM,SAAS,EAAE,2BAAG,CAAC,OAAO,IAAG,QAAQ,CAAQ;QAC3D,UAAU,IAAI,8BAAC,IAAI,IAAC,KAAK,EAAE,KAAK,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE,2BAAG,CAAC,KAAK,GAAI,CAC7D,CACb,CAAC;AACJ,CAAC,CAAC;AAEW,QAAA,MAAM,GAAG,eAAK,CAAC,UAAU,CAAC,eAAe,CAAC,CAAC"}
1
+ {"version":3,"file":"button.js","sourceRoot":"","sources":["../../../src/ui/button/button.tsx"],"names":[],"mappings":";;;;;;AAAA,kDAA0B;AAE1B,4DAA4B;AAC5B,2CAA+D;AAE/D,kCAA2C;AAC3C,4EAAsC;AAEzB,QAAA,WAAW,GAAG;IACzB,KAAK,EAAE,OAAO;IACd,MAAM,EAAE,QAAQ;IAChB,KAAK,EAAE,OAAO;CACN,CAAC;AAEE,QAAA,WAAW,GAAG;IACzB,OAAO,EAAE,SAAS;IAClB,SAAS,EAAE,WAAW;IACtB,KAAK,EAAE,QAAQ;IACf,OAAO,EAAE,SAAS;IAClB,IAAI,EAAE,MAAM;IACZ,MAAM,EAAE,SAAS;CACT,CAAC;AAmBX,MAAM,eAAe,GAAG,CACtB,KAAqF,EACrF,EAAE;IACF,MAAM,EACJ,SAAS,GAAG,EAAE,EACd,OAAO,GAAG,KAAK,EACf,KAAK,GAAG,KAAK,EACb,MAAM,GAAG,KAAK,EACd,IAAI,GAAG,SAAS,EAChB,IAAI,GAAG,QAAQ,EACf,MAAM,GAAG,EAAE,EACX,OAAO,GAAG,EAAE,EACZ,EAAE,EAAE,SAAS,GAAG,eAAmB,EACnC,QAAQ,GAAG,IAAI,EACf,IAAI,GAAG,WAAQ,EACf,KAAK,EACL,UAAU,EACV,GAAG,SAAS,EACb,GAAG,KAAK,CAAC;IAGV,MAAM,eAAe,GAAG,OAAO,IAAI,CAAC,CAAC,OAAO,IAAI,KAAK,CAAC,IAAI,IAAI,CAAC,CAAC;IAChE,MAAM,cAAc,GAAG,MAAM,IAAI,CAAC,CAAC,OAAO,IAAI,KAAK,CAAC,IAAI,IAAI,CAAC,CAAC;IAE9D,MAAM,YAAY,GAAG,MAAM,CAAC,MAAM,CAAC,mBAAW,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,mBAAW,CAAC,MAAM,CAAC;IAE3F,MAAM,aAAa,GAAG,IAAA,oBAAE,EACtB,2BAAG,CAAC,IAAI,EACR,IAAI,IAAI,2BAAG,CAAC,IAAI,CAAC,EACjB,2BAAG,CAAC,YAAY,CAAC,EAEjB,OAAO,IAAI,2BAAG,CAAC,OAAO,EACtB,OAAO,IAAI,2BAAG,CAAC,YAAY,IAAI,EAAE,CAAC,EAElC,KAAK,IAAI,2BAAG,CAAC,KAAK,EAClB,KAAK,IAAI,2BAAG,CAAC,UAAU,IAAI,EAAE,CAAC,EAE9B,eAAe,IAAI,2BAAG,CAAC,OAAO,EAC9B,cAAc,IAAI,2BAAG,CAAC,WAAW,cAAc,EAAE,CAAC,EAElD,MAAM,IAAI,2BAAG,CAAC,MAAM,EACpB,MAAM,IAAI,OAAO,IAAI,2BAAG,CAAC,kBAAkB,IAAI,EAAE,CAAC,EAElD,SAAS,CACV,CAAC;IAEF,OAAO,CACL,8BAAC,SAAS,OAAK,SAAS,EAAE,SAAS,EAAE,aAAa;QAC/C,KAAK,IAAI,8BAAC,IAAI,IAAC,KAAK,EAAE,KAAK,EAAE,SAAS,EAAE,2BAAG,CAAC,KAAK,GAAI;QACrD,QAAQ,IAAI,wCAAM,SAAS,EAAE,2BAAG,CAAC,OAAO,IAAG,QAAQ,CAAQ;QAC3D,UAAU,IAAI,8BAAC,IAAI,IAAC,KAAK,EAAE,UAAU,EAAE,SAAS,EAAE,2BAAG,CAAC,KAAK,GAAI,CACtD,CACb,CAAC;AACJ,CAAC,CAAC;AAEW,QAAA,MAAM,GAAG,eAAK,CAAC,UAAU,CAAC,eAAe,CAAC,CAAC"}