@bundle-stats/ui 4.23.0-beta.1 → 4.23.0-beta.11

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 (330) hide show
  1. package/lib/app/app.js +16 -5
  2. package/lib/app/app.js.map +1 -1
  3. package/lib/app/app.module.css +13 -9
  4. package/lib/app/header/header.module.css +1 -3
  5. package/lib/components/asset-name/asset-name.js +8 -7
  6. package/lib/components/asset-name/asset-name.js.map +1 -1
  7. package/lib/components/asset-name/asset-name.module.css +11 -10
  8. package/lib/components/bundle-assets/bundle-assets.js +4 -2
  9. package/lib/components/bundle-assets/bundle-assets.js.map +1 -1
  10. package/lib/components/bundle-assets/bundle-assets.module.css +0 -12
  11. package/lib/components/bundle-assets/index.js +2 -1
  12. package/lib/components/bundle-assets/index.js.map +1 -1
  13. package/lib/components/bundle-assets-totals/bundle-assets-totals.js +4 -2
  14. package/lib/components/bundle-assets-totals/bundle-assets-totals.js.map +1 -1
  15. package/lib/components/bundle-modules/bundle-modules.js +5 -3
  16. package/lib/components/bundle-modules/bundle-modules.js.map +1 -1
  17. package/lib/components/bundle-modules/bundle-modules.module.css +2 -16
  18. package/lib/components/bundle-modules/index.js +2 -1
  19. package/lib/components/bundle-modules/index.js.map +1 -1
  20. package/lib/components/bundle-packages/bundle-packages.js +5 -3
  21. package/lib/components/bundle-packages/bundle-packages.js.map +1 -1
  22. package/lib/components/bundle-packages/bundle-packages.module.css +18 -22
  23. package/lib/components/entry-info/entry-info.js +4 -2
  24. package/lib/components/entry-info/entry-info.js.map +1 -1
  25. package/lib/components/entry-info/entry-info.module.css +8 -2
  26. package/lib/components/jobs-header/jobs-header.js +1 -1
  27. package/lib/components/jobs-header/jobs-header.js.map +1 -1
  28. package/lib/components/jobs-header/jobs-header.module.css +0 -1
  29. package/lib/components/metric-change-legend/metric-change-legend.js +2 -2
  30. package/lib/components/metric-change-legend/metric-change-legend.js.map +1 -1
  31. package/lib/components/metric-change-legend/metric-change-legend.module.css +11 -0
  32. package/lib/components/metric-run-info/metric-run-info.js +4 -11
  33. package/lib/components/metric-run-info/metric-run-info.js.map +1 -1
  34. package/lib/components/metrics-display-selector/metrics-display-selector.module.css +4 -4
  35. package/lib/components/metrics-table/metrics-table.js +31 -20
  36. package/lib/components/metrics-table/metrics-table.js.map +1 -1
  37. package/lib/components/metrics-table/metrics-table.module.css +4 -12
  38. package/lib/components/metrics-table-options/metrics-table-options.js +5 -6
  39. package/lib/components/metrics-table-options/metrics-table-options.js.map +1 -1
  40. package/lib/components/metrics-table-row-count/index.js +18 -0
  41. package/lib/components/metrics-table-row-count/index.js.map +1 -0
  42. package/lib/components/metrics-table-row-count/metrics-table-row-count.js +17 -0
  43. package/lib/components/metrics-table-row-count/metrics-table-row-count.js.map +1 -0
  44. package/lib/components/metrics-table-row-count/metrics-table-row-count.module.css +5 -0
  45. package/lib/components/metrics-treemap/metrics-treemap.constants.js +3 -1
  46. package/lib/components/metrics-treemap/metrics-treemap.constants.js.map +1 -1
  47. package/lib/components/metrics-treemap/metrics-treemap.js +46 -113
  48. package/lib/components/metrics-treemap/metrics-treemap.js.map +1 -1
  49. package/lib/components/metrics-treemap/metrics-treemap.module.css +3 -274
  50. package/lib/components/metrics-treemap/metrics-treemap.utils.js +81 -16
  51. package/lib/components/metrics-treemap/metrics-treemap.utils.js.map +1 -1
  52. package/lib/components/metrics-treemap/tile/index.js +18 -0
  53. package/lib/components/metrics-treemap/tile/index.js.map +1 -0
  54. package/lib/components/metrics-treemap/tile/tile.js +79 -0
  55. package/lib/components/metrics-treemap/tile/tile.js.map +1 -0
  56. package/lib/components/metrics-treemap/tile/tile.module.css +146 -0
  57. package/lib/components/metrics-treemap/tile-group/index.js +18 -0
  58. package/lib/components/metrics-treemap/tile-group/index.js.map +1 -0
  59. package/lib/components/metrics-treemap/tile-group/tile-group.js +75 -0
  60. package/lib/components/metrics-treemap/tile-group/tile-group.js.map +1 -0
  61. package/lib/components/metrics-treemap/tile-group/tile-group.module.css +59 -0
  62. package/lib/components/metrics-treemap/tile-group-title/index.js +18 -0
  63. package/lib/components/metrics-treemap/tile-group-title/index.js.map +1 -0
  64. package/lib/components/metrics-treemap/tile-group-title/tile-group-title.js +24 -0
  65. package/lib/components/metrics-treemap/tile-group-title/tile-group-title.js.map +1 -0
  66. package/lib/components/metrics-treemap/tile-group-title/tile-group-title.module.css +44 -0
  67. package/lib/components/run-info/run-info.module.css +6 -6
  68. package/lib/components/sort-button/sort-button.module.css +5 -4
  69. package/lib/components/summary/summary.js +5 -4
  70. package/lib/components/summary/summary.js.map +1 -1
  71. package/lib/components/summary/summary.module.css +18 -18
  72. package/lib/css/default.css +9 -4
  73. package/lib/css/variables.css +42 -28
  74. package/lib/layout/box/box.module.css +4 -2
  75. package/lib/layout/flex-stack/flex-stack.js +2 -2
  76. package/lib/layout/flex-stack/flex-stack.js.map +1 -1
  77. package/lib/layout/flex-stack/flex-stack.module.css +65 -10
  78. package/lib/query-state.js +6 -3
  79. package/lib/query-state.js.map +1 -1
  80. package/lib/ui/button/button.js +3 -2
  81. package/lib/ui/button/button.js.map +1 -1
  82. package/lib/ui/button/button.module.css +41 -28
  83. package/lib/ui/control-group/control-group.js +1 -1
  84. package/lib/ui/control-group/control-group.js.map +1 -1
  85. package/lib/ui/copy-to-clipboard/copy-to-clipboard.module.css +4 -2
  86. package/lib/ui/dialog/dialog.js +3 -1
  87. package/lib/ui/dialog/dialog.js.map +1 -1
  88. package/lib/ui/dialog/dialog.module.css +16 -5
  89. package/lib/ui/dropdown/dropdown.js +11 -3
  90. package/lib/ui/dropdown/dropdown.js.map +1 -1
  91. package/lib/ui/dropdown/dropdown.module.css +56 -9
  92. package/lib/ui/filters/filters.js +28 -16
  93. package/lib/ui/filters/filters.js.map +1 -1
  94. package/lib/ui/filters/filters.module.css +7 -21
  95. package/lib/ui/hover-card/hover-card.js +7 -1
  96. package/lib/ui/hover-card/hover-card.js.map +1 -1
  97. package/lib/ui/hover-card/hover-card.module.css +14 -10
  98. package/lib/ui/input/input.module.css +4 -2
  99. package/lib/ui/table/table.module.css +14 -5
  100. package/lib/ui/tabs/tabs.module.css +17 -9
  101. package/lib/ui/tag/tag.module.css +0 -2
  102. package/lib/ui/textarea/textarea.module.css +4 -2
  103. package/lib/ui/toolbar/toolbar.js +2 -1
  104. package/lib/ui/toolbar/toolbar.js.map +1 -1
  105. package/lib/ui/toolbar/toolbar.module.css +0 -6
  106. package/lib/ui/tooltip/tooltip.js +6 -1
  107. package/lib/ui/tooltip/tooltip.js.map +1 -1
  108. package/lib/ui/tooltip/tooltip.module.css +5 -3
  109. package/lib/utils/index.js +1 -0
  110. package/lib/utils/index.js.map +1 -1
  111. package/lib/utils/portal.js +26 -0
  112. package/lib/utils/portal.js.map +1 -0
  113. package/lib-esm/app/app.js +16 -5
  114. package/lib-esm/app/app.js.map +1 -1
  115. package/lib-esm/app/app.module.css +13 -9
  116. package/lib-esm/app/header/header.module.css +1 -3
  117. package/lib-esm/components/asset-name/asset-name.js +8 -7
  118. package/lib-esm/components/asset-name/asset-name.js.map +1 -1
  119. package/lib-esm/components/asset-name/asset-name.module.css +11 -10
  120. package/lib-esm/components/bundle-assets/bundle-assets.js +4 -2
  121. package/lib-esm/components/bundle-assets/bundle-assets.js.map +1 -1
  122. package/lib-esm/components/bundle-assets/bundle-assets.module.css +0 -12
  123. package/lib-esm/components/bundle-assets/index.js +2 -1
  124. package/lib-esm/components/bundle-assets/index.js.map +1 -1
  125. package/lib-esm/components/bundle-assets-totals/bundle-assets-totals.js +4 -2
  126. package/lib-esm/components/bundle-assets-totals/bundle-assets-totals.js.map +1 -1
  127. package/lib-esm/components/bundle-modules/bundle-modules.js +5 -3
  128. package/lib-esm/components/bundle-modules/bundle-modules.js.map +1 -1
  129. package/lib-esm/components/bundle-modules/bundle-modules.module.css +2 -16
  130. package/lib-esm/components/bundle-modules/index.js +2 -1
  131. package/lib-esm/components/bundle-modules/index.js.map +1 -1
  132. package/lib-esm/components/bundle-packages/bundle-packages.js +5 -3
  133. package/lib-esm/components/bundle-packages/bundle-packages.js.map +1 -1
  134. package/lib-esm/components/bundle-packages/bundle-packages.module.css +18 -22
  135. package/lib-esm/components/entry-info/entry-info.js +4 -2
  136. package/lib-esm/components/entry-info/entry-info.js.map +1 -1
  137. package/lib-esm/components/entry-info/entry-info.module.css +8 -2
  138. package/lib-esm/components/jobs-header/jobs-header.js +1 -1
  139. package/lib-esm/components/jobs-header/jobs-header.js.map +1 -1
  140. package/lib-esm/components/jobs-header/jobs-header.module.css +0 -1
  141. package/lib-esm/components/metric-change-legend/metric-change-legend.js +2 -2
  142. package/lib-esm/components/metric-change-legend/metric-change-legend.js.map +1 -1
  143. package/lib-esm/components/metric-change-legend/metric-change-legend.module.css +11 -0
  144. package/lib-esm/components/metric-run-info/metric-run-info.js +5 -12
  145. package/lib-esm/components/metric-run-info/metric-run-info.js.map +1 -1
  146. package/lib-esm/components/metrics-display-selector/metrics-display-selector.module.css +4 -4
  147. package/lib-esm/components/metrics-table/metrics-table.js +32 -20
  148. package/lib-esm/components/metrics-table/metrics-table.js.map +1 -1
  149. package/lib-esm/components/metrics-table/metrics-table.module.css +4 -12
  150. package/lib-esm/components/metrics-table-options/metrics-table-options.js +6 -7
  151. package/lib-esm/components/metrics-table-options/metrics-table-options.js.map +1 -1
  152. package/lib-esm/components/metrics-table-row-count/index.js +2 -0
  153. package/lib-esm/components/metrics-table-row-count/index.js.map +1 -0
  154. package/lib-esm/components/metrics-table-row-count/metrics-table-row-count.js +10 -0
  155. package/lib-esm/components/metrics-table-row-count/metrics-table-row-count.js.map +1 -0
  156. package/lib-esm/components/metrics-table-row-count/metrics-table-row-count.module.css +5 -0
  157. package/lib-esm/components/metrics-treemap/metrics-treemap.constants.js +2 -0
  158. package/lib-esm/components/metrics-treemap/metrics-treemap.constants.js.map +1 -1
  159. package/lib-esm/components/metrics-treemap/metrics-treemap.js +52 -120
  160. package/lib-esm/components/metrics-treemap/metrics-treemap.js.map +1 -1
  161. package/lib-esm/components/metrics-treemap/metrics-treemap.module.css +3 -274
  162. package/lib-esm/components/metrics-treemap/metrics-treemap.utils.js +80 -18
  163. package/lib-esm/components/metrics-treemap/metrics-treemap.utils.js.map +1 -1
  164. package/lib-esm/components/metrics-treemap/tile/index.js +2 -0
  165. package/lib-esm/components/metrics-treemap/tile/index.js.map +1 -0
  166. package/lib-esm/components/metrics-treemap/tile/tile.js +40 -0
  167. package/lib-esm/components/metrics-treemap/tile/tile.js.map +1 -0
  168. package/lib-esm/components/metrics-treemap/tile/tile.module.css +146 -0
  169. package/lib-esm/components/metrics-treemap/tile-group/index.js +2 -0
  170. package/lib-esm/components/metrics-treemap/tile-group/index.js.map +1 -0
  171. package/lib-esm/components/metrics-treemap/tile-group/tile-group.js +35 -0
  172. package/lib-esm/components/metrics-treemap/tile-group/tile-group.js.map +1 -0
  173. package/lib-esm/components/metrics-treemap/tile-group/tile-group.module.css +59 -0
  174. package/lib-esm/components/metrics-treemap/tile-group-title/index.js +2 -0
  175. package/lib-esm/components/metrics-treemap/tile-group-title/index.js.map +1 -0
  176. package/lib-esm/components/metrics-treemap/tile-group-title/tile-group-title.js +17 -0
  177. package/lib-esm/components/metrics-treemap/tile-group-title/tile-group-title.js.map +1 -0
  178. package/lib-esm/components/metrics-treemap/tile-group-title/tile-group-title.module.css +44 -0
  179. package/lib-esm/components/run-info/run-info.module.css +6 -6
  180. package/lib-esm/components/sort-button/sort-button.module.css +5 -4
  181. package/lib-esm/components/summary/summary.js +5 -4
  182. package/lib-esm/components/summary/summary.js.map +1 -1
  183. package/lib-esm/components/summary/summary.module.css +18 -18
  184. package/lib-esm/css/default.css +9 -4
  185. package/lib-esm/css/variables.css +42 -28
  186. package/lib-esm/layout/box/box.module.css +4 -2
  187. package/lib-esm/layout/flex-stack/flex-stack.js +3 -2
  188. package/lib-esm/layout/flex-stack/flex-stack.js.map +1 -1
  189. package/lib-esm/layout/flex-stack/flex-stack.module.css +65 -10
  190. package/lib-esm/query-state.js +7 -4
  191. package/lib-esm/query-state.js.map +1 -1
  192. package/lib-esm/ui/button/button.js +3 -2
  193. package/lib-esm/ui/button/button.js.map +1 -1
  194. package/lib-esm/ui/button/button.module.css +41 -28
  195. package/lib-esm/ui/control-group/control-group.js +1 -1
  196. package/lib-esm/ui/control-group/control-group.js.map +1 -1
  197. package/lib-esm/ui/copy-to-clipboard/copy-to-clipboard.module.css +4 -2
  198. package/lib-esm/ui/dialog/dialog.js +3 -1
  199. package/lib-esm/ui/dialog/dialog.js.map +1 -1
  200. package/lib-esm/ui/dialog/dialog.module.css +16 -5
  201. package/lib-esm/ui/dropdown/dropdown.js +9 -2
  202. package/lib-esm/ui/dropdown/dropdown.js.map +1 -1
  203. package/lib-esm/ui/dropdown/dropdown.module.css +56 -9
  204. package/lib-esm/ui/filters/filters.js +29 -17
  205. package/lib-esm/ui/filters/filters.js.map +1 -1
  206. package/lib-esm/ui/filters/filters.module.css +7 -21
  207. package/lib-esm/ui/hover-card/hover-card.js +7 -1
  208. package/lib-esm/ui/hover-card/hover-card.js.map +1 -1
  209. package/lib-esm/ui/hover-card/hover-card.module.css +14 -10
  210. package/lib-esm/ui/input/input.module.css +4 -2
  211. package/lib-esm/ui/table/table.module.css +14 -5
  212. package/lib-esm/ui/tabs/tabs.module.css +17 -9
  213. package/lib-esm/ui/tag/tag.module.css +0 -2
  214. package/lib-esm/ui/textarea/textarea.module.css +4 -2
  215. package/lib-esm/ui/toolbar/toolbar.js +2 -1
  216. package/lib-esm/ui/toolbar/toolbar.js.map +1 -1
  217. package/lib-esm/ui/toolbar/toolbar.module.css +0 -6
  218. package/lib-esm/ui/tooltip/tooltip.js +6 -1
  219. package/lib-esm/ui/tooltip/tooltip.js.map +1 -1
  220. package/lib-esm/ui/tooltip/tooltip.module.css +5 -3
  221. package/lib-esm/utils/index.js +1 -0
  222. package/lib-esm/utils/index.js.map +1 -1
  223. package/lib-esm/utils/portal.js +21 -0
  224. package/lib-esm/utils/portal.js.map +1 -0
  225. package/package.json +17 -17
  226. package/src/app/app.jsx +31 -12
  227. package/src/app/app.module.css +13 -9
  228. package/src/app/header/header.module.css +1 -3
  229. package/src/components/asset-name/asset-name.module.css +11 -10
  230. package/src/components/asset-name/asset-name.tsx +17 -14
  231. package/src/components/bundle-assets/bundle-assets.module.css +0 -12
  232. package/src/components/bundle-assets/bundle-assets.tsx +8 -1
  233. package/src/components/bundle-assets/index.tsx +3 -1
  234. package/src/components/bundle-assets-totals/bundle-assets-totals.jsx +6 -4
  235. package/src/components/bundle-modules/bundle-modules.module.css +2 -16
  236. package/src/components/bundle-modules/bundle-modules.tsx +10 -3
  237. package/src/components/bundle-modules/index.tsx +3 -1
  238. package/src/components/bundle-packages/bundle-packages.jsx +14 -3
  239. package/src/components/bundle-packages/bundle-packages.module.css +18 -22
  240. package/src/components/entry-info/entry-info.module.css +8 -2
  241. package/src/components/entry-info/entry-info.tsx +9 -3
  242. package/src/components/jobs-header/jobs-header.module.css +0 -1
  243. package/src/components/jobs-header/jobs-header.tsx +2 -2
  244. package/src/components/metric-change-legend/metric-change-legend.module.css +11 -0
  245. package/src/components/metric-change-legend/metric-change-legend.tsx +2 -2
  246. package/src/components/metric-run-info/metric-run-info.stories.tsx +9 -0
  247. package/src/components/metric-run-info/metric-run-info.tsx +10 -12
  248. package/src/components/metrics-display-selector/metrics-display-selector.module.css +4 -4
  249. package/src/components/metrics-table/metrics-table.module.css +4 -12
  250. package/src/components/metrics-table/metrics-table.tsx +70 -39
  251. package/src/components/metrics-table-options/metrics-table-options.tsx +14 -15
  252. package/src/components/metrics-table-row-count/index.ts +1 -0
  253. package/src/components/metrics-table-row-count/metrics-table-row-count.module.css +5 -0
  254. package/src/components/metrics-table-row-count/metrics-table-row-count.tsx +21 -0
  255. package/src/components/metrics-treemap/metrics-treemap.constants.ts +9 -0
  256. package/src/components/metrics-treemap/metrics-treemap.module.css +3 -274
  257. package/src/components/metrics-treemap/metrics-treemap.stories.utils.ts +46 -0
  258. package/src/components/metrics-treemap/metrics-treemap.tsx +123 -428
  259. package/src/components/metrics-treemap/metrics-treemap.utils.ts +161 -27
  260. package/src/components/metrics-treemap/tile/index.ts +1 -0
  261. package/src/components/metrics-treemap/tile/tile.module.css +146 -0
  262. package/src/components/metrics-treemap/tile/tile.stories.tsx +139 -0
  263. package/src/components/metrics-treemap/tile/tile.tsx +121 -0
  264. package/src/components/metrics-treemap/tile-group/index.ts +1 -0
  265. package/src/components/metrics-treemap/tile-group/tile-group.module.css +59 -0
  266. package/src/components/metrics-treemap/tile-group/tile-group.stories.tsx +163 -0
  267. package/src/components/metrics-treemap/tile-group/tile-group.tsx +177 -0
  268. package/src/components/metrics-treemap/tile-group-title/index.ts +1 -0
  269. package/src/components/metrics-treemap/tile-group-title/tile-group-title.module.css +44 -0
  270. package/src/components/metrics-treemap/tile-group-title/tile-group-title.stories.tsx +88 -0
  271. package/src/components/metrics-treemap/tile-group-title/tile-group-title.tsx +51 -0
  272. package/src/components/run-info/run-info.module.css +6 -6
  273. package/src/components/sort-button/sort-button.module.css +5 -4
  274. package/src/components/summary/summary.module.css +18 -18
  275. package/src/components/summary/summary.tsx +9 -8
  276. package/src/css/default.css +9 -4
  277. package/src/css/variables.css +42 -28
  278. package/src/layout/box/box.module.css +4 -2
  279. package/src/layout/flex-stack/flex-stack.module.css +65 -10
  280. package/src/layout/flex-stack/flex-stack.stories.tsx +68 -9
  281. package/src/layout/flex-stack/flex-stack.tsx +24 -4
  282. package/src/query-state.tsx +9 -4
  283. package/src/ui/button/button.module.css +41 -28
  284. package/src/ui/button/button.stories.tsx +1 -1
  285. package/src/ui/button/button.tsx +3 -1
  286. package/src/ui/control-group/control-group.tsx +1 -1
  287. package/src/ui/copy-to-clipboard/copy-to-clipboard.module.css +4 -2
  288. package/src/ui/dialog/dialog.module.css +16 -5
  289. package/src/ui/dialog/dialog.stories.tsx +8 -0
  290. package/src/ui/dialog/dialog.tsx +7 -0
  291. package/src/ui/dropdown/dropdown.module.css +56 -9
  292. package/src/ui/dropdown/dropdown.stories.tsx +6 -0
  293. package/src/ui/dropdown/dropdown.tsx +13 -2
  294. package/src/ui/filters/filters.module.css +7 -21
  295. package/src/ui/filters/filters.tsx +131 -67
  296. package/src/ui/hover-card/hover-card.module.css +14 -10
  297. package/src/ui/hover-card/hover-card.tsx +7 -1
  298. package/src/ui/input/input.module.css +4 -2
  299. package/src/ui/table/table.module.css +14 -5
  300. package/src/ui/tabs/tabs.module.css +17 -9
  301. package/src/ui/tag/tag.module.css +0 -2
  302. package/src/ui/textarea/textarea.module.css +4 -2
  303. package/src/ui/toolbar/toolbar.jsx +4 -1
  304. package/src/ui/toolbar/toolbar.module.css +0 -6
  305. package/src/ui/tooltip/tooltip.module.css +5 -3
  306. package/src/ui/tooltip/tooltip.tsx +6 -1
  307. package/src/utils/index.ts +1 -0
  308. package/src/utils/portal.ts +34 -0
  309. package/types/components/metric-run-info/metric-run-info.d.ts +1 -0
  310. package/types/components/metrics-table/metrics-table.d.ts +2 -1
  311. package/types/components/metrics-table-row-count/index.d.ts +1 -0
  312. package/types/components/metrics-table-row-count/metrics-table-row-count.d.ts +7 -0
  313. package/types/components/metrics-treemap/metrics-treemap.constants.d.ts +2 -0
  314. package/types/components/metrics-treemap/metrics-treemap.utils.d.ts +16 -5
  315. package/types/components/metrics-treemap/tile/index.d.ts +1 -0
  316. package/types/components/metrics-treemap/tile/tile.d.ts +11 -0
  317. package/types/components/metrics-treemap/tile-group/index.d.ts +1 -0
  318. package/types/components/metrics-treemap/tile-group/tile-group.d.ts +20 -0
  319. package/types/components/metrics-treemap/tile-group-title/index.d.ts +1 -0
  320. package/types/components/metrics-treemap/tile-group-title/tile-group-title.d.ts +12 -0
  321. package/types/layout/flex-stack/flex-stack.d.ts +6 -2
  322. package/types/ui/button/button.d.ts +1 -0
  323. package/types/ui/dropdown/dropdown.d.ts +3 -1
  324. package/types/ui/filters/filters.d.ts +2 -1
  325. package/types/utils/index.d.ts +1 -0
  326. package/types/utils/portal.d.ts +2 -0
  327. package/vitest.config.ts +4 -0
  328. package/lib/components/metrics-table-options/metrics-table-options.module.css +0 -15
  329. package/lib-esm/components/metrics-table-options/metrics-table-options.module.css +0 -15
  330. package/src/components/metrics-table-options/metrics-table-options.module.css +0 -15
