@itcase/ui 1.0.43 → 1.0.45

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 (119) hide show
  1. package/dist/components/Accordion.js +56 -58
  2. package/dist/components/Avatar.js +31 -29
  3. package/dist/components/Background.js +15 -12
  4. package/dist/components/Badge.js +13 -11
  5. package/dist/components/Breadcrumbs.js +72 -71
  6. package/dist/components/Button.js +56 -53
  7. package/dist/components/Caption.js +11 -8
  8. package/dist/components/Card.js +22 -20
  9. package/dist/components/Cell.js +52 -50
  10. package/dist/components/Checkbox.js +31 -29
  11. package/dist/components/Chips.js +21 -18
  12. package/dist/components/Choice.js +43 -49
  13. package/dist/components/Code.js +260 -105
  14. package/dist/components/ContextMenu.js +38 -34
  15. package/dist/components/CookiesWarning.js +26 -27
  16. package/dist/components/DatePicker.js +64 -67
  17. package/dist/components/Divider.js +15 -12
  18. package/dist/components/Dot.js +8 -6
  19. package/dist/components/Dropdown.js +88 -88
  20. package/dist/components/Empty.js +21 -19
  21. package/dist/components/Fader.js +13 -10
  22. package/dist/components/Flex.js +43 -37
  23. package/dist/components/FormField.js +77 -66
  24. package/dist/components/Grid.js +66 -57
  25. package/dist/components/Group.js +33 -30
  26. package/dist/components/Icon.js +41 -38
  27. package/dist/components/Image.js +34 -28
  28. package/dist/components/Input.js +29 -28
  29. package/dist/components/InputPassword.js +45 -48
  30. package/dist/components/Label.js +29 -26
  31. package/dist/components/LanguageSelector.js +29 -30
  32. package/dist/components/Link.js +43 -39
  33. package/dist/components/List.js +35 -29
  34. package/dist/components/Loader.js +22 -19
  35. package/dist/components/Logo.js +17 -14
  36. package/dist/components/Menu.js +20 -19
  37. package/dist/components/MenuItem.js +55 -52
  38. package/dist/components/Modal.js +51 -63
  39. package/dist/components/Notification.js +41 -38
  40. package/dist/components/Pagination.js +17 -15
  41. package/dist/components/RadioButton.js +31 -29
  42. package/dist/components/RangeSlider.js +29 -26
  43. package/dist/components/Scrollbar.js +6 -4
  44. package/dist/components/Search.js +66 -61
  45. package/dist/components/Segmented.js +52 -58
  46. package/dist/components/Select.js +181 -168
  47. package/dist/components/SiteMenu.js +34 -28
  48. package/dist/components/Swiper.js +104 -92
  49. package/dist/components/Switch.js +11 -9
  50. package/dist/components/Tab.js +95 -80
  51. package/dist/components/Text.js +27 -24
  52. package/dist/components/Textarea.js +23 -21
  53. package/dist/components/Tile.js +37 -34
  54. package/dist/components/Title.js +38 -30
  55. package/dist/components/Tooltip.js +24 -21
  56. package/dist/components/Video.js +16 -13
  57. package/dist/components/Wrapper.js +23 -20
  58. package/dist/constants/componentProps/align.js +1 -1
  59. package/dist/constants/componentProps/alignDirection.js +1 -1
  60. package/dist/constants/componentProps/borderColor.js +1 -1
  61. package/dist/constants/componentProps/borderType.js +1 -1
  62. package/dist/constants/componentProps/captionPosition.js +1 -1
  63. package/dist/constants/componentProps/direction.js +1 -1
  64. package/dist/constants/componentProps/emojiSize.js +1 -1
  65. package/dist/constants/componentProps/fill.js +1 -1
  66. package/dist/constants/componentProps/fillGradient.js +1 -1
  67. package/dist/constants/componentProps/fillType.js +1 -1
  68. package/dist/constants/componentProps/flexAlign.js +1 -1
  69. package/dist/constants/componentProps/flexJustifyContent.js +1 -1
  70. package/dist/constants/componentProps/flexWrap.js +1 -1
  71. package/dist/constants/componentProps/gridAlign.js +1 -1
  72. package/dist/constants/componentProps/gridAlignSelf.js +1 -1
  73. package/dist/constants/componentProps/gridJustifyItems.js +1 -1
  74. package/dist/constants/componentProps/gridJustifySelf.js +1 -1
  75. package/dist/constants/componentProps/horizontalContentAlign.js +1 -1
  76. package/dist/constants/componentProps/horizontalResizeMode.js +1 -1
  77. package/dist/constants/componentProps/iconSize.js +1 -1
  78. package/dist/constants/componentProps/position.js +1 -1
  79. package/dist/constants/componentProps/resizeMode.js +1 -1
  80. package/dist/constants/componentProps/shape.js +1 -1
  81. package/dist/constants/componentProps/size.js +1 -1
  82. package/dist/constants/componentProps/stacking.js +1 -1
  83. package/dist/constants/componentProps/strokeColor.js +1 -1
  84. package/dist/constants/componentProps/textAlign.js +1 -1
  85. package/dist/constants/componentProps/textColor.js +1 -1
  86. package/dist/constants/componentProps/textColorActive.js +1 -1
  87. package/dist/constants/componentProps/textColorHover.js +1 -1
  88. package/dist/constants/componentProps/textGradient.js +1 -1
  89. package/dist/constants/componentProps/textStyle.js +1 -1
  90. package/dist/constants/componentProps/textTag.js +1 -1
  91. package/dist/constants/componentProps/textWeight.js +1 -1
  92. package/dist/constants/componentProps/titleSize.js +1 -1
  93. package/dist/constants/componentProps/type.js +1 -1
  94. package/dist/constants/componentProps/underline.js +1 -1
  95. package/dist/constants/componentProps/verticalContentAlign.js +1 -1
  96. package/dist/constants/componentProps/verticalResizeMode.js +1 -1
  97. package/dist/constants/componentProps/width.js +1 -1
  98. package/dist/constants/componentProps/wrap.js +1 -1
  99. package/dist/context/Notifications.js +38 -53
  100. package/dist/context/UIContext.js +14 -17
  101. package/dist/css/components/Choice/Choice.css +8 -0
  102. package/dist/css/components/Code/Code.css +30 -43
  103. package/dist/css/components/DatePicker/DatePicker.css +39 -0
  104. package/dist/css/components/Notification/Notification.css +22 -10
  105. package/dist/css/components/Notification/css/__item/notification__item_set_form.css +15 -0
  106. package/dist/css/components/Swiper/Swiper.css +6 -3
  107. package/dist/css/components/Tab/Tab.css +10 -1
  108. package/dist/css/styles/align/align.css +0 -1
  109. package/dist/css/styles/align/align_horizontal-reverse.css +6 -6
  110. package/dist/css/styles/align/align_horizontal.css +9 -9
  111. package/dist/css/styles/border-color/border-color.css +15 -1
  112. package/dist/css/styles/column-gap/column-gap.css +3 -1
  113. package/dist/css/styles/gap/gap.css +3 -1
  114. package/dist/css/styles/row-gap/row-gap.css +3 -1
  115. package/dist/hooks/useDeviceTargetClass.js +19 -18
  116. package/dist/hooks/useMediaQueries.js +7 -10
  117. package/dist/hooks/useStyles.js +127 -8
  118. package/package.json +30 -29
  119. package/dist/useStyles-e4accb53.js +0 -153
