@steroidsjs/bootstrap 3.0.0-beta.29 → 3.0.0-beta.30

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 (39) hide show
  1. package/content/Accordion/AccordionItemView.scss +15 -10
  2. package/content/Alert/AlertView.scss +2 -0
  3. package/content/Avatar/AvatarView.scss +9 -1
  4. package/content/Badge/BadgeView.js +6 -6
  5. package/content/Badge/BadgeView.scss +40 -30
  6. package/content/Card/CardView.js +34 -14
  7. package/content/Card/CardView.scss +126 -110
  8. package/content/Detail/DetailView.scss +1 -0
  9. package/form/Button/ButtonView.js +1 -0
  10. package/form/Button/ButtonView.scss +18 -8
  11. package/form/CheckboxField/CheckboxFieldView.js +6 -3
  12. package/form/CheckboxField/CheckboxFieldView.scss +66 -1
  13. package/form/DropDownField/DropDownFieldView.js +46 -47
  14. package/form/DropDownField/DropDownFieldView.scss +390 -183
  15. package/form/DropDownField/views/DropDownItem/DropDownItemView.d.ts +3 -0
  16. package/form/DropDownField/views/DropDownItem/DropDownItemView.js +80 -0
  17. package/form/DropDownField/views/DropDownItem/DropDownItemView.scss +217 -0
  18. package/form/DropDownField/views/DropDownItem/index.d.ts +2 -0
  19. package/form/DropDownField/views/DropDownItem/index.js +7 -0
  20. package/form/Form/FormView.js +3 -3
  21. package/form/Form/FormView.scss +10 -14
  22. package/form/InputField/InputFieldView.scss +0 -27
  23. package/form/NumberField/NumberFieldView.scss +14 -32
  24. package/form/PasswordField/PasswordFieldView.scss +3 -6
  25. package/form/RadioListField/RadioListFieldView.js +7 -4
  26. package/form/RadioListField/RadioListFieldView.scss +115 -19
  27. package/form/TextField/TextFieldView.scss +1 -3
  28. package/icons/index.js +2 -0
  29. package/icons/svgs/dots.svg +5 -0
  30. package/icons/svgs/search.svg +4 -0
  31. package/layout/Tooltip/TooltipView.js +6 -6
  32. package/layout/Tooltip/TooltipView.scss +45 -37
  33. package/package.json +3 -3
  34. package/scss/mixins/index.scss +1 -1
  35. package/scss/mixins/scroll.scss +31 -0
  36. package/scss/variables/common/colors.scss +1 -0
  37. package/scss/variables/index.scss +0 -1
  38. package/scss/mixins/card.scss +0 -26
  39. package/scss/variables/components/card.scss +0 -20
@@ -124,7 +124,6 @@ $accordion-chevron-color: var(--accordion-chevron-color);
124
124
  width: 24px;
125
125
  height: 24px;
126
126
  box-shadow: 0px 1px 20px rgba(0, 0, 0, 0.1);
127
- position: absolute;
128
127
  border-radius: $radius-small;
129
128
 
130
129
  transform: rotate(0deg);
@@ -136,8 +135,7 @@ $accordion-chevron-color: var(--accordion-chevron-color);
136
135
  }
137
136
 
138
137
  &__header-container {
139
- display: flex;
140
- align-items: center;
138
+ position: relative;
141
139
  cursor: pointer;
142
140
  }
143
141
 
@@ -150,13 +148,12 @@ $accordion-chevron-color: var(--accordion-chevron-color);
150
148
  }
151
149
 
152
150
  &__icon-wrapper {
153
- width: 48px;
154
- height: 48px;
151
+ width: 24px;
152
+ height: 24px;
155
153
 
156
- display: flex;
157
- align-items: center;
158
- justify-content: center;
159
- background-color: transparent;
154
+ position: absolute;
155
+ top: 16px;
156
+ right: 16px;
160
157
 
161
158
  &_not_visible {
162
159
  width: 0;
@@ -164,6 +161,12 @@ $accordion-chevron-color: var(--accordion-chevron-color);
164
161
  }
165
162
  }
166
163
 
164
+ .IconView {
165
+ display: inline-block;
166
+ width: 24px;
167
+ height: 24px;
168
+ }
169
+
167
170
  &__content {
168
171
  transition: all 200ms ease;
169
172
  overflow: hidden;
@@ -178,7 +181,8 @@ $accordion-chevron-color: var(--accordion-chevron-color);
178
181
  }
