@itcase/ui 1.0.6 → 1.0.8

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 (31) hide show
  1. package/dist/components/Button.js +26 -12
  2. package/dist/components/Cell.js +19 -9
  3. package/dist/components/Dropdown.js +195 -66
  4. package/dist/components/Grid.js +74 -33
  5. package/dist/components/Group.js +5 -1
  6. package/dist/components/Image.js +3 -3
  7. package/dist/components/Logo.js +26 -15
  8. package/dist/components/Search.js +48 -31
  9. package/dist/components/Segmented.js +62 -10
  10. package/dist/components/Tab.js +134 -21
  11. package/dist/components/Tile.js +10 -7
  12. package/dist/css/components/Avatar/Avatar.css +11 -2
  13. package/dist/css/components/Badge/Badge.css +1 -0
  14. package/dist/css/components/Cell/Cell.css +14 -52
  15. package/dist/css/components/Dropdown/Dropdown.css +21 -18
  16. package/dist/css/components/Grid/Grid.css +5 -0
  17. package/dist/css/components/Grid/css/__row/grid__row.css +5 -0
  18. package/dist/css/components/Search/Search.css +11 -9
  19. package/dist/css/components/Search/css/search-input/search-input.css +1 -9
  20. package/dist/css/components/Search/css/search-input/search-input_size.css +10 -0
  21. package/dist/css/components/Segmented/Segmented.css +95 -0
  22. package/dist/css/components/Swiper/Swiper.css +6 -0
  23. package/dist/css/components/Switch/Switch.css +55 -50
  24. package/dist/css/components/Tab/Tab.css +3 -0
  25. package/dist/css/styles/align/align.css +6 -0
  26. package/dist/css/styles/border-width/border-width.css +1 -0
  27. package/dist/css/styles/justify-content/justify-content.css +7 -0
  28. package/dist/hooks/styleAttributes.js +1 -1
  29. package/package.json +1 -1
  30. package/dist/css/components/Cell/css/__wrapper/cell__wrapper.css +0 -7
  31. package/dist/css/components/Cell/css/__wrapper/cell__wrapper_shape.css +0 -15
@@ -3,8 +3,17 @@
3
3
  var React = require('react');
4
4
  var PropTypes = require('prop-types');
5
5
  var clsx = require('clsx');
6
+ var index = require('./Link.js');
6
7
  var useDeviceTargetClass = require('../hooks/useDeviceTargetClass.js');
7
8
  var useStyles = require('../useStyles-e4accb53.js');
9
+ require('../constants/componentProps/fill.js');
10
+ require('../constants/componentProps/size.js');
11
+ require('../constants/componentProps/textColor.js');
12
+ require('../constants/componentProps/textGradient.js');
13
+ require('../constants/componentProps/textStyle.js');
14
+ require('../constants/componentProps/textWeight.js');
15
+ require('../constants/componentProps/type.js');
16
+ require('../constants/componentProps/underline.js');
8
17
  require('lodash/castArray');
9
18
  require('lodash/camelCase');
10
19
  require('../context/UIContext.js');
@@ -22,29 +31,35 @@ var clsx__default = /*#__PURE__*/_interopDefault(clsx);
22
31
 
