@bundle-stats/ui 3.3.0-alpha.1 → 3.4.0-alpha.3

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 (190) hide show
  1. package/CHANGELOG.md +65 -13
  2. package/lib/app/app.js +137 -102
  3. package/lib/app/app.module.css +11 -4
  4. package/lib/app/header/header.js +1 -10
  5. package/lib/components/asset-info/asset-info.module.css +1 -0
  6. package/lib/components/bundle-assets/bundle-assets.js +104 -52
  7. package/lib/components/bundle-assets/bundle-assets.module.css +24 -26
  8. package/lib/components/bundle-assets-totals-table/bundle-assets-totals-table.js +13 -3
  9. package/lib/components/bundle-modules/bundle-modules.js +68 -68
  10. package/lib/components/bundle-modules/bundle-modules.module.css +11 -2
  11. package/lib/components/bundle-modules/bundle-modules.utils.js +14 -10
  12. package/lib/components/bundle-modules/index.js +4 -4
  13. package/lib/components/bundle-packages/bundle-packages.js +100 -44
  14. package/lib/components/bundle-packages/bundle-packages.module.css +17 -21
  15. package/lib/components/delta/delta.module.css +1 -0
  16. package/lib/components/job-header/job-header.js +3 -1
  17. package/lib/components/job-header/job-header.module.css +6 -8
  18. package/lib/components/jobs-header/jobs-header.module.css +5 -0
  19. package/lib/components/metrics-table/metrics-table.js +72 -59
  20. package/lib/components/metrics-table/metrics-table.module.css +18 -7
  21. package/lib/components/metrics-table-search/metrics-table-search.module.css +5 -4
  22. package/lib/components/metrics-table-title/metrics-table-title.js +9 -7
  23. package/lib/components/metrics-table-title/metrics-table-title.module.css +2 -0
  24. package/lib/components/module-info/module-info.js +2 -2
  25. package/lib/components/module-info/module-info.module.css +1 -0
  26. package/lib/components/summary/summary.js +1 -1
  27. package/lib/components/summary-item/summary-item.js +15 -18
  28. package/lib/components/summary-item/summary-item.module.css +1 -23
  29. package/lib/components/total-size-type-title/total-size-type-title.js +7 -3
  30. package/lib/constants.js +1 -1
  31. package/lib/css/default.css +14 -3
  32. package/lib/css/variables.css +17 -17
  33. package/lib/hooks/search-params.js +31 -31
  34. package/lib/layout/box/box.module.css +9 -0
  35. package/lib/layout/footer/footer.module.css +1 -1
  36. package/lib/layout/index.js +8 -0
  37. package/lib/layout/separator.js +48 -0
  38. package/lib/layout/separator.module.css +5 -0
  39. package/lib/ui/dropdown/dropdown.js +21 -26
  40. package/lib/ui/dropdown/dropdown.module.css +11 -12
  41. package/lib/ui/dropdown/dropdown.stories.js +2 -9
  42. package/lib/ui/empty-set/empty-set.js +5 -4
  43. package/lib/ui/empty-set/empty-set.module.css +2 -2
  44. package/lib/ui/filters/filters.container.js +1 -1
  45. package/lib/ui/filters/filters.js +22 -7
  46. package/lib/ui/filters/filters.module.css +3 -3
  47. package/lib/ui/horizontal-bar-chart/horizontal-bar-chart.js +1 -1
  48. package/lib/ui/hover-card/hover-card.js +102 -0
  49. package/lib/ui/hover-card/hover-card.module.css +29 -0
  50. package/lib/ui/hover-card/hover-card.stories.js +56 -0
  51. package/lib/ui/hover-card/index.js +18 -0
  52. package/lib/ui/icon/icon.js +6 -6
  53. package/lib/ui/icon/icon.module.css +1 -0
  54. package/lib/ui/index.js +8 -8
  55. package/lib/ui/table/table.js +5 -74
  56. package/lib/ui/table/table.module.css +41 -25
  57. package/lib/ui/table/table.stories.js +1 -1
  58. package/lib/ui/{popover → tag}/index.js +4 -4
  59. package/lib/ui/tag/tag.js +72 -0
  60. package/lib/ui/tag/tag.module.css +55 -0
  61. package/lib/ui/tag/tag.stories.js +38 -0
  62. package/lib/ui/tooltip/tooltip.js +10 -9
  63. package/lib/ui/tooltip/tooltip.module.css +2 -1
  64. package/lib-esm/app/app.js +132 -102
  65. package/lib-esm/app/app.module.css +11 -4
  66. package/lib-esm/app/header/header.js +1 -9
  67. package/lib-esm/components/asset-info/asset-info.module.css +1 -0
  68. package/lib-esm/components/bundle-assets/bundle-assets.js +97 -56
  69. package/lib-esm/components/bundle-assets/bundle-assets.module.css +24 -26
  70. package/lib-esm/components/bundle-assets-totals-table/bundle-assets-totals-table.js +7 -3
  71. package/lib-esm/components/bundle-modules/bundle-modules.js +50 -51
  72. package/lib-esm/components/bundle-modules/bundle-modules.module.css +11 -2
  73. package/lib-esm/components/bundle-modules/bundle-modules.utils.js +14 -6
  74. package/lib-esm/components/bundle-modules/index.js +5 -3
  75. package/lib-esm/components/bundle-packages/bundle-packages.js +88 -41
  76. package/lib-esm/components/bundle-packages/bundle-packages.module.css +17 -21
  77. package/lib-esm/components/delta/delta.module.css +1 -0
  78. package/lib-esm/components/job-header/job-header.js +2 -1
  79. package/lib-esm/components/job-header/job-header.module.css +6 -8
  80. package/lib-esm/components/jobs-header/jobs-header.module.css +5 -0
  81. package/lib-esm/components/metrics-table/metrics-table.js +61 -53
  82. package/lib-esm/components/metrics-table/metrics-table.module.css +18 -7
  83. package/lib-esm/components/metrics-table-search/metrics-table-search.module.css +5 -4
  84. package/lib-esm/components/metrics-table-title/metrics-table-title.js +8 -7
  85. package/lib-esm/components/metrics-table-title/metrics-table-title.module.css +2 -0
  86. package/lib-esm/components/module-info/module-info.js +2 -2
  87. package/lib-esm/components/module-info/module-info.module.css +1 -0
  88. package/lib-esm/components/summary/summary.js +1 -1
  89. package/lib-esm/components/summary-item/summary-item.js +14 -18
  90. package/lib-esm/components/summary-item/summary-item.module.css +1 -23
  91. package/lib-esm/components/total-size-type-title/total-size-type-title.js +6 -3
  92. package/lib-esm/constants.js +1 -1
  93. package/lib-esm/css/default.css +14 -3
  94. package/lib-esm/css/variables.css +17 -17
  95. package/lib-esm/hooks/search-params.js +27 -28
  96. package/lib-esm/layout/box/box.module.css +9 -0
  97. package/lib-esm/layout/footer/footer.module.css +1 -1
  98. package/lib-esm/layout/index.js +1 -0
  99. package/lib-esm/layout/separator.js +28 -0
  100. package/lib-esm/layout/separator.module.css +5 -0
  101. package/lib-esm/ui/dropdown/dropdown.js +20 -25
  102. package/lib-esm/ui/dropdown/dropdown.module.css +11 -12
  103. package/lib-esm/ui/dropdown/dropdown.stories.js +2 -7
  104. package/lib-esm/ui/empty-set/empty-set.js +4 -4
  105. package/lib-esm/ui/empty-set/empty-set.module.css +2 -2
  106. package/lib-esm/ui/filters/filters.js +20 -5
  107. package/lib-esm/ui/filters/filters.module.css +3 -3
  108. package/lib-esm/ui/hover-card/hover-card.js +83 -0
  109. package/lib-esm/ui/hover-card/hover-card.module.css +29 -0
  110. package/lib-esm/ui/hover-card/hover-card.stories.js +35 -0
  111. package/lib-esm/ui/hover-card/index.js +1 -0
  112. package/lib-esm/ui/icon/icon.js +3 -3
  113. package/lib-esm/ui/icon/icon.module.css +1 -0
  114. package/lib-esm/ui/index.js +1 -1
  115. package/lib-esm/ui/table/table.js +5 -65
  116. package/lib-esm/ui/table/table.module.css +41 -25
  117. package/lib-esm/ui/table/table.stories.js +1 -1
  118. package/lib-esm/ui/tag/index.js +1 -0
  119. package/lib-esm/ui/tag/tag.js +45 -0
  120. package/lib-esm/ui/tag/tag.module.css +55 -0
  121. package/lib-esm/ui/tag/tag.stories.js +23 -0
  122. package/lib-esm/ui/tooltip/tooltip.js +10 -9
  123. package/lib-esm/ui/tooltip/tooltip.module.css +2 -1
  124. package/package.json +33 -31
  125. package/src/app/app.jsx +142 -145
  126. package/src/app/app.module.css +11 -4
  127. package/src/app/header/header.jsx +0 -10
  128. package/src/components/asset-info/asset-info.module.css +1 -0
  129. package/src/components/bundle-assets/bundle-assets.jsx +85 -31
  130. package/src/components/bundle-assets/bundle-assets.module.css +24 -26
  131. package/src/components/bundle-assets-totals-table/bundle-assets-totals-table.jsx +2 -0
  132. package/src/components/bundle-modules/bundle-modules.jsx +53 -36
  133. package/src/components/bundle-modules/bundle-modules.module.css +11 -2
  134. package/src/components/bundle-modules/bundle-modules.utils.js +16 -4
  135. package/src/components/bundle-modules/index.jsx +3 -0
  136. package/src/components/bundle-packages/bundle-packages.jsx +89 -39
  137. package/src/components/bundle-packages/bundle-packages.module.css +17 -21
  138. package/src/components/delta/delta.module.css +1 -0
  139. package/src/components/job-header/job-header.jsx +2 -1
  140. package/src/components/job-header/job-header.module.css +6 -8
  141. package/src/components/jobs-header/jobs-header.module.css +5 -0
  142. package/src/components/metrics-table/metrics-table.jsx +53 -44
  143. package/src/components/metrics-table/metrics-table.module.css +18 -7
  144. package/src/components/metrics-table-search/metrics-table-search.module.css +5 -4
  145. package/src/components/metrics-table-title/metrics-table-title.jsx +20 -21
  146. package/src/components/metrics-table-title/metrics-table-title.module.css +2 -0
  147. package/src/components/module-info/module-info.jsx +3 -7
  148. package/src/components/module-info/module-info.module.css +1 -0
  149. package/src/components/summary/summary.jsx +1 -1
  150. package/src/components/summary-item/summary-item.jsx +21 -27
  151. package/src/components/summary-item/summary-item.module.css +1 -23
  152. package/src/components/total-size-type-title/total-size-type-title.jsx +6 -9
  153. package/src/constants.js +1 -1
  154. package/src/css/default.css +14 -3
  155. package/src/css/variables.css +17 -17
  156. package/src/hooks/search-params.js +42 -33
  157. package/src/layout/box/box.module.css +9 -0
  158. package/src/layout/footer/footer.module.css +1 -1
  159. package/src/layout/index.js +1 -0
  160. package/src/layout/separator.jsx +25 -0
  161. package/src/layout/separator.module.css +5 -0
  162. package/src/ui/dropdown/dropdown.jsx +16 -22
  163. package/src/ui/dropdown/dropdown.module.css +11 -12
  164. package/src/ui/empty-set/empty-set.jsx +25 -21
  165. package/src/ui/empty-set/empty-set.module.css +2 -2
  166. package/src/ui/filters/filters.jsx +64 -53
  167. package/src/ui/filters/filters.module.css +3 -3
  168. package/src/ui/hover-card/hover-card.jsx +73 -0
  169. package/src/ui/hover-card/hover-card.module.css +29 -0
  170. package/src/ui/hover-card/index.js +1 -0
  171. package/src/ui/icon/icon.jsx +11 -7
  172. package/src/ui/icon/icon.module.css +1 -0
  173. package/src/ui/index.js +1 -1
  174. package/src/ui/table/table.jsx +5 -52
  175. package/src/ui/table/table.module.css +41 -25
  176. package/src/ui/tag/index.js +1 -0
  177. package/src/ui/tag/tag.jsx +49 -0
  178. package/src/ui/tag/tag.module.css +55 -0
  179. package/src/ui/tooltip/tooltip.jsx +10 -14
  180. package/src/ui/tooltip/tooltip.module.css +2 -1
  181. package/lib/ui/popover/popover.js +0 -92
  182. package/lib/ui/popover/popover.module.css +0 -66
  183. package/lib/ui/popover/popover.stories.js +0 -26
  184. package/lib-esm/ui/popover/index.js +0 -1
  185. package/lib-esm/ui/popover/popover.js +0 -71
  186. package/lib-esm/ui/popover/popover.module.css +0 -66
  187. package/lib-esm/ui/popover/popover.stories.js +0 -14
  188. package/src/ui/popover/index.js +0 -1
  189. package/src/ui/popover/popover.jsx +0 -79
  190. package/src/ui/popover/popover.module.css +0 -66
