@itcase/ui 1.0.92 → 1.0.94

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 (58) hide show
  1. package/dist/{SelectContainer-meg_EXPO.js → SelectContainer-umrbJtB5.js} +87 -54
  2. package/dist/components/Accordion.js +10 -1
  3. package/dist/components/Avatar.js +7 -1
  4. package/dist/components/Badge.js +2 -1
  5. package/dist/components/Breadcrumbs.js +8 -3
  6. package/dist/components/Button.js +12 -7
  7. package/dist/components/Cell.js +7 -2
  8. package/dist/components/Checkbox.js +32 -8
  9. package/dist/components/Chips.js +1 -1
  10. package/dist/components/Choice.js +5 -0
  11. package/dist/components/ContextMenu.js +5 -0
  12. package/dist/components/CookiesWarning.js +5 -1
  13. package/dist/components/DatePicker.js +4 -0
  14. package/dist/components/Dropdown.js +14 -2
  15. package/dist/components/Empty.js +5 -0
  16. package/dist/components/Flex.js +20 -3
  17. package/dist/components/FormField.js +7 -2
  18. package/dist/components/Grid.js +5 -1
  19. package/dist/components/Group.js +33 -2
  20. package/dist/components/Icon.js +30 -2
  21. package/dist/components/Image.js +10 -4
  22. package/dist/components/InputPassword.js +8 -0
  23. package/dist/components/Label.js +2 -1
  24. package/dist/components/LanguageSelector.js +8 -0
  25. package/dist/components/Loader.js +27 -12
  26. package/dist/components/Logo.js +4 -3
  27. package/dist/components/MenuItem.js +1 -1
  28. package/dist/components/Notification.js +1 -1
  29. package/dist/components/Search.js +5 -0
  30. package/dist/components/Segmented.js +13 -1
  31. package/dist/components/Select.js +20 -14
  32. package/dist/components/SiteMenu.js +5 -0
  33. package/dist/components/Tab.js +1 -1
  34. package/dist/components/Text.js +4 -3
  35. package/dist/components/Tile.js +1 -0
  36. package/dist/components/Title.js +2 -1
  37. package/dist/components/Tooltip.js +46 -26
  38. package/dist/constants/componentProps/alignment.js +5 -0
  39. package/dist/constants.js +6 -4
  40. package/dist/css/components/Accordion/Accordion.css +2 -1
  41. package/dist/css/components/Avatar/Avatar.css +40 -13
  42. package/dist/css/components/Badge/Badge.css +35 -10
  43. package/dist/css/components/Cell/Cell.css +41 -0
  44. package/dist/css/components/Checkbox/Checkbox.css +20 -20
  45. package/dist/css/components/Group/Group.css +1 -0
  46. package/dist/css/components/Icon/Icon.css +8 -0
  47. package/dist/css/components/Image/Image.css +28 -1
  48. package/dist/css/components/Label/Label.css +32 -10
  49. package/dist/css/components/Logo/Logo.css +33 -8
  50. package/dist/css/components/Segmented/Segmented.css +0 -1
  51. package/dist/css/components/Select/Select.css +1 -0
  52. package/dist/css/components/Select/css/__indicators/select__indicators.css +1 -0
  53. package/dist/css/components/Text/Text.css +24 -0
  54. package/dist/css/components/Title/Title.css +24 -0
  55. package/dist/css/components/Tooltip/Tooltip.css +103 -3
  56. package/dist/css/styles/alignment/alignment.css +54 -0
  57. package/dist/css/styles/mediaqueries.css +23 -9
  58. package/package.json +1 -1
@@ -30,13 +30,14 @@ var clsx__default = /*#__PURE__*/_interopDefault(clsx);
30
30
  function Text(props) {
31
31
  const {
32
32
  after,
33
- dataTour,
34
33
  before,
35
34
  children,
36
35
  className,
37
36
  cursor,
38
- tag: Tag,
37
+ dataTour,
39
38
  htmlFor,
39
+ mode,
40
+ tag: Tag,
40
41
  type,
41
42
  onClick
42
43
  } = props;
@@ -88,7 +89,7 @@ function Text(props) {
88
89
  propsKey: 'width'
89
90
  });