23
32
  function Logo(props) {
24
33
  var className = props.className,
25
- LinkComponent = props.LinkComponent,
26
34
  size = props.size,
27
35
  link = props.link,
28
36
  href = props.href,
29
- target = props.target,
30
- rel = props.rel,
31
37
  source = props.source,
32
38
  src = props.src;
33
39
  var alignItemsClass = useDeviceTargetClass.useDeviceTargetClass(props, {
34
40
  prefix: 'logo_align-items_',
35
41
  propsKey: 'alignItems'
36
42
  });
43
+ var widthClass = useDeviceTargetClass.useDeviceTargetClass(props, {
44
+ prefix: 'width_',
45
+ propsKey: 'width'
46
+ });
47
+ var alignDirectionClass = useDeviceTargetClass.useDeviceTargetClass(props, {
48
+ prefix: 'align_',
49
+ propsKey: 'alignDirection'
50
+ });
51
+ var alignClass = useDeviceTargetClass.useDeviceTargetClass(props, {
52
+ prefix: 'align_',
53
+ propsKey: 'align'
54
+ });
37
55
  var _useStyles = useStyles.useStyles(props),
38
56
  logo = _useStyles.styles;
39
57
  return /*#__PURE__*/React__default.default.createElement("div", {
40
- className: clsx__default.default(className, 'logo', alignItemsClass, size && "logo_size_" + size),
58
+ className: clsx__default.default(className, 'logo', alignDirectionClass, alignClass, widthClass, alignItemsClass, size && "logo_size_" + size),
41
59
  style: logo
42
- }, link || href ? /*#__PURE__*/React__default.default.createElement(LinkComponent, {
43
- className: 'logo__link',
44
- href: link || href,
45
- target: target,
46
- rel: rel
47
- }, /*#__PURE__*/React__default.default.createElement("img", {
60
+ }, link || href ? /*#__PURE__*/React__default.default.createElement(index.LinkWrapper, {
61
+ href: link || href
62
+ }, ' ', /*#__PURE__*/React__default.default.createElement("img", {
48
63
  className: "logo__image",
49
64
  src: src || source
50
65
  })) : /*#__PURE__*/React__default.default.createElement("img", {
@@ -57,12 +72,8 @@ Logo.propTypes = {
57
72
  className: PropTypes__default.default.string,
58
73
  isLink: PropTypes__default.default.bool,
59
74
  logoSrc: PropTypes__default.default.string,
60
- href: PropTypes__default.default.string,
61
75
  src: PropTypes__default.default.string,
62
- source: PropTypes__default.default.string,
63
- link: PropTypes__default.default.string,
64
- target: PropTypes__default.default.string,
65
- rel: PropTypes__default.default.string
76
+ target: PropTypes__default.default.string
66
77
  };
67
78
  Logo.defaultProps = {};
68
79
 
@@ -7,20 +7,13 @@ var fill = require('../constants/componentProps/fill.js');
7
7
  var index = require('./Icon.js');
8
8
  var index$1 = require('./Text.js');
9
9
  var useDeviceTargetClass = require('../hooks/useDeviceTargetClass.js');
10
+ var useStyles = require('../useStyles-e4accb53.js');
10
11
  var index$2 = require('./Scrollbar.js');
11
12
  require('react-inlinesvg');
12
13
  require('../constants/componentProps/iconSize.js');
13
14
  require('../constants/componentProps/shape.js');
14
15
  require('../constants/componentProps/strokeColor.js');
15
16
  require('./Link.js');
16
- require('../useStyles-e4accb53.js');
17
- require('lodash/camelCase');
18
- require('lodash/maxBy');
19
- require('lodash/upperFirst');
20
- require('../hooks/styleAttributes.js');
21
- require('../context/UIContext.js');
22
- require('../hooks/useMediaQueries.js');
23
- require('react-responsive');
24
17
  require('../constants/componentProps/size.js');
25
18
  require('../constants/componentProps/textColor.js');
26
19
  require('../constants/componentProps/textGradient.js');
@@ -28,6 +21,13 @@ require('../constants/componentProps/textStyle.js');
28
21
  require('../constants/componentProps/textWeight.js');
29
22
  require('../constants/componentProps/type.js');
30
23
  require('../constants/componentProps/underline.js');
24
+ require('lodash/camelCase');
25
+ require('lodash/maxBy');
26
+ require('lodash/upperFirst');
27
+ require('../hooks/styleAttributes.js');
28
+ require('../context/UIContext.js');
29
+ require('../hooks/useMediaQueries.js');
30
+ require('react-responsive');
31
31
  require('lodash/castArray');
32
32
  require('../constants/componentProps/textColorActive.js');
33
33
  require('../constants/componentProps/textColorHover.js');
@@ -43,19 +43,20 @@ var SearchInput = /*#__PURE__*/React__default.default.forwardRef(function Search
43
43
  var after = props.after,
44
44
  before = props.before,
45
45
  className = props.className,
46
- iconAfter = props.iconAfter,
47
- iconAfterBgFill = props.iconAfterBgFill,
48
- iconAfterFill = props.iconAfterFill,
46
+ size = props.size,
47
+ iconAfter = props.iconAfter;
48
+ props.iconAfterBgFill;
49
+ var iconAfterFill = props.iconAfterFill,
49
50
  iconAfterSize = props.iconAfterSize,
50
51
  iconAfterStroke = props.iconAfterStroke,
51
- iconBefore = props.iconBefore,
52
- iconBeforeBgFill = props.iconBeforeBgFill,
53
- iconBeforeFill = props.iconBeforeFill,
52
+ iconBefore = props.iconBefore;
53
+ props.iconBeforeBgFill;
54
+ var iconBeforeFill = props.iconBeforeFill,
54
55
  iconBeforeSize = props.iconBeforeSize,
55
56
  iconBeforeStroke = props.iconBeforeStroke,
56
- iconClear = props.iconClear,
57
- iconClearBgFill = props.iconClearBgFill,
58
- iconClearFill = props.iconClearFill,
57
+ iconClear = props.iconClear;
58
+ props.iconClearBgFill;
59
+ var iconClearFill = props.iconClearFill,
59
60
  iconClearSize = props.iconClearSize,
60
61
  iconClearStroke = props.iconClearStroke,
61
62
  placeholder = props.placeholder,
@@ -137,15 +138,33 @@ var SearchInput = /*#__PURE__*/React__default.default.forwardRef(function Search
137
138
  prefix: 'width_',
138
139
  propsKey: 'width'
139
140
  });
140
- return /*#__PURE__*/React__default.default.createElement("div", {
141
- className: clsx__default.default(className, 'search-input', shapeClass, fillClass, widthClass, type && "search-input_type_" + type)
141
+ var borderColorClass = useDeviceTargetClass.useDeviceTargetClass(props, {
142
+ prefix: 'border-color_',
143
+ propsKey: 'borderColor'
144
+ });
145
+ var borderColorHoverClass = useDeviceTargetClass.useDeviceTargetClass(props, {
146
+ prefix: 'border-color_hover_',
147
+ propsKey: 'borderHover'
148
+ });
149
+ var borderWidthClass = useDeviceTargetClass.useDeviceTargetClass(props, {
150
+ prefix: 'border-width_',
151
+ propsKey: 'borderWidth'
152
+ });
153
+ var borderTypeClass = useDeviceTargetClass.useDeviceTargetClass(props, {
154
+ prefix: 'border-type_',
155
+ propsKey: 'borderType'
156
+ });
157
+ var _useStyles = useStyles.useStyles(props),
158
+ searchInputStyles = _useStyles.styles;
159
+ return /*#__PURE__*/React__default.default.createElement("label", {
160
+ className: clsx__default.default(className, 'search-input', shapeClass, fillClass, widthClass, borderColorClass, borderColorHoverClass, borderWidthClass, borderTypeClass, size && "search-input_size_" + size, type && "search-input_type_" + type),
161
+ style: searchInputStyles
142
162
  }, before, iconBefore && /*#__PURE__*/React__default.default.createElement(index.Icon, {
143
163
  className: "search-input__icon search-input__icon-before",
144
- fill: iconBeforeFill,
164
+ SvgImage: iconBefore,
145
165
  size: iconBeforeSize,
146
- bgFill: iconBeforeBgFill,
147
- stroke: iconBeforeStroke,
148
- SvgImage: iconBefore
166
+ iconFill: iconBeforeFill,
167
+ iconStroke: iconBeforeStroke
149
168
  }), /*#__PURE__*/React__default.default.createElement("div", {
150
169
  className: clsx__default.default('search-input__wrapper', inputFillClass, inputShapeClass)
151
170
  }, /*#__PURE__*/React__default.default.createElement("input", {
@@ -167,19 +186,17 @@ var SearchInput = /*#__PURE__*/React__default.default.forwardRef(function Search
167
186
  textColor: placeholderColorClass
168
187
  }, placeholder || 'Search')), value && /*#__PURE__*/React__default.default.createElement(index.Icon, {
169
188
  className: "search-input__clear",
170
- fill: iconClearFill,
171
- size: iconClearSize,
172
- bgFill: iconClearBgFill,
173
- stroke: iconClearStroke,
174
189
  SvgImage: iconClear,
190
+ size: iconClearSize,
191
+ iconFill: iconClearFill,
192
+ iconStroke: iconClearStroke,
175
193
  onClick: onClickClearIcon
176
194
  })), iconAfter && /*#__PURE__*/React__default.default.createElement(index.Icon, {
177
195
  className: "search-input__icon search-input__icon-after",
178
- fill: iconAfterFill,
196
+ SvgImage: iconAfter,
179
197
  size: iconAfterSize,
180
- bgFill: iconAfterBgFill,
181
- stroke: iconAfterStroke,
182
- SvgImage: iconAfter
198
+ iconFill: iconAfterFill,
199
+ iconStroke: iconAfterStroke
183
200
  }), after);
184
201
  });
185
202
  SearchInput.DEFAULT_REF_STATE = {
@@ -3,6 +3,23 @@
3
3
  var React = require('react');
4
4
  var PropTypes = require('prop-types');
5
5
  var clsx = require('clsx');
6
+ var index = require('./Text.js');
7
+ var useDeviceTargetClass = require('../hooks/useDeviceTargetClass.js');
8
+ require('../constants/componentProps/textColor.js');
9
+ require('../constants/componentProps/textColorActive.js');
10
+ require('../constants/componentProps/textColorHover.js');
11
+ require('../constants/componentProps/size.js');
12
+ require('../constants/componentProps/textStyle.js');
13
+ require('../constants/componentProps/textWeight.js');
14
+ require('../useStyles-e4accb53.js');
15
+ require('lodash/camelCase');
16
+ require('lodash/maxBy');
17
+ require('lodash/upperFirst');
18
+ require('../hooks/styleAttributes.js');
19
+ require('../context/UIContext.js');
20
+ require('../hooks/useMediaQueries.js');
21
+ require('react-responsive');
22
+ require('lodash/castArray');
6
23
 
7
24
  function _interopDefault (e) { return e && e.__esModule ? e : { default: e }; }
8
25
 
@@ -13,11 +30,14 @@ var clsx__default = /*#__PURE__*/_interopDefault(clsx);
13
30
  var Segmented = /*#__PURE__*/React__default.default.forwardRef(function (props, ref) {
14
31
  var name = props.name,
15
32
  className = props.className,
16
- fill = props.fill,
17
33
  type = props.type,
18
34
  segments = props.segments,
19
35
  activeSegment = props.activeSegment,
20
- setActiveSegment = props.setActiveSegment;
36
+ setActiveSegment = props.setActiveSegment,
37
+ size = props.size,
38
+ labelTextColor = props.labelTextColor,
39
+ labelTextActiveColor = props.labelTextActiveColor,
40
+ labelTextSize = props.labelTextSize;
21
41
  var controlRef = React.useRef(null);
22
42
  var segmentsRefs = React.useMemo(function () {
23
43
  return new Map(segments.map(function (item) {
@@ -32,19 +52,43 @@ var Segmented = /*#__PURE__*/React__default.default.forwardRef(function (props,
32
52
  offsetWidth = activeSegmentRef.current.offsetWidth;
33
53
  offsetLeft = activeSegmentRef.current.offsetLeft;
34
54
  }
35
- controlRef.current.style.setProperty('--highlight-width', offsetWidth + "px");
36
- controlRef.current.style.setProperty('--highlight-x-pos', offsetLeft - 2 + "px");
55
+ controlRef.current.style.setProperty('--segmented-active-width', offsetWidth + "px");
56
+ controlRef.current.style.setProperty('--segmented-active-x-pos', offsetLeft - 2 + "px");
37
57
  }, [activeSegment, segmentsRefs]);
58
+ var indicatorFillClass = useDeviceTargetClass.useDeviceTargetClass(props, {
59
+ prefix: 'fill_',
60
+ propsKey: 'indicatorFill'
61
+ });
62
+ var borderColorClass = useDeviceTargetClass.useDeviceTargetClass(props, {
63
+ prefix: 'border-color_',
64
+ propsKey: 'borderColor'
65
+ });
66
+ var borderWidthClass = useDeviceTargetClass.useDeviceTargetClass(props, {
67
+ prefix: 'border-width_',
68
+ propsKey: 'borderWidth'
69
+ });
70
+ var borderTypeClass = useDeviceTargetClass.useDeviceTargetClass(props, {
71
+ prefix: 'border-type_',
72
+ propsKey: 'borderType'
73
+ });
74
+ var shapeClass = useDeviceTargetClass.useDeviceTargetClass(props, {
75
+ prefix: 'segmented_shape_',
76
+ propsKey: 'shape'
77
+ });
78
+ var fillClass = useDeviceTargetClass.useDeviceTargetClass(props, {
79
+ prefix: 'fill_',
80
+ propsKey: 'fill'
81
+ });
38
82
  return /*#__PURE__*/React__default.default.createElement("div", {
39
- className: clsx__default.default(className, 'segmented', type && "segmented_type_" + type, fill && "fill_" + fill.replace(/([A-Z])/g, '-$1').toLowerCase()),
83
+ className: clsx__default.default(className, 'segmented', shapeClass, fillClass, size && "segmented_size_" + size, type && "segmented_type_" + type),
40
84
  ref: controlRef
41
85
  }, /*#__PURE__*/React__default.default.createElement("div", {
42
86
  className: "segmented__wrapper"
43
87
  }, /*#__PURE__*/React__default.default.createElement("div", {
44
- className: "segmented__wrapper-inner"
88
+ className: clsx__default.default('segmented__wrapper-inner', borderColorClass, borderWidthClass, borderTypeClass)
45
89
  }, segments == null ? void 0 : segments.map(function (item, i) {
46
90
  return /*#__PURE__*/React__default.default.createElement("div", {
47
- className: "segmented__item " + (item.value === activeSegment.value ? 'segmented__item_active' : ''),
91
+ className: clsx__default.default('segmented__item', item.value === activeSegment.value && 'segmented__item_active'),
48
92
  key: item.value,
49
93
  ref: segmentsRefs.get(item.value)
50
94
  }, /*#__PURE__*/React__default.default.createElement("input", {
@@ -58,10 +102,15 @@ var Segmented = /*#__PURE__*/React__default.default.forwardRef(function (props,
58
102
  return setActiveSegment(item);
59
103
  }
60
104
  }), /*#__PURE__*/React__default.default.createElement("label", {
61
- className: "segmented__item-label",
105
+ className: clsx__default.default('segmented__item-label'),
62
106
  htmlFor: item.label
63
- }, item.label));
64
- }))));
107
+ }, /*#__PURE__*/React__default.default.createElement(index.Text, {
108
+ textColor: item.value === activeSegment.value ? labelTextActiveColor : labelTextColor,
109
+ size: labelTextSize
110
+ }, item.label)));
111
+ }), /*#__PURE__*/React__default.default.createElement("div", {
112
+ className: clsx__default.default('segmented__indicator', indicatorFillClass)
113
+ }, "\xA0"))));
65
114
  });
66
115
  Segmented.displayName = 'Segmented';
67
116
  Segmented.propTypes = {
@@ -73,5 +122,8 @@ Segmented.propTypes = {
73
122
  setActiveSegment: PropTypes__default.default.func,
74
123
  type: PropTypes__default.default.string
75
124
  };
125
+ Segmented.defaultProps = {
126
+ activeSegment: {}
127
+ };
76
128
 
77
129
  exports.Segmented = Segmented;
@@ -19,6 +19,10 @@ var underline = require('../constants/componentProps/underline.js');
19
19
  var useStyles = require('../useStyles-e4accb53.js');
20
20
  var useDeviceTargetClass = require('../hooks/useDeviceTargetClass.js');
21
21
  var size = require('../constants/componentProps/size.js');
22
+ var direction = require('../constants/componentProps/direction.js');
23
+ var stacking = require('../constants/componentProps/stacking.js');
24
+ var wrap = require('../constants/componentProps/wrap.js');
25
+ var width = require('../constants/componentProps/width.js');
22
26
  require('lodash/camelCase');
23
27
  require('lodash/maxBy');
24
28
  require('lodash/upperFirst');
@@ -27,8 +31,6 @@ require('../context/UIContext.js');
27
31
  require('../hooks/useMediaQueries.js');
28
32
  require('react-responsive');
29
33
  require('lodash/castArray');
30
- require('../constants/componentProps/direction.js');
31
- require('../constants/componentProps/width.js');
32
34
 
33
35
  function _interopDefault (e) { return e && e.__esModule ? e : { default: e }; }
34
36
 
@@ -58,13 +60,13 @@ function Tab(props) {
58
60
  target = props.target,
59
61
  label = props.label,
60
62
  labelColor = props.labelColor,
61
- labelColorHover = props.labelColorHover,
63
+ labelTextColorHover = props.labelTextColorHover,
62
64
  labelColorActive = props.labelColorActive,
63
- labelGradient = props.labelGradient,
64
- labelSize = props.labelSize,
65
- labelWrap = props.labelWrap,
66
- labelStyle = props.labelStyle,
67
- labelWeight = props.labelWeight,
65
+ labelTextGradient = props.labelTextGradient,
66
+ labelTextSize = props.labelTextSize,
67
+ labelTextWrap = props.labelTextWrap,
68
+ labelTextStyle = props.labelTextStyle,
69
+ labeTextlWeight = props.labeTextlWeight,
68
70
  dividerFill = props.dividerFill,
69
71
  dividerFillHover = props.dividerFillHover,
70
72
  dividerFillActive = props.dividerFillActive,
@@ -74,6 +76,12 @@ function Tab(props) {
74
76
  dividerDirection = props.dividerDirection,
75
77
  onClick = props.onClick,
76
78
  onMouseEnter = props.onMouseEnter;
79
+ props.badge;
80
+ props.badgeSize;
81
+ props.badgeFill;
82
+ props.badgeTextColor;
83
+ props.badgeTextSize;
84
+ props.badgeValue;
77
85
  var alignDirectionClass = useDeviceTargetClass.useDeviceTargetClass(props, {
78
86
  prefix: 'align_',
79
87
  propsKey: 'alignDirection'
@@ -126,10 +134,11 @@ function Tab(props) {
126
134
  propsKey: 'width'
127
135
  });
128
136
  var _useStyles = useStyles.useStyles(props),
129
- menuItem = _useStyles.styles;
137
+ tab = _useStyles.styles;
138
+ console.log(tabConfig.appearance);
130
139
  return /*#__PURE__*/React__default.default.createElement("div", {
131
- className: clsx__default.default('tab', isActive && 'tab_state_active', isHover && 'tab_state_hover', appearance && (("fill_" + tabConfig.appearance[appearance].fillClass).replace(/([A-Z])/g, '-$1').toLowerCase(), ("fill_hover_" + tabConfig.appearance[appearance].fillHoverClass).replace(/([A-Z])/g, '-$1').toLowerCase()), className, sizeClass, fillClass, fillHoverClass, fillActiveClass, fillActiveHoverClass, fillDisabledClass, shapeClass, typeClass, widthClass, set && "tab_set_" + set, justifyContentClass),
132
- style: menuItem,
140
+ className: clsx__default.default('tab', isActive && 'tab_state_active', isHover && 'tab_state_hover', appearance && ("fill_" + tabConfig.appearance[appearance].fillClass).replace(/([A-Z])/g, '-$1').toLowerCase(), appearance && ("fill_hover_" + tabConfig.appearance[appearance].fillHoverClass).replace(/([A-Z])/g, '-$1').toLowerCase(), className, sizeClass, fillClass, fillHoverClass, fillActiveClass, fillActiveHoverClass, fillDisabledClass, shapeClass, typeClass, widthClass, set && "tab_set_" + set, justifyContentClass),
141
+ style: tab,
133
142
  onClick: onClick,
134
143
  onMouseEnter: onMouseEnter
135
144
  }, /*#__PURE__*/React__default.default.createElement(index.Link, {
@@ -141,13 +150,13 @@ function Tab(props) {
141
150
  }, /*#__PURE__*/React__default.default.createElement(React__default.default.Fragment, null, before, children || /*#__PURE__*/React__default.default.createElement(React__default.default.Fragment, null, label && /*#__PURE__*/React__default.default.createElement(index$1.Text, {
142
151
  className: "tab__label",
143
152
  textColorActive: isActive && labelColorActive || appearance && tabConfig.appearance[appearance].labelColorActive.replace(/([A-Z])/g, '-$1').toLowerCase(),
144
- textGradient: labelGradient,
145
- size: labelSize,
146
- textWeight: labelWeight,
153
+ textGradient: labelTextGradient,
154
+ size: labelTextSize,
155
+ textWeight: labeTextlWeight,
147
156
  textColor: labelColor || appearance && tabConfig.appearance[appearance].labelColor.replace(/([A-Z])/g, '-$1').toLowerCase(),
148
- textWrap: labelWrap,
149
- textColorHover: labelColorHover,
150
- textStyle: labelStyle
157
+ textWrap: labelTextWrap,
158
+ textColorHover: labelTextColorHover,
159
+ textStyle: labelTextStyle
151
160
  }, dividerFillActive, " ", label), /*#__PURE__*/React__default.default.createElement(index$2.Divider, {
152
161
  width: "fill",
153
162
  fill: dividerFill || appearance && tabConfig.appearance[appearance].dividerFill.replace(/([A-Z])/g, '-$1').toLowerCase(),
@@ -174,7 +183,7 @@ Tab.propTypes = (_Tab$propTypes = {
174
183
  linkFillTablet: PropTypes__default.default.oneOf(fill.default),
175
184
  isActive: PropTypes__default.default.bool,
176
185
  label: PropTypes__default.default.string,
177
- labelSize: PropTypes__default.default.string,
186
+ labelTextSize: PropTypes__default.default.string,
178
187
  onClick: PropTypes__default.default.func,
179
188
  onMouseEnter: PropTypes__default.default.func,
180
189
  size: PropTypes__default.default.oneOf(size.default),
@@ -191,15 +200,119 @@ Tab.propTypes = (_Tab$propTypes = {
191
200
  shapeMobile: PropTypes__default.default.oneOf(shape.default),
192
201
  shapeTablet: PropTypes__default.default.oneOf(shape.default),
193
202
  labelColor: PropTypes__default.default.oneOf(textColor.default),
194
- labelColorHover: PropTypes__default.default.oneOf(textColorHover.default),
203
+ labelTextColorHover: PropTypes__default.default.oneOf(textColorHover.default),
195
204
  labelColorActive: PropTypes__default.default.oneOf(textColorActive.default),
196
- labelGradient: PropTypes__default.default.oneOf(textGradient.default)
197
- }, _Tab$propTypes["labelSize"] = PropTypes__default.default.oneOf(size.default), _Tab$propTypes.labelWrap = PropTypes__default.default.string, _Tab$propTypes.labelStyle = PropTypes__default.default.oneOf(textStyle.default), _Tab$propTypes.labelWeight = PropTypes__default.default.oneOf(textWeight.default), _Tab$propTypes.type = PropTypes__default.default.oneOf(type.default), _Tab$propTypes.typeDesktop = PropTypes__default.default.oneOf(type.default), _Tab$propTypes.typeMobile = PropTypes__default.default.oneOf(type.default), _Tab$propTypes.typeTablet = PropTypes__default.default.oneOf(type.default), _Tab$propTypes.title = PropTypes__default.default.string, _Tab$propTypes.underline = PropTypes__default.default.oneOf(underline.default), _Tab$propTypes);
205
+ labelTextGradient: PropTypes__default.default.oneOf(textGradient.default)
206
+ }, _Tab$propTypes["labelTextSize"] = PropTypes__default.default.oneOf(size.default), _Tab$propTypes.labelTextWrap = PropTypes__default.default.string, _Tab$propTypes.labelTextStyle = PropTypes__default.default.oneOf(textStyle.default), _Tab$propTypes.labeTextlWeight = PropTypes__default.default.oneOf(textWeight.default), _Tab$propTypes.type = PropTypes__default.default.oneOf(type.default), _Tab$propTypes.typeDesktop = PropTypes__default.default.oneOf(type.default), _Tab$propTypes.typeMobile = PropTypes__default.default.oneOf(type.default), _Tab$propTypes.typeTablet = PropTypes__default.default.oneOf(type.default), _Tab$propTypes.title = PropTypes__default.default.string, _Tab$propTypes.underline = PropTypes__default.default.oneOf(underline.default), _Tab$propTypes);
198
207
  Tab.defaultProps = {
199
208
  size: 'normal',
200
209
  LinkComponent: 'a',
201
210
  direction: 'horizontal'
202
211
  };
203
212
 
213
+ function TabGroup(props) {
214
+ var id = props.id,
215
+ children = props.children,
216
+ className = props.className,
217
+ horizontalScroll = props.horizontalScroll,
218
+ set = props.set,
219
+ style = props.style;
220
+ var contentAlignClass = useDeviceTargetClass.useDeviceTargetClass(props, {
221
+ prefix: 'group_content-align_',
222
+ propsKey: 'contentAlign'
223
+ });
224
+ var alignDirectionClass = useDeviceTargetClass.useDeviceTargetClass(props, {
225
+ prefix: 'align_',
226
+ propsKey: 'alignDirection'
227
+ });
228
+ var alignClass = useDeviceTargetClass.useDeviceTargetClass(props, {
229
+ prefix: 'align_',
230
+ propsKey: 'align'
231
+ });
232
+ var directionClass = useDeviceTargetClass.useDeviceTargetClass(props, {
233
+ prefix: 'group_direction_',
234
+ propsKey: 'direction'
235
+ });
236
+ var wrapClass = useDeviceTargetClass.useDeviceTargetClass(props, {
237
+ prefix: 'group_wrap_',
238
+ propsKey: 'wrap'
239
+ });
240
+ var fillClass = useDeviceTargetClass.useDeviceTargetClass(props, {
241
+ prefix: 'fill_',
242
+ propsKey: 'fill'
243
+ });
244
+ var widthClass = useDeviceTargetClass.useDeviceTargetClass(props, {
245
+ prefix: 'width_',
246
+ propsKey: 'width'
247
+ });
248
+ var borderColorClass = useDeviceTargetClass.useDeviceTargetClass(props, {
249
+ prefix: 'border-color_',
250
+ propsKey: 'borderColor'
251
+ });
252
+ var borderWidthClass = useDeviceTargetClass.useDeviceTargetClass(props, {
253
+ prefix: 'border-width_',
254
+ propsKey: 'borderWidth'
255
+ });
256
+ var borderTypeClass = useDeviceTargetClass.useDeviceTargetClass(props, {
257
+ prefix: 'border-type_',
258
+ propsKey: 'borderType'
259
+ });
260
+ var _useStyles = useStyles.useStyles(props),
261
+ groupStyles = _useStyles.styles,
262
+ groupWrapperStyles = _useStyles.wrapper;
263
+ return /*#__PURE__*/React__default.default.createElement("div", {
264
+ className: clsx__default.default(className, 'tab-group', 'group', widthClass, contentAlignClass, alignDirectionClass, directionClass, alignClass, fillClass, set && "group_set_" + set, horizontalScroll && 'group_type_horizontal_scroll', wrapClass, borderColorClass, borderWidthClass, borderTypeClass),
265
+ id: id,
266
+ style: Object.assign({}, groupStyles, style)
267
+ }, horizontalScroll ? /*#__PURE__*/React__default.default.createElement("div", {
268
+ className: "group__wrapper",
269
+ style: groupWrapperStyles
270
+ }, children) : children);
271
+ }
272
+ TabGroup.propTypes = {
273
+ id: PropTypes__default.default.string,
274
+ children: PropTypes__default.default.any,
275
+ className: PropTypes__default.default.string,
276
+ direction: PropTypes__default.default.oneOf(direction.default),
277
+ directionDesktop: PropTypes__default.default.oneOf(direction.default),
278
+ directionMobile: PropTypes__default.default.oneOf(direction.default),
279
+ directionTablet: PropTypes__default.default.oneOf(direction.default),
280
+ fill: PropTypes__default.default.oneOf(fill.default),
281
+ fillMobile: PropTypes__default.default.oneOf(fill.default),
282
+ fillTablet: PropTypes__default.default.oneOf(fill.default),
283
+ fillDesktop: PropTypes__default.default.oneOf(fill.default),
284
+ contentAlign: PropTypes__default.default.oneOf([null, 'center']),
285
+ contentAlignDesktop: PropTypes__default.default.oneOf([null, 'center']),
286
+ contentAlignMobile: PropTypes__default.default.oneOf([null, 'center']),
287
+ contentAlignTablet: PropTypes__default.default.oneOf([null, 'center']),
288
+ stacking: PropTypes__default.default.oneOf(stacking.default),
289
+ stackingDesktop: PropTypes__default.default.oneOf(stacking.default),
290
+ stackingMobile: PropTypes__default.default.oneOf(stacking.default),
291
+ stackingTablet: PropTypes__default.default.oneOf(stacking.default),
292
+ wrap: PropTypes__default.default.oneOf(wrap.default),
293
+ wrapDesktop: PropTypes__default.default.oneOf(wrap.default),
294
+ wrapMobile: PropTypes__default.default.oneOf(wrap.default),
295
+ wrapTablet: PropTypes__default.default.oneOf(wrap.default),
296
+ shape: PropTypes__default.default.oneOf(shape.default),
297
+ shapeDesktop: PropTypes__default.default.oneOf(shape.default),
298
+ shapeMobile: PropTypes__default.default.oneOf(shape.default),
299
+ shapeTablet: PropTypes__default.default.oneOf(shape.default),
300
+ spaceBetweenItems: PropTypes__default.default.string,
301
+ spaceBetweenItemsDesktop: PropTypes__default.default.string,
302
+ spaceBetweenItemsMobile: PropTypes__default.default.string,
303
+ spaceBetweenItemsTablet: PropTypes__default.default.string,
304
+ width: PropTypes__default.default.oneOf(width.default),
305
+ widthMobile: PropTypes__default.default.oneOf(width.default),
306
+ widthTablet: PropTypes__default.default.oneOf(width.default),
307
+ widthDesktop: PropTypes__default.default.oneOf(width.default),
308
+ columns: PropTypes__default.default.number,
309
+ columnsDesktop: PropTypes__default.default.number,
310
+ columnsMobile: PropTypes__default.default.number,
311
+ columnsTablet: PropTypes__default.default.number,
312
+ set: PropTypes__default.default.string,
313
+ horizontalScroll: PropTypes__default.default.bool
314
+ };
315
+
204
316
  exports.Tab = Tab;
317
+ exports.TabGroup = TabGroup;
205
318
  exports.tabConfig = tabConfig;
@@ -65,9 +65,11 @@ function Tile(props) {
65
65
  textWrap = props.textWrap,
66
66
  textColor = props.textColor,
67
67
  title = props.title,
68
- titleSize = props.titleSize,
69
- titleAlign = props.titleAlign,
70
- titleWrap = props.titleWrap,
68
+ titleTextSize = props.titleTextSize,
69
+ titleTextWrap = props.titleTextWrap,
70
+ titleTextColor = props.titleTextColor,
71
+ titleTextWeight = props.titleTextWeight,
72
+ titleTextAlign = props.titleTextAlign,
71
73
  type = props.type,
72
74
  onClick = props.onClick;
73
75
  var fillClass = useDeviceTargetClass.useDeviceTargetClass(props, {
@@ -112,9 +114,11 @@ function Tile(props) {
112
114
  className: clsx__default.default('tile__wrapper', alignClass, alignDirectionClass)
113
115
  }, before, title && /*#__PURE__*/React__default.default.createElement(index.Title, {
114
116
  className: "tile__title",
115
- size: titleSize,
116
- textWrap: titleWrap,
117
- textAlign: titleAlign
117
+ size: titleTextSize,
118
+ textWrap: titleTextWrap,
119
+ textColor: titleTextColor,
120
+ textAlign: titleTextAlign,
121
+ textWeight: titleTextWeight
118
122
  }, title), text && /*#__PURE__*/React__default.default.createElement(index$1.Text, {
119
123
  size: textSize,
120
124
  textColor: textColor,
@@ -173,7 +177,6 @@ Tile.propTypes = {
173
177
  };
174
178
  Tile.defaultProps = {
175
179
  textTag: 'span',
176
- titleSize: 'h5',
177
180
  alignDirection: 'vertical'
178
181
  };
179
182
 
@@ -18,8 +18,17 @@
18
18
  @each $size in 24, 32, 40, 60, 72, 96, 144, 240 {
19
19
  &_$(size) {
20
20
  ^^&__wrapper {
21
- width: $(size)px;
22
- height: $(size)px;
21
+ ^^^&__image {
22
+ width: $(size)px;
23
+ height: $(size)px;
24
+ }
25
+ ^^^&__name {
26
+ width: $(size)px;
27
+ height: $(size)px;
28
+ display: flex;
29
+ align-items: center;
30
+ justify-content: center;
31
+ }
23
32
  }
24
33
  }
25
34
  }
@@ -10,6 +10,7 @@
10
10
  &_$(size) {
11
11
  min-width: var(--badge-width-size-$(size));
12
12
  min-height: var(--badge-height-size-$(size));
13
+ max-width: var(--badge-width-size-$(size));
13
14
  max-height: var(--badge-height-size-$(size));
14
15
  }
15
16
  }