179
182
  }
180
183
 
181
- &__close-icon, &__open-icon {
184
+ &__close-icon,
185
+ &__open-icon {
182
186
  width: 24px;
183
187
  height: 24px;
184
188
  }
@@ -195,6 +199,7 @@ $accordion-chevron-color: var(--accordion-chevron-color);
195
199
  opacity: 1;
196
200
  pointer-events: all;
197
201
  }
202
+
198
203
  #{$root}__open-icon {
199
204
  position: absolute;
200
205
  opacity: 0;
@@ -78,7 +78,9 @@
78
78
  }
79
79
 
80
80
  &__wrapper {
81
+ width: 508px;
81
82
  display: flex;
83
+ flex-flow: column;
82
84
  justify-content: space-between;
83
85
  }
84
86
 
@@ -13,8 +13,16 @@
13
13
  --status-size-medium: 12px;
14
14
  --status-size-large: 14px;
15
15
  --status-size: var(--status-size-x-large);
16
+
17
+ --status-border-color: #FFFFFF;
18
+ }
19
+
20
+ html[data-theme="dark"] {
21
+ --status-border-color: #4E4F57;
16
22
  }
17
23
 
24
+ $status-border-color: var(--status-border-color);
25
+
18
26
  @mixin border($background) {
19
27
  &::before {
20
28
  content: "";
@@ -120,7 +128,7 @@
120
128
  border-radius: $radius-circle;
121
129
  background-color: $success;
122
130
 
123
- border: var(--status-border-width) solid $white;
131
+ border: var(--status-border-width) solid $status-border-color;
124
132
  }
125
133
  }
126
134
 
@@ -12,14 +12,14 @@ function BadgeView(props) {
12
12
  var bem = (0, useBem_1["default"])('BadgeView');
13
13
  return (props.isExist && (react_1["default"].createElement("div", { className: bem(bem.block((_a = {},
14
14
  _a[props.type] = !!props.type,
15
- _a[props.size] = !!props.size,
15
+ _a.size = props.size,
16
+ _a.hasClose = props.showClose,
16
17
  _a[props.roundingStyle] = !!props.roundingStyle,
17
18
  _a['has-counter'] = !!props.counter,
18
19
  _a)), props.className), style: props.style },
19
- react_1["default"].createElement("div", { className: bem.element('wrapper') },
20
- react_1["default"].createElement("div", { className: bem.element('content') },
21
- react_1["default"].createElement("span", { className: bem.element('message') }, props.message),
22
- props.counter && (react_1["default"].createElement("span", { className: bem.element('counter') }, typeof props.counter === 'object' && (react_1["default"].createElement("span", { className: bem.element('counter-content') }, props.counter.content)))),
23
- props.showClose && (react_1["default"].createElement(Icon_1["default"], { onClick: props.onClose, className: bem.element('close'), name: 'badge-close' })))))));
20
+ react_1["default"].createElement("div", { className: bem.element('content') },
21
+ react_1["default"].createElement("span", { className: bem.element('message') }, props.message),
22
+ props.counter && (react_1["default"].createElement("span", { className: bem.element('counter') }, typeof props.counter === 'object' && (react_1["default"].createElement("span", { className: bem.element('counter-content') }, props.counter.content)))),
23
+ props.showClose && (react_1["default"].createElement(Icon_1["default"], { onClick: props.onClose, className: bem.element('close'), name: 'badge-close' }))))));
24
24
  }
25
25
  exports["default"] = BadgeView;
@@ -1,10 +1,10 @@
1
1
  @import "../../scss/variables";
2
2
 
3
- :root {
4
- --counter-background-color: #FFFFFF;
3
+ :root {
4
+ --counter-background-color: #ffffff;
5
5
  }
6
6
 
7
- html[data-theme="dark"] {
7
+ html[data-theme="dark"] {
8
8
  --counter-background-color: #414141;
9
9
  }
10
10
 
@@ -19,21 +19,20 @@ $counter-background-color: var(--counter-background-color);
19
19
 
20
20
  font-family: $font-family-nunito;
21
21
  color: $white;
22
- font-weight: $font-weight-sm;
22
+ font-size: $font-size-xs;
23
+ line-height: 16px;
23
24
 
24
25
  &__content {
26
+ width: 100%;
27
+ height: 100%;
25
28
  display: flex;
26
- flex-direction: row;
27
- align-items: center;
28
-
29
- #{$root}__message {
30
- margin-right: 4px;
31
- }
29
+ flex-flow: row nowrap;
30
+ justify-content: center;
32
31
  }
33
32
 
34
33
  &__close {
35
- width: 17px;
36
- height: 17px;
34
+ width: 16px;
35
+ height: 16px;
37
36
  cursor: pointer;
38
37
  }
39
38
 
@@ -64,6 +63,18 @@ $counter-background-color: var(--counter-background-color);
64
63
  }