@@ -6,7 +6,7 @@ var clsx = require('clsx');
6
6
  var fill = require('../constants/componentProps/fill.js');
7
7
  var shape = require('../constants/componentProps/shape.js');
8
8
  var width = require('../constants/componentProps/width.js');
9
- var useStyles = require('../useStyles-e4accb53.js');
9
+ var useStyles = require('../hooks/useStyles.js');
10
10
  var useDeviceTargetClass = require('../hooks/useDeviceTargetClass.js');
11
11
  var Slider = require('rc-slider');
12
12
  require('lodash/camelCase');
@@ -26,59 +26,62 @@ var clsx__default = /*#__PURE__*/_interopDefault(clsx);
26
26
  var Slider__default = /*#__PURE__*/_interopDefault(Slider);
27
27
 
28
28
  function RangeSlider(props) {
29
- var after = props.after,
30
- before = props.before,
31
- children = props.children,
32
- className = props.className,
33
- set = props.set,
34
- disabled = props.disabled,
35
- min = props.min,
36
- max = props.max,
37
- pushable = props.pushable,
38
- range = props.range,
39
- vertical = props.vertical,
40
- value = props.value,
41
- onChangeSlider = props.onChangeSlider;
42
- var fillClass = useDeviceTargetClass.useDeviceTargetClass(props, {
29
+ const {
30
+ after,
31
+ before,
32
+ children,
33
+ className,
34
+ set,
35
+ disabled,
36
+ min,
37
+ max,
38
+ pushable,
39
+ range,
40
+ vertical,
41
+ value,
42
+ onChangeSlider
43
+ } = props;
44
+ const fillClass = useDeviceTargetClass.useDeviceTargetClass(props, {
43
45
  prefix: 'fill_',
44
46
  propsKey: 'fill'
45
47
  });
46
- var trackFillClass = useDeviceTargetClass.useDeviceTargetClass(props, {
48
+ const trackFillClass = useDeviceTargetClass.useDeviceTargetClass(props, {
47
49
  prefix: 'range-slider-track-fill_',
48
50
  propsKey: 'fillTrack'
49
51
  });
50
- var railFillClass = useDeviceTargetClass.useDeviceTargetClass(props, {
52
+ const railFillClass = useDeviceTargetClass.useDeviceTargetClass(props, {
51
53
  prefix: 'range-slider-rail-fill_',
52
54
  propsKey: 'fillRail'
53
55
  });
54
- var handleFillClass = useDeviceTargetClass.useDeviceTargetClass(props, {
56
+ const handleFillClass = useDeviceTargetClass.useDeviceTargetClass(props, {
55
57
  prefix: 'range-slider-handle-fill_',
56
58
  propsKey: 'fillHandle'
57
59
  });
58
- var handleFillHoverClass = useDeviceTargetClass.useDeviceTargetClass(props, {
60
+ const handleFillHoverClass = useDeviceTargetClass.useDeviceTargetClass(props, {
59
61
  prefix: 'range-slider-handle-fill-hover_',
60
62
  propsKey: 'fillHandleHover'
61
63
  });
62
- var handleDraggingFillClass = useDeviceTargetClass.useDeviceTargetClass(props, {
64
+ const handleDraggingFillClass = useDeviceTargetClass.useDeviceTargetClass(props, {
63
65
  prefix: 'range-slider-handle-dragging-fill_',
64
66
  propsKey: 'fillHandleDragging'
65
67
  });
66
- var handleDraggingFillHoverClass = useDeviceTargetClass.useDeviceTargetClass(props, {
68
+ const handleDraggingFillHoverClass = useDeviceTargetClass.useDeviceTargetClass(props, {
67
69
  prefix: 'range-slider-handle-dragging-fill-hover_',
68
70
  propsKey: 'fillHandleDraggingHover'
69
71
  });
70
- var shapeClass = useDeviceTargetClass.useDeviceTargetClass(props, {
72
+ const shapeClass = useDeviceTargetClass.useDeviceTargetClass(props, {
71
73
  prefix: 'filter_shape_',
72
74
  propsKey: 'shape'
73
75
  });
74
- var widthClass = useDeviceTargetClass.useDeviceTargetClass(props, {
76
+ const widthClass = useDeviceTargetClass.useDeviceTargetClass(props, {
75
77
  prefix: 'width_',
76
78
  propsKey: 'width'
77
79
  });
78
- var _useStyles = useStyles.useStyles(props),
79
- rangeSliderStyles = _useStyles.styles;
80
+ const {
81
+ styles: rangeSliderStyles
82
+ } = useStyles.useStyles(props);
80
83
  return /*#__PURE__*/React__default.default.createElement("div", {
81
- className: clsx__default.default(className, 'range-slider', set && "range-slider_set_" + set, fillClass, trackFillClass, railFillClass, handleFillClass, handleFillHoverClass, handleDraggingFillClass, handleDraggingFillHoverClass, shapeClass, widthClass),
84
+ className: clsx__default.default(className, 'range-slider', set && `range-slider_set_${set}`, fillClass, trackFillClass, railFillClass, handleFillClass, handleFillHoverClass, handleDraggingFillClass, handleDraggingFillHoverClass, shapeClass, widthClass),
82
85
  style: rangeSliderStyles
83
86
  }, before && /*#__PURE__*/React__default.default.createElement("div", {
84
87
  className: "range-slider__before"
@@ -11,10 +11,12 @@ var React__default = /*#__PURE__*/_interopDefault(React);
11
11
  var clsx__default = /*#__PURE__*/_interopDefault(clsx);
12
12
 
13
13
  function Scrollbar(props) {
14
- var children = props.children,
15
- className = props.className,
16
- scrollHeight = props.scrollHeight,
17
- onScroll = props.onScroll;
14
+ const {
15
+ children,
16
+ className,
17
+ scrollHeight,
18
+ onScroll
19
+ } = props;
18
20
  return /*#__PURE__*/React__default.default.createElement(reactScrollbarsCustom.Scrollbar, {
19
21
  className: clsx__default.default('scrollbar', className),
20
22
  onScroll: onScroll,
@@ -7,7 +7,7 @@ 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
+ var useStyles = require('../hooks/useStyles.js');
11
11
  var index$2 = require('./Scrollbar.js');
12
12
  require('react-inlinesvg');
13
13
  require('../constants/componentProps/iconSize.js');
@@ -39,43 +39,45 @@ var React__default = /*#__PURE__*/_interopDefault(React);
39
39
  var PropTypes__default = /*#__PURE__*/_interopDefault(PropTypes);
40
40
  var clsx__default = /*#__PURE__*/_interopDefault(clsx);
41
41
 
42
- var SearchInput = /*#__PURE__*/React__default.default.forwardRef(function SearchInput(props, ref) {
43
- var after = props.after,
44
- before = props.before,
45
- className = props.className,
46
- size = props.size,
47
- dataTour = props.dataTour,
48
- iconAfter = props.iconAfter;
49
- props.iconAfterBgFill;
50
- var iconAfterFill = props.iconAfterFill,
51
- iconAfterSize = props.iconAfterSize,
52
- iconAfterStroke = props.iconAfterStroke,
53
- iconBefore = props.iconBefore;
54
- props.iconBeforeBgFill;
55
- var iconBeforeFill = props.iconBeforeFill,
56
- iconBeforeSize = props.iconBeforeSize,
57
- iconBeforeStroke = props.iconBeforeStroke,
58
- iconClear = props.iconClear;
59
- props.iconClearBgFill;
60
- var iconClearFill = props.iconClearFill,
61
- iconClearSize = props.iconClearSize;
62
- props.iconClearStroke;
63
- var placeholder = props.placeholder,
64
- type = props.type,
65
- value = props.value,
66
- onChange = props.onChange,
67
- onClickClean = props.onClickClean,
68
- onFocus = props.onFocus,
69
- onKeyDown = props.onKeyDown;
42
+ const SearchInput = /*#__PURE__*/React__default.default.forwardRef(function SearchInput(props, ref) {
43
+ const {
44
+ after,
45
+ before,
46
+ className,
47
+ size,
48
+ dataTour,
49
+ iconAfter,
50
+ iconAfterBgFill,
51
+ iconAfterFill,
52
+ iconAfterSize,
53
+ iconAfterStroke,
54
+ iconBefore,
55
+ iconBeforeBgFill,
56
+ iconBeforeFill,
57
+ iconBeforeSize,
58
+ iconBeforeStroke,
59
+ iconClear,
60
+ iconClearBgFill,
61
+ iconClearFill,
62
+ iconClearSize,
63
+ iconClearStroke,
64
+ placeholder,
65
+ type,
66
+ value,
67
+ onChange,
68
+ onClickClean,
69
+ onFocus,
70
+ onKeyDown
71
+ } = props;
70
72
 
71
73
  // const inputRef = useRef(null)
72
74
  // const [searchValue, setSearchValue] = useState('')
73
75
 
74
- var onChangeSearchInput = React.useCallback(function (event) {
76
+ const onChangeSearchInput = React.useCallback(event => {
75
77
  // setSearchValue(event.target.value)
76
78
  onChange && onChange(event.target.value);
77
79
  }, [onChange]);
78
- var onClickClearIcon = React.useCallback(function (event) {
80
+ const onClickClearIcon = React.useCallback(event => {
79
81
  event.stopPropagation();
80
82
  // setSearchValue('')
81
83
  onChange && onChange('');
@@ -91,74 +93,75 @@ var SearchInput = /*#__PURE__*/React__default.default.forwardRef(function Search
91
93
  // setValue: setSearchValue,
92
94
  // })
93
95
 
94
- var fillClass = useDeviceTargetClass.useDeviceTargetClass(props, {
96
+ const fillClass = useDeviceTargetClass.useDeviceTargetClass(props, {
95
97
  prefix: 'fill_',
96
98
  propsKey: 'fill'
97
99
  });
98
- var shapeClass = useDeviceTargetClass.useDeviceTargetClass(props, {
100
+ const shapeClass = useDeviceTargetClass.useDeviceTargetClass(props, {
99
101
  prefix: 'search_shape_',
100
102
  propsKey: 'shape'
101
103
  });
102
- var inputFillClass = useDeviceTargetClass.useDeviceTargetClass(props, {
104
+ const inputFillClass = useDeviceTargetClass.useDeviceTargetClass(props, {
103
105
  prefix: 'fill_',
104
106
  propsKey: 'inputFill'
105
107
  });
106
- var inputShapeClass = useDeviceTargetClass.useDeviceTargetClass(props, {
108
+ const inputShapeClass = useDeviceTargetClass.useDeviceTargetClass(props, {
107
109
  prefix: 'search-input_shape_',
108
110
  propsKey: 'inputShape'
109
111
  });
110
- var inputTextSizeClass = useDeviceTargetClass.useDeviceTargetClass(props, {
112
+ const inputTextSizeClass = useDeviceTargetClass.useDeviceTargetClass(props, {
111
113
  prefix: 'text_size_',
112
114
  propsKey: 'inputTextSize'
113
115
  });
114
- var inputWeightClass = useDeviceTargetClass.useDeviceTargetClass(props, {
116
+ const inputWeightClass = useDeviceTargetClass.useDeviceTargetClass(props, {
115
117
  prefix: 'text-weight_',
116
118
  propsKey: 'inputTextWeight'
117
119
  });
118
- var inputTextColorClass = useDeviceTargetClass.useDeviceTargetClass(props, {
120
+ const inputTextColorClass = useDeviceTargetClass.useDeviceTargetClass(props, {
119
121
  prefix: 'text-color_',
120
122
  propsKey: 'inputTextColor'
121
123
  });
122
- var inputTextStyleClass = useDeviceTargetClass.useDeviceTargetClass(props, {
124
+ const inputTextStyleClass = useDeviceTargetClass.useDeviceTargetClass(props, {
123
125
  prefix: 'text-style_',
124
126
  propsKey: 'inputTextStyle'
125
127
  });
126
- var placeholderSizeClass = useDeviceTargetClass.useDeviceTargetClass(props, {
128
+ const placeholderSizeClass = useDeviceTargetClass.useDeviceTargetClass(props, {
127
129
  propsKey: 'placeholderTextSize'
128
130
  });
129
- var placeholderWeightClass = useDeviceTargetClass.useDeviceTargetClass(props, {
131
+ const placeholderWeightClass = useDeviceTargetClass.useDeviceTargetClass(props, {
130
132
  propsKey: 'placeholderTextWeight'
131
133
  });
132
- var placeholderColorClass = useDeviceTargetClass.useDeviceTargetClass(props, {
134
+ const placeholderColorClass = useDeviceTargetClass.useDeviceTargetClass(props, {
133
135
  propsKey: 'placeholderTextColor'
134
136
  });
135
- var placeholderStyleClass = useDeviceTargetClass.useDeviceTargetClass(props, {
137
+ const placeholderStyleClass = useDeviceTargetClass.useDeviceTargetClass(props, {
136
138
  propsKey: 'placeholderTextStyle'
137
139
  });
138
- var widthClass = useDeviceTargetClass.useDeviceTargetClass(props, {
140
+ const widthClass = useDeviceTargetClass.useDeviceTargetClass(props, {
139
141
  prefix: 'width_',
140
142
  propsKey: 'width'
141
143
  });
142
- var borderColorClass = useDeviceTargetClass.useDeviceTargetClass(props, {
144
+ const borderColorClass = useDeviceTargetClass.useDeviceTargetClass(props, {
143
145
  prefix: 'border-color_',
144
146
  propsKey: 'borderColor'
145
147
  });
146
- var borderColorHoverClass = useDeviceTargetClass.useDeviceTargetClass(props, {
148
+ const borderColorHoverClass = useDeviceTargetClass.useDeviceTargetClass(props, {
147
149
  prefix: 'border-color_hover_',
148
150
  propsKey: 'borderHover'
149
151
  });
150
- var borderWidthClass = useDeviceTargetClass.useDeviceTargetClass(props, {
152
+ const borderWidthClass = useDeviceTargetClass.useDeviceTargetClass(props, {
151
153
  prefix: 'border-width_',
152
154
  propsKey: 'borderWidth'
153
155
  });
154
- var borderTypeClass = useDeviceTargetClass.useDeviceTargetClass(props, {
156
+ const borderTypeClass = useDeviceTargetClass.useDeviceTargetClass(props, {
155
157
  prefix: 'border-type_',
156
158
  propsKey: 'borderType'
157
159
  });
158
- var _useStyles = useStyles.useStyles(props),
159
- searchInputStyles = _useStyles.styles;
160
+ const {
161
+ styles: searchInputStyles
162
+ } = useStyles.useStyles(props);
160
163
  return /*#__PURE__*/React__default.default.createElement("label", {
161
- className: clsx__default.default(className, 'search-input', shapeClass, fillClass, widthClass, borderColorClass, borderColorHoverClass, borderWidthClass, borderTypeClass, size && "search-input_size_" + size, type && "search-input_type_" + type),
164
+ className: clsx__default.default(className, 'search-input', shapeClass, fillClass, widthClass, borderColorClass, borderColorHoverClass, borderWidthClass, borderTypeClass, size && `search-input_size_${size}`, type && `search-input_type_${type}`),
162
165
  "data-tour": dataTour,
163
166
  style: searchInputStyles
164
167
  }, before, iconBefore && /*#__PURE__*/React__default.default.createElement(index.Icon, {
@@ -245,23 +248,25 @@ SearchInput.defaultProps = {
245
248
  inputTextSize: 'm'
246
249
  };
247
250
 
248
- var SearchResult = /*#__PURE__*/React__default.default.forwardRef(function SearchResult(props, ref) {
249
- var children = props.children,
250
- className = props.className,
251
- after = props.after,
252
- before = props.before,
253
- scrollHeight = props.scrollHeight,
254
- type = props.type;
255
- var fillClass = useDeviceTargetClass.useDeviceTargetClass(props, {
251
+ const SearchResult = /*#__PURE__*/React__default.default.forwardRef(function SearchResult(props, ref) {
252
+ const {
253
+ children,
254
+ className,
255
+ after,
256
+ before,
257
+ scrollHeight,
258
+ type
259
+ } = props;
260
+ const fillClass = useDeviceTargetClass.useDeviceTargetClass(props, {
256
261
  prefix: 'fill_',
257
262
  propsKey: 'fill'
258
263
  });
259
264
  return /*#__PURE__*/React__default.default.createElement("div", {
260
- className: clsx__default.default(className, 'search-result', fillClass, type && "search-result_type_" + type)
265
+ className: clsx__default.default(className, 'search-result', fillClass, type && `search-result_type_${type}`)
261
266
  }, /*#__PURE__*/React__default.default.createElement("div", {
262
267
  className: "search-result__wrapper"
263
268
  }, before, React__default.default.Children.toArray(children).filter(Boolean).length && /*#__PURE__*/React__default.default.createElement(index$2.Scrollbar, {
264
- scrollHeight: scrollHeight ? scrollHeight + "px" : '300px'
269
+ scrollHeight: scrollHeight ? `${scrollHeight}px` : '300px'
265
270
  }, children), after));
266
271
  });
267
272
  SearchResult.propTypes = {
@@ -11,7 +11,7 @@ require('../constants/componentProps/textColorHover.js');
11
11
  require('../constants/componentProps/size.js');
12
12
  require('../constants/componentProps/textStyle.js');
13
13
  require('../constants/componentProps/textWeight.js');
14
- require('../useStyles-e4accb53.js');
14
+ require('../hooks/useStyles.js');
15
15
  require('lodash/camelCase');
16
16
  require('lodash/maxBy');
17
17
  require('lodash/upperFirst');
@@ -27,98 +27,92 @@ var React__default = /*#__PURE__*/_interopDefault(React);
27
27
  var PropTypes__default = /*#__PURE__*/_interopDefault(PropTypes);
28
28
  var clsx__default = /*#__PURE__*/_interopDefault(clsx);
29
29
 
30
- var Segmented = /*#__PURE__*/React__default.default.forwardRef(function (props, ref) {
31
- var name = props.name,
32
- className = props.className,
33
- type = props.type,
34
- segments = props.segments,
35
- activeSegment = props.activeSegment,
36
- setActiveSegment = props.setActiveSegment,
37
- size = props.size,
38
- labelTextColor = props.labelTextColor,
39
- labelTextActiveColor = props.labelTextActiveColor,
40
- labelTextSize = props.labelTextSize;
41
- var controlRef = React.useRef(null);
42
- var segmentsRefs = React.useMemo(function () {
43
- return new Map(segments.map(function (item) {
44
- return [item.value, /*#__PURE__*/React.createRef()];
45
- }));
46
- }, [segments]);
47
- React.useEffect(function () {
48
- var offsetWidth = 0;
49
- var offsetLeft = 0;
50
- var activeSegmentRef = segmentsRefs.get(activeSegment.value);
51
- if (activeSegmentRef != null && activeSegmentRef.current) {
30
+ const Segmented = /*#__PURE__*/React__default.default.forwardRef((props, ref) => {
31
+ const {
32
+ name,
33
+ className,
34
+ type,
35
+ segments,
36
+ activeSegment,
37
+ setActiveSegment,
38
+ size,
39
+ labelTextColor,
40
+ labelTextActiveColor,
41
+ labelTextSize
42
+ } = props;
43
+ const controlRef = React.useRef(null);
44
+ const segmentsRefs = React.useMemo(() => new Map(segments.map(item => [item.value, /*#__PURE__*/React.createRef()])), [segments]);
45
+ React.useEffect(() => {
46
+ let offsetWidth = 0;
47
+ let offsetLeft = 0;
48
+ const activeSegmentRef = segmentsRefs.get(activeSegment.value);
49
+ if (activeSegmentRef?.current) {
52
50
  offsetWidth = activeSegmentRef.current.offsetWidth;
53
51
  offsetLeft = activeSegmentRef.current.offsetLeft;
54
52
  }
55
- controlRef.current.style.setProperty('--segmented-active-width', offsetWidth + "px");
53
+ controlRef.current.style.setProperty('--segmented-active-width', `${offsetWidth}px`);
56
54
  // controlRef.current.style.setProperty('--segmented-active-x-pos', `${offsetLeft - 2}px`)
57
- controlRef.current.style.setProperty('--segmented-active-x-pos', offsetLeft + "px");
55
+ controlRef.current.style.setProperty('--segmented-active-x-pos', `${offsetLeft}px`);
58
56
  }, [activeSegment, segmentsRefs]);
59
- var indicatorFillClass = useDeviceTargetClass.useDeviceTargetClass(props, {
57
+ const indicatorFillClass = useDeviceTargetClass.useDeviceTargetClass(props, {
60
58
  prefix: 'fill_',
61
59
  propsKey: 'indicatorFill'
62
60
  });
63
- var borderColorClass = useDeviceTargetClass.useDeviceTargetClass(props, {
61
+ const borderColorClass = useDeviceTargetClass.useDeviceTargetClass(props, {
64
62
  prefix: 'border-color_',
65
63
  propsKey: 'borderColor'
66
64
  });
67
- var borderWidthClass = useDeviceTargetClass.useDeviceTargetClass(props, {
65
+ const borderWidthClass = useDeviceTargetClass.useDeviceTargetClass(props, {
68
66
  prefix: 'border-width_',
69
67
  propsKey: 'borderWidth'
70
68
  });
71
- var borderTypeClass = useDeviceTargetClass.useDeviceTargetClass(props, {
69
+ const borderTypeClass = useDeviceTargetClass.useDeviceTargetClass(props, {
72
70
  prefix: 'border-type_',
73
71
  propsKey: 'borderType'
74
72
  });
75
- var shapeClass = useDeviceTargetClass.useDeviceTargetClass(props, {
73
+ const shapeClass = useDeviceTargetClass.useDeviceTargetClass(props, {
76
74
  prefix: 'segmented_shape_',
77
75
  propsKey: 'shape'
78
76
  });
79
- var fillClass = useDeviceTargetClass.useDeviceTargetClass(props, {
77
+ const fillClass = useDeviceTargetClass.useDeviceTargetClass(props, {
80
78
  prefix: 'fill_',
81
79
  propsKey: 'fill'
82
80
  });
83
- var widthClass = useDeviceTargetClass.useDeviceTargetClass(props, {
81
+ const widthClass = useDeviceTargetClass.useDeviceTargetClass(props, {
84
82
  prefix: 'segmented_width_',
85
83
  propsKey: 'width'
86
84
  });
87
- var fillHoverClass = useDeviceTargetClass.useDeviceTargetClass(props, {
85
+ const fillHoverClass = useDeviceTargetClass.useDeviceTargetClass(props, {
88
86
  prefix: 'fill_hover_',
89
87
  propsKey: 'fillHover'
90
88
  });
91
89
  return /*#__PURE__*/React__default.default.createElement("div", {
92
- className: clsx__default.default(className, 'segmented', shapeClass, fillClass, widthClass, size && "segmented_size_" + size, type && "segmented_type_" + type),
90
+ className: clsx__default.default(className, 'segmented', shapeClass, fillClass, widthClass, size && `segmented_size_${size}`, type && `segmented_type_${type}`),
93
91
  ref: controlRef
94
92
  }, /*#__PURE__*/React__default.default.createElement("div", {
95
93
  className: "segmented__wrapper"
96
94
  }, /*#__PURE__*/React__default.default.createElement("div", {
97
95
  className: clsx__default.default('segmented__wrapper-inner', borderColorClass, borderWidthClass, borderTypeClass)
98
- }, segments == null ? void 0 : segments.map(function (item, i) {
99
- return /*#__PURE__*/React__default.default.createElement("div", {
100
- className: clsx__default.default('segmented__item', fillHoverClass, item.value === activeSegment.value && 'segmented__item_active'),
101
- key: item.value,
102
- ref: segmentsRefs.get(item.value)
103
- }, /*#__PURE__*/React__default.default.createElement("input", {
104
- checked: item.value === activeSegment.value,
105
- className: "segmented__item-radio",
106
- id: item.label,
107
- name: name,
108
- type: "radio",
109
- value: item.value,
110
- onChange: function onChange() {
111
- return setActiveSegment(item);
112
- }
113
- }), /*#__PURE__*/React__default.default.createElement("label", {
114
- className: clsx__default.default('segmented__item-label'),
115
- htmlFor: item.label
116
- }, /*#__PURE__*/React__default.default.createElement(index.Text, {
117
- className: "segmented__item-label-text",
118
- textColor: item.value === activeSegment.value ? labelTextActiveColor : labelTextColor,
119
- size: labelTextSize
120
- }, item.label)));
121
- }), /*#__PURE__*/React__default.default.createElement("div", {
96
+ }, segments?.map((item, i) => /*#__PURE__*/React__default.default.createElement("div", {
97
+ className: clsx__default.default('segmented__item', fillHoverClass, item.value === activeSegment.value && 'segmented__item_active'),
98
+ key: item.value,
99
+ ref: segmentsRefs.get(item.value)
100
+ }, /*#__PURE__*/React__default.default.createElement("input", {
101
+ checked: item.value === activeSegment.value,
102
+ className: "segmented__item-radio",
103
+ id: item.label,
104
+ name: name,
105
+ type: "radio",
106
+ value: item.value,
107
+ onChange: () => setActiveSegment(item)
108
+ }), /*#__PURE__*/React__default.default.createElement("label", {
109
+ className: clsx__default.default('segmented__item-label'),
110
+ htmlFor: item.label
111
+ }, /*#__PURE__*/React__default.default.createElement(index.Text, {
112
+ className: "segmented__item-label-text",
113
+ textColor: item.value === activeSegment.value ? labelTextActiveColor : labelTextColor,
114
+ size: labelTextSize
115
+ }, item.label)))), /*#__PURE__*/React__default.default.createElement("div", {
122
116
  className: clsx__default.default('segmented__indicator', indicatorFillClass)
123
117
  }, "\xA0"))));
124
118
  });