@itcase/ui 1.0.5 → 1.0.7

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 (55) hide show
  1. package/dist/components/Avatar.js +56 -31
  2. package/dist/components/{Counter.js → Badge.js} +7 -7
  3. package/dist/components/Button.js +59 -54
  4. package/dist/components/Cell.js +21 -17
  5. package/dist/components/Checkbox.js +74 -22
  6. package/dist/components/Chips.js +2 -20
  7. package/dist/components/Divider.js +17 -1
  8. package/dist/components/Dropdown.js +195 -66
  9. package/dist/components/Grid.js +70 -33
  10. package/dist/components/Group.js +17 -1
  11. package/dist/components/Icon.js +45 -26
  12. package/dist/components/Image.js +3 -3
  13. package/dist/components/Input.js +19 -2
  14. package/dist/components/Label.js +11 -3
  15. package/dist/components/Logo.js +36 -12
  16. package/dist/components/MenuItem.js +11 -2
  17. package/dist/components/Modal.js +219 -41
  18. package/dist/components/Profile.js +10 -4
  19. package/dist/components/RadioButton.js +78 -26
  20. package/dist/components/Scrollbar.js +4 -4
  21. package/dist/components/Search.js +12 -9
  22. package/dist/components/Segmented.js +5 -3
  23. package/dist/components/Select.js +2 -2
  24. package/dist/components/Switch.js +2 -1
  25. package/dist/components/Tab.js +312 -0
  26. package/dist/components/Text.js +1 -3
  27. package/dist/components/Textarea.js +9 -1
  28. package/dist/components/Tile.js +43 -115
  29. package/dist/css/components/Avatar/Avatar.css +23 -10
  30. package/dist/css/components/Badge/Badge.css +55 -0
  31. package/dist/css/components/Button/Button.css +19 -8
  32. package/dist/css/components/Checkbox/Checkbox.css +60 -63
  33. package/dist/css/components/Chips/Chips.css +25 -7
  34. package/dist/css/components/Dropdown/Dropdown.css +21 -18
  35. package/dist/css/components/Fader/Fader.css +0 -1
  36. package/dist/css/components/Grid/Grid.css +5 -0
  37. package/dist/css/components/Grid/css/__row/grid__row.css +5 -0
  38. package/dist/css/components/Icon/Icon.css +4 -4
  39. package/dist/css/components/Input/Input.css +6 -0
  40. package/dist/css/components/List/List.css +3 -3
  41. package/dist/css/components/Logo/Logo.css +23 -0
  42. package/dist/css/components/{Popup/Popup.css → Modal/Modal.css} +5 -4
  43. package/dist/css/components/RadioButton/RadioButton.css +60 -59
  44. package/dist/css/components/Segmented/Segmented.css +97 -0
  45. package/dist/css/components/Switch/Switch.css +56 -46
  46. package/dist/css/components/Tab/Tab.css +49 -0
  47. package/dist/css/components/Tile/Tile.css +27 -10
  48. package/dist/css/styles/border-color/border-color.css +2 -2
  49. package/dist/css/styles/border-type/border-type.css +13 -0
  50. package/dist/css/styles/border-width/border-width.css +7 -0
  51. package/dist/css/styles/justify-content/justify-content.css +7 -0
  52. package/dist/hooks/styleAttributes.js +1 -1
  53. package/package.json +2 -1
  54. package/dist/components/Popup.js +0 -255
  55. package/dist/css/components/Counter/Counter.css +0 -55
@@ -3,16 +3,15 @@
3
3
  var React = require('react');
4
4
  var PropTypes = require('prop-types');
5
5
  var clsx = require('clsx');
6
- var index$4 = require('./Counter.js');
7
- var index$1 = require('./Emoji.js');
8
- var index = require('./Icon.js');
9
- var index$2 = require('./Title.js');
10
- var index$3 = require('./Text.js');
6
+ var index$2 = require('./Badge.js');
7
+ require('./Emoji.js');
8
+ require('./Icon.js');
9
+ var index = require('./Title.js');
10
+ var index$1 = require('./Text.js');
11
11
  var horizontalResizeMode = require('../constants/componentProps/horizontalResizeMode.js');
12
12
  var align = require('../constants/componentProps/align.js');