65
64
  }
66
65
 
66
+ &_size {
67
+ &_lg {
68
+ padding: 4px 8px;
69
+ }
70
+ &_md {
71
+ padding: 3px 8px;
72
+ }
73
+ &_sm {
74
+ padding: 1px 8px;
75
+ }
76
+ }
77
+
67
78
  &_squarer {
68
79
  border-radius: $radius-small;
69
80
  }
@@ -72,16 +83,10 @@ $counter-background-color: var(--counter-background-color);
72
83
  border-radius: $radius-xlarge;
73
84
  }
74
85
 
75
- &_large {
76
- padding: 4px 8px;
77
- }
78
-
79
- &_medium {
80
- padding: 2px 8px;
81
- }
82
-
83
- &_small {
84
- padding: 0 8px;
86
+ &_hasClose {
87
+ #{$root}__message {
88
+ margin-right: 4px;
89
+ }
85
90
  }
86
91
 
87
92
  &_has-counter {
@@ -90,19 +95,26 @@ $counter-background-color: var(--counter-background-color);
90
95
 
91
96
  background: $light-gray;
92
97
  color: $text-color;
93
- padding: 4px 12px;
98
+ padding: 3px 12px;
99
+
100
+ #{$root}__content {
101
+ height: 100%;
102
+ padding: 0;
103
+ }
94
104
 
95
105
  #{$root}__message {
96
106
  margin-right: 8px;
97
107
  }
98
108
 
99
109
  #{$root}__counter {
100
- margin-right: 8px;
101
- width: 18px;
102
- background-color: $white;
103
110
  display: flex;
104
111
  justify-content: center;
105
112
  align-items: center;
113
+
114
+ margin-right: 4px;
115
+ padding: 0 5.4px;
116
+ background-color: $white;
117
+
106
118
  border-radius: $radius-circle;
107
119
  background-color: $counter-background-color;
108
120
  }
@@ -115,10 +127,8 @@ $counter-background-color: var(--counter-background-color);
115
127
  }
116
128
 
117
129
  #{$root}__close {
118
- svg {
119
- path {
120
- stroke: #000;
121
- }
130
+ path {
131
+ stroke: #000;
122
132
  }
123
133
  }
124
134
  }
@@ -1,27 +1,47 @@
1
1
  "use strict";
2
+ var __assign = (this && this.__assign) || function () {
3
+ __assign = Object.assign || function(t) {
4
+ for (var s, i = 1, n = arguments.length; i < n; i++) {
5
+ s = arguments[i];
6
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
7
+ t[p] = s[p];
8
+ }
9
+ return t;
10
+ };
11
+ return __assign.apply(this, arguments);
12
+ };
2
13
  var __importDefault = (this && this.__importDefault) || function (mod) {
3
14
  return (mod && mod.__esModule) ? mod : { "default": mod };
4
15
  };
5
16
  exports.__esModule = true;
6
17
  var react_1 = __importDefault(require("react"));
7
18
  var hooks_1 = require("@steroidsjs/core/hooks");