@@ -3,35 +3,43 @@
3
3
  --button-space: 0px;
4
4
  /* button border width */
5
5
  --border-width: 0px;
6
+ /* line height in pixels to prevent layout shift when rendering a glyph */
7
+ --line-height: var(--space-small);
6
8
 
7
9
  display: inline-flex;
8
10
  align-items: center;
9
11
  justify-content: center;
10
- gap: calc(max(var(--button-space), var(--space-xxsmall)) * 0.66);
12
+ gap: calc(var(--button-space) * 0.66);
11
13
  appearance: none;
12
14
  padding: 0;
13
15
  border: var(--border-width) solid transparent;
14
16
  background: none;
15
- transition: var(--transition-out);
16
17
  color: var(--color-text-ultra-light);
18
+ font-size: var(--size-medium);
17
19
  font-family: var(--font-family);
20
+ line-height: var(--line-height);
18
21
  white-space: nowrap;
22
+ transition-property: color, background-color, border-color;
23
+ transition-duration: var(--transition-duration-out);
24
+ transition-timing-function: var(--transition-timing-function);
19
25
  }
20
26
 
21
27
  a.root {
22
28
  text-decoration: none;
23
29
  }
24
30
 
31
+ .root:focus,
25
32
  .root:hover,
26
- .root:active,
27
- .root:focus {
33
+ .root:active {
28
34
  outline: none;
29
35
  color: var(--color-text-light);
30
- transition: var(--transition-in);
36
+ transition-duration: var(--transition-duration-in);
31
37
  }
32
38
 
33
39
  .glyph {
34
40
  flex: 0 0 auto;
41
+ width: var(--line-height);
42
+ height: var(--line-height);
35
43
  }
36
44
 
37
45
  .text {
@@ -43,13 +51,13 @@ a.root {
43
51
  * Kind variation
44
52
  */
45
53
  .primary {
46
- color: var(--color-primary);
54
+ color: var(--color-accent);
47
55
  }
48
56
 
49
57
  .primary:hover,
50
58
  .primary:active,
51
59
  .primary:focus {
52
- color: var(--color-primary-dark);
60
+ color: var(--color-accent-dark);
53
61
  }
54
62
 
55
63
  .secondary {
@@ -106,25 +114,25 @@ a.root {
106
114
  * Solid Kind variation
107
115
  */
108
116
  .solid {
109
- background: var(--color-text-ultra-light);
117
+ background: var(--color-text-light);
110
118
  color: var(--color-background);
111
119
  }
112
120
 
113
121
  .solid:hover,
114
122
  .solid:active,
115
123
  .solid:focus {
116
- background: var(--color-text-light);
124
+ background: var(--color-text);
117
125
  color: var(--color-background);
118
126
  }
119
127
 
120
128
  .solid--primary {
121
- background: var(--color-primary);
129
+ background: var(--color-accent);
122
130
  }
123
131
 
124
132
  .solid--primary:hover,
125
133
  .solid--primary:active,
126
134
  .solid--primary:focus {
127
- background: var(--color-primary-dark);
135
+ background: var(--color-accent-dark);
128
136
  }
129
137
 
130
138
  .solid--secondary {
@@ -180,40 +188,36 @@ a.root {
180
188
  /**
181
189
  * Size variation
182
190
  */
191
+ .xsmall {
192
+ --button-space: var(--space-xxxsmall);
193
+ --line-height: var(--space-xsmall);
194
+
195
+ font-size: var(--size-xsmall);
196
+ }
197
+
183
198
  .small {
184
199
  --button-space: var(--space-xxsmall);
200
+ --line-height: var(--space-small);
185
201
 
186
202
  font-size: var(--size-small);
187
- line-height: var(--space-small);
188
- }
189
-
190
- .small .glyph {
191
- width: var(--space-small);
192
- height: var(--space-small);
193
203
  }
194
204
 
195
205
  .medium {
196
206
  --button-space: var(--space-xsmall);
197
-
198
- font-size: var(--size-medium);
199
- line-height: calc(var(--space-small) + var(--space-xxxsmall));
207
+ --line-height: var(--space-small);
200
208
  }
201
209
 
202
210
  .medium .glyph {
203
- width: calc(var(--space-small) + var(--space-xxxsmall));
211
+ margin: calc(0px - var(--space-xxxsmall) / 2);
204
212
  height: calc(var(--space-small) + var(--space-xxxsmall));
213
+ width: calc(var(--space-small) + var(--space-xxxsmall));
205
214
  }
206
215
 
207
216
  .large {
208
217
  --button-space: var(--space-small);
218
+ --line-height: var(--space-medium);
209
219
 
210
220
  font-size: var(--size-large);
211
- line-height: var(--space-medium);
212
- }
213
-
214
- .large .glyph {
215
- width: var(--space-medium);
216
- height: var(--space-medium);
217
221
  }
218
222
 
219
223
  /**
@@ -300,6 +304,10 @@ a.root {
300
304
  /**
301
305
  * Radius variation
302
306
  */
307
+ .radius--xsmall {
308
+ border-radius: var(--radius-xsmall);
309
+ }
310
+
303
311
  .radius--small {
304
312
  border-radius: var(--radius-small);
305
313
  }
@@ -361,5 +369,10 @@ a.root {
361
369
  * Disabled state
362
370
  */
363
371
  .root[disabled] {
364
- filter: grayscale(1);
372
+ opacity: 0.9;
373
+ }
374
+
375
+ .root[disabled] .icon,
376
+ .root[disabled] .content {
377
+ opacity: 0.8;
365
378
  }
@@ -19,7 +19,7 @@ export default meta;
19
19
  type Story = StoryObj<typeof meta>;
20
20
 
21
21
  const Items = (props: React.ComponentProps<typeof FlexStack>) => (
22
- <FlexStack alignItems="top" style={{ flexWrap: 'wrap', gap: '12px' }} {...props} />
22
+ <FlexStack alignItems="top" wrap="wrap" gap="xsmall" {...props} />
23
23
  );
24
24
 
25
25
  export const Default: Story = {};
@@ -6,6 +6,7 @@ import { Icon as BaseIcon } from '../icon';
6
6
  import css from './button.module.css';
7
7
 
8
8
  export const BUTTON_SIZE = {
9
+ XSMALL: 'xsmall',
9
10
  SMALL: 'small',
10
11
  MEDIUM: 'medium',
11
12
  LARGE: 'large',
@@ -41,6 +42,7 @@ interface ButtonProps<T extends React.ElementType> {
41
42
 
42
43
  const ButtonComponent = <T extends React.ElementType = 'button'>(
43
44
  props: ButtonProps<T> & Omit<React.ComponentPropsWithoutRef<T>, keyof ButtonProps<T>>,
45
+ ref: React.Ref<HTMLButtonElement>,
44
46
  ) => {
45
47
  const {
46
48
  className = '',
@@ -86,7 +88,7 @@ const ButtonComponent = <T extends React.ElementType = 'button'>(
86
88
  );
87
89
 
88
90
  return (
89
- <Component {...restProps} className={rootClassName}>
91
+ <Component {...restProps} ref={ref} className={rootClassName}>
90
92
  {glyph && <Icon glyph={glyph} className={css.glyph} />}
91
93
  {children && <span className={css.content}>{children}</span>}
92
94
  {rightGlyph && <Icon glyph={rightGlyph} className={css.glyph} />}
@@ -9,7 +9,7 @@ export const ControlGroup = (props: React.ComponentProps<typeof FlexStack>) => {
9
9
  return (
10
10
  <FlexStack
11
11
  className={cx(css.root, className)}
12
- space="no-space"
12
+ gap="no-space"
13
13
  alignItems="center"
14
14
  {...restProps}
15
15
  />
@@ -6,10 +6,12 @@
6
6
 
7
7
  /** done state */
8
8
  .root svg {
9
- transition: var(--ui-transition-out);
9
+ transition-property: color;
10
+ transition-duration: var(--transition-duration-out);
11
+ transition-timing-function: var(--transition-timing-function);
10
12
  }
11
13
 
12
14
  .done svg {
13
15
  color: var(--color-success);
14
- transition: var(--ui-transition-in);
16
+ transition-duration: var(--transition-duration-in);
15
17
  }
@@ -1,15 +1,22 @@
1
+ /** place overlays triggered from inside the dialog on top of the dialog */
2
+ .portal {
3
+ --layer-overlay: calc(var(--layer-xxhigh) + 1);
4
+ }
5
+
1
6
  .backdrop {
2
7
  display: flex;
3
8
  align-items: center;
4
9
  justify-content: center;
5
10
  z-index: var(--layer-xxhigh);
6
11
  opacity: 0;
7
- transition: var(--transition-out);
12
+ transition-property: opacity;
13
+ transition-duration: var(--transition-duration-out);
14
+ transition-timing-function: var(--transition-timing-function);
8
15
  }
9
16
 
10
17
  .backdrop[data-enter] {
11
18
  opacity: 1;
12
- transition: var(--transition-in);
19
+ transition-duration: var(--transition-duration-in);
13
20
  }
14
21
 
15
22
  .backdrop[data-leave] {
@@ -34,17 +41,20 @@
34
41
  width: calc(100vw - 2 * var(--dialog-padding));
35
42
  position: relative;
36
43
  border-radius: var(--radius-medium);
37
- padding: var(--dialog-padding);
44
+ border: 1px solid var(--color-outline);
45
+ padding: calc(var(--dialog-padding) - 1px);
38
46
  background: var(--color-background);
39
47
  box-shadow: 0 0 var(--space-medium) var(--color-shadow);
40
48
  z-index: var(--layer-xxhigh);
41
49
  opacity: 0;
42
- transition: var(--transition-out);
50
+ transition-property: opacity;
51
+ transition-duration: var(--transition-duration-out);
52
+ transition-timing-function: var(--transition-timing-function);
43
53
  }
44
54
 
45
55
  .dialog[data-enter] {
46
56
  opacity: 1;
47
- transition: var(--transition-in);
57
+ transition-duration: var(--transition-duration-in);
48
58
  }
49
59
 
50
60
  .digalog[data-leave] {
@@ -86,6 +96,7 @@
86
96
  );
87
97
  padding-bottom: 0.3em; /* extra space to compensate for the title line-height and allow to show focus state correctly on buttons */
88
98
  overflow: auto;
99
+ overscroll-behavior: contain;
89
100
  }
90
101
 
91
102
  /** Width variation */
@@ -3,6 +3,8 @@ import type { Meta, StoryObj } from '@storybook/react';
3
3
 
4
4
  import { Dropdown, DropdownItem } from '../dropdown';
5
5
  import { Button } from '../button';
6
+ import { HoverCard } from '../hover-card';
7
+ import { Tooltip } from '../tooltip';
6
8
  import { Dialog, useDialogState } from '.';
7
9
 
8
10
  const meta: Meta<typeof Dialog> = {
@@ -40,6 +42,12 @@ const DialogComponent = (storyArgs: Story['args']) => {
40
42
  </Dropdown>
41
43
  <br />
42
44
  <br />
45
+ <Tooltip title="Tooltip content">Tooltip anchor</Tooltip>
46
+ <br />
47
+ <br />
48
+ <HoverCard label="HoverCard anchor">HoverCard content</HoverCard>
49
+ <br />
50
+ <br />
43
51
  {[1, 2, 3].map((item) => (
44
52
  <Fragment key={item}>
45
53
  <p>
@@ -9,6 +9,7 @@ import {
9
9
  } from 'ariakit/dialog';
10
10
 
11
11
  import { Stack } from '../../layout/stack';
12
+ import { getCreatePortalElement } from '../../utils/portal';
12
13
  import { BUTTON_GLYPHS, Button } from '../button';
13
14
  import css from './dialog.module.css';
14
15
 
@@ -16,6 +17,11 @@ export const useDialogState = (options: DialogStateProps = {}) => {
16
17
  return useAriakitDialogState({ animated: true, ...options });
17
18
  };
18
19
 
20
+ /**
21
+ * Raise the z-index of the overlays nested inside the dialog
22
+ */
23
+ const createPortalElement = getCreatePortalElement(css.portal);
24
+
19
25
  type AriakitDialogProps = ComponentProps<typeof AriakitDialog>;
20
26
 
21
27
  type DialogProps = {
@@ -48,6 +54,7 @@ export const Dialog = (props: DialogProps) => {
48
54
  className: css.backdrop,
49
55
  }}
50
56
  portal
57
+ portalElement={createPortalElement}
51
58
  className={rootClassName}
52
59
  >
53
60
  {!modal && (
@@ -11,18 +11,24 @@
11
11
  left: 0;
12
12
  top: 100%;
13
13
  border-radius: var(--radius-small);
14
+ border: 1px solid var(--color-outline);
14
15
  box-shadow: var(--shadow-layer);
15
16
  background: var(--color-background);
16
- min-width: 12em;
17
- z-index: var(--layer-high);
18
- padding: calc(var(--space-xxxsmall) / 2);
17
+ min-width: 16em;
18
+ z-index: var(--layer-overlay);
19
+ padding: calc(var(--space-xxxsmall) - 1px);
20
+ color: var(--color-text-light);
21
+ font-size: var(--size-small);
22
+ line-height: var(--line-height);
19
23
  opacity: 0;
20
- transition: var(--transition-out);
24
+ transition-property: opacity;
25
+ transition-duration: var(--transition-duration-out);
26
+ transition-timing-function: var(--transition-timing-function);
21
27
  }
22
28
 
23
29
  .dropdown[data-enter] {
24
30
  opacity: 1;
25
- transition: var(--transition-in);
31
+ transition-duration: var(--transition-duration-in);
26
32
  }
27
33
 
28
34
  .dropdown[data-leave] {
@@ -40,14 +46,17 @@
40
46
  outline: none;
41
47
  border: 0;
42
48
  border-radius: var(--radius-small);
43
- padding: calc(var(--space-xxxsmall) + var(--space-xxxsmall) / 2);
49
+ padding: var(--space-xxxsmall);
44
50
  background: none;
51
+ color: inherit;
52
+ font-size: inherit;
53
+ line-height: inherit;
45
54
  text-align: left;
46
- color: var(--color-text-light);
47
- font-size: var(--size-small);
48
- line-height: var(--line-height);
49
55
  text-decoration: none;
50
56
  cursor: default;
57
+ transition-property: color, background-color;
58
+ transition-duration: var(--transition-duration-out);
59
+ transition-timing-function: var(--transition-timing-function);
51
60
  }
52
61
 
53
62
  .item[data-active-item],
@@ -56,6 +65,7 @@
56
65
  .item:active {
57
66
  background: var(--color-highlight);
58
67
  color: var(--color-text);
68
+ transition-duration: var(--transition-duration-in);
59
69
  }
60
70
 
61
71
  .itemActive {
@@ -69,3 +79,40 @@
69
79
  background: var(--color-highlight-info);
70
80
  color: var(--color-primary-dark);
71
81
  }
82
+
83
+ .item + .item {
84
+ margin-top: calc(var(--space-xxxsmall) / 2);
85
+ }
86
+
87
+ .group {
88
+ position: relative;
89
+ padding: calc(var(--space-xxxsmall) / 2 + 1px) 0 calc(var(--space-xxxsmall) / 2);
90
+ }
91
+
92
+ .group::before {
93
+ content: ' ';
94
+ display: block;
95
+ position: absolute;
96
+ left: var(--space-xxxsmall);
97
+ right: var(--space-xxxsmall);
98
+ top: 0px;
99
+ height: 1px;
100
+ border: none;
101
+ background: var(--color-outline);
102
+ }
103
+
104
+ .group:first-child {
105
+ padding-top: 0;
106
+ }
107
+
108
+ .group:first-child::before {
109
+ display: none;
110
+ }
111
+
112
+ .group:last-child {
113
+ padding-bottom: 0;
114
+ }
115
+
116
+ .group:empty {
117
+ display: none;
118
+ }
@@ -15,6 +15,12 @@ const meta = {
15
15
  <>
16
16
  <DropdownItem>Option 1</DropdownItem>
17
17
  <DropdownItem>Option 2</DropdownItem>
18
+ <DropdownItem as="a" href="#">
19
+ Option 3
20
+ </DropdownItem>
21
+ <DropdownItem as="button" onClick={() => alert('Select option')}>
22
+ Option 4
23
+ </DropdownItem>
18
24
  </>
19
25
  ),
20
26
  },
@@ -1,11 +1,20 @@
1
- import React from 'react';
1
+ import React, { ComponentProps } from 'react';
2
2
  import cx from 'classnames';
3
3
  import { Menu, MenuButton, MenuItem, MenuStateProps, useMenuState } from 'ariakit/menu';
4
+ import isNull from 'lodash/isNull';
5
+ import isUndefined from 'lodash/isUndefined';
4
6
 
5
7
  import { Button, BUTTON_SIZE } from '../button';
6
8
  import css from './dropdown.module.css';
7
9
  import { Icon } from '../icon';
8
10
 
11
+ export type DropdownGroupProps = ComponentProps<'div'>;
12
+
13
+ export const DropdownGroup = (props: DropdownGroupProps) => {
14
+ const { className, ...restProps } = props;
15
+ return <div className={cx(css.group, className)} {...restProps} />;
16
+ };
17
+
9
18
  interface DropdownItemProps {
10
19
  isActive?: boolean;
11
20
  }
@@ -37,7 +46,7 @@ export const Dropdown = (props: DropdownProps & React.ComponentProps<'div'>) =>
37
46
  label = null,
38
47
  ariaLabel = '',
39
48
  glyph = '',
40
- showChevron = true,
49
+ showChevron: initialShowChevron,
41
50
  disabled = false,
42
51
  placement,
43
52
  gutter = 4,
@@ -47,6 +56,7 @@ export const Dropdown = (props: DropdownProps & React.ComponentProps<'div'>) =>
47
56
 
48
57
  const dropdownAriaLabel = ariaLabel || (typeof label === 'string' ? label : '');
49
58
  const menuState = useMenuState({ animated: true, placement, gutter, shift });
59
+ const showChevron = isUndefined(initialShowChevron) ? !isNull(label) : initialShowChevron;
50
60
 
51
61
  return (
52
62
  <>
@@ -58,6 +68,7 @@ export const Dropdown = (props: DropdownProps & React.ComponentProps<'div'>) =>
58
68
  rightGlyph={showChevron ? Icon.ICONS.CHEVRON_DOWN : undefined}
59
69
  disabled={disabled}
60
70
  state={menuState}
71
+ toggleOnClick
61
72
  tabIndex={null}
62
73
  className={cx(css.button, className)}
63
74
  >
@@ -42,14 +42,16 @@
42
42
  font-size: var(--size-small);
43
43
  line-height: var(--space-small);
44
44
  color: var(--color-text-ultra-light);
45
- transition: var(--transition-out);
45
+ transition-property: color, border-color;
46
+ transition-duration: var(--transition-duration-out);
47
+ transition-timing-function: var(--transition-timing-function);
46
48
  }
47
49
 
48
- .filterSingle:hover,
50
+ .filterSingle:focus,
49
51
  .filterSingle:active,
50
- .filterSingle:focus {
52
+ .filterSingle:hover {
51
53
  border-color: var(--color-outline-dark);
52
- transition: var(--transition-in);
54
+ transition-duration: var(--transition-duration-in);
53
55
  }
54
56
 
55
57
  /** Filter group */
@@ -72,8 +74,6 @@
72
74
  right: 2px;
73
75
  top: 50%;
74
76
  transform: translateY(-50%);
75
- padding: var(--space-xxxsmall);
76
- font-size: var(--size-xsmall);
77
77
  line-height: 1.1;
78
78
  }
79
79
 
@@ -101,23 +101,9 @@
101
101
  text-transform: lowercase;
102
102
  }
103
103
 
104
- .filterGroupSearchWrapper {
105
- padding-bottom: var(--space-xxxsmall);
106
- margin-bottom: var(--space-xxxsmall);
107
- border-bottom: 1px solid var(--color-outline);
108
- }
109
-
110
104
  .filterGroupSearchNotFound {
111
- padding: var(--space-xxsmall) 0;
112
105
  text-align: center;
106
+ min-height: calc(10 * (var(--space-small) + 2 * var(--space-xxxsmall)));
113
107
  font-size: var(--size-small);
114
108
  color: var(--color-text-light);
115
109
  }
116
-
117
- .filterGroupActions {
118
- margin-top: var(--space-xxxsmall);
119
- padding-top: var(--space-xxxsmall);
120
- padding-bottom: var(--space-xxxsmall);
121
- margin-bottom: calc(0px - var(--space-xxxsmall));
122
- border-top: 1px solid var(--color-outline);
123
- }