@itcase/ui 1.0.6 → 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.
@@ -63,14 +63,14 @@ function Button(props) {
63
63
  href = props.href,
64
64
  target = props.target,
65
65
  rel = props.rel,
66
- size = props.size;
67
- props.iconBeforeBgFill;
68
- var iconBeforeFill = props.iconBeforeFill;
69
- props.iconAfterBgFillSize;
70
- props.iconBeforeBgFillSize;
71
- var iconBeforeStroke = props.iconBeforeStroke;
72
- props.iconAfterBgFill;
73
- var iconAfterFill = props.iconAfterFill,
66
+ size = props.size,
67
+ icon = props.icon,
68
+ iconSize = props.iconSize,
69
+ iconFill = props.iconFill,
70
+ iconStroke = props.iconStroke,
71
+ iconBeforeFill = props.iconBeforeFill,
72
+ iconBeforeStroke = props.iconBeforeStroke,
73
+ iconAfterFill = props.iconAfterFill,
74
74
  iconAfterStroke = props.iconAfterStroke,
75
75
  type = props.type,
76
76
  htmlType = props.htmlType,
@@ -109,7 +109,7 @@ function Button(props) {
109
109
  buttonStyles = _useStyles.styles,
110
110
  labelStyles = _useStyles.label;
111
111
  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) && 'button_type_icon', label && (iconBefore || iconAfter || before || after) && "button_type_with-icon button_type_with-icon_" + size),
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),
113
113
  href: link || href,
114
114
  DefaultComponent: "button",
115
115
  disabled: isDisabled,