19
+ var form_1 = require("@steroidsjs/core/ui/form");
20
+ var Avatar_1 = __importDefault(require("@steroidsjs/core/ui/content/Avatar/Avatar"));
21
+ var Icon_1 = __importDefault(require("@steroidsjs/core/ui/content/Icon"));
22
+ var nav_1 = require("@steroidsjs/core/ui/nav");
8
23
  function CardView(props) {
9
24
  var bem = (0, hooks_1.useBem)('CardView');
10
- return (react_1["default"].createElement("div", { className: bem(bem.block({
11
- orientation: props.orientation,
12
- shape: props.shape,
13
- color: props.color,
14
- border: props.borderColor
15
- }), props.className), style: props.style },
16
- props.header && (react_1["default"].createElement("div", { className: bem.element('header') }, props.header)),
25
+ var hasContent = props.title || props.buttons || props.links || props.description;
26
+ return (react_1["default"].createElement("div", { className: bem(bem.block(), props.className), style: props.style },
27
+ props.header && (react_1["default"].createElement("div", { className: bem.element('header') },
28
+ react_1["default"].createElement("div", { className: bem.element('header-data') },
29
+ props.header.avatar && react_1["default"].createElement(Avatar_1["default"], __assign({}, props.header.avatar)),
30
+ react_1["default"].createElement("div", { className: bem.element('header-text-content') },
31
+ react_1["default"].createElement("h3", { className: bem.element('header-head') }, props.header.head),
32
+ react_1["default"].createElement("p", { className: bem.element('header-subhead') }, props.header.subhead))),
33
+ props.header.menu && (react_1["default"].createElement("div", { className: bem.element('header-menu'), role: 'button' },
34
+ react_1["default"].createElement(Icon_1["default"], { name: 'dots', className: bem.element('header-dots') }))))),
17
35
  props.cover && (react_1["default"].createElement("div", { className: bem.element('cover') },
18
- react_1["default"].createElement("img", { src: props.cover, alt: 'cover-img' }))),
19
- react_1["default"].createElement("div", { className: bem.element('content') },
20
- props.title && (react_1["default"].createElement("div", { className: bem.element('title') }, props.title)),
36
+ react_1["default"].createElement("img", { src: props.cover, alt: 'Card cover img' }))),
37
+ hasContent && (react_1["default"].createElement("div", { className: bem.element('content') },
38
+ props.title && (react_1["default"].createElement("h3", { className: bem.element('title') }, props.title)),
21
39
  react_1["default"].createElement("div", { className: bem.element('content-inner') },
22
- react_1["default"].createElement(react_1["default"].Fragment, null,
23
- props.description && (react_1["default"].createElement("div", { className: bem.element('description') }, props.description)),
24
- props.children))),
25
- props.footer && (react_1["default"].createElement("div", { className: bem.element('footer') }, props.footer))));
40
+ props.description && (react_1["default"].createElement("p", { className: bem.element('description') }, props.description)),
41
+ props.buttons && (react_1["default"].createElement("div", { className: bem.element('buttons') }, props.buttons.map(function (button, buttonIndex) { return (react_1["default"].createElement(form_1.Button, __assign({}, button, { key: buttonIndex }))); }))),
42
+ props.links && (react_1["default"].createElement("div", { className: bem.element('links') }, props.links.map(function (link, linkIndex) { return (react_1["default"].createElement(nav_1.Link, __assign({}, link, { key: linkIndex }))); })))))),
43
+ props.footer && (react_1["default"].createElement("div", { className: bem.element('footer') },
44
+ react_1["default"].createElement("h3", { className: bem.element('footer-head') }, props.footer.head),
45
+ react_1["default"].createElement("p", { className: bem.element('footer-subhead') }, props.footer.subhead)))));
26
46
  }
27
47
  exports["default"] = CardView;