@@ -1,16 +1,14 @@
1
1
  .root {
2
+ display: inline-block;
3
+ }
4
+
5
+ .button {
2
6
  background: none;
3
7
  border: none;
4
8
  padding: 0;
5
- }
6
-
7
- .root:focus {
8
- outline: none;
9
- box-shadow: 0 0 var(--space-xxxsmall) var(--color-shadow);
10
- }
11
9
 
12
- .label {
13
10
  border: 1px solid var(--color-outline);
11
+ border-radius: var(--radius-small);
14
12
  padding: calc(var(--space-xxsmall) - 1px);
15
13
  display: flex;
16
14
  align-items: center;
@@ -24,7 +22,11 @@
24
22
  color: var(--color-text-light);
25
23
  }
26
24
 
27
- .label:hover {
25
+ .button:hover,
26
+ .button:focus,
27
+ .button:active {
28
+ outline: none;
29
+ box-shadow: 0 0 var(--space-xxxsmall) var(--color-shadow);
28
30
  border-color: var(--color-outline-dark);
29
31
  color: var(--color-text);
30
32
  }
@@ -33,6 +35,7 @@
33
35
  position: absolute;
34
36
  left: 0;
35
37
  top: 100%;
38
+ border-radius: var(--radius-medium);
36
39
  box-shadow: 0 2px var(--space-xxsmall) var(--color-shadow);
37
40
  background: var(--color-background);
38
41
  min-width: 180px;
@@ -45,10 +48,6 @@
45
48
  box-shadow: 0 2px var(--space-xsmall) var(--color-shadow);
46
49
  }