@@ -127,6 +127,12 @@ function Button(props) {
127
127
  size: iconBeforeSize,
128
128
  iconFill: iconBeforeFill,
129
129
  iconStroke: iconBeforeStroke
130
+ }), icon && /*#__PURE__*/React__default.default.createElement(index$1.Icon, {
131
+ className: "button__icon",
132
+ SvgImage: icon,
133
+ size: iconSize,
134
+ iconFill: iconFill,
135
+ iconStroke: iconStroke
130
136
  }), (children || label) && /*#__PURE__*/React__default.default.createElement(index$2.Text, {
131
137
  className: "button__label",
132
138
  textColor: labelTextColor,
@@ -57,11 +57,13 @@ function Cell(props) {
57
57
  after = props.after,
58
58
  before = props.before,
59
59
  value = props.value,
60
- valueSize = props.valueSize,
60
+ valueTextSize = props.valueTextSize,
61
61
  valueTextColor = props.valueTextColor,
62
+ valueTextWeight = props.valueTextWeight,
62
63
  title = props.title,
63
- titleSize = props.titleSize,
64
+ titleTextSize = props.titleTextSize,
64
65
  titleTextColor = props.titleTextColor,
66
+ titleTextWeight = props.titleTextWeight,
65
67
  onClick = props.onClick,
66
68
  onMouseEnter = props.onMouseEnter;
67
69
  var fillClass = useDeviceTargetClass.useDeviceTargetClass(props, {
@@ -127,14 +129,16 @@ function Cell(props) {
127
129
  className: "cell__data"
128
130
  }, title && /*#__PURE__*/React__default.default.createElement(index$1.Text, {
129
131
  className: "cell__title",
130
- size: titleSize,
132
+ size: titleTextSize,
131
133
  tag: titleTag,
132
- textColor: titleTextColor
134
+ textColor: titleTextColor,
135
+ textWeight: titleTextWeight
133
136
  }, title), value && /*#__PURE__*/React__default.default.createElement(index$1.Text, {
134
137
  className: "cell__value",
135
- size: valueSize,
138
+ size: valueTextSize,
136
139
  tag: valueTag,
137
- textColor: valueTextColor
140
+ textColor: valueTextColor,
141
+ textWeight: valueTextWeight
138
142
  }, value)), iconAfter && /*#__PURE__*/React__default.default.createElement(index.Icon, {
139
143
  className: "cell__icon-after",
140
144
  SvgImage: iconAfter,
@@ -152,10 +156,10 @@ Cell.propTypes = {
152
156
  after: PropTypes__default.default.any,
153
157
  before: PropTypes__default.default.any,
154
158
  value: PropTypes__default.default.string,
155
- valueSize: PropTypes__default.default.oneOf(PropTypes__default.default.oneOf(size.default)),
159
+ valueTextSize: PropTypes__default.default.oneOf(PropTypes__default.default.oneOf(size.default)),
156
160
  valueTextColor: PropTypes__default.default.string,
157
161
  title: PropTypes__default.default.string,
158
- titleSize: PropTypes__default.default.oneOf(PropTypes__default.default.oneOf(size.default)),
162
+ titleTextSize: PropTypes__default.default.oneOf(PropTypes__default.default.oneOf(size.default)),
159
163
  titleTextColor: PropTypes__default.default.string,
160
164
  onClick: PropTypes__default.default.func,
161
165
  onMouseEnter: PropTypes__default.default.func,
@@ -3,29 +3,21 @@
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 index$1 = require('./Button.js');
8
6
  var useDeviceTargetClass = require('../hooks/useDeviceTargetClass.js');
9
7
  var useStyles = require('../useStyles-e4accb53.js');
10
- require('../constants/componentProps/textColor.js');
11
- require('../constants/componentProps/textColorActive.js');
12
- require('../constants/componentProps/textColorHover.js');
13
- require('../constants/componentProps/size.js');
14
- require('../constants/componentProps/textStyle.js');
15
- require('../constants/componentProps/textWeight.js');
16
- require('../constants/componentProps/borderType.js');
17
- require('../constants/componentProps/fill.js');
18
- require('../constants/componentProps/horizontalResizeMode.js');
19
- require('../constants/componentProps/shape.js');
20
- require('../constants/componentProps/type.js');
21
- require('../constants/componentProps/width.js');
22
- require('./Icon.js');
23
- require('react-inlinesvg');
24
- require('../constants/componentProps/iconSize.js');
25
- require('../constants/componentProps/strokeColor.js');
26
- require('./Link.js');
27
- require('../constants/componentProps/textGradient.js');
28
- require('../constants/componentProps/underline.js');
8
+ var index$1 = require('./Text.js');
9
+ var index = require('./Link.js');
10
+ var fill = require('../constants/componentProps/fill.js');
11
+ var shape = require('../constants/componentProps/shape.js');
12
+ var textColorActive = require('../constants/componentProps/textColorActive.js');
13
+ var textColorHover = require('../constants/componentProps/textColorHover.js');
14
+ var textColor = require('../constants/componentProps/textColor.js');
15
+ var textGradient = require('../constants/componentProps/textGradient.js');
16
+ var textStyle = require('../constants/componentProps/textStyle.js');
17
+ var textWeight = require('../constants/componentProps/textWeight.js');
18
+ var type = require('../constants/componentProps/type.js');
19
+ var underline = require('../constants/componentProps/underline.js');
20
+ var size = require('../constants/componentProps/size.js');
29
21
  require('lodash/castArray');
30
22
  require('lodash/camelCase');
31
23
  require('../context/UIContext.js');
@@ -47,12 +39,7 @@ function Dropdown(props) {
47
39
  children = props.children,
48
40
  className = props.className;
49
41
  props.id;
50
- var label = props.label,
51
- labelIcon = props.labelIcon,
52
- labelIconFill = props.labelIconFill;
53
- props.labelIconOpen;
54
- var set = props.set,
55
- title = props.title;
42
+ var set = props.set;
56
43
  var dropdownRef = React.useRef(null);
57
44
  var _useState = React.useState(false),
58
45
  isOpen = _useState[0],
@@ -130,29 +117,9 @@ function Dropdown(props) {
130
117
  prefix: 'dropdown_shape_',
131
118
  propsKey: 'shape'
132
119
  });
133
- var titleTextColorClass = useDeviceTargetClass.useDeviceTargetClass(props, {
134
- propsKey: 'titleTextColor'
135
- });
136
- var titleSizeClass = useDeviceTargetClass.useDeviceTargetClass(props, {
137
- propsKey: 'titleSize'
138
- });
139
- var titleTextWeightClass = useDeviceTargetClass.useDeviceTargetClass(props, {
140
- propsKey: 'titleTextWeight'
141
- });
142
- var labelFillClass = useDeviceTargetClass.useDeviceTargetClass(props, {
143
- propsKey: 'labelFill'
144
- });
145
- var labelFillHoverClass = useDeviceTargetClass.useDeviceTargetClass(props, {
146
- propsKey: 'labelFillHover'
147
- });
148
- var labelSizeClass = useDeviceTargetClass.useDeviceTargetClass(props, {
149
- propsKey: 'labelSize'
150
- });
151
- var labelTextColorClass = useDeviceTargetClass.useDeviceTargetClass(props, {
152
- propsKey: 'labelTextColor'
153
- });
154
- var labelTextSizeClass = useDeviceTargetClass.useDeviceTargetClass(props, {
155
- propsKey: 'labelTextSize'
120
+ var elevationClass = useDeviceTargetClass.useDeviceTargetClass(props, {
121
+ prefix: 'elevation_',
122
+ propsKey: 'elevation'
156
123
  });
157
124
  var _useStyles = useStyles.useStyles(props),
158
125
  styles = _useStyles.styles;
@@ -161,25 +128,11 @@ function Dropdown(props) {
161
128
  console.log('isOpen: ', isOpen);
162
129
  console.log('animationState: ', animationState);
163
130
  return /*#__PURE__*/React__default.default.createElement("div", {
164
- className: clsx__default.default(className, 'dropdown', set && "dropdown_set_" + set, shapeClass, fillClass, fillHoverClass, isOpen ? 'dropdown_state_open' : 'dropdown_state_close', animationState.className),
131
+ className: clsx__default.default(className, 'dropdown', set && "dropdown_set_" + set, shapeClass, fillClass, fillHoverClass, elevationClass, isOpen ? 'dropdown_state_open' : 'dropdown_state_close', animationState.className),
165
132
  ref: dropdownRef,
166
133
  style: styles,
167
134
  onClick: onClick
168
- }, title && /*#__PURE__*/React__default.default.createElement(index.Text, {
169
- size: titleSizeClass,
170
- textColor: titleTextColorClass,
171
- textWeight: titleTextWeightClass
172
- }, title), /*#__PURE__*/React__default.default.createElement(index$1.Button, {
173
- className: clsx__default.default('dropdown__button', isOpen ? 'dropdown__button_state_open' : 'dropdown__button_state_close'),
174
- fill: labelFillClass,
175
- fillHover: labelFillHoverClass,
176
- iconAfter: labelIcon,
177
- iconAfterFill: labelIconFill,
178
- label: label,
179
- labelSize: labelTextSizeClass,
180
- labelTextColor: labelTextColorClass,
181
- size: labelSizeClass
182
- }), children &&
135
+ }, children &&
183
136
  /*#__PURE__*/
184
137
  // Add "onAnimationEnd" only for wrapper for ignore dropdown button
185
138
  React__default.default.createElement("div", {
@@ -196,4 +149,180 @@ Dropdown.defaultProps = {
196
149
  animationClose: 'dropdown_animation_close'
197
150
  };
198
151
 
152
+ function DropdownItem(props) {
153
+ var isActive = props.isActive,
154
+ isHover = props.isHover;
155
+ props.appearance;
156
+ var after = props.after,
157
+ before = props.before,
158
+ children = props.children,
159
+ className = props.className,
160
+ href = props.href,
161
+ link = props.link,
162
+ set = props.set,
163
+ rel = props.rel,
164
+ desc = props.desc,
165
+ descTextGradient = props.descTextGradient,
166
+ descTextSize = props.descTextSize,
167
+ descTextWeight = props.descTextWeight,
168
+ descTextColor = props.descTextColor,
169
+ descTextWrap = props.descTextWrap,
170
+ descTextColorHover = props.descTextColorHover,
171
+ descTextStyle = props.descTextStyle,
172
+ label = props.label,
173
+ target = props.target,
174
+ labelTextColorActive = props.labelTextColorActive,
175
+ labelTextGradient = props.labelTextGradient,
176
+ labelTextSize = props.labelTextSize,
177
+ labelTextWeight = props.labelTextWeight,
178
+ labelTextColor = props.labelTextColor,
179
+ labelTextWrap = props.labelTextWrap,
180
+ labelTextColorHover = props.labelTextColorHover,
181
+ labelTextStyle = props.labelTextStyle,
182
+ underline = props.underline,
183
+ onClick = props.onClick,
184
+ onMouseEnter = props.onMouseEnter;
185
+ var alignDirectionClass = useDeviceTargetClass.useDeviceTargetClass(props, {
186
+ prefix: 'align_',
187
+ propsKey: 'alignDirection'
188
+ });
189
+ var alignClass = useDeviceTargetClass.useDeviceTargetClass(props, {
190
+ prefix: 'align_',
191
+ propsKey: 'align'
192
+ });
193
+ var directionClass = useDeviceTargetClass.useDeviceTargetClass(props, {
194
+ prefix: 'dropdown__item_direction_',
195
+ propsKey: 'direction'
196
+ });
197
+ var fillClass = useDeviceTargetClass.useDeviceTargetClass(props, {
198
+ prefix: 'fill_',
199
+ propsKey: 'fill'
200
+ });
201
+ var fillHoverClass = useDeviceTargetClass.useDeviceTargetClass(props, {
202
+ prefix: 'fill_hover_',
203
+ propsKey: 'fillHover'
204
+ });
205
+ var fillActiveClass = useDeviceTargetClass.useDeviceTargetClass(props, {
206
+ prefix: 'fill_active_',
207
+ propsKey: 'fillActive'
208
+ });
209
+ var fillActiveHoverClass = useDeviceTargetClass.useDeviceTargetClass(props, {
210
+ prefix: 'fill_active_hover_',
211
+ propsKey: 'fillActiveHover'
212
+ });
213
+ var fillDisabledClass = useDeviceTargetClass.useDeviceTargetClass(props, {
214
+ prefix: 'fill_disabled_',
215
+ propsKey: 'fillDisabled'
216
+ });
217
+ var linkFillClass = useDeviceTargetClass.useDeviceTargetClass(props, {
218
+ propsKey: 'linkFill'
219
+ });
220
+ var sizeClass = useDeviceTargetClass.useDeviceTargetClass(props, {
221
+ prefix: 'dropdown__item_size_',
222
+ propsKey: 'size'
223
+ });
224
+ var shapeClass = useDeviceTargetClass.useDeviceTargetClass(props, {
225
+ prefix: 'dropdown__item_shape_',
226
+ propsKey: 'shape'
227
+ });
228
+ var justifyContentClass = useDeviceTargetClass.useDeviceTargetClass(props, {
229
+ prefix: 'dropdown__item_justify-content_',
230
+ propsKey: 'justifyContent'
231
+ });
232
+ var typeClass = useDeviceTargetClass.useDeviceTargetClass(props, {
233
+ prefix: 'dropdown__item_type_',
234
+ propsKey: 'type'
235
+ });
236
+ var widthClass = useDeviceTargetClass.useDeviceTargetClass(props, {
237
+ prefix: 'width_',
238
+ propsKey: 'width'
239
+ });
240
+ var _useStyles = useStyles.useStyles(props),
241
+ dropdownItem = _useStyles.styles;
242
+ return /*#__PURE__*/React__default.default.createElement("div", {
243
+ className: clsx__default.default('dropdown__item', isActive && 'dropdown__item_state_active', isHover && 'dropdown__item_state_hover', directionClass, className, fillClass, fillHoverClass, fillActiveClass, fillActiveHoverClass, fillDisabledClass, sizeClass, shapeClass, typeClass, widthClass, set && "dropdown__item_set_" + set, justifyContentClass),
244
+ style: dropdownItem,
245
+ onClick: onClick,
246
+ onMouseEnter: onMouseEnter
247
+ }, /*#__PURE__*/React__default.default.createElement(index.Link, {
248
+ href: link || href,
249
+ className: clsx__default.default('dropdown__item-link', alignDirectionClass, alignClass),
250
+ underline: underline,
251
+ fill: linkFillClass,
252
+ target: target,
253
+ rel: rel
254
+ }, /*#__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, {
255
+ className: "dropdown__item-label",
256
+ textColorActive: isActive && labelTextColorActive,
257
+ textGradient: labelTextGradient,
258
+ size: labelTextSize,
259
+ textWeight: labelTextWeight,
260
+ textColor: labelTextColor,
261
+ textWrap: labelTextWrap,
262
+ textColorHover: labelTextColorHover,
263
+ textStyle: labelTextStyle
264
+ }, label), desc && /*#__PURE__*/React__default.default.createElement(index$1.Text, {
265
+ className: "dropdown__item-desc",
266
+ textGradient: descTextGradient,
267
+ size: descTextSize,
268
+ textWeight: descTextWeight,
269
+ textColor: descTextColor,
270
+ textWrap: descTextWrap,
271
+ textColorHover: descTextColorHover,
272
+ textStyle: descTextStyle
273
+ }, desc)), after)));
274
+ }
275
+ DropdownItem.propTypes = {
276
+ before: PropTypes__default.default.any,
277
+ after: PropTypes__default.default.any,
278
+ children: PropTypes__default.default.any,
279
+ className: PropTypes__default.default.string,
280
+ fill: PropTypes__default.default.oneOf(fill.default),
281
+ fillDesktop: PropTypes__default.default.oneOf(fill.default),
282
+ fillMobile: PropTypes__default.default.oneOf(fill.default),
283
+ fillTablet: PropTypes__default.default.oneOf(fill.default),
284
+ linkFill: PropTypes__default.default.oneOf(fill.default),
285
+ linkFillDesktop: PropTypes__default.default.oneOf(fill.default),
286
+ linkFillMobile: PropTypes__default.default.oneOf(fill.default),
287
+ linkFillTablet: PropTypes__default.default.oneOf(fill.default),
288
+ isActive: PropTypes__default.default.bool,
289
+ label: PropTypes__default.default.string,
290
+ labelSize: PropTypes__default.default.string,
291
+ onClick: PropTypes__default.default.func,
292
+ onMouseEnter: PropTypes__default.default.func,
293
+ size: PropTypes__default.default.oneOf(size.default),
294
+ sizeDesktop: PropTypes__default.default.oneOf(size.default),
295
+ sizeMobile: PropTypes__default.default.oneOf(size.default),
296
+ sizeTablet: PropTypes__default.default.oneOf(size.default),
297
+ LinkComponent: PropTypes__default.default.any,
298
+ href: PropTypes__default.default.string,
299
+ link: PropTypes__default.default.string,
300
+ target: PropTypes__default.default.string,
301
+ rel: PropTypes__default.default.string,
302
+ shape: PropTypes__default.default.oneOf(shape.default),
303
+ shapeDesktop: PropTypes__default.default.oneOf(shape.default),
304
+ shapeMobile: PropTypes__default.default.oneOf(shape.default),
305
+ shapeTablet: PropTypes__default.default.oneOf(shape.default),
306
+ textColor: PropTypes__default.default.oneOf(textColor.default),
307
+ textColorHover: PropTypes__default.default.oneOf(textColorHover.default),
308
+ textColorActive: PropTypes__default.default.oneOf(textColorActive.default),
309
+ textGradient: PropTypes__default.default.oneOf(textGradient.default),
310
+ textSize: PropTypes__default.default.oneOf(size.default),
311
+ textWrap: PropTypes__default.default.string,
312
+ textStyle: PropTypes__default.default.oneOf(textStyle.default),
313
+ textWeight: PropTypes__default.default.oneOf(textWeight.default),
314
+ type: PropTypes__default.default.oneOf(type.default),
315
+ typeDesktop: PropTypes__default.default.oneOf(type.default),
316
+ typeMobile: PropTypes__default.default.oneOf(type.default),
317
+ typeTablet: PropTypes__default.default.oneOf(type.default),
318
+ title: PropTypes__default.default.string,
319
+ underline: PropTypes__default.default.oneOf(underline.default)
320
+ };
321
+ DropdownItem.defaultProps = {
322
+ size: 'm',
323
+ LinkComponent: 'a',
324
+ direction: 'horizontal'
325
+ };
326
+
199
327
  exports.Dropdown = Dropdown;
328
+ exports.DropdownItem = DropdownItem;
@@ -11,11 +11,11 @@ var horizontalResizeMode = require('../constants/componentProps/horizontalResize
11
11
  var verticalResizeMode = require('../constants/componentProps/verticalResizeMode.js');
12
12
  var useDeviceTargetClass = require('../hooks/useDeviceTargetClass.js');
13
13
  var useStyles = require('../useStyles-e4accb53.js');
14
- var UIContext = require('../context/UIContext.js');
15
14
  var gridAlignSelf = require('../constants/componentProps/gridAlignSelf.js');
16
15
  var gridJustifySelf = require('../constants/componentProps/gridJustifySelf.js');
17
16
  require('lodash/castArray');
18
17
  require('lodash/camelCase');
18
+ require('../context/UIContext.js');
19
19
  require('../hooks/useMediaQueries.js');
20
20
  require('react-responsive');
21
21
  require('lodash/maxBy');
@@ -34,20 +34,12 @@ function Grid(props) {
34
34
  before = props.before,
35
35
  children = props.children,
36
36
  className = props.className,
37
- gridBackground = props.gridBackground,
38
- gridBackgroundDesktop = props.gridBackgroundDesktop,
39
- gridBackgroundMobile = props.gridBackgroundMobile,
40
- gridBackgroundTablet = props.gridBackgroundTablet,
41
37
  horizontalResizing = props.horizontalResizing,
42
38
  onClick = props.onClick,
43
39
  type = props.type,
44
40
  useGridSystem = props.useGridSystem,
45
41
  Tag = props.tag,
46
42
  verticalResizing = props.verticalResizing;
47
- var _useUserDeviceContext = UIContext.useUserDeviceContext(),
48
- isMobile = _useUserDeviceContext.isMobile,
49
- isTablet = _useUserDeviceContext.isTablet,
50
- isDesktop = _useUserDeviceContext.isDesktop;
51
43
  var columnsClass = useDeviceTargetClass.useDeviceTargetClass(props, {
52
44
  prefix: 'grid_columns_',
53
45
  propsKey: 'columns'
@@ -100,22 +92,6 @@ function Grid(props) {
100
92
  prefix: 'grid_shape_',
101
93
  propsKey: 'shapeWrapperInner'
102
94
  });
103
- var gridTargetBackground = React.useMemo(function () {
104
- if (isMobile && gridBackgroundMobile) {
105
- return gridBackgroundMobile;
106
- }
107
- if (isTablet && gridBackgroundTablet) {
108
- return gridBackgroundTablet;
109
- }
110
- if (isDesktop && gridBackgroundDesktop) {
111
- return gridBackgroundDesktop;
112
- }
113
- return gridBackground;
114
- }, [isMobile, isTablet, isDesktop, gridBackgroundMobile, gridBackgroundTablet, gridBackgroundDesktop, gridBackground]);
115
- var gridTargetBackgroundWrapper = useDeviceTargetClass.useDeviceTargetClass(props, {
116
- prefix: 'fill_',
117
- propsKey: 'gridBackgroundWrapper'
118
- });
119
95
  var _useStyles = useStyles.useStyles(props),
120
96
  gridStyles = _useStyles.styles,
121
97
  gridWrapperStyles = _useStyles.gridWrapper,
@@ -127,19 +103,13 @@ function Grid(props) {
127
103
  onClick: onClick
128
104
  }, before && /*#__PURE__*/React__default.default.createElement("div", {
129
105
  className: "grid__before"
130
- }, before), typeof gridTargetBackground === 'string' ? /*#__PURE__*/React__default.default.createElement("div", {
131
- className: clsx__default.default('grid__background', gridTargetBackground && "fill_" + gridTargetBackground.replace(/([A-Z])/g, '-$1').toLowerCase())
132
- }, "\xA0") : gridTargetBackground && /*#__PURE__*/React__default.default.createElement("div", {
133
- className: "grid__background"
134
- }, gridTargetBackground), /*#__PURE__*/React__default.default.createElement("div", {
106
+ }, before), /*#__PURE__*/React__default.default.createElement("div", {
135
107
  className: clsx__default.default('grid__wrapper', fillWrapperClass, shapeWrapperClass),
136
108
  style: gridWrapperStyles
137
109
  }, /*#__PURE__*/React__default.default.createElement("div", {
138
110
  className: clsx__default.default('grid__wrapper-inner', fillWrapperInnerClass, shapeWrapperInnerClass),
139
111
  style: gridWrapperInnerStyles
140
- }, children, gridTargetBackgroundWrapper && /*#__PURE__*/React__default.default.createElement("div", {
141
- className: clsx__default.default('grid__wrapper-background', gridTargetBackgroundWrapper)
142
- }, "\xA0"))), after && /*#__PURE__*/React__default.default.createElement("div", {
112
+ }, children)), after && /*#__PURE__*/React__default.default.createElement("div", {
143
113
  className: "grid__after"
144
114
  }, after));
145
115
  }
@@ -325,5 +295,72 @@ GridItem.propTypes = {
325
295
  zIndexDesktop: PropTypes__default.default.number
326
296
  };
327
297
 
298
+ function GridRow(props) {
299
+ var id = props.id,
300
+ children = props.children,
301
+ className = props.className;
302
+ var fillClass = useDeviceTargetClass.useDeviceTargetClass(props, {
303
+ prefix: 'fill_',
304
+ propsKey: 'fill'
305
+ });
306
+ var _useStyles = useStyles.useStyles(props),
307
+ gridRowStyles = _useStyles.styles;
308
+ return /*#__PURE__*/React__default.default.createElement("div", {
309
+ className: clsx__default.default(className, 'grid__row', fillClass),
310
+ id: id,
311
+ style: gridRowStyles
312
+ }, children);
313
+ }
314
+ GridRow.propTypes = {
315
+ id: PropTypes__default.default.string,
316
+ alignSelf: PropTypes__default.default.oneOf(gridAlignSelf.default),
317
+ alignSelfDesktop: PropTypes__default.default.oneOf(gridAlignSelf.default),
318
+ alignSelfMobile: PropTypes__default.default.oneOf(gridAlignSelf.default),
319
+ alignSelfTablet: PropTypes__default.default.oneOf(gridAlignSelf.default),
320
+ children: PropTypes__default.default.any,
321
+ className: PropTypes__default.default.string,
322
+ fill: PropTypes__default.default.oneOf(PropTypes__default.default.oneOf(fill.default)),
323
+ fillMobile: PropTypes__default.default.oneOf(fill.default),
324
+ fillTablet: PropTypes__default.default.oneOf(fill.default),
325
+ fillDesktop: PropTypes__default.default.oneOf(fill.default),
326
+ columnEnd: PropTypes__default.default.number,
327
+ columnEndDesktop: PropTypes__default.default.number,
328
+ columnEndMobile: PropTypes__default.default.number,
329
+ columnEndTablet: PropTypes__default.default.number,
330
+ columnSpan: PropTypes__default.default.number,
331
+ columnSpanDesktop: PropTypes__default.default.number,
332
+ columnSpanMobile: PropTypes__default.default.number,
333
+ columnSpanTablet: PropTypes__default.default.number,
334
+ columnStart: PropTypes__default.default.number,
335
+ columnStartDesktop: PropTypes__default.default.number,
336
+ columnStartMobile: PropTypes__default.default.number,
337
+ columnStartTablet: PropTypes__default.default.number,
338
+ rowEnd: PropTypes__default.default.number,
339
+ rowEndDesktop: PropTypes__default.default.number,
340
+ rowEndMobile: PropTypes__default.default.number,
341
+ rowEndTablet: PropTypes__default.default.number,
342
+ rowSpan: PropTypes__default.default.number,
343
+ rowSpanDesktop: PropTypes__default.default.number,
344
+ rowSpanMobile: PropTypes__default.default.number,
345
+ rowSpanTablet: PropTypes__default.default.number,
346
+ rowStart: PropTypes__default.default.number,
347
+ rowStartDesktop: PropTypes__default.default.number,
348
+ rowStartMobile: PropTypes__default.default.number,
349
+ rowStartTablet: PropTypes__default.default.number,
350
+ justifySelf: PropTypes__default.default.oneOf(gridJustifySelf.default),
351
+ justifySelfDesktop: PropTypes__default.default.oneOf(gridJustifySelf.default),
352
+ justifySelfMobile: PropTypes__default.default.oneOf(gridJustifySelf.default),
353
+ justifySelfTablet: PropTypes__default.default.oneOf(gridJustifySelf.default),
354
+ order: PropTypes__default.default.number,
355
+ orderDesktop: PropTypes__default.default.number,
356
+ orderMobile: PropTypes__default.default.number,
357
+ orderTablet: PropTypes__default.default.number,
358
+ zIndex: PropTypes__default.default.number,
359
+ zIndexMobile: PropTypes__default.default.number,
360
+ zIndexTablet: PropTypes__default.default.number,
361
+ zIndexDesktop: PropTypes__default.default.number
362
+ };
363
+
328
364
  exports.Grid = Grid;
329
365
  exports.GridItem = GridItem;
366
+ exports.GridRow = GridRow;
@@ -45,6 +45,10 @@ function Group(props) {
45
45
  prefix: 'align_',
46
46
  propsKey: 'align'
47
47
  });
48
+ var justifyContentClass = useDeviceTargetClass.useDeviceTargetClass(props, {
49
+ prefix: 'justify-content_',
50
+ propsKey: 'justifyContent'
51
+ });
48
52
  var stackingClass = useDeviceTargetClass.useDeviceTargetClass(props, {
49
53
  prefix: 'group_stacking_',
50
54
  propsKey: 'stacking'
@@ -89,7 +93,7 @@ function Group(props) {
89
93
  groupStyles = _useStyles.styles,
90
94
  groupWrapperStyles = _useStyles.wrapper;
91
95
  return /*#__PURE__*/React__default.default.createElement("div", {
92
- className: clsx__default.default(className, 'group', widthClass, columnsClass, contentAlignClass, alignDirectionClass, directionClass, alignClass, fillClass, set && "group_set_" + set, horizontalScroll && 'group_type_horizontal_scroll', stackingClass, wrapClass, shapeClass, borderColorClass, borderWidthClass, borderTypeClass),
96
+ className: clsx__default.default(className, 'group', widthClass, columnsClass, contentAlignClass, alignDirectionClass, directionClass, alignClass, fillClass, set && "group_set_" + set, horizontalScroll && 'group_type_horizontal_scroll', stackingClass, wrapClass, shapeClass, borderColorClass, borderWidthClass, borderTypeClass, justifyContentClass),
93
97
  id: id,
94
98
  style: Object.assign({}, groupStyles, style)
95
99
  }, horizontalScroll ? /*#__PURE__*/React__default.default.createElement("div", {
@@ -57,11 +57,11 @@ function Image(props) {
57
57
  prefix: 'image_resize-mode_',
58
58
  propsKey: 'resizeMode'
59
59
  });
60
- var imageWidthClass = useDeviceTargetClass.useDeviceTargetClass(props, {
60
+ var widthClass = useDeviceTargetClass.useDeviceTargetClass(props, {
61
61
  prefix: 'width_',
62
62
  propsKey: 'imageWidth'
63
63
  });
64
- var imageHeightClass = useDeviceTargetClass.useDeviceTargetClass(props, {
64
+ var heightClass = useDeviceTargetClass.useDeviceTargetClass(props, {
65
65
  prefix: 'height_',
66
66
  propsKey: 'imageHeight'
67
67
  });
@@ -85,7 +85,7 @@ function Image(props) {
85
85
  alt: alt,
86
86
  title: title,
87
87
  style: imageStyles,
88
- className: clsx__default.default('image__item', imageWidthClass, imageHeightClass, imgClassName, borderColorImageClass),
88
+ className: clsx__default.default('image__item', widthClass, heightClass, imgClassName, borderColorImageClass),
89
89
  onError: onError
90
90
  }), overlay, caption, children), after);
91
91
  }
@@ -34,10 +34,22 @@ function Logo(props) {
34
34
  prefix: 'logo_align-items_',
35
35
  propsKey: 'alignItems'
36
36
  });
37
+ var widthClass = useDeviceTargetClass.useDeviceTargetClass(props, {
38
+ prefix: 'width_',
39
+ propsKey: 'width'
40
+ });
41
+ var alignDirectionClass = useDeviceTargetClass.useDeviceTargetClass(props, {
42
+ prefix: 'align_',
43
+ propsKey: 'alignDirection'
44
+ });
45
+ var alignClass = useDeviceTargetClass.useDeviceTargetClass(props, {
46
+ prefix: 'align_',
47
+ propsKey: 'align'
48
+ });
37
49
  var _useStyles = useStyles.useStyles(props),
38
50
  logo = _useStyles.styles;
39
51
  return /*#__PURE__*/React__default.default.createElement("div", {
40
- className: clsx__default.default(className, 'logo', alignItemsClass, size && "logo_size_" + size),
52
+ className: clsx__default.default(className, 'logo', alignDirectionClass, alignClass, widthClass, alignItemsClass, size && "logo_size_" + size),
41
53
  style: logo
42
54
  }, link || href ? /*#__PURE__*/React__default.default.createElement(LinkComponent, {
43
55
  className: 'logo__link',
@@ -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');
@@ -137,8 +137,11 @@ var SearchInput = /*#__PURE__*/React__default.default.forwardRef(function Search
137
137
  prefix: 'width_',
138
138
  propsKey: 'width'
139
139
  });
140
+ var _useStyles = useStyles.useStyles(props),
141
+ searchInputStyles = _useStyles.styles;
140
142
  return /*#__PURE__*/React__default.default.createElement("div", {
141
- className: clsx__default.default(className, 'search-input', shapeClass, fillClass, widthClass, type && "search-input_type_" + type)
143
+ className: clsx__default.default(className, 'search-input', shapeClass, fillClass, widthClass, type && "search-input_type_" + type),
144
+ style: searchInputStyles
142
145
  }, before, iconBefore && /*#__PURE__*/React__default.default.createElement(index.Icon, {
143
146
  className: "search-input__icon search-input__icon-before",
144
147
  fill: iconBeforeFill,
@@ -13,7 +13,6 @@ var clsx__default = /*#__PURE__*/_interopDefault(clsx);
13
13
  var Segmented = /*#__PURE__*/React__default.default.forwardRef(function (props, ref) {
14
14
  var name = props.name,
15
15
  className = props.className,
16
- fill = props.fill,
17
16
  type = props.type,
18
17
  segments = props.segments,
19
18
  activeSegment = props.activeSegment,
@@ -36,7 +35,7 @@ var Segmented = /*#__PURE__*/React__default.default.forwardRef(function (props,
36
35
  controlRef.current.style.setProperty('--highlight-x-pos', offsetLeft - 2 + "px");
37
36
  }, [activeSegment, segmentsRefs]);
38
37
  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()),
38
+ className: clsx__default.default(className, 'segmented', type && "segmented_type_" + type),
40
39
  ref: controlRef
41
40
  }, /*#__PURE__*/React__default.default.createElement("div", {
42
41
  className: "segmented__wrapper"
@@ -44,7 +43,7 @@ var Segmented = /*#__PURE__*/React__default.default.forwardRef(function (props,
44
43
  className: "segmented__wrapper-inner"
45
44
  }, segments == null ? void 0 : segments.map(function (item, i) {
46
45
  return /*#__PURE__*/React__default.default.createElement("div", {
47
- className: "segmented__item " + (item.value === activeSegment.value ? 'segmented__item_active' : ''),
46
+ className: clsx__default.default('segmented__item', item.value === activeSegment.value ? 'segmented__item_active' : ''),
48
47
  key: item.value,
49
48
  ref: segmentsRefs.get(item.value)
50
49
  }, /*#__PURE__*/React__default.default.createElement("input", {
@@ -73,5 +72,8 @@ Segmented.propTypes = {
73
72
  setActiveSegment: PropTypes__default.default.func,
74
73
  type: PropTypes__default.default.string
75
74
  };
75
+ Segmented.defaultProps = {
76
+ activeSegment: {}
77
+ };
76
78
 
77
79
  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
 
@@ -126,10 +128,11 @@ function Tab(props) {
126
128
  propsKey: 'width'
127
129
  });
128
130
  var _useStyles = useStyles.useStyles(props),
129
- menuItem = _useStyles.styles;
131
+ tab = _useStyles.styles;
132
+ console.log(tabConfig.appearance);
130
133
  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,
134
+ 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),
135
+ style: tab,
133
136
  onClick: onClick,
134
137
  onMouseEnter: onMouseEnter
135
138
  }, /*#__PURE__*/React__default.default.createElement(index.Link, {
@@ -201,5 +204,109 @@ Tab.defaultProps = {
201
204
  direction: 'horizontal'
202
205
  };
203
206
 
207
+ function TabGroup(props) {
208
+ var id = props.id,
209
+ children = props.children,
210
+ className = props.className,
211
+ horizontalScroll = props.horizontalScroll,
212
+ set = props.set,
213
+ style = props.style;
214
+ var contentAlignClass = useDeviceTargetClass.useDeviceTargetClass(props, {
215
+ prefix: 'group_content-align_',
216
+ propsKey: 'contentAlign'
217
+ });
218
+ var alignDirectionClass = useDeviceTargetClass.useDeviceTargetClass(props, {
219
+ prefix: 'align_',
220
+ propsKey: 'alignDirection'
221
+ });
222
+ var alignClass = useDeviceTargetClass.useDeviceTargetClass(props, {
223
+ prefix: 'align_',
224
+ propsKey: 'align'
225
+ });
226
+ var directionClass = useDeviceTargetClass.useDeviceTargetClass(props, {
227
+ prefix: 'group_direction_',
228
+ propsKey: 'direction'
229
+ });
230
+ var wrapClass = useDeviceTargetClass.useDeviceTargetClass(props, {
231
+ prefix: 'group_wrap_',
232
+ propsKey: 'wrap'
233
+ });
234
+ var fillClass = useDeviceTargetClass.useDeviceTargetClass(props, {
235
+ prefix: 'fill_',
236
+ propsKey: 'fill'
237
+ });
238
+ var widthClass = useDeviceTargetClass.useDeviceTargetClass(props, {
239
+ prefix: 'width_',
240
+ propsKey: 'width'
241
+ });
242
+ var borderColorClass = useDeviceTargetClass.useDeviceTargetClass(props, {
243
+ prefix: 'border-color_',
244
+ propsKey: 'borderColor'
245
+ });
246
+ var borderWidthClass = useDeviceTargetClass.useDeviceTargetClass(props, {
247
+ prefix: 'border-width_',
248
+ propsKey: 'borderWidth'
249
+ });
250
+ var borderTypeClass = useDeviceTargetClass.useDeviceTargetClass(props, {
251
+ prefix: 'border-type_',
252
+ propsKey: 'borderType'
253
+ });
254
+ var _useStyles = useStyles.useStyles(props),
255
+ groupStyles = _useStyles.styles,
256
+ groupWrapperStyles = _useStyles.wrapper;
257
+ return /*#__PURE__*/React__default.default.createElement("div", {
258
+ 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),
259
+ id: id,
260
+ style: Object.assign({}, groupStyles, style)
261
+ }, horizontalScroll ? /*#__PURE__*/React__default.default.createElement("div", {
262
+ className: "group__wrapper",
263
+ style: groupWrapperStyles
264
+ }, children) : children);
265
+ }
266
+ TabGroup.propTypes = {
267
+ id: PropTypes__default.default.string,
268
+ children: PropTypes__default.default.any,
269
+ className: PropTypes__default.default.string,
270
+ direction: PropTypes__default.default.oneOf(direction.default),
271
+ directionDesktop: PropTypes__default.default.oneOf(direction.default),
272
+ directionMobile: PropTypes__default.default.oneOf(direction.default),
273
+ directionTablet: PropTypes__default.default.oneOf(direction.default),
274
+ fill: PropTypes__default.default.oneOf(fill.default),
275
+ fillMobile: PropTypes__default.default.oneOf(fill.default),
276
+ fillTablet: PropTypes__default.default.oneOf(fill.default),
277
+ fillDesktop: PropTypes__default.default.oneOf(fill.default),
278
+ contentAlign: PropTypes__default.default.oneOf([null, 'center']),
279
+ contentAlignDesktop: PropTypes__default.default.oneOf([null, 'center']),
280
+ contentAlignMobile: PropTypes__default.default.oneOf([null, 'center']),
281
+ contentAlignTablet: PropTypes__default.default.oneOf([null, 'center']),
282
+ stacking: PropTypes__default.default.oneOf(stacking.default),
283
+ stackingDesktop: PropTypes__default.default.oneOf(stacking.default),
284
+ stackingMobile: PropTypes__default.default.oneOf(stacking.default),
285
+ stackingTablet: PropTypes__default.default.oneOf(stacking.default),
286
+ wrap: PropTypes__default.default.oneOf(wrap.default),
287
+ wrapDesktop: PropTypes__default.default.oneOf(wrap.default),
288
+ wrapMobile: PropTypes__default.default.oneOf(wrap.default),
289
+ wrapTablet: PropTypes__default.default.oneOf(wrap.default),
290
+ shape: PropTypes__default.default.oneOf(shape.default),
291
+ shapeDesktop: PropTypes__default.default.oneOf(shape.default),
292
+ shapeMobile: PropTypes__default.default.oneOf(shape.default),
293
+ shapeTablet: PropTypes__default.default.oneOf(shape.default),
294
+ spaceBetweenItems: PropTypes__default.default.string,
295
+ spaceBetweenItemsDesktop: PropTypes__default.default.string,
296
+ spaceBetweenItemsMobile: PropTypes__default.default.string,
297
+ spaceBetweenItemsTablet: PropTypes__default.default.string,
298
+ width: PropTypes__default.default.oneOf(width.default),
299
+ widthMobile: PropTypes__default.default.oneOf(width.default),
300
+ widthTablet: PropTypes__default.default.oneOf(width.default),
301
+ widthDesktop: PropTypes__default.default.oneOf(width.default),
302
+ columns: PropTypes__default.default.number,
303
+ columnsDesktop: PropTypes__default.default.number,
304
+ columnsMobile: PropTypes__default.default.number,
305
+ columnsTablet: PropTypes__default.default.number,
306
+ set: PropTypes__default.default.string,
307
+ horizontalScroll: PropTypes__default.default.bool
308
+ };
309
+
204
310
  exports.Tab = Tab;
311
+ exports.TabGroup = TabGroup;
205
312
  exports.tabConfig = tabConfig;
@@ -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
+ }
@@ -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
+ }
@@ -0,0 +1,97 @@
1
+ .segmented {
2
+ display: flex;
3
+ align-items: center;
4
+ border: solid 1px red;
5
+ &__wrapper {
6
+ border: solid 1px var(--color-surface-border-tertiary);
7
+ border-radius: 8px;
8
+ ^&__list {
9
+ margin: 2px;
10
+ position: relative;
11
+ display: flex;
12
+ &::before {
13
+ width: var(--segmented-active-width);
14
+ height: 100%;
15
+ background: #438ffe;
16
+ padding: 8px 0;
17
+ border-radius: 8px;
18
+ position: absolute;
19
+ content: '';
20
+ display: block;
21
+ box-shadow: 0 3px 8px rgba(0, 0, 0, 0.12), 0 3px 1px rgba(0, 0, 0, 0.04);
22
+ left: var(--segmented-active-x-pos);
23
+ top: 0;
24
+ z-index: 1;
25
+ transition: left 0.3s ease, width 0.3s ease;
26
+ }
27
+ ^^&__item {
28
+ min-width: 104px;
29
+ padding: 8px 24px;
30
+ position: relative;
31
+ display: flex;
32
+ &::after {
33
+ width: 1px;
34
+ height: 100%;
35
+ background: var(--color-surface-border-tertiary);
36
+ content: '';
37
+ display: block;
38
+ top: 0;
39
+ transform: translate(24px, 0);
40
+ }
41
+ &:last-child {
42
+ &::after {
43
+ display: none;
44
+ }
45
+ }
46
+ &_state_active {
47
+ & label {
48
+ color: #fff;
49
+ }
50
+ }
51
+ & input {
52
+ width: 100%;
53
+ height: 100%;
54
+ position: absolute;
55
+ left: 0;
56
+ top: 0;
57
+ right: 0;
58
+ bottom: 0;
59
+ z-index: 2;
60
+ opacity: 0%;
61
+ cursor: pointer;
62
+ }
63
+ & label {
64
+ text-align: center;
65
+ position: relative;
66
+ display: block;
67
+ z-index: 3;
68
+ transition: color 0.5s ease;
69
+ cursor: pointer;
70
+ @mixin text-l;
71
+ }
72
+ }
73
+ }
74
+ }
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;
83
+ border-radius: 8px;
84
+ cursor: pointer;
85
+ @mixin text-l;
86
+ &_state_active {
87
+ color: #fff;
88
+ background: #438ffe;
89
+ }
90
+ }
91
+ ^&__modal {
92
+ position: absolute;
93
+ left: 0;
94
+ top: 0;
95
+ }
96
+ }
97
+ }
@@ -36,6 +36,9 @@
36
36
  }
37
37
  }
38
38
  }
39
+ .tab-group {
40
+ position: relative;
41
+ }
39
42
  :root {
40
43
  --tab-size-normal-padding: 10px;
41
44
  --tab-size-normal-gap: 10px;
@@ -0,0 +1,7 @@
1
+ .justify-content {
2
+ @each $val in flexStart, flexEnd, spaceBetween, spaceAround, spaceEvenly, flex-start, flex-end, center, space-between, space-around, space-evenly {
3
+ &_$(val) {
4
+ justify-content: $(val);
5
+ }
6
+ }
7
+ }
@@ -28,6 +28,6 @@ var styleAttributes = [
28
28
  /**
29
29
  * Grid
30
30
  */
31
- 'gridTemplateColumns', 'gridArea', 'gridAutoColumns', 'gridAutoFlow', 'gridAutoRows', 'gridTemplate', 'gridTemplateAreas', 'gridTemplateColumns', 'gridTemplateRows'];
31
+ 'gridTemplateColumns', 'gridArea', 'gridAutoColumns', 'gridAutoFlow', 'gridAutoRows', 'gridTemplate', 'gridTemplateAreas', 'gridTemplateRows'];
32
32
 
33
33
  exports.default = styleAttributes;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@itcase/ui",
3
- "version": "1.0.6",
3
+ "version": "1.0.7",
4
4
  "description": "UI components (Modal, Loader, Popup, etc)",
5
5
  "keywords": [
6
6
  "Modal",