@@ -1,154 +1,170 @@
1
+ :root {
2
+ --card-background-color: #ffffff;
3
+ --card-footer-background-color: #f9fcff;
4
+ --card-dots-color: #323232;
5
+ }
6
+
7
+ html[data-theme="dark"] {
8
+ --card-background-color: #4e4f57;
9
+ --card-footer-background-color: #6b6477;
10
+ --card-dots-color: #ffffff;
11
+ }
12
+
13
+ $card-background-color: var(--card-background-color);
14
+ $card-footer-background-color: var(--card-footer-background-color);
15
+ $card-dots-color: var(--card-dots-color);
16
+
17
+ %headTemplate {
18
+ font-weight: 700;
19
+ font-size: $font-size-lg;
20
+ line-height: 24px;
21
+ }
22
+
23
+ %subheadTemplate {
24
+ font-weight: 400;
25
+ font-size: $font-size-xs;
26
+ line-height: 16px;
27
+ }
28
+
29
+ %dotTemplate {
30
+ display: inline-block;
31
+ width: 4px;
32
+ height: 4px;
33
+ background-color: $card-dots-color;
34
+ border-radius: $radius-circle;
35
+ }
36
+
1
37
  .CardView {
2
38
  $root: &;
3
39
 
4
- background: $white;
5
- box-sizing: border-box;
6
- height: fit-content;
7
- position: relative;
8
40
  display: flex;
9
- flex-direction: column;
41
+ flex-flow: column;
10
42
  overflow: hidden;
43
+ height: fit-content;
11
44
 
12
- &_orientation {
13
- &_vertical {
14
- font-size: $card-font-size;
15
- }
16
-
17
- &_vertical-reverse {
18
- font-size: $card-font-size;
19
- flex-direction: column-reverse;
20
- }
45
+ border: 1px solid $border-color;
46
+ border-radius: $radius-large;
47
+ color: $text-color;
48
+ background-color: $card-background-color;
21
49
 
22
- &_horizontal {
23
- flex-direction: row;
50
+ &__header {
51
+ display: flex;
52
+ flex-flow: row nowrap;
53
+ justify-content: space-between;
24
54
 
25
- #{$root}__title{
26
- font-size: $card-horizontal-header-font-size;
27
- }
55
+ padding: 16px;
28
56
 
29
- #{$root}__content{
30
- flex-basis: 50%;
31
- font-size: $card-horizontal-font-size;
32
- }
57
+ &-data {
58
+ display: flex;
59
+ flex-flow: row nowrap;
60
+ align-items: center;
61
+ column-gap: 8px;
62
+ }
33
63
 
34
- #{$root}__cover{
35
- flex-basis: 50%;
36
- }
64
+ &-text-content {
65
+ display: flex;
66
+ flex-flow: column nowrap;
37
67
  }
38
- }
39
68
 
40
- @each $color, $value in $color-themes {
41
- &_color_#{$color} {
42
- @include card-theme($root, $value)
69
+ &-head {
70
+ @extend %headTemplate;
43
71
  }
44
- }
45
72
 
