@itcase/ui 1.0.7 → 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.
@@ -93,23 +93,31 @@ function Button(props) {
93
93
  prefix: 'fill_hover_',
94
94
  propsKey: 'fillHover'
95
95
  });
96
- var borderClass = useDeviceTargetClass.useDeviceTargetClass(props, {
96
+ var borderWidthClass = useDeviceTargetClass.useDeviceTargetClass(props, {
97
+ prefix: 'border-width_',
98
+ propsKey: 'borderWidth'
99
+ });
100
+ var borderColorClass = useDeviceTargetClass.useDeviceTargetClass(props, {
97
101
  prefix: 'border-color_',
98
- propsKey: 'border'
102
+ propsKey: 'borderColor'
99
103
  });
100
104
  var shapeClass = useDeviceTargetClass.useDeviceTargetClass(props, {
101
105
  prefix: 'button_shape_',
102
106
  propsKey: 'shape'
103
107
  });
104
108
  var borderTypeClass = useDeviceTargetClass.useDeviceTargetClass(props, {
105
- prefix: 'border_',
109
+ prefix: 'border_type_',
106
110
  propsKey: 'borderType'
107
111
  });
112
+ var elevationClass = useDeviceTargetClass.useDeviceTargetClass(props, {
113
+ prefix: 'elevation_',
114
+ propsKey: 'elevation'
115
+ });
108
116
  var _useStyles = useStyles.useStyles(props),
109
117
  buttonStyles = _useStyles.styles,
110
118
  labelStyles = _useStyles.label;
111
119
  return /*#__PURE__*/React__default.default.createElement(index.LinkWrapper, {
112
- className: clsx__default.default(className, 'button', type && "button_type_" + type, borderClass, borderTypeClass, fillClass, fillHoverClass, shapeClass, sizeClass, widthClass, Badge && 'button_type_badge', !label && (iconBefore || iconAfter || icon) && 'button_type_icon', label && (iconBefore || iconAfter || before || after) && "button_type_with-icon button_type_with-icon_" + size),
120
+ className: clsx__default.default(className, 'button', type && "button_type_" + type, borderWidthClass, borderColorClass, borderTypeClass, fillClass, fillHoverClass, shapeClass, sizeClass, widthClass, elevationClass, Badge && 'button_type_badge', !label && (iconBefore || iconAfter || icon) && 'button_type_icon', label && (iconBefore || iconAfter || before || after) && "button_type_with-icon button_type_with-icon_" + size),
113
121
  href: link || href,
114
122
  DefaultComponent: "button",
115
123
  disabled: isDisabled,
@@ -56,6 +56,7 @@ function Cell(props) {
56
56
  valueTag = props.valueTag,
57
57
  after = props.after,
58
58
  before = props.before,
59
+ size = props.size,
59
60
  value = props.value,
60
61
  valueTextSize = props.valueTextSize,
61
62
  valueTextColor = props.valueTextColor,
@@ -66,6 +67,7 @@ function Cell(props) {
66
67
  titleTextWeight = props.titleTextWeight,
67
68
  onClick = props.onClick,
68
69
  onMouseEnter = props.onMouseEnter;
70
+ props.direction;
69
71
  var fillClass = useDeviceTargetClass.useDeviceTargetClass(props, {
70
72
  prefix: 'fill_',
71
73
  propsKey: 'fill'
@@ -106,6 +108,10 @@ function Cell(props) {
106
108
  prefix: 'cell_shape_',
107
109
  propsKey: 'bgShape'
108
110
  });
111
+ var directionClass = useDeviceTargetClass.useDeviceTargetClass(props, {
112
+ prefix: 'cell_direction_',
113
+ propsKey: 'direction'
114
+ });
109
115
  var widthClass = useDeviceTargetClass.useDeviceTargetClass(props, {
110
116
  prefix: 'width_',
111
117
  propsKey: 'width'
@@ -113,7 +119,7 @@ function Cell(props) {
113
119
  return /*#__PURE__*/React__default.default.createElement("div", {
114
120
  onClick: onClick,
115
121
  onMouseEnter: onMouseEnter,
116
- className: clsx__default.default(className, 'cell', isActive && bgFillActiveClass, isDisabled && bgFillDisabledClass, set && "cell_set_" + set, bgFillClass, bgFillHoverClass, bgShapeClass, widthClass)
122
+ className: clsx__default.default(className, 'cell', isActive && bgFillActiveClass, isDisabled && bgFillDisabledClass, size && "cell_size_" + size, set && "cell_set_" + set, directionClass, bgFillClass, bgFillHoverClass, bgShapeClass, widthClass)
117
123
  }, before && /*#__PURE__*/React__default.default.createElement("div", {
118
124
  className: "cell__before"
119
125
  }, before), /*#__PURE__*/React__default.default.createElement("div", {
@@ -303,10 +303,14 @@ function GridRow(props) {
303
303
  prefix: 'fill_',
304
304
  propsKey: 'fill'
305
305
  });
306
+ var fillHoverClass = useDeviceTargetClass.useDeviceTargetClass(props, {
307
+ prefix: 'fill_hover_',
308
+ propsKey: 'fillHover'
309
+ });
306
310
  var _useStyles = useStyles.useStyles(props),
307
311
  gridRowStyles = _useStyles.styles;
308
312
  return /*#__PURE__*/React__default.default.createElement("div", {
309
- className: clsx__default.default(className, 'grid__row', fillClass),
313
+ className: clsx__default.default(className, 'grid__row', fillClass, fillHoverClass),
310
314
  id: id,
311
315
  style: gridRowStyles
312
316
  }, children);
@@ -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,12 +31,9 @@ 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, {
@@ -51,12 +57,9 @@ function Logo(props) {
51
57
  return /*#__PURE__*/React__default.default.createElement("div", {
52
58
  className: clsx__default.default(className, 'logo', alignDirectionClass, alignClass, widthClass, alignItemsClass, size && "logo_size_" + size),
53
59
  style: logo
54
- }, link || href ? /*#__PURE__*/React__default.default.createElement(LinkComponent, {
55
- className: 'logo__link',
56
- href: link || href,
57
- target: target,
58
- rel: rel
59
- }, /*#__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", {
60
63
  className: "logo__image",
61
64
  src: src || source
62
65
  })) : /*#__PURE__*/React__default.default.createElement("img", {
@@ -69,12 +72,8 @@ Logo.propTypes = {
69
72
  className: PropTypes__default.default.string,
70
73
  isLink: PropTypes__default.default.bool,
71
74
  logoSrc: PropTypes__default.default.string,
72
- href: PropTypes__default.default.string,
73
75
  src: PropTypes__default.default.string,
74
- source: PropTypes__default.default.string,
75
- link: PropTypes__default.default.string,
76
- target: PropTypes__default.default.string,
77
- rel: PropTypes__default.default.string
76
+ target: PropTypes__default.default.string
78
77
  };
79
78
  Logo.defaultProps = {};
80
79
 
@@ -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,18 +138,33 @@ var SearchInput = /*#__PURE__*/React__default.default.forwardRef(function Search
137
138
  prefix: 'width_',
138
139
  propsKey: 'width'
139
140
  });
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
+ });
140
157
  var _useStyles = useStyles.useStyles(props),
141
158
  searchInputStyles = _useStyles.styles;
142
- return /*#__PURE__*/React__default.default.createElement("div", {
143
- className: clsx__default.default(className, 'search-input', shapeClass, fillClass, widthClass, type && "search-input_type_" + type),
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),
144
161
  style: searchInputStyles
145
162
  }, before, iconBefore && /*#__PURE__*/React__default.default.createElement(index.Icon, {
146
163
  className: "search-input__icon search-input__icon-before",
147
- fill: iconBeforeFill,
164
+ SvgImage: iconBefore,
148
165
  size: iconBeforeSize,
149
- bgFill: iconBeforeBgFill,
150
- stroke: iconBeforeStroke,
151
- SvgImage: iconBefore
166
+ iconFill: iconBeforeFill,
167
+ iconStroke: iconBeforeStroke
152
168
  }), /*#__PURE__*/React__default.default.createElement("div", {
153
169
  className: clsx__default.default('search-input__wrapper', inputFillClass, inputShapeClass)
154
170
  }, /*#__PURE__*/React__default.default.createElement("input", {
@@ -170,19 +186,17 @@ var SearchInput = /*#__PURE__*/React__default.default.forwardRef(function Search
170
186
  textColor: placeholderColorClass
171
187
  }, placeholder || 'Search')), value && /*#__PURE__*/React__default.default.createElement(index.Icon, {
172
188
  className: "search-input__clear",
173
- fill: iconClearFill,
174
- size: iconClearSize,
175
- bgFill: iconClearBgFill,
176
- stroke: iconClearStroke,
177
189
  SvgImage: iconClear,
190
+ size: iconClearSize,
191
+ iconFill: iconClearFill,
192
+ iconStroke: iconClearStroke,
178
193
  onClick: onClickClearIcon
179
194
  })), iconAfter && /*#__PURE__*/React__default.default.createElement(index.Icon, {
180
195
  className: "search-input__icon search-input__icon-after",
181
- fill: iconAfterFill,
196
+ SvgImage: iconAfter,
182
197
  size: iconAfterSize,
183
- bgFill: iconAfterBgFill,
184
- stroke: iconAfterStroke,
185
- SvgImage: iconAfter
198
+ iconFill: iconAfterFill,
199
+ iconStroke: iconAfterStroke
186
200
  }), after);
187
201
  });
188
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
 
@@ -16,7 +33,11 @@ var Segmented = /*#__PURE__*/React__default.default.forwardRef(function (props,
16
33
  type = props.type,
17
34
  segments = props.segments,
18
35
  activeSegment = props.activeSegment,
19
- setActiveSegment = props.setActiveSegment;
36
+ setActiveSegment = props.setActiveSegment,
37
+ size = props.size,
38
+ labelTextColor = props.labelTextColor,
39
+ labelTextActiveColor = props.labelTextActiveColor,
40
+ labelTextSize = props.labelTextSize;
20
41
  var controlRef = React.useRef(null);
21
42
  var segmentsRefs = React.useMemo(function () {
22
43
  return new Map(segments.map(function (item) {
@@ -31,19 +52,43 @@ var Segmented = /*#__PURE__*/React__default.default.forwardRef(function (props,
31
52
  offsetWidth = activeSegmentRef.current.offsetWidth;
32
53
  offsetLeft = activeSegmentRef.current.offsetLeft;
33
54
  }
34
- controlRef.current.style.setProperty('--highlight-width', offsetWidth + "px");
35
- 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");
36
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
+ });
37
82
  return /*#__PURE__*/React__default.default.createElement("div", {
38
- className: clsx__default.default(className, 'segmented', type && "segmented_type_" + type),
83
+ className: clsx__default.default(className, 'segmented', shapeClass, fillClass, size && "segmented_size_" + size, type && "segmented_type_" + type),
39
84
  ref: controlRef
40
85
  }, /*#__PURE__*/React__default.default.createElement("div", {
41
86
  className: "segmented__wrapper"
42
87
  }, /*#__PURE__*/React__default.default.createElement("div", {
43
- className: "segmented__wrapper-inner"
88
+ className: clsx__default.default('segmented__wrapper-inner', borderColorClass, borderWidthClass, borderTypeClass)
44
89
  }, segments == null ? void 0 : segments.map(function (item, i) {
45
90
  return /*#__PURE__*/React__default.default.createElement("div", {
46
- className: clsx__default.default('segmented__item', item.value === activeSegment.value ? 'segmented__item_active' : ''),
91
+ className: clsx__default.default('segmented__item', item.value === activeSegment.value && 'segmented__item_active'),
47
92
  key: item.value,
48
93
  ref: segmentsRefs.get(item.value)
49
94
  }, /*#__PURE__*/React__default.default.createElement("input", {
@@ -57,10 +102,15 @@ var Segmented = /*#__PURE__*/React__default.default.forwardRef(function (props,
57
102
  return setActiveSegment(item);
58
103
  }
59
104
  }), /*#__PURE__*/React__default.default.createElement("label", {
60
- className: "segmented__item-label",
105
+ className: clsx__default.default('segmented__item-label'),
61
106
  htmlFor: item.label
62
- }, item.label));
63
- }))));
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"))));
64
114
  });
65
115
  Segmented.displayName = 'Segmented';
66
116
  Segmented.propTypes = {
@@ -60,13 +60,13 @@ function Tab(props) {
60
60
  target = props.target,
61
61
  label = props.label,
62
62
  labelColor = props.labelColor,
63
- labelColorHover = props.labelColorHover,
63
+ labelTextColorHover = props.labelTextColorHover,
64
64
  labelColorActive = props.labelColorActive,
65
- labelGradient = props.labelGradient,
66
- labelSize = props.labelSize,
67
- labelWrap = props.labelWrap,
68
- labelStyle = props.labelStyle,
69
- labelWeight = props.labelWeight,
65
+ labelTextGradient = props.labelTextGradient,
66
+ labelTextSize = props.labelTextSize,
67
+ labelTextWrap = props.labelTextWrap,
68
+ labelTextStyle = props.labelTextStyle,
69
+ labeTextlWeight = props.labeTextlWeight,
70
70
  dividerFill = props.dividerFill,
71
71
  dividerFillHover = props.dividerFillHover,
72
72
  dividerFillActive = props.dividerFillActive,
@@ -76,6 +76,12 @@ function Tab(props) {
76
76
  dividerDirection = props.dividerDirection,
77
77
  onClick = props.onClick,
78
78
  onMouseEnter = props.onMouseEnter;
79
+ props.badge;
80
+ props.badgeSize;
81
+ props.badgeFill;
82
+ props.badgeTextColor;
83
+ props.badgeTextSize;
84
+ props.badgeValue;
79
85
  var alignDirectionClass = useDeviceTargetClass.useDeviceTargetClass(props, {
80
86
  prefix: 'align_',
81
87
  propsKey: 'alignDirection'
@@ -144,13 +150,13 @@ function Tab(props) {
144
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, {
145
151
  className: "tab__label",
146
152
  textColorActive: isActive && labelColorActive || appearance && tabConfig.appearance[appearance].labelColorActive.replace(/([A-Z])/g, '-$1').toLowerCase(),
147
- textGradient: labelGradient,
148
- size: labelSize,
149
- textWeight: labelWeight,
153
+ textGradient: labelTextGradient,
154
+ size: labelTextSize,
155
+ textWeight: labeTextlWeight,
150
156
  textColor: labelColor || appearance && tabConfig.appearance[appearance].labelColor.replace(/([A-Z])/g, '-$1').toLowerCase(),
151
- textWrap: labelWrap,
152
- textColorHover: labelColorHover,
153
- textStyle: labelStyle
157
+ textWrap: labelTextWrap,
158
+ textColorHover: labelTextColorHover,
159
+ textStyle: labelTextStyle
154
160
  }, dividerFillActive, " ", label), /*#__PURE__*/React__default.default.createElement(index$2.Divider, {
155
161
  width: "fill",
156
162
  fill: dividerFill || appearance && tabConfig.appearance[appearance].dividerFill.replace(/([A-Z])/g, '-$1').toLowerCase(),
@@ -177,7 +183,7 @@ Tab.propTypes = (_Tab$propTypes = {
177
183
  linkFillTablet: PropTypes__default.default.oneOf(fill.default),
178
184
  isActive: PropTypes__default.default.bool,
179
185
  label: PropTypes__default.default.string,
180
- labelSize: PropTypes__default.default.string,
186
+ labelTextSize: PropTypes__default.default.string,
181
187
  onClick: PropTypes__default.default.func,
182
188
  onMouseEnter: PropTypes__default.default.func,
183
189
  size: PropTypes__default.default.oneOf(size.default),
@@ -194,10 +200,10 @@ Tab.propTypes = (_Tab$propTypes = {
194
200
  shapeMobile: PropTypes__default.default.oneOf(shape.default),
195
201
  shapeTablet: PropTypes__default.default.oneOf(shape.default),
196
202
  labelColor: PropTypes__default.default.oneOf(textColor.default),
197
- labelColorHover: PropTypes__default.default.oneOf(textColorHover.default),
203
+ labelTextColorHover: PropTypes__default.default.oneOf(textColorHover.default),
198
204
  labelColorActive: PropTypes__default.default.oneOf(textColorActive.default),
199
- labelGradient: PropTypes__default.default.oneOf(textGradient.default)
200
- }, _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);
201
207
  Tab.defaultProps = {
202
208
  size: 'normal',
203
209
  LinkComponent: 'a',
@@ -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
  }
@@ -22,6 +22,20 @@
22
22
  }
23
23
  }
24
24
  }
25
+ .cell {
26
+ &_direction {
27
+ &_vertical {
28
+ ^^&__data {
29
+ }
30
+ }
31
+ &_horizontal {
32
+ ^^&__data {
33
+ flex-flow: row;
34
+ justify-content: space-between;
35
+ }
36
+ }
37
+ }
38
+ }
25
39
  .cell {
26
40
  &&_state {
27
41
  &_active {
@@ -35,55 +49,3 @@
35
49
  }
36
50
  }
37
51
  }
38
- .cell {
39
- &__wrapper {
40
- min-width: 240px;
41
- display: flex;
42
- flex-flow: row nowrap;
43
- }
44
- }
45
- .cell {
46
- &__wrapper {
47
- &_shape {
48
- &_rounded {
49
- border-radius: 8px;
50
- }
51
- &_circular {
52
- border-radius: 50%;
53
- }
54
- &_geometric {
55
- border-radius: 0;
56
- }
57
- }
58
- }
59
- }
60
- .cell {
61
- &_set {
62
- &_default {
63
- ^^&__wrapper {
64
- padding: 8px 24px;
65
- margin: 16px 24px;
66
- ^^^&__data {
67
- gap: 4px;
68
- }
69
- }
70
- }
71
- }
72
- }
73
- .cell {
74
- &_set {
75
- &_horizontal {
76
- ^^&__wrapper {
77
- padding: 8px 24px;
78
- ^^^&__data {
79
- gap: 4px;
80
- flex-flow: row nowrap;
81
- align-items: center;
82
- ^^^^&_desc {
83
- align-self: flex-start;
84
- }
85
- }
86
- }
87
- }
88
- }
89
- }
@@ -11,7 +11,6 @@
11
11
  }
12
12
  .search-input {
13
13
  width: 100%;
14
- grid-template-columns: 1fr 1fr;
15
14
  position: relative;
16
15
  overflow: hidden;
17
16
  display: flex;
@@ -19,9 +18,6 @@
19
18
  &__icon {
20
19
  display: flex;
21
20
  align-items: center;
22
- &-before {
23
- padding: 0 0 0 8px;
24
- }
25
21
  }
26
22
  &__wrapper {
27
23
  width: 100%;
@@ -29,13 +25,10 @@
29
25
  display: grid;
30
26
  grid-template-columns: 1fr 1fr;
31
27
  transition: all 300ms cubic-bezier(0.4, 0, 0.2, 1);
32
- padding: 7px 12px;
33
28
  align-items: center;
34
29
  }
35
30
  &__value {
36
- color: var(--color-surface-text-primary);
37
31
  background: none;
38
- padding: 7px 0;
39
32
  border: none;
40
33
  position: relative;
41
34
  display: block;
@@ -46,13 +39,12 @@
46
39
  outline: 0;
47
40
  }
48
41
  &:not([value='']) {
49
- ~ .search-input__placeholder {
42
+ & ~ .search-input__placeholder {
50
43
  display: none;
51
44
  }
52
45
  }
53
46
  }
54
47
  &__placeholder {
55
- color: var(--color-surface-text-primary);
56
48
  background: none;
57
49
  border: none;
58
50
  position: relative;
@@ -97,6 +89,16 @@
97
89
  }
98
90
  }
99
91
  }
92
+ .search-input {
93
+ &_size {
94
+ @each $size in compact, normal {
95
+ &_$(size) {
96
+ padding: var(--search-input-$(size)-padding);
97
+ gap: var(--search-input-$(size)-gap);
98
+ }
99
+ }
100
+ }
101
+ }
100
102
  .search-result {
101
103
  width: 100%;
102
104
  &__wrapper {
@@ -1,6 +1,5 @@
1
1
  .search-input {
2
2
  width: 100%;
3
- grid-template-columns: 1fr 1fr;
4
3
  position: relative;
5
4
  overflow: hidden;
6
5
  display: flex;
@@ -8,9 +7,6 @@
8
7
  &__icon {
9
8
  display: flex;
10
9
  align-items: center;
11
- &-before {
12
- padding: 0 0 0 8px;
13
- }
14
10
  }
15
11
  &__wrapper {
16
12
  width: 100%;
@@ -18,13 +14,10 @@
18
14
  display: grid;
19
15
  grid-template-columns: 1fr 1fr;
20
16
  transition: all 300ms cubic-bezier(0.4, 0, 0.2, 1);
21
- padding: 7px 12px;
22
17
  align-items: center;
23
18
  }
24
19
  &__value {
25
- color: var(--color-surface-text-primary);
26
20
  background: none;
27
- padding: 7px 0;
28
21
  border: none;
29
22
  position: relative;
30
23
  display: block;
@@ -35,13 +28,12 @@
35
28
  outline: 0;
36
29
  }
37
30
  &:not([value='']) {
38
- ~ .search-input__placeholder {
31
+ & ~ .search-input__placeholder {
39
32
  display: none;
40
33
  }
41
34
  }
42
35
  }
43
36
  &__placeholder {
44
- color: var(--color-surface-text-primary);
45
37
  background: none;
46
38
  border: none;
47
39
  position: relative;
@@ -0,0 +1,10 @@
1
+ .search-input {
2
+ &_size {
3
+ @each $size in compact, normal {
4
+ &_$(size) {
5
+ padding: var(--search-input-$(size)-padding);
6
+ gap: var(--search-input-$(size)-gap);
7
+ }
8
+ }
9
+ }
10
+ }
@@ -1,18 +1,14 @@
1
1
  .segmented {
2
2
  display: flex;
3
3
  align-items: center;
4
- border: solid 1px red;
5
4
  &__wrapper {
6
- border: solid 1px var(--color-surface-border-tertiary);
7
- border-radius: 8px;
8
- ^&__list {
5
+ &-inner {
9
6
  margin: 2px;
10
7
  position: relative;
11
8
  display: flex;
12
- &::before {
9
+ ^^&__indicator {
13
10
  width: var(--segmented-active-width);
14
11
  height: 100%;
15
- background: #438ffe;
16
12
  padding: 8px 0;
17
13
  border-radius: 8px;
18
14
  position: absolute;
@@ -25,8 +21,7 @@
25
21
  transition: left 0.3s ease, width 0.3s ease;
26
22
  }
27
23
  ^^&__item {
28
- min-width: 104px;
29
- padding: 8px 24px;
24
+ min-width: 120px;
30
25
  position: relative;
31
26
  display: flex;
32
27
  &::after {
@@ -36,9 +31,9 @@
36
31
  content: '';
37
32
  display: block;
38
33
  top: 0;
39
- transform: translate(24px, 0);
34
+ right: 0;
40
35
  }
41
- &:last-child {
36
+ &:nth-last-child(-n+2) {
42
37
  &::after {
43
38
  display: none;
44
39
  }
@@ -59,39 +54,42 @@
59
54
  z-index: 2;
60
55
  opacity: 0%;
61
56
  cursor: pointer;
57
+ border: 0;
58
+ margin: 0;
62
59
  }
63
- & label {
60
+ &-label {
61
+ width: 100%;
64
62
  text-align: center;
65
63
  position: relative;
66
64
  display: block;
67
65
  z-index: 3;
68
66
  transition: color 0.5s ease;
69
67
  cursor: pointer;
70
- @mixin text-l;
71
68
  }
72
69
  }
73
70
  }
74
71
  }
75
- &__range {
76
- margin: 0 0 0 24px;
77
- border: solid 1px var(--color-surface-border-tertiary);
78
- border-radius: 8px;
79
- position: relative;
80
- &-value {
81
- text-align: center;
82
- padding: 10px 24px;
72
+ }
73
+ .segmented {
74
+ &_shape {
75
+ &_rounded {
83
76
  border-radius: 8px;
84
- cursor: pointer;
85
- @mixin text-l;
86
- &_state_active {
87
- color: #fff;
88
- background: #438ffe;
89
- }
90
77
  }
91
- ^&__modal {
92
- position: absolute;
93
- left: 0;
94
- top: 0;
78
+ &_circular {
79
+ border-radius: 50%;
80
+ }
81
+ }
82
+ }
83
+ .segmented {
84
+ &_size {
85
+ @each $size in normal, compact {
86
+ &_$(size) {
87
+ ^^&__item {
88
+ &-label {
89
+ padding: var(--segmented-item-size-$(size)-padding);
90
+ }
91
+ }
92
+ }
95
93
  }
96
94
  }
97
95
  }
@@ -838,6 +838,12 @@ swiper-container .swiper-notification {
838
838
  }
839
839
  }
840
840
 
841
+ .swiper-block {
842
+ &_type_center {
843
+ margin: 60px 0 0 0;
844
+ }
845
+ }
846
+
841
847
  .swiper-block {
842
848
  &&_type_auto {
843
849
  & .swiper-slide {
@@ -1,63 +1,68 @@
1
1
  .switch {
2
2
  position: relative;
3
+ height: 100%;
4
+ border-radius: 50px;
5
+ cursor: pointer;
6
+ transition: 0.4s;
7
+ overflow: hidden;
8
+ display: flex;
9
+ &__checkbox {
10
+ position: absolute;
11
+ width: 100%;
12
+ height: 100%;
13
+ left: 0;
14
+ top: 0;
15
+ cursor: pointer;
16
+ appearance: none;
17
+ border: 0;
18
+ margin: 0;
19
+ z-index: 2;
20
+ &:checked {
21
+ & + .switch__bg {
22
+ background: var(--color-accent-primary);
23
+ }
24
+ & ~ .switch__toggle {
25
+ left: 100%;
26
+ margin: 0 0 0 -3px;
27
+ background: var(--color-accent-item-primary);
28
+ transform: translate(-100%, -50%);
29
+ }
30
+ }
31
+ &:disabled {
32
+ & + .switch__bg {
33
+ background: var(--color-surface-disabled);
34
+ }
35
+ }
36
+ }
37
+ &__bg {
38
+ width: 100%;
39
+ flex: 1;
40
+ background: var(--color-surface-tertiary);
41
+ transition: all 0.25s;
42
+ }
43
+ &__toggle {
44
+ box-shadow: inset 0 0 5px rgba(0, 0, 0, 0.2);
45
+ height: calc(100% - 6px);
46
+ position: absolute;
47
+ aspect-ratio: 1/1;
48
+ top: 50%;
49
+ transform: translate(3px, -50%);
50
+ left: 0;
51
+ background: #fff;
52
+ border-radius: 50%;
53
+ box-shadow: 0 0 5px rgba(0, 0, 0, 0.2);
54
+ transition: all 0.25s;
55
+ }
3
56
  }
4
57
  .switch {
5
58
  &_size {
6
59
  &_normal {
7
- position: relative;
8
60
  min-width: 52px;
9
- height: 100%;
10
- border-radius: 50px;
11
- cursor: pointer;
12
- transition: 0.4s;
13
61
  min-height: 32px;
14
- overflow: hidden;
15
- display: flex;
16
- ^^&__checkbox {
17
- position: absolute;
18
- width: 100%;
19
- height: 100%;
20
- left: 0;
21
- top: 0;
22
- cursor: pointer;
23
- appearance: none;
24
- border: 0;
25
- margin: 0;
26
- z-index: 2;
27
- &:checked {
28
- & + .switch__bg {
29
- background: var(--color-accent-primary);
30
- }
31
- & ~ .switch__toggle {
32
- left: 100%;
33
- margin: 0 0 0 -3px;
34
- background: var(--color-accent-item-primary);
35
- transform: translate(-100%, -50%);
36
- }
37
- }
38
- }
39
- ^^&__bg {
40
- width: 100%;
41
- flex: 1;
42
- background: var(--color-surface-tertiary);
43
- transition: all 0.25s;
44
- }
45
- ^^&__toggle {
46
- box-shadow: inset 0 0 5px rgba(0, 0, 0, 0.2);
47
- height: calc(100% - 6px);
48
- position: absolute;
49
- aspect-ratio: 1/1;
50
- top: 50%;
51
- transform: translate(3px, -50%);
52
- left: 0;
53
- background: #fff;
54
- border-radius: 50%;
55
- box-shadow: 0 0 5px rgba(0, 0, 0, 0.2);
56
- transition: all 0.25s;
57
- }
58
62
  }
59
63
  &_compact {
60
- border: solid 1px red;
64
+ min-width: 40px;
65
+ min-height: 24px;
61
66
  }
62
67
  }
63
68
  }
@@ -0,0 +1,6 @@
1
+ .align {
2
+ border: solid 2px red;
3
+ &_center {
4
+ margin: 0 auto;
5
+ }
6
+ }
@@ -1,6 +1,7 @@
1
1
  .border-width {
2
2
  @each $width in 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 {
3
3
  &_$(width) {
4
+ border-style: solid;
4
5
  border-width: $(width)px ;
5
6
  }
6
7
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@itcase/ui",
3
- "version": "1.0.7",
3
+ "version": "1.0.8",
4
4
  "description": "UI components (Modal, Loader, Popup, etc)",
5
5
  "keywords": [
6
6
  "Modal",
@@ -1,7 +0,0 @@
1
- .cell {
2
- &__wrapper {
3
- min-width: 240px;
4
- display: flex;
5
- flex-flow: row nowrap;
6
- }
7
- }
@@ -1,15 +0,0 @@
1
- .cell {
2
- &__wrapper {
3
- &_shape {
4
- &_rounded {
5
- border-radius: 8px;
6
- }
7
- &_circular {
8
- border-radius: 50%;
9
- }
10
- &_geometric {
11
- border-radius: 0;
12
- }
13
- }
14
- }
15
- }