13
13
  var alignDirection = require('../constants/componentProps/alignDirection.js');
14
14
  var size = require('../constants/componentProps/size.js');
15
- var iconSize = require('../constants/componentProps/iconSize.js');
16
15
  var textAlign = require('../constants/componentProps/textAlign.js');
17
16
  var fill = require('../constants/componentProps/fill.js');
18
17
  var shape = require('../constants/componentProps/shape.js');
@@ -36,6 +35,7 @@ require('lodash/castArray');
36
35
  require('../constants/componentProps/direction.js');
37
36
  require('../constants/componentProps/emojiSize.js');
38
37
  require('react-inlinesvg');
38
+ require('../constants/componentProps/iconSize.js');
39
39
  require('../constants/componentProps/strokeColor.js');
40
40
  require('./Link.js');
41
41
  require('../constants/componentProps/textGradient.js');
@@ -52,48 +52,21 @@ var clsx__default = /*#__PURE__*/_interopDefault(clsx);
52
52
  function Tile(props) {
53
53
  var children = props.children,
54
54
  className = props.className,
55
- counter = props.counter,
56
- counterSize = props.counterSize,
57
- counterType = props.counterType,
55
+ badge = props.badge,
56
+ badgeSize = props.badgeSize,
57
+ badgeType = props.badgeType,
58
58
  direction = props.direction,
59
- emoji = props.emoji,
60
- emojiFill = props.emojiFill,
61
- emojiSize = props.emojiSize,
62
- emojiType = props.emojiType,
63
- height = props.height,
64
- icon = props.icon,
65
- iconBgFill = props.iconBgFill,
66
- iconBgFillDesktop = props.iconBgFillDesktop,
67
- iconBgFillMobile = props.iconBgFillMobile,
68
- iconBgFillTablet = props.iconBgFillTablet,
69
- iconFill = props.iconFill,
70
- iconFillDesktop = props.iconFillDesktop,
71
- iconFillMobile = props.iconFillMobile,
72
- iconFillSize = props.iconFillSize,
73
- iconFillSizeDesktop = props.iconFillSizeDesktop,
74
- iconFillSizeMobile = props.iconFillSizeMobile,
75
- iconFillSizeTablet = props.iconFillSizeTablet,
76
- iconFillTablet = props.iconFillTablet,
77
- iconStroke = props.iconStroke,
78
- iconShape = props.iconShape,
79
- iconSize = props.iconSize,
80
- iconSizeMobile = props.iconSizeMobile,
81
- iconSizeTable = props.iconSizeTable,
82
- iconSizeDesktop = props.iconSizeDesktop,
83
- iconSrc = props.iconSrc,
59
+ before = props.before,
60
+ after = props.after,
84
61
  reverse = props.reverse,
85
62
  size = props.size,
86
63
  text = props.text,
87
64
  textSize = props.textSize,
88
65
  textWrap = props.textWrap,
89
- textTag = props.textTag,
66
+ textColor = props.textColor,
90
67
  title = props.title,
91
68
  titleSize = props.titleSize,
92
- titleTag = props.titleTag,
93
69
  titleAlign = props.titleAlign,
94
- titleAlignMobile = props.titleAlignMobile,
95
- titleAlignTablet = props.titleAlignTablet,
96
- titleAlignDesktop = props.titleAlignDesktop,
97
70
  titleWrap = props.titleWrap,
98
71
  type = props.type,
99
72
  onClick = props.onClick;
@@ -113,67 +86,46 @@ function Tile(props) {
113
86
  prefix: 'tile_shape_',
114
87
  propsKey: 'shape'
115
88
  });
