@itcase/ui 1.0.5 → 1.0.7

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (55) hide show
  1. package/dist/components/Avatar.js +56 -31
  2. package/dist/components/{Counter.js → Badge.js} +7 -7
  3. package/dist/components/Button.js +59 -54
  4. package/dist/components/Cell.js +21 -17
  5. package/dist/components/Checkbox.js +74 -22
  6. package/dist/components/Chips.js +2 -20
  7. package/dist/components/Divider.js +17 -1
  8. package/dist/components/Dropdown.js +195 -66
  9. package/dist/components/Grid.js +70 -33
  10. package/dist/components/Group.js +17 -1
  11. package/dist/components/Icon.js +45 -26
  12. package/dist/components/Image.js +3 -3
  13. package/dist/components/Input.js +19 -2
  14. package/dist/components/Label.js +11 -3
  15. package/dist/components/Logo.js +36 -12
  16. package/dist/components/MenuItem.js +11 -2
  17. package/dist/components/Modal.js +219 -41
  18. package/dist/components/Profile.js +10 -4
  19. package/dist/components/RadioButton.js +78 -26
  20. package/dist/components/Scrollbar.js +4 -4
  21. package/dist/components/Search.js +12 -9
  22. package/dist/components/Segmented.js +5 -3
  23. package/dist/components/Select.js +2 -2
  24. package/dist/components/Switch.js +2 -1
  25. package/dist/components/Tab.js +312 -0
  26. package/dist/components/Text.js +1 -3
  27. package/dist/components/Textarea.js +9 -1
  28. package/dist/components/Tile.js +43 -115
  29. package/dist/css/components/Avatar/Avatar.css +23 -10
  30. package/dist/css/components/Badge/Badge.css +55 -0
  31. package/dist/css/components/Button/Button.css +19 -8
  32. package/dist/css/components/Checkbox/Checkbox.css +60 -63
  33. package/dist/css/components/Chips/Chips.css +25 -7
  34. package/dist/css/components/Dropdown/Dropdown.css +21 -18
  35. package/dist/css/components/Fader/Fader.css +0 -1
  36. package/dist/css/components/Grid/Grid.css +5 -0
  37. package/dist/css/components/Grid/css/__row/grid__row.css +5 -0
  38. package/dist/css/components/Icon/Icon.css +4 -4
  39. package/dist/css/components/Input/Input.css +6 -0
  40. package/dist/css/components/List/List.css +3 -3
  41. package/dist/css/components/Logo/Logo.css +23 -0
  42. package/dist/css/components/{Popup/Popup.css → Modal/Modal.css} +5 -4
  43. package/dist/css/components/RadioButton/RadioButton.css +60 -59
  44. package/dist/css/components/Segmented/Segmented.css +97 -0
  45. package/dist/css/components/Switch/Switch.css +56 -46
  46. package/dist/css/components/Tab/Tab.css +49 -0
  47. package/dist/css/components/Tile/Tile.css +27 -10
  48. package/dist/css/styles/border-color/border-color.css +2 -2
  49. package/dist/css/styles/border-type/border-type.css +13 -0
  50. package/dist/css/styles/border-width/border-width.css +7 -0
  51. package/dist/css/styles/justify-content/justify-content.css +7 -0
  52. package/dist/hooks/styleAttributes.js +1 -1
  53. package/package.json +2 -1
  54. package/dist/components/Popup.js +0 -255
  55. package/dist/css/components/Counter/Counter.css +0 -55
@@ -34,6 +34,22 @@ function Divider(props) {
34
34
  prefix: 'fill_',
35
35
  propsKey: 'fill'
36
36
  });
