@bundle-stats/ui 3.2.5-beta.2 → 3.2.6-beta.2

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 (112) hide show
  1. package/CHANGELOG.md +22 -1
  2. package/lib/components/bundle-assets/bundle-assets.js +23 -13
  3. package/lib/components/bundle-assets/bundle-assets.module.css +18 -26
  4. package/lib/components/bundle-modules/bundle-modules.js +4 -5
  5. package/lib/components/bundle-packages/bundle-packages.js +14 -8
  6. package/lib/components/bundle-packages/bundle-packages.module.css +8 -12
  7. package/lib/components/delta/delta.module.css +1 -0
  8. package/lib/components/metrics-table-search/metrics-table-search.module.css +5 -4
  9. package/lib/components/metrics-table-title/metrics-table-title.js +9 -7
  10. package/lib/components/metrics-table-title/metrics-table-title.module.css +2 -0
  11. package/lib/components/module-info/module-info.module.css +1 -0
  12. package/lib/components/summary-item/summary-item.js +14 -17
  13. package/lib/components/summary-item/summary-item.module.css +1 -19
  14. package/lib/components/total-size-type-title/total-size-type-title.js +7 -3
  15. package/lib/css/variables.css +3 -3
  16. package/lib/hooks/search-params.js +6 -6
  17. package/lib/layout/box/box.module.css +9 -0
  18. package/lib/ui/dropdown/dropdown.js +16 -26
  19. package/lib/ui/dropdown/dropdown.module.css +11 -12
  20. package/lib/ui/dropdown/dropdown.stories.js +2 -9
  21. package/lib/ui/filters/filters.js +10 -5
  22. package/lib/ui/filters/filters.module.css +10 -0
  23. package/lib/ui/hover-card/hover-card.js +100 -0
  24. package/lib/ui/hover-card/hover-card.module.css +52 -0
  25. package/lib/ui/hover-card/hover-card.stories.js +56 -0
  26. package/lib/ui/hover-card/index.js +18 -0
  27. package/lib/ui/icon/icon.js +6 -6
  28. package/lib/ui/index.js +8 -8
  29. package/lib/ui/table/table.module.css +0 -4
  30. package/lib/ui/{popover → tag}/index.js +4 -4
  31. package/lib/ui/tag/tag.js +72 -0
  32. package/lib/ui/tag/tag.module.css +55 -0
  33. package/lib/ui/tag/tag.stories.js +38 -0
  34. package/lib/ui/tooltip/tooltip.js +10 -9
  35. package/lib/ui/tooltip/tooltip.module.css +1 -1
  36. package/lib-esm/components/bundle-assets/bundle-assets.js +22 -13
  37. package/lib-esm/components/bundle-assets/bundle-assets.module.css +18 -26
  38. package/lib-esm/components/bundle-modules/bundle-modules.js +4 -5
  39. package/lib-esm/components/bundle-packages/bundle-packages.js +13 -8
  40. package/lib-esm/components/bundle-packages/bundle-packages.module.css +8 -12
  41. package/lib-esm/components/delta/delta.module.css +1 -0
  42. package/lib-esm/components/metrics-table-search/metrics-table-search.module.css +5 -4
  43. package/lib-esm/components/metrics-table-title/metrics-table-title.js +8 -7
  44. package/lib-esm/components/metrics-table-title/metrics-table-title.module.css +2 -0
  45. package/lib-esm/components/module-info/module-info.module.css +1 -0
  46. package/lib-esm/components/summary-item/summary-item.js +13 -17
  47. package/lib-esm/components/summary-item/summary-item.module.css +1 -19
  48. package/lib-esm/components/total-size-type-title/total-size-type-title.js +6 -3
  49. package/lib-esm/css/variables.css +3 -3
  50. package/lib-esm/hooks/search-params.js +6 -6
  51. package/lib-esm/layout/box/box.module.css +9 -0
  52. package/lib-esm/ui/dropdown/dropdown.js +15 -25
  53. package/lib-esm/ui/dropdown/dropdown.module.css +11 -12
  54. package/lib-esm/ui/dropdown/dropdown.stories.js +2 -7
  55. package/lib-esm/ui/filters/filters.js +9 -4
  56. package/lib-esm/ui/filters/filters.module.css +10 -0
  57. package/lib-esm/ui/hover-card/hover-card.js +86 -0
  58. package/lib-esm/ui/hover-card/hover-card.module.css +52 -0
  59. package/lib-esm/ui/hover-card/hover-card.stories.js +35 -0
  60. package/lib-esm/ui/hover-card/index.js +1 -0
  61. package/lib-esm/ui/icon/icon.js +3 -3
  62. package/lib-esm/ui/index.js +1 -1
  63. package/lib-esm/ui/table/table.module.css +0 -4
  64. package/lib-esm/ui/tag/index.js +1 -0
  65. package/lib-esm/ui/tag/tag.js +45 -0
  66. package/lib-esm/ui/tag/tag.module.css +55 -0
  67. package/lib-esm/ui/tag/tag.stories.js +23 -0
  68. package/lib-esm/ui/tooltip/tooltip.js +10 -9
  69. package/lib-esm/ui/tooltip/tooltip.module.css +1 -1
  70. package/package.json +9 -9
  71. package/src/components/bundle-assets/bundle-assets.jsx +61 -42
  72. package/src/components/bundle-assets/bundle-assets.module.css +18 -26
  73. package/src/components/bundle-modules/bundle-modules.jsx +24 -14
  74. package/src/components/bundle-packages/bundle-packages.jsx +21 -8
  75. package/src/components/bundle-packages/bundle-packages.module.css +8 -12
  76. package/src/components/delta/delta.module.css +1 -0
  77. package/src/components/metrics-table-search/metrics-table-search.module.css +5 -4
  78. package/src/components/metrics-table-title/metrics-table-title.jsx +20 -21
  79. package/src/components/metrics-table-title/metrics-table-title.module.css +2 -0
  80. package/src/components/module-info/module-info.jsx +1 -5
  81. package/src/components/module-info/module-info.module.css +1 -0
  82. package/src/components/summary-item/summary-item.jsx +20 -26
  83. package/src/components/summary-item/summary-item.module.css +1 -19
  84. package/src/components/total-size-type-title/total-size-type-title.jsx +6 -9
  85. package/src/css/variables.css +3 -3
  86. package/src/hooks/search-params.js +18 -11
  87. package/src/layout/box/box.module.css +9 -0
  88. package/src/ui/dropdown/dropdown.jsx +12 -22
  89. package/src/ui/dropdown/dropdown.module.css +11 -12
  90. package/src/ui/filters/filters.jsx +53 -50
  91. package/src/ui/filters/filters.module.css +10 -0
  92. package/src/ui/hover-card/hover-card.jsx +79 -0
  93. package/src/ui/hover-card/hover-card.module.css +52 -0
  94. package/src/ui/hover-card/index.js +1 -0
  95. package/src/ui/icon/icon.jsx +11 -7
  96. package/src/ui/index.js +1 -1
  97. package/src/ui/table/table.module.css +0 -4
  98. package/src/ui/tag/index.js +1 -0
  99. package/src/ui/tag/tag.jsx +49 -0
  100. package/src/ui/tag/tag.module.css +55 -0
  101. package/src/ui/tooltip/tooltip.jsx +10 -14
  102. package/src/ui/tooltip/tooltip.module.css +1 -1
  103. package/lib/ui/popover/popover.js +0 -92
  104. package/lib/ui/popover/popover.module.css +0 -66
  105. package/lib/ui/popover/popover.stories.js +0 -26
  106. package/lib-esm/ui/popover/index.js +0 -1
  107. package/lib-esm/ui/popover/popover.js +0 -71
  108. package/lib-esm/ui/popover/popover.module.css +0 -66
  109. package/lib-esm/ui/popover/popover.stories.js +0 -14
  110. package/src/ui/popover/index.js +0 -1
  111. package/src/ui/popover/popover.jsx +0 -79
  112. 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
  });