116
- var widthClass = useDeviceTargetClass.useDeviceTargetClass(props, {
117
- prefix: 'resize-horizontal_',
118
- propsKey: 'width'
89
+ var borderColorClass = useDeviceTargetClass.useDeviceTargetClass(props, {
90
+ prefix: 'border-color_',
91
+ propsKey: 'borderColor'
92
+ });
93
+ var borderColorHoverClass = useDeviceTargetClass.useDeviceTargetClass(props, {
94
+ prefix: 'border-color_hover_',
95
+ propsKey: 'borderHover'
96
+ });
97
+ var borderWidthClass = useDeviceTargetClass.useDeviceTargetClass(props, {
98
+ prefix: 'border-width_',
99
+ propsKey: 'borderWidth'
100
+ });
101
+ var borderTypeClass = useDeviceTargetClass.useDeviceTargetClass(props, {
102
+ prefix: 'border-type_',
103
+ propsKey: 'borderType'
119
104
  });
120
105
  var _useStyles = useStyles.useStyles(props),
121
106
  tileStyles = _useStyles.styles;
122
107
  return /*#__PURE__*/React__default.default.createElement("div", {
123
- className: clsx__default.default('tile', className, fillClass, shapeClass, alignClass, alignDirectionClass, direction && "tile_direction_" + direction, reverse && 'tile_reverse', size && "tile_size_" + size, type && "tile_type_" + type, widthClass, height && "tile_height_" + height, counter && "tile_state_counter"),
108
+ className: clsx__default.default('tile', className, fillClass, shapeClass, alignClass, alignDirectionClass, direction && "direction_" + direction, borderColorClass, borderColorHoverClass, borderWidthClass, borderTypeClass, reverse && 'tile_reverse', size && "tile_size_" + size, type && "tile_type_" + type, badge && "tile_state_badge"),
124
109
  style: tileStyles,
125
110
  onClick: onClick
126
- }, (icon || iconSrc) && /*#__PURE__*/React__default.default.createElement("div", {
127
- className: "tile__icon"
128
- }, /*#__PURE__*/React__default.default.createElement(index.Icon, {
129
- SvgImage: icon,
130
- bgFill: iconBgFill,
131
- bgFillMobile: iconBgFillMobile,
132
- bgFillTablet: iconBgFillTablet,
133
- bgFillDesktop: iconBgFillDesktop,
134
- fill: iconFill,
135
- fillMobile: iconFillMobile,
136
- fillTablet: iconFillTablet,
137
- fillDesktop: iconFillDesktop,
138
- fillSize: iconFillSize,
139
- fillSizeMobile: iconFillSizeMobile,
140
- fillSizeTablet: iconFillSizeTablet,
141
- fillSizeDesktop: iconFillSizeDesktop,
142
- stroke: iconStroke,
143
- imageSrc: iconSrc,
144
- shape: iconShape,
145
- size: iconSize,
146
- sizeMobile: iconSizeMobile,
147
- sizeTablet: iconSizeTable,
148
- sizeDesktop: iconSizeDesktop
149
- })), emoji && /*#__PURE__*/React__default.default.createElement(index$1.Emoji, {
150
- className: "tile__emoji",
151
- emoji: emoji,
152
- fill: emojiFill,
153
- size: emojiSize,
154
- type: emojiType
155
- }), /*#__PURE__*/React__default.default.createElement("div", {
111
+ }, /*#__PURE__*/React__default.default.createElement("div", {
156
112
  className: clsx__default.default('tile__wrapper', alignClass, alignDirectionClass)
157
- }, title && /*#__PURE__*/React__default.default.createElement(index$2.Title, {
113
+ }, before, title && /*#__PURE__*/React__default.default.createElement(index.Title, {
114
+ className: "tile__title",
158
115
  size: titleSize,
159
116
  textWrap: titleWrap,
160
- tag: titleTag,
161
- textAlign: titleAlign,
162
- textAlignMobile: titleAlignMobile,
163
- textAlignTablet: titleAlignTablet,
164
- textAlignDesktop: titleAlignDesktop,
165
- className: "tile__title"
166
- }, title), text && /*#__PURE__*/React__default.default.createElement(index$3.Text, {
117
+ textAlign: titleAlign
118
+ }, title), text && /*#__PURE__*/React__default.default.createElement(index$1.Text, {
167
119
  size: textSize,
168
- tag: textTag,
120
+ textColor: textColor,
169
121
  textWrap: textWrap,
170
122
  className: "tile__text"
171
- }, text), counter && /*#__PURE__*/React__default.default.createElement(index$4.Counter, {
172
- className: "tile__counter",
173
- value: counter,
174
- size: counterSize,
175
- type: counterType
176
- }), children));
123
+ }, text), badge && /*#__PURE__*/React__default.default.createElement(index$2.Badge, {
124
+ className: "tile__badge",
125
+ value: badge,
126
+ size: badgeSize,
127
+ type: badgeType
128
+ }), children, after));
177
129
  }