47
50
 
48
- .activeLabel .label {
49
- color: var(--color-text);
50
- }
51
-
52
51
  .menuItem {
53
52
  display: block;
54
53
  appearance: none;
@@ -18,22 +18,15 @@ stories.add('default', function () {
18
18
  label: "Toggle"
19
19
  }, /*#__PURE__*/_react["default"].createElement("ul", null, /*#__PURE__*/_react["default"].createElement("li", null, "Option 1"), /*#__PURE__*/_react["default"].createElement("li", null, "Option 2")));
20
20
  });
21
- stories.add('with right alignement', function () {
22
- return /*#__PURE__*/_react["default"].createElement(_.Dropdown, {
23
- glyph: "filter",
24
- label: "Toggle",
25
- align: "right"
26
- }, /*#__PURE__*/_react["default"].createElement("ul", null, /*#__PURE__*/_react["default"].createElement("li", null, "Option 1"), /*#__PURE__*/_react["default"].createElement("li", null, "Option 2")));
27
- });
28
21
  stories.add('with render function', function () {
29
22
  return /*#__PURE__*/_react["default"].createElement(_.Dropdown, {
30
23
  glyph: "filter",
31
24
  label: "Toggle"
32
25
  }, function (_ref) {
33
- var dropdownToggle = _ref.dropdownToggle;
26
+ var menu = _ref.menu;
34
27
  return /*#__PURE__*/_react["default"].createElement("button", {
35
28
  type: "button",
36
- onClick: dropdownToggle
29
+ onClick: menu.toggle
37
30
  }, "Toggle dropdown");
38
31
  });
39
32
  });