46
- &_border {
47
- &_default {
48
- border: 1px solid $border-default;
73
+ &-subhead {
74
+ @extend %subheadTemplate;
49
75
  }
50
76
 
51
- @each $color, $value in $color-themes {
52
- &_#{$color} {
53
- @include card-border-theme($root, $value)
54
- }
77
+ &-menu {
78
+ display: flex;
79
+ justify-content: center;
80
+ align-items: center;
81
+ cursor: pointer;
55
82
  }
56
83
 
57
- &_light {
58
- #{$root}__content {
59
- color: $dark;
84
+ &-dots {
85
+ width: 24px;
86
+ height: 24px;
87
+
88
+ display: flex;
89
+ justify-content: center;
90
+ align-items: center;
91
+
92
+ rect {
93
+ fill: $card-dots-color;
60
94
  }
61
95
  }
62
96
  }
63
97
 
64
- &_shape {
65
- &_square {
66
- border-radius: unset;
67
- }
98
+ &__cover {
99
+ width: 100%;
100
+ height: 227px;
101
+ overflow: hidden;
102
+ border-radius: $radius-large;
68
103
 
69
- &_circle {
70
- border-radius: $card-border-radius;
104
+ img {
105
+ display: block;
106
+ width: 100%;
107
+ height: 100%;
108
+ object-fit: cover;
71
109
  }
72
110
  }
73
111
 
74
- &__content-inner {
75
- display: grid;
76
- grid-row-gap: 16px;
77
- }
78
-
79
- &__children {
80
- font-size: $card-children-font-size;
81
- line-height: $card-children-line-height;
82
- box-sizing: border-box;
83
- width: 100%;
84
- word-break: break-all;
112
+ &__content {
113
+ padding: 8px 16px;
114
+ padding-bottom: 16px;
85
115
  }
86
116
 
87
- &__header {
88
- background: $card-header-background;
89
- padding: 20px;
90
- border-bottom: 1px solid $border-default;
91
- font-weight: bold;
92
- font-size: $card-header-font-size;
93
- line-height: $card-header-line-height;
94
- word-break: break-all;
117
+ &__content-inner {
118
+ display: flex;
119
+ flex-flow: column nowrap;
120
+ row-gap: 16px;
95
121
  }
96
122
 
97
- &__footer {
98
- background: $card-header-background;
99
- padding: 20px;
100
- border-top: 1px solid $border-default;
101
- font-weight: bold;
102
- font-size: $card-header-font-size;
103
- line-height: $card-header-line-height;
104
- word-break: break-all;
123
+ &__title {
124
+ @extend %headTemplate;
125
+ margin-bottom: 8px;
105
126
  }
106
127
 
107
- &__cover {
108
- overflow: hidden;
128
+ &__description {
129
+ font-size: $font-size-base;
130
+ line-height: 22px;
109
131
  }
110
132
 
111
- &__title{
133
+ &__buttons {
112
134
  display: flex;
113
- align-items: center;
114
- font-weight: bold;
115
- font-size: $card-title-font-size;
116
- line-height: $card-title-line-height;
117
- border-bottom: 8px;
118
- margin-bottom: 8px;
119
- }
135
+ flex-flow: row wrap;
136
+ $columnGap: 6px;
137
+ row-gap: 8px;
138
+ column-gap: $columnGap;
139
+
140
+ button:only-of-type {
141
+ width: 100%;
142
+ }
120
143
 
121
- &__content{
122
- padding: 20px;
144
+ button:not(:only-of-type) {
145
+ width: calc(50% - $columnGap);
146
+ }
123
147
  }
124
148
 
125
- button {
149
+ &__links {
126
150
  display: flex;
127
- flex-direction: row;
128
- justify-content: center;
129
- align-items: center;
130
- padding: 10px 20px;
131
- position: static;
132
- width: 140px;
133
- height: 28px;
134
- border: none;
135
- color: $white;
136
- background: $primary;
137
- border-radius: $card-button-border-radius;
151
+ flex-flow: row wrap;
152
+ column-gap: 16px;
138
153
  }
139
154
 
140
- img {
141
- display: block;
142
- width: 100%;
143
- height: 100%;
144
- object-fit: cover;
145
- }
155
+ &__footer {
156
+ display: flex;
157
+ flex-flow: column wrap;
146
158
 
147
- a {
148
- color: $primary;
149
- font-size: $card-link-font-size;
150
- }
151
- p{
152
- margin: 0;
159
+ padding: 16px;
160
+ background-color: $card-footer-background-color;
161
+
162
+ &-head {
163
+ @extend %headTemplate;
164
+ }
165
+
166
+ &-subhead {
167
+ @extend %subheadTemplate;
168
+ }
153
169
  }
154
170
  }
@@ -68,6 +68,7 @@ $detail-background-color-label: var(--detail-background-color-label);
68
68
  line-height: 18px;
69
69
  color: $text-color;
70
70
  background-color: $detail-background-color-value;
71
+ text-align: start;
71
72
 
72
73
  &_size_md {
73
74
  padding: 16px 12px;
@@ -65,6 +65,7 @@ function ButtonView(props) {
65
65
  _a.failed = props.isFailed,
66
66
  _a.link = props.link,
67
67
  _a.block = props.block,
68
+ _a["tag-".concat(props.tag)] = !!props.tag,
68
69
  _a)), props.className);
69
70
  if (props.tag === 'a') {
70
71
  return (React.createElement("a", { className: className, href: props.url, onClick: props.onClick, style: props.style, target: props.target },
@@ -10,8 +10,6 @@ $btn-letter-spacing: 0.1em;
10
10
  transition-duration: 0.15s;
11
11
  transition-timing-function: ease-in-out;
12
12
 
13
- width: 160px;
14
-
15
13
  display: flex;
16
14
  justify-content: center;
17
15
  align-items: center;
@@ -61,11 +59,11 @@ $btn-letter-spacing: 0.1em;
61
59
  }
62
60
  }
63
61
 
64
- &_link {
65
- display: inline;
66
- width: auto;
67
- #{$root}__label {
68
- display: inline;
62
+
63
+
64
+ &_tag {
65
+ &-a {
66
+ width: auto;
69
67
  }
70
68
  }
71
69
 
@@ -97,6 +95,16 @@ $btn-letter-spacing: 0.1em;
97
95
  }
98
96
  }
99
97
 
98
+ &_link {
99
+ display: inline;
100
+ width: auto;
101
+ height: auto;
102
+ #{$root}__label {
103
+ display: inline;
104
+ color: $link-color;
105
+ }
106
+ }
107
+
100
108
  &__label {
101
109
  display: flex;
102
110
  flex-direction: row;
@@ -131,7 +139,9 @@ $btn-letter-spacing: 0.1em;
131
139
  top: -1px;
132
140
  margin-left: 4px;
133
141
  border-radius: $radius-small;
134
- padding: 2px 5px;
142
+ font-size: $font-size-xs;
143
+ line-height: 16px;
144
+ padding: 3px 5px;
135
145
 
136
146
  $badge-types: (
137
147
  "primary": $primary,