@@ -92,7 +92,8 @@ Filter.defaultProps = {
92
92
  };
93
93
 
94
94
  var FilterGroup = function FilterGroup(props) {
95
- var groupKey = props.groupKey,
95
+ var className = props.className,
96
+ groupKey = props.groupKey,
96
97
  data = props.data,
97
98
  values = props.values,
98
99
  onCheckboxChange = props.onCheckboxChange,
@@ -138,6 +139,7 @@ var FilterGroup = function FilterGroup(props) {
138
139
  };
139
140
 
140
141
  return /*#__PURE__*/_react["default"].createElement(_dropdown.Dropdown, {
142
+ className: className,
141
143
  label: dropdownLabel,
142
144
  ariaLabel: "".concat(groupLabel, ": ").concat(filterSuffix)
143
145
  }, function (_ref7) {
@@ -188,6 +190,7 @@ var FilterGroup = function FilterGroup(props) {
188
190
  };
189
191
 
190
192
  FilterGroup.propTypes = {
193
+ className: _propTypes["default"].string,
191
194
  groupKey: _propTypes["default"].string.isRequired,
192
195
  data: _propTypes["default"].object.isRequired,
193
196
  // eslint-disable-line react/forbid-prop-types
@@ -196,6 +199,9 @@ FilterGroup.propTypes = {
196
199
  onCheckboxChange: _propTypes["default"].func.isRequired,
197
200
  toggleFilters: _propTypes["default"].func.isRequired
198
201
  };
202
+ FilterGroup.defaultProps = {
203
+ className: ''
204
+ };
199
205
 
200
206
  var Filters = function Filters(props) {
201
207
  var className = props.className,
@@ -231,16 +237,15 @@ var Filters = function Filters(props) {
231
237
  });
232
238
  }
233
239
 
234
- return /*#__PURE__*/_react["default"].createElement("div", {
235
- className: _filtersModule["default"].item
236
- }, /*#__PURE__*/_react["default"].createElement(FilterGroup, {
240
+ return /*#__PURE__*/_react["default"].createElement(FilterGroup, {
241
+ className: _filtersModule["default"].item,
237
242
  key: name,
238
243
  groupKey: name,
239
244
  data: data,
240
245
  values: values,
241
246
  onCheckboxChange: onCheckboxChange,
242
247
  toggleFilters: toggleFilters
243
- }));
248
+ });
244
249
  })));