37
+ var fillHoverClass = useDeviceTargetClass.useDeviceTargetClass(props, {
38
+ prefix: 'fill_hover_',
39
+ propsKey: 'fillHover'
40
+ });
41
+ var fillActiveClass = useDeviceTargetClass.useDeviceTargetClass(props, {
42
+ prefix: 'fill_active_',
43
+ propsKey: 'fillActive'
44
+ });
45
+ var fillActiveHoverClass = useDeviceTargetClass.useDeviceTargetClass(props, {
46
+ prefix: 'fill_active_hover_',
47
+ propsKey: 'fillActiveHover'
48
+ });
49
+ var fillDisabledClass = useDeviceTargetClass.useDeviceTargetClass(props, {
50
+ prefix: 'fill_disabled_',
51
+ propsKey: 'fillDisabled'
52
+ });
37
53
  var sizeClass = useDeviceTargetClass.useDeviceTargetClass(props, {
38
54
  prefix: 'divider_size_',
39
55
  propsKey: 'size'
@@ -45,7 +61,7 @@ function Divider(props) {
45
61
  var _useStyles = useStyles.useStyles(props),
46
62
  hrStyles = _useStyles.styles;
47
63
  return /*#__PURE__*/React__default.default.createElement("hr", {
48
- className: clsx__default.default(className, 'divider', widthClass, directionClass, sizeClass, fillClass),
64
+ className: clsx__default.default(className, 'divider', widthClass, directionClass, sizeClass, fillClass, fillHoverClass, fillActiveClass, fillActiveHoverClass, fillDisabledClass),
49
65
  style: hrStyles
50
66
  });
51
67
  }
@@ -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'
@@ -73,11 +77,23 @@ function Group(props) {
73
77
  prefix: 'width_',
74
78
  propsKey: 'width'
75
79
  });
80
+ var borderColorClass = useDeviceTargetClass.useDeviceTargetClass(props, {
81
+ prefix: 'border-color_',
82
+ propsKey: 'borderColor'
83
+ });
84
+ var borderWidthClass = useDeviceTargetClass.useDeviceTargetClass(props, {
85
+ prefix: 'border-width_',
86
+ propsKey: 'borderWidth'
87
+ });
88
+ var borderTypeClass = useDeviceTargetClass.useDeviceTargetClass(props, {
89
+ prefix: 'border-type_',
90
+ propsKey: 'borderType'
91
+ });
76
92
  var _useStyles = useStyles.useStyles(props),
77
93
  groupStyles = _useStyles.styles,
78
94
  groupWrapperStyles = _useStyles.wrapper;
79
95
  return /*#__PURE__*/React__default.default.createElement("div", {
80
- 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),
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),
81
97
  id: id,
82
98
  style: Object.assign({}, groupStyles, style)
83
99
  }, horizontalScroll ? /*#__PURE__*/React__default.default.createElement("div", {
@@ -34,14 +34,20 @@ var PropTypes__default = /*#__PURE__*/_interopDefault(PropTypes);
34
34
  var clsx__default = /*#__PURE__*/_interopDefault(clsx);
35
35
  var SVG__default = /*#__PURE__*/_interopDefault(SVG);
36
36
 
37
+ var iconConfig = {
38
+ appearance: {},
39
+ setAppearance: function setAppearance(newComponent) {
40
+ iconConfig.appearance = newComponent;
41
+ }
42
+ };
37
43
  var Icon = /*#__PURE__*/React__default.default.forwardRef(function Icon(props, ref) {
38
44
  var before = props.before,
39
45
  after = props.after,
40
- Counter = props.Counter,
46
+ Badge = props.Badge,
41
47
  SvgImage = props.SvgImage,
42
- imageSrc = props.imageSrc,
43
- simple = props.simple,
44
- className = props.className,
48
+ imageSrc = props.imageSrc;
49
+ props.simple;
50
+ var className = props.className,
45
51
  href = props.href,
46
52
  link = props.link,
47
53
  linkTarget = props.linkTarget,
@@ -59,46 +65,58 @@ var Icon = /*#__PURE__*/React__default.default.forwardRef(function Icon(props, r
59
65
  }
60
66
  return sizes;
61
67
  }, []);
62
- var bgFillClass = useDeviceTargetClass.useDeviceTargetClass(props, {
63
- prefix: 'fill_',
64
- propsKey: 'bgFill'
65
- });
66
68
  var fillClass = useDeviceTargetClass.useDeviceTargetClass(props, {
67
- prefix: 'icon_fill_',
69
+ prefix: 'fill_',
68
70
  propsKey: 'fill'
69
71
  });
70
72
  var fillHoverClass = useDeviceTargetClass.useDeviceTargetClass(props, {
71
- prefix: 'icon_fill_hover_',
73
+ prefix: 'fill_hover_',
72
74
  propsKey: 'fillHover'
73
75
  });
74
- var bgFillSizeClass = useDeviceTargetClass.useDeviceTargetClass(props, {
76
+ var fillSizeClass = useDeviceTargetClass.useDeviceTargetClass(props, {
75
77
  prefix: 'icon_fill_size_',
76
- propsKey: 'bgFillSize'
78
+ propsKey: 'fillSize'
77
79
  });
78
- var strokeClass = useDeviceTargetClass.useDeviceTargetClass(props, {
80
+ var iconFillClass = useDeviceTargetClass.useDeviceTargetClass(props, {
81
+ prefix: 'icon_fill_',
82
+ propsKey: 'iconFill'
83
+ });
84
+ var iconFillHoverClass = useDeviceTargetClass.useDeviceTargetClass(props, {
85
+ prefix: 'icon_fill_hover_',
86
+ propsKey: 'iconFillHover'
87
+ });
88
+ var iconStrokeClass = useDeviceTargetClass.useDeviceTargetClass(props, {
79
89
  prefix: 'icon_stroke_',
80
- propsKey: 'stroke'
90
+ propsKey: 'iconStroke'
81
91
  });
82
- var strokeHoverClass = useDeviceTargetClass.useDeviceTargetClass(props, {
92
+ var iconStrokeHoverClass = useDeviceTargetClass.useDeviceTargetClass(props, {
83
93
  prefix: 'icon_stroke_hover_',
84
- propsKey: 'strokeHover'
94
+ propsKey: 'iconStrokeHover'
85
95
  });
86
- var sizeClass = useDeviceTargetClass.useDeviceTargetClass(props, {
96
+ var iconSizeClass = useDeviceTargetClass.useDeviceTargetClass(props, {
87
97
  prefix: 'icon_size_',
88
- propsKey: 'size'
98
+ propsKey: 'iconSize'
89
99
  });
90
100
  var shapeClass = useDeviceTargetClass.useDeviceTargetClass(props, {
91
101
  prefix: 'icon_shape_',
92
102
  propsKey: 'shape'
93
103
  });
94
- var borderClass = useDeviceTargetClass.useDeviceTargetClass(props, {
104
+ var borderColorClass = useDeviceTargetClass.useDeviceTargetClass(props, {
95
105
  prefix: 'border-color_',
96
- propsKey: 'border'
106
+ propsKey: 'borderColor'
97
107
  });
98
- var borderHoverClass = useDeviceTargetClass.useDeviceTargetClass(props, {
108
+ var borderColorHoverClass = useDeviceTargetClass.useDeviceTargetClass(props, {
99
109
  prefix: 'border-color_hover_',
100
110
  propsKey: 'borderHover'
101
111
  });
112
+ var borderWidthClass = useDeviceTargetClass.useDeviceTargetClass(props, {
113
+ prefix: 'border-width_',
114
+ propsKey: 'borderWidth'
115
+ });
116
+ var borderTypeClass = useDeviceTargetClass.useDeviceTargetClass(props, {
117
+ prefix: 'border-type_',
118
+ propsKey: 'borderType'
119
+ });
102
120
  var _useStyles = useStyles.useStyles(props),
103
121
  iconStyles = _useStyles.styles;
104
122
  var ImageComponent = React.useMemo(function () {
@@ -119,17 +137,17 @@ var Icon = /*#__PURE__*/React__default.default.forwardRef(function Icon(props, r
119
137
  return null;
120
138
  }, [SvgImage, imageSrc]);
121
139
  return /*#__PURE__*/React__default.default.createElement("div", {
122
- className: clsx__default.default(className, 'icon', simple && 'icon_type_simple', bgFillClass, bgFillSizeClass, borderClass, borderHoverClass, fillClass, fillHoverClass, shapeClass, strokeClass, strokeHoverClass, Counter && 'icon_type_with-counter', (link || href || onClick) && 'cursor_type_pointer'),
140
+ className: clsx__default.default(className, 'icon', fillClass, fillHoverClass, fillSizeClass, iconFillClass, iconFillHoverClass, shapeClass, iconStrokeClass, iconStrokeHoverClass, borderColorClass, borderColorHoverClass, borderWidthClass, borderTypeClass, Badge && 'icon_type_with-badge', (link || href || onClick) && 'cursor_type_pointer'),
123
141
  ref: ref,
124
142
  style: iconStyles,
125
143
  onClick: onClick
126
144
  }, /*#__PURE__*/React__default.default.createElement(index.LinkWrapper, {
145
+ className: clsx__default.default(link || href ? 'icon__link' : 'icon__item', iconSizeClass),
146
+ DefaultComponent: "div",
127
147
  href: link || href,
128
- target: linkTarget,
129
148
  rel: linkRel,
130
- className: clsx__default.default(link || href ? 'icon__link' : 'icon__item', sizeClass),
131
- DefaultComponent: "div"
132
- }, before, ImageComponent, after, Counter));
149
+ target: linkTarget
150
+ }, before, ImageComponent, after, Badge));
133
151
  });
134
152
  Icon.propTypes = {
135
153
  SvgImage: PropTypes__default.default.oneOfType([PropTypes__default.default.element, PropTypes__default.default.func, PropTypes__default.default.object]),
@@ -182,3 +200,4 @@ function removeFillStroke(code) {
182
200
  }
183
201
 
184
202
  exports.Icon = Icon;
203
+ exports.iconConfig = iconConfig;
@@ -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
  }