@@ -9,6 +9,8 @@ var _react = _interopRequireDefault(require("react"));
9
9
 
10
10
  var _propTypes = _interopRequireDefault(require("prop-types"));
11
11
 
12
+ var _stack = require("../../layout/stack");
13
+
12
14
  var _i18n = _interopRequireDefault(require("../../i18n"));
13
15
 
14
16
  var _emptySetModule = _interopRequireDefault(require("./empty-set.module.css"));
@@ -42,11 +44,10 @@ var EmptySet = function EmptySet(props) {
42
44
  type: "button",
43
45
  onClick: handleViewAll
44
46
  }, _i18n["default"].VIEW_ALL)] : []));
45
- return /*#__PURE__*/_react["default"].createElement("div", {
47
+ return /*#__PURE__*/_react["default"].createElement(_stack.Stack, {
48
+ space: "xxsmall",
46
49
  className: _emptySetModule["default"].root
47
- }, /*#__PURE__*/_react["default"].createElement("p", {
48
- className: _emptySetModule["default"].text
49
- }, message), filtered && actions.map(function (action, index) {
50
+ }, /*#__PURE__*/_react["default"].createElement("p", null, message), filtered && actions.map(function (action, index) {
50
51
  return /*#__PURE__*/_react["default"].createElement(_react["default"].Fragment, null, index > 0 && ' or ', action);
51
52
  }));
52
53
  };
@@ -1,5 +1,5 @@
1
- .text {
2
- margin-bottom: 0;
1
+ .root {
2
+ color: var(--color-text-light);
3
3
  }
4
4
 
5
5
  .action {
@@ -27,7 +27,7 @@ function _defineProperties(target, props) { for (var i = 0; i < props.length; i+
27
27
 
28
28
  function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, "prototype", { writable: false }); return Constructor; }
29
29
 
30
- function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } Object.defineProperty(subClass, "prototype", { value: Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }), writable: false }); if (superClass) _setPrototypeOf(subClass, superClass); }
30
+ function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); Object.defineProperty(subClass, "prototype", { writable: false }); if (superClass) _setPrototypeOf(subClass, superClass); }
31
31
 
32
32
  function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }
33
33
 
@@ -21,7 +21,7 @@ var _filters = require("./filters.utils");
21
21
 
22
22
  var _filtersModule = _interopRequireDefault(require("./filters.module.css"));
23
23
 
24
- var _excluded = ["className", "label", "name", "getOnOnlyClick"],
24
+ var _excluded = ["className", "buttonClassName", "label", "name", "getOnOnlyClick"],
25
25
  _excluded2 = ["label"];
26
26
 