245
250
  };
246
251
 
@@ -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;
@@ -129,11 +130,20 @@
129
130
  }
130
131
 
131
132
  .item {
133
+ border-radius: 0;
132
134
  position: relative;
133
135
  flex: 0 0 auto;
134
136
  margin-right: -1px;
135
137
  }
136
138
 
139
+ .item:first-child {
140
+ border-radius: var(--radius-small) 0 0 var(--radius-small);
141
+ }
142
+
143
+ .item:last-child {
144
+ border-radius: 0 var(--radius-small) var(--radius-small) 0;
145
+ }
146
+
137
147
  .item:hover {
138
148
  z-index: var(--layer-low); /* show collapsed border */
139
149
  }
@@ -0,0 +1,100 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.HoverCard = void 0;
7
+
8
+ var _react = _interopRequireDefault(require("react"));
9
+
10
+ var _propTypes = _interopRequireDefault(require("prop-types"));
11
+
12
+ var _classnames = _interopRequireDefault(require("classnames"));
13
+
14
+ var _hovercard = require("ariakit/hovercard");
15
+
16
+ var _icon = require("../icon");
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 _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
+ var resolveComponent = function resolveComponent(as, href) {
25
+ if (as) {
26
+ return as;
27
+ }
28
+
29
+ if (href) {
30
+ return 'a';
31
+ }
32
+
33
+ return 'span';
34
+ };
35
+
36
+ var HoverCard = function HoverCard(props) {
37
+ var className = props.className,
38
+ href = props.href,
39
+ as = props.as,
40
+ label = props.label,
41
+ children = props.children;
42
+ var state = (0, _hovercard.useHovercardState)({
43
+ gutter: 8
44
+ });
45
+ var hoverCardProps = (0, _hovercard.useHovercard)({
46
+ state: state,
47
+ portal: true
48
+ }); // Fallback to span if no href
49
+
50
+ var Component = resolveComponent(as, href);
51
+ return /*#__PURE__*/_react["default"].createElement("div", {
52
+ className: (0, _classnames["default"])(_hoverCardModule["default"].root, className)
53
+ }, /*#__PURE__*/_react["default"].createElement(_hovercard.HovercardAnchor, {
54
+ state: state,
55
+ href: href,
56
+ className: _hoverCardModule["default"].anchor,
57
+ as: Component
58
+ }, label), /*#__PURE__*/_react["default"].createElement(_hovercard.Hovercard, _extends({}, hoverCardProps, {
59
+ state: state,
60
+ className: _hoverCardModule["default"].hoverCard,
61
+ style: {
62
+ zIndex: 10000
63
+ }
64
+ }), /*#__PURE__*/_react["default"].createElement(_hovercard.HovercardArrow, {
65
+ size: 24
66
+ }), typeof children === 'function' ? children({
67
+ close: state.hide
68
+ }) : children, /*#__PURE__*/_react["default"].createElement(_icon.Icon, {
69
+ glyph: "close",
70
+ size: "small",
71
+ as: "button",
72
+ type: "button",
73
+ className: _hoverCardModule["default"].closeBtn,
74
+ onClick: state.hide
75
+ })));
76
+ };
77
+
78
+ exports.HoverCard = HoverCard;
79
+ HoverCard.propTypes = {
80
+ /** Adopted child class name */
81
+ className: _propTypes["default"].string,
82
+
83
+ /** Anchor label */
84
+ label: _propTypes["default"].node,
85
+
86
+ /** Anchor href */
87
+ href: _propTypes["default"].string,
88
+
89
+ /** Anchor component */
90
+ as: _propTypes["default"].elementType,
91
+
92
+ /** Hover card component */
93
+ children: _propTypes["default"].oneOfType([_propTypes["default"].node, _propTypes["default"].func]).isRequired
94
+ };
95
+ HoverCard.defaultProps = {
96
+ className: '',
97
+ label: '',
98
+ as: '',
99
+ href: ''
100
+ };
@@ -0,0 +1,52 @@
1
+ .root {
2
+ display: inline-block;
3
+ }
4
+
5
+ .anchor {
6
+ display: inline-block;
7
+ color: inherit;
8
+ text-decoration: none;
9
+ }
10
+
11
+ a.anchor,
12
+ buton.anchor {
13
+ cursor: pointer;
14
+ }
15
+
16
+ a.anchor:hover,
17
+ button.anchor:hover {
18
+ color: var(--color-primary);
19
+ text-decoration: underline;
20
+ }
21
+
22
+ .hoverCard {
23
+ padding: var(--space-xsmall) var(--space-large) var(--space-xsmall) var(--space-small);
24
+ border-radius: var(--radius-medium);
25
+ max-width: 320px;
26
+ outline: none;
27
+ filter: drop-shadow(0 0 var(--space-xxsmall) var(--color-shadow));
28
+ will-change: filter;
29
+ background: var(--color-light);
30
+ font-size: var(--size-small);
31
+ }
32
+
33
+ .closeBtn {
34
+ position: absolute;
35
+ right: 0;
36
+ top: var(--space-xxxsmall);
37
+ width: var(--space-large);
38
+ height: var(--space-large);
39
+ padding: var(--space-xxsmall);
40
+ background: none;
41
+ border: none;
42
+ cursor: pointer;
43
+ color: var(--color-text-ultra-light);
44
+ transition: var(--transition-out);
45
+ }
46
+
47
+ .closeBtn:hover,
48
+ .closeBtn:active,
49
+ .closeBtn:focus {
50
+ color: var(--color-text-light);
51
+ transition: var(--transition-in);
52
+ }
@@ -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
+ });
@@ -37,12 +37,12 @@ var ICONS = {
37
37
  WARNING: 'warning'
38
38
  };