90
91
  return /*#__PURE__*/React__default.default.createElement(Tag, {
91
- className: clsx__default.default(className, 'text', sizeClass, weightClass, textColorClass, textColorActiveClass, textColorHoverClass, textGradientClass, textStyleClass, textTruncateClass, textWrapClass, type && `text_type_${type}`, widthClass, cursorClass, onClick && (cursor || 'cursor_type_pointer')),
92
+ className: clsx__default.default(className, 'text', sizeClass, weightClass, textColorClass, textColorActiveClass, textColorHoverClass, textGradientClass, textStyleClass, textTruncateClass, textWrapClass, type && `text_type_${type}`, mode && `text_mode_${mode}`, widthClass, cursorClass, onClick && (cursor || 'cursor_type_pointer')),
92
93
  "data-tour": dataTour,
93
94
  htmlFor: htmlFor,
94
95
  style: textStyles,
@@ -39,6 +39,7 @@ require('../constants/componentProps/type.js');
39
39
  require('../constants/componentProps/underline.js');
40
40
  require('../constants/componentProps/iconSize.js');
41
41
  require('../constants/componentProps/strokeColor.js');
42
+ require('./Tooltip.js');
42
43
  require('../constants/componentProps/textAlign.js');
43
44
  require('../constants/componentProps/titleSize.js');
44
45
  require('../constants/componentProps/wrap.js');
@@ -42,6 +42,7 @@ function Title(props) {
42
42
  onClick
43
43
  } = props;
44
44
  const {
45
+ mode,
45
46
  size,
46
47
  sizeMobile,
47
48
  sizeTablet,
@@ -113,7 +114,7 @@ function Title(props) {
113
114
  return size;
114
115
  }, [isMobile, isTablet, isDesktop]);
115
116
  return /*#__PURE__*/React__default.default.createElement(Tag, {
116
- className: clsx__default.default(className, 'title', fillColorClass, size && `title_size_${size}`, textColorClass, textColorActiveClass, textColorHoverClass, typeClass, textGradientClass, textStyleClass, weightClass, textWrap && `word-wrap_${textWrap}`),
117
+ className: clsx__default.default(className, 'title', fillColorClass, size && `title_size_${size}`, mode && `title_mode_${mode}`, textColorClass, textColorActiveClass, textColorHoverClass, typeClass, textGradientClass, textStyleClass, weightClass, textWrap && `word-wrap_${textWrap}`),
117
118
  "data-tour": dataTour,
118
119
  onClick: onClick,
119
120
  style: titleStyles
@@ -35,10 +35,17 @@ var React__default = /*#__PURE__*/_interopDefault(React);
35
35
  var PropTypes__default = /*#__PURE__*/_interopDefault(PropTypes);
36
36
  var clsx__default = /*#__PURE__*/_interopDefault(clsx);
37
37
 
38
+ const tooltipConfig = {
39
+ appearance: {},
40
+ setAppearance: newComponent => {
41
+ tooltipConfig.appearance = newComponent;
42
+ }
43
+ };
38
44
  function Tooltip(props) {
39
45
  const {
40
46
  before,
41
47
  after,
48
+ appearance,
42
49
  className,
43
50
  text,
44
51
  title,
@@ -70,23 +77,35 @@ function Tooltip(props) {
70
77
  prefix: 'tooltip_size_',
71
78
  propsKey: 'size'
72
79
  });
80
+ const borderWidthClass = useDeviceTargetClass.useDeviceTargetClass(props, {
81
+ prefix: 'border-width_',
82
+ propsKey: 'borderWidth'
83
+ });
84
+ const borderColorClass = useDeviceTargetClass.useDeviceTargetClass(props, {
85
+ prefix: 'border-color_',
86
+ propsKey: 'borderColor'
87
+ });
88
+ const borderTypeClass = useDeviceTargetClass.useDeviceTargetClass(props, {
89
+ prefix: 'border_type_',
90
+ propsKey: 'borderType'
91
+ });
73
92
  const {
74
93
  styles: tooltipStyles
75
94
  } = useStyles.useStyles(props);
76
95
  return /*#__PURE__*/React__default.default.createElement("div", {
77
- className: clsx__default.default(className, 'tooltip', fillClass, shapeClass, alignDirectionClass, alignClass, sizeClass, arrowPosition && `tooltip_type_arrow tooltip_arrow_position_${arrowPosition}`, type && `tooltip_type_${type}`, set && `tooltip_set_${set}`),
96
+ className: clsx__default.default(className, 'tooltip', fillClass || tooltipConfig.appearance[appearance] && `fill_${tooltipConfig.appearance[appearance].fillClass}`.replace(/([A-Z])/g, '-$1').toLowerCase(), shapeClass, alignDirectionClass, alignClass, borderWidthClass, borderColorClass, borderTypeClass, sizeClass, arrowPosition && `tooltip_type_arrow tooltip_arrow_position_${arrowPosition}`, type && `tooltip_type_${type}`, set && `tooltip_set_${set}`),
78
97
  style: tooltipStyles
79
- }, /*#__PURE__*/React__default.default.createElement("div", {
98
+ }, before, /*#__PURE__*/React__default.default.createElement("div", {
80
99
  className: "tooltip__inner"
81
- }, before, title && /*#__PURE__*/React__default.default.createElement(index.Title, {
100
+ }, title && /*#__PURE__*/React__default.default.createElement(index.Title, {
82
101
  className: "tooltip__title",
83
- textColor: titleTextColor,
84
- size: titleSize
102
+ size: titleSize,
103
+ textColor: titleTextColor || tooltipConfig.appearance[appearance]?.titleTextColor
85
104
  }, title), text && /*#__PURE__*/React__default.default.createElement(index$1.Text, {
86
105
  className: "tooltip__text",
87
- textColor: textColor,
88
- size: textSize
89
- }, text), after));
106
+ size: textSize,
107
+ textColor: textColor || tooltipConfig.appearance[appearance]?.textColor
108
+ }, text)), after);
90
109
  }
91
110
  Tooltip.propTypes = {
92
111
  children: PropTypes__default.default.any,
@@ -99,16 +118,16 @@ Tooltip.propTypes = {
99
118
  shapeDesktop: PropTypes__default.default.oneOf(shape.default),
100
119
  shapeMobile: PropTypes__default.default.oneOf(shape.default),
101
120
  shapeTablet: PropTypes__default.default.oneOf(shape.default),
121
+ size: PropTypes__default.default.oneOf(size.default),
122
+ sizeDesktop: PropTypes__default.default.oneOf(size.default),
123
+ sizeMobile: PropTypes__default.default.oneOf(size.default),
124
+ sizeTablet: PropTypes__default.default.oneOf(size.default),
102
125
  text: PropTypes__default.default.any,
126
+ textColor: PropTypes__default.default.oneOf(size.default),
103
127
  textSize: PropTypes__default.default.oneOf(size.default),
104
128
  textSizeDesktop: PropTypes__default.default.oneOf(size.default),
105
129
  textSizeMobile: PropTypes__default.default.oneOf(size.default),
106
130
  textSizeTablet: PropTypes__default.default.oneOf(size.default),
107
- textColor: PropTypes__default.default.oneOf(size.default),
108
- size: PropTypes__default.default.oneOf(size.default),
109
- sizeDesktop: PropTypes__default.default.oneOf(size.default),
110
- sizeMobile: PropTypes__default.default.oneOf(size.default),
111
- sizeTablet: PropTypes__default.default.oneOf(size.default),
112
131
  type: PropTypes__default.default.string
113
132
  };
114
133
  Tooltip.defaultProps = {
@@ -212,14 +231,16 @@ Tooltip.__docgenInfo = {
212
231
  },
213
232
  "required": false
214
233
  },
215
- "text": {
234
+ "size": {
216
235
  "description": "",
217
236
  "type": {
218
- "name": "any"
237
+ "name": "enum",
238
+ "computed": true,
239
+ "value": "sizeProps"
219
240
  },
220
241
  "required": false
221
242
  },
222
- "textSize": {
243
+ "sizeDesktop": {
223
244
  "description": "",
224
245
  "type": {
225
246
  "name": "enum",
@@ -228,7 +249,7 @@ Tooltip.__docgenInfo = {
228
249
  },
229
250
  "required": false
230
251
  },
231
- "textSizeDesktop": {
252
+ "sizeMobile": {
232
253
  "description": "",
233
254
  "type": {
234
255
  "name": "enum",
@@ -237,7 +258,7 @@ Tooltip.__docgenInfo = {
237
258
  },
238
259
  "required": false
239
260
  },
240
- "textSizeMobile": {
261
+ "sizeTablet": {
241
262
  "description": "",
242
263
  "type": {
243
264
  "name": "enum",
@@ -246,12 +267,10 @@ Tooltip.__docgenInfo = {
246
267
  },
247
268
  "required": false
248
269
  },
249
- "textSizeTablet": {
270
+ "text": {
250
271
  "description": "",
251
272
  "type": {
252
- "name": "enum",
253
- "computed": true,
254
- "value": "sizeProps"
273
+ "name": "any"
255
274
  },
256
275
  "required": false
257
276
  },
@@ -264,7 +283,7 @@ Tooltip.__docgenInfo = {
264
283
  },
265
284
  "required": false
266
285
  },
267
- "size": {
286
+ "textSize": {
268
287
  "description": "",
269
288
  "type": {
270
289
  "name": "enum",
@@ -273,7 +292,7 @@ Tooltip.__docgenInfo = {
273
292
  },
274
293
  "required": false
275
294
  },
276
- "sizeDesktop": {
295
+ "textSizeDesktop": {
277
296
  "description": "",
278
297
  "type": {
279
298
  "name": "enum",
@@ -282,7 +301,7 @@ Tooltip.__docgenInfo = {
282
301
  },
283
302
  "required": false
284
303
  },
285
- "sizeMobile": {
304
+ "textSizeMobile": {
286
305
  "description": "",
287
306
  "type": {
288
307
  "name": "enum",
@@ -291,7 +310,7 @@ Tooltip.__docgenInfo = {
291
310
  },
292
311
  "required": false
293
312
  },
294
- "sizeTablet": {
313
+ "textSizeTablet": {
295
314
  "description": "",
296
315
  "type": {
297
316
  "name": "enum",
@@ -311,3 +330,4 @@ Tooltip.__docgenInfo = {
311
330
  };
312
331
 
313
332
  exports.Tooltip = Tooltip;
333
+ exports.tooltipConfig = tooltipConfig;
@@ -0,0 +1,5 @@
1
+ 'use strict';
2
+
3
+ const alignmentProps = [null, 'topLeft', 'topCenter', 'topRight', 'leftCenter', 'rightCenter', 'bottomRight', 'bottomCenter', 'bottomLeft'];
4
+
5
+ exports.default = alignmentProps;
package/dist/constants.js CHANGED
@@ -2,6 +2,7 @@
2
2
 
3
3
  var alignDirection = require('./constants/componentProps/alignDirection.js');
4
4
  var align = require('./constants/componentProps/align.js');
5
+ var alignment = require('./constants/componentProps/alignment.js');
5
6
  var borderColorHover = require('./constants/componentProps/borderColorHover.js');
6
7
  var borderColor = require('./constants/componentProps/borderColor.js');
7
8
  var borderType = require('./constants/componentProps/borderType.js');
@@ -9,8 +10,8 @@ var borderWidth = require('./constants/componentProps/borderWidth.js');
9
10
  var captionPosition = require('./constants/componentProps/captionPosition.js');
10
11
  var direction = require('./constants/componentProps/direction.js');
11
12
  var emojiSize = require('./constants/componentProps/emojiSize.js');
12
- var fillHover = require('./constants/componentProps/fillHover.js');
13
13
  var fillGradient = require('./constants/componentProps/fillGradient.js');
14
+ var fillHover = require('./constants/componentProps/fillHover.js');
14
15
  var fill = require('./constants/componentProps/fill.js');
15
16
  var fillType = require('./constants/componentProps/fillType.js');
16
17
  var flexAlign = require('./constants/componentProps/flexAlign.js');
@@ -23,8 +24,8 @@ var gridJustifySelf = require('./constants/componentProps/gridJustifySelf.js');
23
24
  var height = require('./constants/componentProps/height.js');
24
25
  var horizontalContentAlign = require('./constants/componentProps/horizontalContentAlign.js');
25
26
  var horizontalResizeMode = require('./constants/componentProps/horizontalResizeMode.js');
26
- var iconSize = require('./constants/componentProps/iconSize.js');
27
27
  var iconFillSize = require('./constants/componentProps/iconFillSize.js');
28
+ var iconSize = require('./constants/componentProps/iconSize.js');
28
29
  var itemColor = require('./constants/componentProps/itemColor.js');
29
30
  var position = require('./constants/componentProps/position.js');
30
31
  var resizeMode = require('./constants/componentProps/resizeMode.js');
@@ -57,6 +58,7 @@ var wrap = require('./constants/componentProps/wrap.js');
57
58
 
58
59
  exports.alignDirectionProps = alignDirection.default;
59
60
  exports.alignProps = align.default;
61
+ exports.alignmentProps = alignment.default;
60
62
  exports.borderColorHoverProps = borderColorHover.default;
61
63
  exports.borderColorProps = borderColor.default;
62
64
  exports.borderTypeProps = borderType.default;
@@ -64,8 +66,8 @@ exports.borderWidthProps = borderWidth.default;
64
66
  exports.captionPositionProps = captionPosition.default;
65
67
  exports.directionProps = direction.default;
66
68
  exports.emojiSizeProps = emojiSize.default;
67
- exports.fillHoverProps = fillHover.default;
68
69
  exports.fillGradientProps = fillGradient.default;
70
+ exports.fillHoverProps = fillHover.default;
69
71
  exports.fillProps = fill.default;
70
72
  exports.fillTypeProps = fillType.default;
71
73
  exports.flexAlignProps = flexAlign.default;
@@ -78,8 +80,8 @@ exports.gridJustifySelfProps = gridJustifySelf.default;
78
80
  exports.heightProps = height.default;
79
81
  exports.horizontalContentAlignProps = horizontalContentAlign.default;
80
82
  exports.horizontalResizeModeProps = horizontalResizeMode.default;
81
- exports.iconSizeProps = iconSize.default;
82
83
  exports.iconFillSizeProps = iconFillSize.default;
84
+ exports.iconSizeProps = iconSize.default;
83
85
  exports.itemColorProps = itemColor.default;
84
86
  exports.positionProps = position.default;
85
87
  exports.resizeModeProps = resizeMode.default;
@@ -1,4 +1,5 @@
1
1
  .accordion {
2
+ border-radius: var(--accordion-border-radius, 12px);
2
3
  &__wrapper {
3
4
  width: 100%;
4
5
  max-width: var(--max);
@@ -48,7 +49,7 @@
48
49
  min-width: 170px;
49
50
  display: flex;
50
51
  flex-flow: row wrap;
51
- gap: 8px;
52
+ gap: 14px;
52
53
  &__title {
53
54
  flex: 1;
54
55
  }
@@ -16,24 +16,32 @@
16
16
  }
17
17
  }
18
18
  .avatar {
19
- &_size {
20
- @each $size in 14, 16, 24, 32, 40, 48, 56, 60, 64, 72, 80, 96, 112, 144, 240 {
21
- &_$(size) {
22
- ^^&__wrapper {
23
- width: $(size)px;
24
- height: $(size)px;
25
- display: flex;
26
- justify-content: center;
27
- align-items: center;
28
- ^^^&__image {
29
- width: $(size)px;
30
- height: $(size)px;
31
- }
19
+ &&_mode {
20
+ &_skeleton {
21
+ ^^&__wrapper {
22
+ background-image: linear-gradient(
23
+ 90deg,
24
+ var(--color-surface-secondary),
25
+ var(--color-surface-tertiary),
26
+ var(--color-surface-secondary)
27
+ );
28
+ background-size: 200%;
29
+ animation: avatar-skeleton 3s infinite linear;
30
+ ^^^&__name {
31
+ color: transparent;
32
32
  }
33
33
  }
34
34
  }
35
35
  }
36
36
  }
37
+ @keyframes avatar-skeleton {
38
+ 0% {
39
+ background-position: 200%;
40
+ }
41
+ 100% {
42
+ background-position: -200%;
43
+ }
44
+ }
37
45
  .avatar {
38
46
  &_shape {
39
47
  &_circular {
@@ -56,3 +64,22 @@
56
64
  }
57
65
  }
58
66
  }
67
+ .avatar {
68
+ &_size {
69
+ @each $size in 14, 16, 24, 32, 40, 48, 56, 60, 64, 72, 80, 96, 112, 144, 240 {
70
+ &_$(size) {
71
+ ^^&__wrapper {
72
+ width: $(size)px;
73
+ height: $(size)px;
74
+ display: flex;
75
+ justify-content: center;
76
+ align-items: center;
77
+ ^^^&__image {
78
+ width: $(size)px;
79
+ height: $(size)px;
80
+ }
81
+ }
82
+ }
83
+ }
84
+ }
85
+ }
@@ -3,6 +3,41 @@
3
3
  justify-content: center;
4
4
  align-items: center;
5
5
  }
6
+ .badge {
7
+ &&_mode {
8
+ &_skeleton {
9
+ background-image: linear-gradient(
10
+ 90deg,
11
+ var(--color-surface-secondary),
12
+ var(--color-surface-tertiary),
13
+ var(--color-surface-secondary)
14
+ );
15
+ background-size: 200%;
16
+ animation: badge-skeleton 3s infinite linear;
17
+ ^^^^&.text {
18
+ color: transparent;
19
+ }
20
+ }
21
+ }
22
+ }
23
+ @keyframes badge-skeleton {
24
+ 0% {
25
+ background-position: 200%;
26
+ }
27
+ 100% {
28
+ background-position: -200%;
29
+ }
30
+ }
31
+ .badge {
32
+ &_shape {
33
+ &_rounded {
34
+ border-radius: var(--badge-shape-rounded, 6px);
35
+ }
36
+ &_circular {
37
+ border-radius: 50%;
38
+ }
39
+ }
40
+ }
6
41
  .badge {
7
42
  &_size {
8
43
  @each $size in xxs, xs, s, m, l, xl, xxl {
@@ -29,16 +64,6 @@
29
64
  }
30
65
  }
31
66
  }
32
- .badge {
33
- &_shape {
34
- &_rounded {
35
- border-radius: var(--badge-shape-rounded, 6px);
36
- }
37
- &_circular {
38
- border-radius: 50%;
39
- }
40
- }
41
- }
42
67
  :root {
43
68
  --badge-width-size-xxs: 16px;
44
69
  --badge-height-size-xxs: 16px;
@@ -38,6 +38,15 @@
38
38
  }
39
39
  }
40
40
  }
41
+ .cell {
42
+ &__wrapper {
43
+ &_shape {
44
+ &_rounded {
45
+ border-radius: var(--cell-border-radius, 6px);
46
+ }
47
+ }
48
+ }
49
+ }
41
50
  .cell {
42
51
  &&_state {
43
52
  &_active {
@@ -79,9 +88,41 @@
79
88
  }
80
89
  }
81
90
  }
91
+ .cell {
92
+ &&_mode {
93
+ &_skeleton {
94
+ ^^&__data {
95
+ ^^^&__title,
96
+ ^^^&__value {
97
+ color: transparent;
98
+ background-image: linear-gradient(
99
+ 90deg,
100
+ var(--color-surface-secondary),
101
+ var(--color-surface-tertiary),
102
+ var(--color-surface-secondary)
103
+ );
104
+ background-size: 200%;
105
+ border-radius: 6px;
106
+ animation: cell-skeleton 3s infinite linear;
107
+ }
108
+ }
109
+ }
110
+ }
111
+ }
112
+ @keyframes cell-skeleton {
113
+ 0% {
114
+ background-position: 200%;
115
+ }
116
+ 100% {
117
+ background-position: -200%;
118
+ }
119
+ }
82
120
  :root {
83
121
  --cell-size-s-padding: 6px;
122
+
84
123
  --cell-size-m-padding: 6px;
124
+
85
125
  --cell-size-l-padding: 6px;
126
+
86
127
  --cell-size-xl-padding: 12px;
87
128
  }
@@ -4,32 +4,32 @@
4
4
  grid-template-rows: auto auto;
5
5
  column-gap: 4px;
6
6
  &__item {
7
- position: relative;
8
- cursor: pointer;
7
+ min-width: 16px;
8
+ min-height: 16px;
9
9
  font-size: 0;
10
10
  line-height: 0;
11
+ position: relative;
11
12
  display: flex;
12
- min-height: 16px;
13
- min-width: 16px;
14
- grid-row-start: span 2;
15
13
  align-self: start;
14
+ cursor: pointer;
15
+ grid-row-start: span 3;
16
16
  ^&__input {
17
- cursor: pointer;
18
- appearance: none;
19
- border: 0;
20
- margin: 0;
17
+ width: 100%;
18
+ height: 100%;
21
19
  font-size: 0;
22
20
  line-height: 0;
21
+ margin: 0;
22
+ border: 0;
23
23
  position: absolute;
24
24
  left: 0;
25
25
  top: 0;
26
- width: 100%;
27
- height: 100%;
28
26
  z-index: 3;
27
+ cursor: pointer;
28
+ appearance: none;
29
29
  }
30
30
  ^&__state {
31
- flex: 1;
32
31
  display: flex;
32
+ flex: 1;
33
33
  z-index: 1;
34
34
  &_shape {
35
35
  &_rounded {
@@ -41,19 +41,19 @@
41
41
  }
42
42
  }
43
43
  ^&__state-checkmark {
44
- height: 8px;
45
44
  width: 5px;
46
- border-bottom-style: solid;
47
- border-bottom-width: 2px;
48
- border-right-style: solid;
49
- border-right-width: 2px;
45
+ height: 8px;
46
+ margin: -1px 0 0 0;
50
47
  position: absolute;
51
- z-index: 2;
48
+ display: none;
52
49
  left: 50%;
53
50
  top: 50%;
54
- margin: -1px 0 0 0;
51
+ z-index: 2;
55
52
  transform: translate(-50%, -50%) rotate(45deg);
56
- display: none;
53
+ border-bottom-style: solid;
54
+ border-bottom-width: 2px;
55
+ border-right-style: solid;
56
+ border-right-width: 2px;
57
57
  }
58
58
  }
59
59
  }
@@ -1,4 +1,5 @@
1
1
  .group {
2
+ display: block;
2
3
  transition: var(--group-transition);
3
4
  }
4
5
 
@@ -1,5 +1,6 @@
1
1
  .icon {
2
2
  &__item {
3
+ position: relative;
3
4
  display: flex;
4
5
  & svg {
5
6
  transition: var(--icon-transition);
@@ -143,6 +144,13 @@
143
144
  }
144
145
  }
145
146
  }
147
+ .icon {
148
+ &__tooltip {
149
+ min-width: 200px;
150
+ padding: 8px;
151
+ border-radius: 8px;
152
+ }
153
+ }
146
154
  :root {
147
155
  --icon-transition: all 0.2s ease 0s;
148
156
  --icon-size-24-badge-position: 12px, 12px;
@@ -17,6 +17,31 @@
17
17
  }
18
18
  }
19
19
  }
20
+ .image {
21
+ &&_mode {
22
+ &_skeleton {
23
+ background-image: linear-gradient(
24
+ 90deg,
25
+ var(--color-surface-secondary),
26
+ var(--color-surface-tertiary),
27
+ var(--color-surface-secondary)
28
+ );
29
+ background-size: 200%;
30
+ animation: image-skeleton 3s infinite linear;
31
+ ^^&__item {
32
+ opacity: 0;
33
+ }
34
+ }
35
+ }
36
+ }
37
+ @keyframes image-skeleton {
38
+ 0% {
39
+ background-position: 200%;
40
+ }
41
+ 100% {
42
+ background-position: -200%;
43
+ }
44
+ }
20
45
  .image {
21
46
  &_resize-mode {
22
47
  &_cover {
@@ -42,12 +67,13 @@
42
67
  .image {
43
68
  &_shape {
44
69
  &_rounded {
70
+ border-radius: var(--image-shape-rounded, 12px);
45
71
  > ^^&__wrapper {
46
72
  width: 100%;
47
73
  height: 100%;
74
+ border-radius: var(--image-shape-rounded, 12px);
48
75
  position: relative;
49
76
  overflow: hidden;
50
- border-radius: var(--image-shape-rounded, 12px);
51
77
  & > ^^^&__item {
52
78
  width: 100%;
53
79
  height: 100%;
@@ -56,6 +82,7 @@
56
82
  }
57
83
  }
58
84
  &_circular {
85
+ border-radius: 50%;
59
86
  > ^^&__wrapper {
60
87
  width: 100%;
61
88
  height: 100%;