27
27
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
@@ -52,6 +52,7 @@ function _objectWithoutPropertiesLoose(source, excluded) { if (source == null) r
52
52
 
53
53
  var Filter = function Filter(props) {
54
54
  var className = props.className,
55
+ buttonClassName = props.buttonClassName,
55
56
  label = props.label,
56
57
  name = props.name,
57
58
  getOnOnlyClick = props.getOnOnlyClick,
@@ -64,7 +65,7 @@ var Filter = function Filter(props) {
64
65
  }, /*#__PURE__*/_react["default"].createElement(_flexStack.FlexStack, {
65
66
  space: "xxxsmall",
66
67
  as: "label",
67
- className: _filtersModule["default"].filterCheckbox
68
+ className: (0, _classnames["default"])(_filtersModule["default"].filterCheckbox, buttonClassName)
68
69
  }, /*#__PURE__*/_react["default"].createElement("input", _extends({
69
70
  className: _filtersModule["default"].filterInput,
70
71
  type: "checkbox",
@@ -82,17 +83,21 @@ var Filter = function Filter(props) {
82
83
 
83
84
  Filter.propTypes = {
84
85
  className: _propTypes["default"].string,
86
+ buttonClassName: _propTypes["default"].string,
85
87
  name: _propTypes["default"].string.isRequired,
86
88
  label: _propTypes["default"].string.isRequired,
87
89
  getOnOnlyClick: _propTypes["default"].func
88
90
  };
89
91
  Filter.defaultProps = {
90
92
  className: '',
93
+ buttonClassName: '',
91
94
  getOnOnlyClick: null
92
95
  };
93
96
 
94
97
  var FilterGroup = function FilterGroup(props) {
95
- var groupKey = props.groupKey,
98
+ var className = props.className,
99
+ buttonClassName = props.buttonClassName,
100
+ groupKey = props.groupKey,
96
101
  data = props.data,
97
102
  values = props.values,
98
103
  onCheckboxChange = props.onCheckboxChange,
@@ -138,6 +143,8 @@ var FilterGroup = function FilterGroup(props) {
138
143
  };
139
144
 
140
145
  return /*#__PURE__*/_react["default"].createElement(_dropdown.Dropdown, {
146
+ className: className,
147
+ buttonClassName: buttonClassName,
141
148
  label: dropdownLabel,
142
149
  ariaLabel: "".concat(groupLabel, ": ").concat(filterSuffix)
143
150
  }, function (_ref7) {
@@ -188,6 +195,8 @@ var FilterGroup = function FilterGroup(props) {
188
195
  };
189
196
 
190
197
  FilterGroup.propTypes = {
198
+ className: _propTypes["default"].string,
199
+ buttonClassName: _propTypes["default"].string,
191
200
  groupKey: _propTypes["default"].string.isRequired,
192
201
  data: _propTypes["default"].object.isRequired,
193
202
  // eslint-disable-line react/forbid-prop-types
@@ -196,6 +205,10 @@ FilterGroup.propTypes = {
196
205
  onCheckboxChange: _propTypes["default"].func.isRequired,
197
206
  toggleFilters: _propTypes["default"].func.isRequired
198
207
  };
208
+ FilterGroup.defaultProps = {
209
+ className: '',
210
+ buttonClassName: ''
211
+ };
199
212
 
200
213
  var Filters = function Filters(props) {
201
214
  var className = props.className,
@@ -213,6 +226,7 @@ var Filters = function Filters(props) {
213
226
  return /*#__PURE__*/_react["default"].createElement("form", {
214
227
  className: rootClassName
215
228
  }, /*#__PURE__*/_react["default"].createElement(_flexStack.FlexStack, {
229
+ space: "xxsmall",
216
230
  className: _filtersModule["default"].items
217
231
  }, Object.entries(filters).map(function (_ref11) {
218
232
  var _ref12 = _slicedToArray(_ref11, 2),
@@ -223,6 +237,7 @@ var Filters = function Filters(props) {
223
237
  return /*#__PURE__*/_react["default"].createElement(Filter, {
224
238
  key: name,
225
239
  className: (0, _classnames["default"])(_filtersModule["default"].item, _filtersModule["default"].filterStandalone),
240
+ buttonClassName: _filtersModule["default"].itemButton,
226
241
  name: name,
227
242
  label: data.label,
228
243
  onChange: onCheckboxChange,
@@ -231,16 +246,16 @@ var Filters = function Filters(props) {
231
246
  });
232
247
  }
233
248
 
234
- return /*#__PURE__*/_react["default"].createElement("div", {
235
- className: _filtersModule["default"].item
236
- }, /*#__PURE__*/_react["default"].createElement(FilterGroup, {
249
+ return /*#__PURE__*/_react["default"].createElement(FilterGroup, {
250
+ className: _filtersModule["default"].item,
251
+ buttonClassName: _filtersModule["default"].itemButton,
237
252
  key: name,
238
253
  groupKey: name,
239
254
  data: data,
240
255
  values: values,
241
256
  onCheckboxChange: onCheckboxChange,
242
257
  toggleFilters: toggleFilters
243
- }));
258
+ });
244
259
  })));
245
260
  };
246
261
 
@@ -11,6 +11,7 @@
11
11
  }
12
12
 
13
13
  .filterInput {
14
+ border-radius: var(--radius-small) 0 0 var(--radius-small);
14
15
  flex: 0 0 auto;
15
16
  height: 1em;
16
17
  cursor: pointer;
@@ -131,9 +132,8 @@
131
132
  .item {
132
133
  position: relative;
133
134
  flex: 0 0 auto;
134
- margin-right: -1px;
135
135
  }
136
136
 
137
- .item:hover {
138
- z-index: var(--layer-low); /* show collapsed border */
137
+ .itemButton {
138
+ border-radius: var(--radius-small);
139
139
  }
@@ -45,7 +45,7 @@ function _defineProperties(target, props) { for (var i = 0; i < props.length; i+
45
45
 
46
46
  function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, "prototype", { writable: false }); return Constructor; }
47
47
 
48
- function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } Object.defineProperty(subClass, "prototype", { value: Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }), writable: false }); if (superClass) _setPrototypeOf(subClass, superClass); }
48
+ function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); Object.defineProperty(subClass, "prototype", { writable: false }); if (superClass) _setPrototypeOf(subClass, superClass); }
49
49
 
50
50
  function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }
51
51
 
@@ -0,0 +1,102 @@
1
+ "use strict";
2
+
3
+ function _typeof(obj) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }, _typeof(obj); }
4
+
5
+ Object.defineProperty(exports, "__esModule", {
6
+ value: true
7
+ });
8
+ exports.HoverCard = void 0;
9
+
10
+ var _react = _interopRequireWildcard(require("react"));
11
+
12
+ var _propTypes = _interopRequireDefault(require("prop-types"));
13
+
14
+ var _classnames = _interopRequireDefault(require("classnames"));
15
+
16
+ var _hovercard = require("ariakit/hovercard");
17
+
18
+ var _hoverCardModule = _interopRequireDefault(require("./hover-card.module.css"));
19
+
20
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
21
+
22
+ function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
23
+
24
+ function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { "default": obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj["default"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
25
+
26
+ function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
27
+
28
+ var resolveComponent = function resolveComponent(as, href) {
29
+ if (as) {
30
+ return as;
31
+ }
32
+
33
+ if (href) {
34
+ return 'a';
35
+ }
36
+
37
+ return 'span';
38
+ };
39
+
40
+ var HoverCard = function HoverCard(props) {
41
+ var className = props.className,
42
+ hoverCardClassName = props.hoverCardClassName,
43
+ href = props.href,
44
+ as = props.as,
45
+ label = props.label,
46
+ children = props.children;
47
+ var state = (0, _hovercard.useHovercardState)({
48
+ gutter: 8
49
+ });
50
+ var hoverCardProps = (0, _hovercard.useHovercard)({
51
+ state: state,
52
+ portal: true
53
+ }); // Fallback to span if no href
54
+
55
+ var Component = resolveComponent(as, href);
56
+ return /*#__PURE__*/_react["default"].createElement("div", {
57
+ className: (0, _classnames["default"])(_hoverCardModule["default"].root, className)
58
+ }, /*#__PURE__*/_react["default"].createElement(_hovercard.HovercardAnchor, {
59
+ state: state,
60
+ href: href,
61
+ className: _hoverCardModule["default"].anchor,
62
+ as: Component
63
+ }, label), /*#__PURE__*/_react["default"].createElement(_hovercard.Hovercard, _extends({}, hoverCardProps, {
64
+ state: state,
65
+ className: (0, _classnames["default"])(_hoverCardModule["default"].hoverCard, hoverCardClassName),
66
+ style: {
67
+ zIndex: 10000
68
+ }
69
+ }), /*#__PURE__*/_react["default"].createElement(_hovercard.HovercardArrow, {
70
+ size: 24
71
+ }), typeof children === 'function' ? children({
72
+ close: state.hide
73
+ }) : children));
74
+ };
75
+
76
+ exports.HoverCard = HoverCard;
77
+ HoverCard.propTypes = {
78
+ /** Adopted child class name */
79
+ className: _propTypes["default"].string,
80
+
81
+ /** Adopted child class name for hover card */
82
+ hoverCardClassName: _propTypes["default"].string,
83
+
84
+ /** Anchor label */
85
+ label: _propTypes["default"].node,
86
+
87
+ /** Anchor href */
88
+ href: _propTypes["default"].string,
89
+
90
+ /** Anchor component */
91
+ as: _propTypes["default"].elementType,
92
+
93
+ /** Hover card component */
94
+ children: _propTypes["default"].oneOfType([_propTypes["default"].node, _propTypes["default"].func]).isRequired
95
+ };
96
+ HoverCard.defaultProps = {
97
+ className: '',
98
+ hoverCardClassName: '',
99
+ label: '',
100
+ as: '',
101
+ href: ''
102
+ };
@@ -0,0 +1,29 @@
1
+ .root {
2
+ display: inline-block;
3
+ }
4
+
5
+ .anchor {
6
+ display: inline-block;
7
+ color: inherit;
8
+ text-decoration: none;
9
+ }
10
+
11
+ .anchor:hover {
12
+ color: var(--color-primary);
13
+ }
14
+
15
+ .anchor:focus {
16
+ outline: 0;
17
+ }
18
+
19
+ .hoverCard {
20
+ padding: var(--space-xsmall) var(--space-small);
21
+ border-radius: var(--radius-medium);
22
+ width: calc(100vw - 2 * var(--space-small));
23
+ max-width: 360px;
24
+ outline: none;
25
+ filter: drop-shadow(0 0 var(--space-xxsmall) var(--color-shadow));
26
+ will-change: filter;
27
+ background: var(--color-light);
28
+ font-size: var(--size-small);
29
+ }
@@ -0,0 +1,56 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports["default"] = exports.WithRenderFn = exports.Default = void 0;
7
+
8
+ var _react = _interopRequireDefault(require("react"));
9
+
10
+ var _ = require(".");
11
+
12
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
13
+
14
+ function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
15
+
16
+ var _default = {
17
+ title: 'UI/HoverCard',
18
+ component: _.HoverCard
19
+ };
20
+ exports["default"] = _default;
21
+
22
+ var Template = function Template(props) {
23
+ return /*#__PURE__*/_react["default"].createElement(_react["default"].Fragment, null, /*#__PURE__*/_react["default"].createElement(_.HoverCard, _extends({}, props, {
24
+ style: {
25
+ zIndex: 2
26
+ }
27
+ })), /*#__PURE__*/_react["default"].createElement("p", {
28
+ style: {
29
+ position: 'relative',
30
+ zIndex: 1,
31
+ maxWidth: 360
32
+ }
33
+ }, "Lorem ipsum dolor sit amet, consectetur adipiscing elit. Cras in neque ante. Curabitur vehicula, lorem sit amet fringilla dapibus, justo mauris varius elit, ut fermentum leo velit eget risus"));
34
+ };
35
+
36
+ var Default = function Default() {
37
+ return /*#__PURE__*/_react["default"].createElement(Template, {
38
+ label: "main.js"
39
+ }, /*#__PURE__*/_react["default"].createElement("h1", null, "main.js"), /*#__PURE__*/_react["default"].createElement("p", null, "info"));
40
+ };
41
+
42
+ exports.Default = Default;
43
+
44
+ var WithRenderFn = function WithRenderFn() {
45
+ return /*#__PURE__*/_react["default"].createElement(Template, {
46
+ label: "main.js"
47
+ }, function (_ref) {
48
+ var close = _ref.close;
49
+ return /*#__PURE__*/_react["default"].createElement("div", null, /*#__PURE__*/_react["default"].createElement("h1", null, "main.js"), /*#__PURE__*/_react["default"].createElement("p", null, "info"), /*#__PURE__*/_react["default"].createElement("button", {
50
+ type: "button",
51
+ onClick: close
52
+ }, "close"));
53
+ });
54
+ };
55
+
56
+ exports.WithRenderFn = WithRenderFn;
@@ -0,0 +1,18 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+
7
+ var _hoverCard = require("./hover-card");
8
+
9
+ Object.keys(_hoverCard).forEach(function (key) {
10
+ if (key === "default" || key === "__esModule") return;
11
+ if (key in exports && exports[key] === _hoverCard[key]) return;
12
+ Object.defineProperty(exports, key, {
13
+ enumerable: true,
14
+ get: function get() {
15
+ return _hoverCard[key];
16
+ }
17
+ });
18
+ });
@@ -39,12 +39,12 @@ var ICONS = {
39
39
  WARNING: 'warning'
40
40
  };
41
41
 
42
- var Icon = function Icon(_ref) {
43
- var className = _ref.className,
44
- glyph = _ref.glyph,
45
- Component = _ref.as,
46
- size = _ref.size,
47
- restProps = _objectWithoutProperties(_ref, _excluded);
42
+ var Icon = function Icon(props) {
43
+ var className = props.className,
44
+ glyph = props.glyph,
45
+ Component = props.as,
46
+ size = props.size,
47
+ restProps = _objectWithoutProperties(props, _excluded);
48
48
 
49
49
  return /*#__PURE__*/_react["default"].createElement(Component, _extends({
50
50
  className: (0, _classnames["default"])(_iconModule["default"].root, className, _iconModule["default"][size])
@@ -1,5 +1,6 @@
1
1
  .root {
2
2
  display: inline-block;
3
+ vertical-align: middle; /** center align when parent display is inline/inline-block **/
3
4
  }
4
5
 
5
6
  .icon {
package/lib/ui/index.js CHANGED
@@ -75,12 +75,6 @@ Object.defineProperty(exports, "Panels", {
75
75
  return _panels.Panels;
76
76
  }
77
77
  });
78
- Object.defineProperty(exports, "Popover", {
79
- enumerable: true,
80
- get: function get() {
81
- return _popover.Popover;
82
- }
83
- });
84
78
  Object.defineProperty(exports, "Skeleton", {
85
79
  enumerable: true,
86
80
  get: function get() {
@@ -105,6 +99,12 @@ Object.defineProperty(exports, "Tabs", {
105
99
  return _tabs.Tabs;
106
100
  }
107
101
  });
102
+ Object.defineProperty(exports, "Tag", {
103
+ enumerable: true,
104
+ get: function get() {
105
+ return _tag.Tag;
106
+ }
107
+ });
108
108
  Object.defineProperty(exports, "Tooltip", {
109
109
  enumerable: true,
110
110
  get: function get() {
@@ -136,8 +136,6 @@ var _logo = require("./logo");
136
136
 
137
137
  var _panels = require("./panels");
138
138
 
139
- var _popover = require("./popover");
140
-
141
139
  var _skeleton = require("./skeleton");
142
140
 
143
141
  var _sortDropdown = require("./sort-dropdown");
@@ -146,4 +144,6 @@ var _table = require("./table");
146
144
 
147
145
  var _tabs = require("./tabs");
148
146
 
147
+ var _tag = require("./tag");
148
+
149
149
  var _tooltip = require("./tooltip");
@@ -13,77 +13,8 @@ var _classnames = _interopRequireDefault(require("classnames"));
13
13
 
14
14
  var _tableModule = _interopRequireDefault(require("./table.module.css"));
15
15
 
16
- var _excluded = ["className"],
17
- _excluded2 = ["className"],
18
- _excluded3 = ["className"];
19
-
20
16
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
21
17
 
22
- function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
23
-
24
- function _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }
25
-
26
- function _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }
27
-
28
- var THead = function THead(props) {
29
- return /*#__PURE__*/_react["default"].createElement("thead", props);
30
- };
31
-
32
- var TBody = function TBody(props) {
33
- return /*#__PURE__*/_react["default"].createElement("tbody", props);
34
- };
35
-
36
- var Tr = function Tr(props) {
37
- var className = props.className,
38
- restProps = _objectWithoutProperties(props, _excluded);
39
-
40
- return /*#__PURE__*/_react["default"].createElement("tr", _extends({
41
- className: (0, _classnames["default"])(_tableModule["default"].row, className)
42
- }, restProps));
43
- };
44
-
45
- Tr.defaultProps = {
46
- className: ''
47
- };
48
- Tr.propTypes = {
49
- /** Adopted child class name */
50
- className: _propTypes["default"].string
51
- };
52
-
53
- var Th = function Th(props) {
54
- var className = props.className,
55
- restProps = _objectWithoutProperties(props, _excluded2);
56
-
57
- return /*#__PURE__*/_react["default"].createElement("th", _extends({
58
- className: (0, _classnames["default"])(_tableModule["default"].cell, className)
59
- }, restProps));
60
- };
61
-
62
- Th.defaultProps = {
63
- className: ''
64
- };
65
- Th.propTypes = {
66
- /** Adopted child class name */
67
- className: _propTypes["default"].string
68
- };
69
-
70
- var Td = function Td(props) {
71
- var className = props.className,
72
- restProps = _objectWithoutProperties(props, _excluded3);
73
-
74
- return /*#__PURE__*/_react["default"].createElement("td", _extends({
75
- className: (0, _classnames["default"])(_tableModule["default"].cell, className)
76
- }, restProps));
77
- };
78
-
79
- Td.defaultProps = {
80
- className: ''
81
- };
82
- Td.propTypes = {
83
- /** Adopted child class name */
84
- className: _propTypes["default"].string
85
- };
86
-
87
18
  var Table = function Table(_ref) {
88
19
  var className = _ref.className,
89
20
  emptyMessage = _ref.emptyMessage,
@@ -104,11 +35,11 @@ var Table = function Table(_ref) {
104
35
  };
105
36
 
106
37
  exports.Table = Table;
107
- Table.THead = THead;
108
- Table.TBody = TBody;
109
- Table.Th = Th;
110
- Table.Tr = Tr;
111
- Table.Td = Td;
38
+ Table.THead = 'thead';
39
+ Table.TBody = 'tbody';
40
+ Table.Tr = 'tr';
41
+ Table.Th = 'th';
42
+ Table.Td = 'td';
112
43
  Table.defaultProps = {
113
44
  className: '',
114
45
  emptyMessage: 'No entries found.',