39
39
 
40
- var Icon = function Icon(_ref) {
41
- var className = _ref.className,
42
- glyph = _ref.glyph,
43
- Component = _ref.as,
44
- size = _ref.size,
45
- restProps = _objectWithoutProperties(_ref, _excluded);
40
+ var Icon = function Icon(props) {
41
+ var className = props.className,
42
+ glyph = props.glyph,
43
+ Component = props.as,
44
+ size = props.size,
45
+ restProps = _objectWithoutProperties(props, _excluded);
46
46
 
47
47
  return /*#__PURE__*/_react["default"].createElement(Component, _extends({
48
48
  className: (0, _classnames["default"])(_iconModule["default"].root, className, _iconModule["default"][size])
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,10 +13,6 @@
13
13
  text-align: left;
14
14
  }
15
15
 
16
- tr:last-child .cell {
17
- border-bottom-width: 1px;
18
- }
19
-
20
16
  .root thead .cell {
21
17
  border-width: 0 0 2px;
22
18
  text-transform: uppercase;
@@ -4,15 +4,15 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
 
7
- var _popover = require("./popover");
7
+ var _tag = require("./tag");
8
8
 
9
- Object.keys(_popover).forEach(function (key) {
9
+ Object.keys(_tag).forEach(function (key) {
10
10
  if (key === "default" || key === "__esModule") return;
11
- if (key in exports && exports[key] === _popover[key]) return;
11
+ if (key in exports && exports[key] === _tag[key]) return;
12
12
  Object.defineProperty(exports, key, {
13
13
  enumerable: true,
14
14
  get: function get() {
15
- return _popover[key];
15
+ return _tag[key];
16
16
  }
17
17
  });
18
18
  });
@@ -0,0 +1,72 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.Tag = exports.SIZES = exports.KINDS = void 0;
7
+
8
+ var _react = _interopRequireDefault(require("react"));
9
+
10
+ var _propTypes = _interopRequireDefault(require("prop-types"));
11
+
12
+ var _classnames = _interopRequireDefault(require("classnames"));
13
+
14
+ var _tagModule = _interopRequireDefault(require("./tag.module.css"));
15
+
16
+ var _excluded = ["className", "as", "kind", "size"];
17
+
18
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
19
+
20
+ 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); }
21
+
22
+ 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; }
23
+
24
+ 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; }
25
+
26
+ var KINDS = {
27
+ DEFAULT: 'default',
28
+ SUCCESS: 'success',
29
+ INFO: 'info',
30
+ WARNING: 'warning',
31
+ DANGER: 'danger'
32
+ };
33
+ exports.KINDS = KINDS;
34
+ var SIZES = {
35
+ SMALL: 'small',
36
+ MEDIUM: 'medium',
37
+ LARGE: 'large'
38
+ };
39
+ exports.SIZES = SIZES;
40
+
41
+ var Tag = function Tag(props) {
42
+ var _props$className = props.className,
43
+ className = _props$className === void 0 ? '' : _props$className,
44
+ _props$as = props.as,
45
+ Component = _props$as === void 0 ? 'span' : _props$as,
46
+ _props$kind = props.kind,
47
+ kind = _props$kind === void 0 ? KINDS.DEFAULT : _props$kind,
48
+ _props$size = props.size,
49
+ size = _props$size === void 0 ? SIZES.MEDIUM : _props$size,
50
+ restProps = _objectWithoutProperties(props, _excluded);
51
+
52
+ var rootClassName = (0, _classnames["default"])(_tagModule["default"].root, className, _tagModule["default"][kind], _tagModule["default"][size]);
53
+ return /*#__PURE__*/_react["default"].createElement(Component, _extends({
54
+ className: rootClassName
55
+ }, restProps));
56
+ };
57
+
58
+ exports.Tag = Tag;
59
+ Tag.propTypes = {
60
+ className: _propTypes["default"].string,
61
+ as: _propTypes["default"].elementType,
62
+ kind: _propTypes["default"].oneOf(Object.values(KINDS)),
63
+ size: _propTypes["default"].oneOf(Object.values(SIZES))
64
+ };
65
+ Tag.defaultProps = {
66
+ className: '',
67
+ as: 'span',
68
+ kind: KINDS.DEFAULT,
69
+ size: SIZES.MEDIUM
70
+ };
71
+ Tag.KINDS = KINDS;
72
+ Tag.SIZES = SIZES;
@@ -0,0 +1,55 @@
1
+ .root {
2
+ display: inline-block;
3
+ font-family: var(--font-family);
4
+ font-weight: bold;
5
+ background: var(--color-text-light);
6
+ color: var(--color-light);
7
+ text-align: center;
8
+ text-transform: uppercase;
9
+ }
10
+
11
+ /** Kind variation */
12
+ .success {
13
+ background: var(--color-success);
14
+ }
15
+
16
+ .info {
17
+ background: var(--color-info);
18
+ }
19
+
20
+ .warning {
21
+ background: var(--color-warning-dark);
22
+ }
23
+
24
+ .danger {
25
+ background: var(--color-danger);
26
+ }
27
+
28
+ /** Size variation */
29
+ /** default: medium */
30
+ .root {
31
+ border-radius: var(--radius-medium);
32
+ padding: var(--space-xxxsmall);
33
+ min-width: var(--space-small);
34
+ height: var(--space-small);
35
+ font-size: 9px;
36
+ line-height: 1;
37
+ }
38
+
39
+ .small {
40
+ border-radius: var(--radius-small);
41
+ padding: calc(var(--space-xxxsmall) / 2);
42
+ height: var(--space-xsmall);
43
+ min-width: var(--space-xsmall);
44
+ font-size: 8px;
45
+ line-height: 1;
46
+ }
47
+
48
+ .large {
49
+ border-radius: var(--radius-large);
50
+ padding: var(--space-xxxsmall) var(--space-xxsmall);
51
+ min-width: var(--space-medium);
52
+ height: var(--space-medium);
53
+ font-size: 12px;
54
+ line-height: var(--space-small);
55
+ }
@@ -0,0 +1,38 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports["default"] = exports.OneLetter = exports.Default = void 0;
7
+
8
+ var _ = require(".");
9
+
10
+ var _default = {
11
+ title: 'UI/Tag',
12
+ component: _.Tag,
13
+ argTypes: {
14
+ kind: {
15
+ control: 'select',
16
+ options: Object.values(_.Tag.KINDS)
17
+ },
18
+ size: {
19
+ control: 'select',
20
+ options: Object.values(_.Tag.SIZES)
21
+ }
22
+ },
23
+ args: {
24
+ children: 'tag'
25
+ }
26
+ };
27
+ exports["default"] = _default;
28
+
29
+ var Default = _.Tag.bind();
30
+
31
+ exports.Default = Default;
32
+
33
+ var OneLetter = _.Tag.bind();
34
+
35
+ exports.OneLetter = OneLetter;
36
+ OneLetter.args = {
37
+ children: 'd'
38
+ };