178
130
  Tile.propTypes = {
179
131
  align: PropTypes__default.default.oneOf(align.default),
@@ -186,9 +138,9 @@ Tile.propTypes = {
186
138
  alignDirectionDesktop: PropTypes__default.default.oneOf(alignDirection.default),
187
139
  children: PropTypes__default.default.any,
188
140
  className: PropTypes__default.default.string,
189
- counter: PropTypes__default.default.string,
190
- counterSize: PropTypes__default.default.string,
191
- counterType: PropTypes__default.default.string,
141
+ badge: PropTypes__default.default.string,
142
+ badgeSize: PropTypes__default.default.string,
143
+ badgeType: PropTypes__default.default.string,
192
144
  direction: PropTypes__default.default.string,
193
145
  fill: PropTypes__default.default.oneOf(fill.default),
194
146
  fillDesktop: PropTypes__default.default.oneOf(fill.default),
@@ -198,31 +150,7 @@ Tile.propTypes = {
198
150
  shapeDesktop: PropTypes__default.default.oneOf(shape.default),
199
151
  shapeMobile: PropTypes__default.default.oneOf(shape.default),
200
152
  shapeTablet: PropTypes__default.default.oneOf(shape.default),
201
- iconSize: PropTypes__default.default.oneOf(iconSize.default),
202
- iconSizeMobile: PropTypes__default.default.oneOf(iconSize.default),
203
- iconSizeTable: PropTypes__default.default.oneOf(iconSize.default),
204
- iconSizeDesktop: PropTypes__default.default.oneOf(iconSize.default),
205
- iconStroke: PropTypes__default.default.string,
206
- emoji: PropTypes__default.default.string,
207
- emojiFill: PropTypes__default.default.string,
208
- emojiSize: PropTypes__default.default.string,
209
- emojiType: PropTypes__default.default.string,
210
153
  height: PropTypes__default.default.string,
211
- icon: PropTypes__default.default.string,
212
- iconSrc: PropTypes__default.default.string,
213
- iconBgFill: PropTypes__default.default.string,
214
- iconBgFillMobile: PropTypes__default.default.string,
215
- iconBgFillTablet: PropTypes__default.default.string,
216
- iconBgFillDesktop: PropTypes__default.default.string,
217
- iconFill: PropTypes__default.default.string,
218
- iconFillMobile: PropTypes__default.default.string,
219
- iconFillTablet: PropTypes__default.default.string,
220
- iconFillDesktop: PropTypes__default.default.string,
221
- iconFillSize: PropTypes__default.default.string,
222
- iconFillSizeMobile: PropTypes__default.default.string,
223
- iconFillSizeTablet: PropTypes__default.default.string,
224
- iconFillSizeDesktop: PropTypes__default.default.string,
225
- iconShape: PropTypes__default.default.string,
226
154
  reverse: PropTypes__default.default.bool,
227
155
  size: PropTypes__default.default.string,
228
156
  text: PropTypes__default.default.string,
@@ -1,24 +1,23 @@
1
1
  .avatar {
2
2
  &__wrapper {
3
3
  display: flex;
4
+ position: relative;
5
+ justify-content: center;
6
+ align-items: center;
4
7
  ^&__image {
5
8
  }
6
- ^&__data {
7
- display: flex;
8
- flex-flow: column nowrap;
9
- }
10
9
  ^&__icon {
11
- padding: 8px 0 0 0;
12
- display: flex;
13
- gap: 16px;
10
+ position: absolute;
11
+ right: 0;
12
+ bottom: 0;
14
13
  }
15
14
  }
16
15
  }
17
- .avatar{
16
+ .avatar {
18
17
  &_size {
19
- @each $size in 16, 32, 40, 60, 72, 96, 144, 240 {
18
+ @each $size in 24, 32, 40, 60, 72, 96, 144, 240 {
20
19
  &_$(size) {
21
- ^^&__image {
20
+ ^^&__wrapper {
22
21
  width: $(size)px;
23
22
  height: $(size)px;
24
23
  }
@@ -26,3 +25,17 @@
26
25
  }
27
26
  }
28
27
  }
28
+ .avatar {
29
+ &_shape {
30
+ &_rounded {
31
+ ^^&__wrapper {
32
+ border-radius: 10px;
33
+ }
34
+ }
35
+ &_circular {
36
+ ^^&__wrapper {
37
+ border-radius: 50%;
38
+ }
39
+ }
40
+ }
41
+ }
@@ -0,0 +1,55 @@
1
+ .badge {
2
+ display: flex;
3
+ justify-content: center;
4
+ align-items: center;
5
+ border-radius: 50%;
6
+ }
7
+ .badge {
8
+ &_size {
9
+ @each $size in xxs, xs, s, m, l, xl, xxl {
10
+ &_$(size) {
11
+ min-width: var(--badge-width-size-$(size));
12
+ min-height: var(--badge-height-size-$(size));
13
+ max-height: var(--badge-height-size-$(size));
14
+ }
15
+ }
16
+ }
17
+ }
18
+ .badge {
19
+ &&_type {
20
+ &_accent {
21
+ background: var(--color-accent-primary);
22
+ color: var(--color-accent-text-primary);
23
+ }
24
+ }
25
+ }
26
+ .badge {
27
+ &&_type {
28
+ &_primary {
29
+ background: var(--color-primary);
30
+ color: var(--color-primary-text-primary);
31
+ }
32
+ }
33
+ }
34
+ :root {
35
+ --badge-width-size-xxs: 16px;
36
+ --badge-height-size-xxs: 16px;
37
+
38
+ --badge-width-size-xs: 18px;
39
+ --badge-height-size-xs: 18px;
40
+
41
+ --badge-width-size-s: 20px;
42
+ --badge-height-size-s: 20px;
43
+
44
+ --badge-width-size-m: 24px;
45
+ --badge-height-size-m: 24px;
46
+
47
+ --badge-width-size-l: 32px;
48
+ --badge-height-size-l: 32px;
49
+
50
+ --badge-width-size-xl: 40px;
51
+ --badge-height-size-xl: 40px;
52
+
53
+ --badge-width-size-xxl: 48px;
54
+ --badge-height-size-xxl: 48px;
55
+ }
@@ -53,11 +53,6 @@
53
53
  ^^&__wrapper {
54
54
  padding: var(--button-size-$(size)-padding);
55
55
  }
56
- &^^&_type_icon {
57
- ^^^&__wrapper {
58
- padding: var(--button-size-$(size)-icon-padding);
59
- }
60
- }
61
56
  &^^&_type_with-icon {
62
57
  &_$(size) {
63
58
  ^^^^&__wrapper {
@@ -295,9 +290,9 @@
295
290
  }
296
291
  .button {
297
292
  &&_type {
298
- &_counter {
293
+ &_badge {
299
294
  position: relative;
300
- & .counter {
295
+ & .badge {
301
296
  position: absolute;
302
297
  right: -4px;
303
298
  top: -4px;
@@ -305,6 +300,22 @@
305
300
  }
306
301
  }
307
302
  }
303
+ .button {
304
+ &_type {
305
+ &_icon {
306
+ align-self: flex-start;
307
+ &.button_size {
308
+ @each $size in xs, s, m, l, xl, xxl {
309
+ &_$(size) {
310
+ & ^^^^&__wrapper {
311
+ padding: var(--button-size-$(size)-icon-padding);
312
+ }
313
+ }
314
+ }
315
+ }
316
+ }
317
+ }
318
+ }
308
319
  .button {
309
320
  &&_width {
310
321
  &_fixed {
@@ -339,7 +350,7 @@
339
350
  --button-size-s-shape-rounded: 6px;
340
351
 
341
352
  --button-size-m-padding: 8px 24px;
342
- --button-size-m-icon-padding: 0px;
353
+ --button-size-m-icon-padding: 10px;
343
354
  --button-size-m-gap: 6px;
344
355
  --button-size-m-shape-rounded: 6px;
345
356
 
@@ -1,44 +1,60 @@
1
1
  .checkbox {
2
- position: relative;
3
- cursor: pointer;
4
- font-size: 0;
5
- line-height: 0;
6
- display: flex;
7
- min-height: 16px;
8
- min-width: 16px;
9
- &__checkbox {
2
+ display: grid;
3
+ grid-template-columns: auto 1fr;
4
+ grid-template-rows: auto auto;
5
+ column-gap: 4px;
6
+ &__item {
7
+ position: relative;
10
8
  cursor: pointer;
11
- appearance: none;
12
- border: 0;
13
- margin: 0;
14
9
  font-size: 0;
15
10
  line-height: 0;
16
- position: absolute;
17
- left: 0;
18
- top: 0;
19
- width: 100%;
20
- height: 100%;
21
- z-index: 3;
22
- }
23
- &__bg {
24
- flex: 1;
25
11
  display: flex;
26
- z-index: 1;
27
- }
28
- &__mark {
29
- height: 8px;
30
- width: 5px;
31
- border-bottom-style: solid;
32
- border-bottom-width: 2px;
33
- border-right-style: solid;
34
- border-right-width: 2px;
35
- position: absolute;
36
- z-index: 2;
37
- left: 50%;
38
- top: 50%;
39
- margin: -1px 0 0 0;
40
- transform: translate(-50%, -50%) rotate(45deg);
41
- display: none;
12
+ min-height: 16px;
13
+ min-width: 16px;
14
+ grid-row-start: span 2;
15
+ align-self: start;
16
+ ^&__input {
17
+ cursor: pointer;
18
+ appearance: none;
19
+ border: 0;
20
+ margin: 0;
21
+ font-size: 0;
22
+ line-height: 0;
23
+ position: absolute;
24
+ left: 0;
25
+ top: 0;
26
+ width: 100%;
27
+ height: 100%;
28
+ z-index: 3;
29
+ }
30
+ ^&__state {
31
+ flex: 1;
32
+ display: flex;
33
+ z-index: 1;
34
+ &_shape {
35
+ &_rounded {
36
+ border-radius: 4px;
37
+ }
38
+ &_circular {
39
+ border-radius: 50%;
40
+ }
41
+ }
42
+ }
43
+ ^&__state-checkmark {
44
+ height: 8px;
45
+ width: 5px;
46
+ border-bottom-style: solid;
47
+ border-bottom-width: 2px;
48
+ border-right-style: solid;
49
+ border-right-width: 2px;
50
+ position: absolute;
51
+ z-index: 2;
52
+ left: 50%;
53
+ top: 50%;
54
+ margin: -1px 0 0 0;
55
+ transform: translate(-50%, -50%) rotate(45deg);
56
+ display: none;
57
+ }
42
58
  }
43
59
  }
44
60
  .checkbox {
@@ -51,39 +67,20 @@
51
67
  }
52
68
  }
53
69
  .checkbox {
54
- &_fill {
55
- &_checked {
56
- @each $type in accent, primary, secondary, tertiary, surface, success, error {
57
- &_$(type) {
58
- @each $color in primary, secondary, tertiary, quaternary, quinary, senary, accent, disabled, hover {
59
- &-$(color) {
60
- & ^^^^&__checkbox {
61
- &:checked {
62
- & + ^^^^^^&__bg {
63
- background: var(--color-$(type)-$(color));
64
- }
65
- }
66
- }
67
- }
68
- }
69
- }
70
- }
71
- }
72
- }
73
- }
74
- .checkbox {
75
- &_fill {
76
- &_checkmark {
70
+ &_checkmark {
71
+ &_fill{
77
72
  @each $type in accent, primary, secondary, tertiary, surface, success, error {
78
73
  &_$(type) {
79
74
  &-item {
80
75
  @each $color in primary, secondary, tertiary, quaternary, quinary, senary, accent, disabled, hover {
81
76
  &-$(color) {
82
- & ^^^^^&__checkbox {
77
+ & ^^^^^&__input {
83
78
  &:checked {
84
- & ~ ^^^^^^^&__mark {
85
- display: block;
86
- border-color: var(--color-$(type)-item-$(color));
79
+ & ~ ^^^^^^^&__state {
80
+ &-checkmark {
81
+ display: block;
82
+ border-color: var(--color-$(type)-item-$(color));
83
+ }
87
84
  }
88
85
  }
89
86
  }
@@ -3,21 +3,38 @@
3
3
  &__label {
4
4
  white-space: nowrap;
5
5
  }
6
+ &__inner {
7
+ display: flex;
8
+ align-items: center;
9
+ gap: 4px;
10
+ }
6
11
  }
7
12
 
8
13
  .chips {
9
14
  &&_size {
10
- &_l {
15
+ &_xs {
11
16
  padding: 2px 6px;
12
- @mixin text-l;
17
+ @mixin text-s;
18
+ }
19
+ &_s {
20
+ padding: 2px 6px;
21
+ @mixin text-s;
13
22
  }
14
23
  &_m {
15
24
  padding: 2px 6px;
16
25
  @mixin text-m;
17
26
  }
18
- &_s {
27
+ &_l {
19
28
  padding: 2px 6px;
20
- @mixin text-s;
29
+ @mixin text-l;
30
+ }
31
+ &_xl {
32
+ padding: 2px 6px;
33
+ @mixin text-l;
34
+ }
35
+ &_xxl {
36
+ padding: 6px 12px;
37
+ @mixin text-xxl
21
38
  }
22
39
  }
23
40
  }
@@ -41,7 +58,8 @@
41
58
  :root {
42
59
  --chips-shape-rounded-default: 6px;
43
60
  --chips-size-s-shape-rounded: 6px;
44
- --chips-size-m-shape-rounded: 8px;
45
- --chips-size-l-shape-rounded: 12px;
46
- --chips-size-xl-shape-rounded: 16px;
61
+ --chips-size-m-shape-rounded: 6px;
62
+ --chips-size-l-shape-rounded: 6px;
63
+ --chips-size-xl-shape-rounded: 6px;
64
+ --chips-size-xxl-shape-rounded: 6px;
47
65
  }
@@ -1,13 +1,9 @@
1
1
  .dropdown {
2
2
  display: flex;
3
- align-items: center;
4
- gap: 8px;
5
3
  position: relative;
6
4
  &__wrapper {
7
- position: absolute;
8
- top: 100%;
9
- left: 0;
10
- margin: 16px 0 0 0;
5
+ padding: 12px 0;
6
+ gap: 8px;
11
7
  }
12
8
  }
13
9
  .dropdown {
@@ -16,28 +12,18 @@
16
12
  ^^&__wrapper {
17
13
  animation-name: dropDownAnimationClose;
18
14
  }
19
- ^^&__button {
20
- & .button__icon {
21
- animation-name: dropDownButtonAnimationClose;
22
- }
23
- }
24
15
  }
25
16
  &_open {
26
17
  ^^&__wrapper {
27
18
  animation-name: dropDownAnimationOpen;
28
19
  }
29
- ^^&__button {
30
- & .button__icon {
31
- animation-name: dropDownButtonAnimationOpen;
32
- }
33
- }
34
20
  }
35
21
  }
36
22
  }
37
23
  .dropdown {
38
24
  &_shape {
39
25
  &_rounded {
40
- border-radius: 4px;
26
+ border-radius: 12px;
41
27
  position: relative;
42
28
  }
43
29
  }
@@ -52,7 +38,24 @@
52
38
  .dropdown {
53
39
  &&_state_open {
54
40
  ^&__wrapper {
55
-
56
41
  }
57
42
  }
58
43
  }
44
+ .dropdown {
45
+ &__item {
46
+ min-width: 240px;
47
+ &-label {
48
+ display: block;
49
+ }
50
+ &_size {
51
+ @each $size in normal, compact {
52
+ &_$(size) {
53
+ ^^&-label {
54
+ padding: var(--dropdown-item-size-$(size)-padding);
55
+ gap: var(--dropdown-item-size-$(size)-gap);
56
+ }
57
+ }
58
+ }
59
+ }
60
+ }
61
+ }
@@ -5,7 +5,6 @@
5
5
  top: 0;
6
6
  z-index: 1;
7
7
  position: absolute;
8
- background: red;
9
8
  }
10
9
  .fader {
11
10
  &&_state {
@@ -206,3 +206,8 @@
206
206
  }
207
207
  }
208
208
  }
209
+ .grid {
210
+ &__row {
211
+ display: grid;
212
+ }
213
+ }
@@ -0,0 +1,5 @@
1
+ .grid {
2
+ &__row {
3
+ display: grid;
4
+ }
5
+ }