@salutejs/plasma-new-hope 0.145.0-dev.0 → 0.146.0-canary.1421.10850820002.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (220) hide show
  1. package/cjs/components/DatePicker/RangeDate/RangeDate.css +3 -2
  2. package/cjs/components/DatePicker/RangeDate/RangeDate.js +37 -2
  3. package/cjs/components/DatePicker/RangeDate/RangeDate.js.map +1 -1
  4. package/cjs/components/DatePicker/RangeDate/RangeDate.styles.js +7 -1
  5. package/cjs/components/DatePicker/RangeDate/RangeDate.styles.js.map +1 -1
  6. package/cjs/components/DatePicker/RangeDate/{RangeDate.styles_ww61h9.css → RangeDate.styles_z62207.css} +1 -0
  7. package/cjs/components/DatePicker/RangeDate/RangeDatePopover/RangeDatePopover.css +3 -2
  8. package/cjs/components/DatePicker/SingleDate/SingleDate.css +3 -2
  9. package/cjs/components/DatePicker/SingleDate/SingleDate.js +25 -2
  10. package/cjs/components/DatePicker/SingleDate/SingleDate.js.map +1 -1
  11. package/cjs/components/DatePicker/SingleDate/SingleDate.styles.js +7 -1
  12. package/cjs/components/DatePicker/SingleDate/SingleDate.styles.js.map +1 -1
  13. package/cjs/components/DatePicker/SingleDate/{SingleDate.styles_qt45m5.css → SingleDate.styles_1ecqwdo.css} +1 -0
  14. package/cjs/components/DatePicker/utils/setInitValue.js +12 -0
  15. package/cjs/components/DatePicker/utils/setInitValue.js.map +1 -0
  16. package/cjs/components/Slider/Slider.css +12 -10
  17. package/cjs/components/Slider/Slider.js +19 -6
  18. package/cjs/components/Slider/Slider.js.map +1 -1
  19. package/cjs/components/Slider/components/Double/Double.css +6 -5
  20. package/cjs/components/Slider/components/Double/Double.js +36 -2
  21. package/cjs/components/Slider/components/Double/Double.js.map +1 -1
  22. package/cjs/components/Slider/components/Double/Double.styles.js +7 -1
  23. package/cjs/components/Slider/components/Double/Double.styles.js.map +1 -1
  24. package/cjs/components/Slider/components/Double/{Double.styles_1jhda4u.css → Double.styles_1n0bups.css} +1 -0
  25. package/cjs/components/Slider/components/DoubleUncontrolled/DoubleUncontrolled.js +56 -0
  26. package/cjs/components/Slider/components/DoubleUncontrolled/DoubleUncontrolled.js.map +1 -0
  27. package/cjs/components/Slider/components/Single/Single.css +6 -5
  28. package/cjs/components/Slider/components/Single/Single.js +35 -12
  29. package/cjs/components/Slider/components/Single/Single.js.map +1 -1
  30. package/cjs/components/Slider/components/Single/Single.styles.js +7 -1
  31. package/cjs/components/Slider/components/Single/Single.styles.js.map +1 -1
  32. package/{es/components/Slider/components/Single/Single.styles_1r9f1e0.css → cjs/components/Slider/components/Single/Single.styles_7gcb47.css} +1 -0
  33. package/cjs/components/Slider/utils/index.js +6 -0
  34. package/cjs/components/Slider/utils/index.js.map +1 -1
  35. package/cjs/components/TextArea/TextArea.js +3 -2
  36. package/cjs/components/TextArea/TextArea.js.map +1 -1
  37. package/cjs/hooks/useForm.js +124 -0
  38. package/cjs/hooks/useForm.js.map +1 -0
  39. package/cjs/index.css +18 -14
  40. package/cjs/index.js +5 -0
  41. package/cjs/index.js.map +1 -1
  42. package/cjs/utils/index.js.map +1 -1
  43. package/cjs/utils/setRefList.js +28 -0
  44. package/cjs/utils/setRefList.js.map +1 -0
  45. package/emotion/cjs/components/DatePicker/RangeDate/RangeDate.js +37 -2
  46. package/emotion/cjs/components/DatePicker/RangeDate/RangeDate.styles.js +22 -10
  47. package/emotion/cjs/components/DatePicker/SingleDate/SingleDate.js +25 -2
  48. package/emotion/cjs/components/DatePicker/SingleDate/SingleDate.styles.js +23 -10
  49. package/emotion/cjs/components/DatePicker/utils/setInitValue.js +11 -0
  50. package/emotion/cjs/components/Slider/Slider.js +15 -6
  51. package/emotion/cjs/components/Slider/components/Double/Double.js +36 -2
  52. package/emotion/cjs/components/Slider/components/Double/Double.styles.js +28 -15
  53. package/emotion/cjs/components/Slider/components/DoubleUncontrolled/DoubleUncontrolled.js +60 -0
  54. package/emotion/cjs/components/Slider/components/DoubleUncontrolled/DoubleUncontrolled.types.js +5 -0
  55. package/emotion/cjs/components/Slider/components/Single/Single.js +30 -7
  56. package/emotion/cjs/components/Slider/components/Single/Single.styles.js +26 -13
  57. package/emotion/cjs/components/Slider/components/index.js +11 -0
  58. package/emotion/cjs/components/Slider/utils/index.js +6 -1
  59. package/emotion/cjs/components/TextArea/TextArea.js +3 -3
  60. package/emotion/cjs/examples/plasma_b2c/components/Form/Form.stories.tsx +195 -0
  61. package/emotion/cjs/hooks/index.js +8 -1
  62. package/emotion/cjs/hooks/useForm.js +130 -0
  63. package/emotion/cjs/utils/index.js +15 -0
  64. package/emotion/cjs/utils/setRefList.js +27 -0
  65. package/emotion/es/components/DatePicker/RangeDate/RangeDate.js +38 -3
  66. package/emotion/es/components/DatePicker/RangeDate/RangeDate.styles.js +21 -9
  67. package/emotion/es/components/DatePicker/SingleDate/SingleDate.js +26 -3
  68. package/emotion/es/components/DatePicker/SingleDate/SingleDate.styles.js +22 -9
  69. package/emotion/es/components/DatePicker/utils/setInitValue.js +5 -0
  70. package/emotion/es/components/Slider/Slider.js +16 -6
  71. package/emotion/es/components/Slider/components/Double/Double.js +38 -4
  72. package/emotion/es/components/Slider/components/Double/Double.styles.js +27 -14
  73. package/emotion/es/components/Slider/components/DoubleUncontrolled/DoubleUncontrolled.js +51 -0
  74. package/emotion/es/components/Slider/components/DoubleUncontrolled/DoubleUncontrolled.types.js +1 -0
  75. package/emotion/es/components/Slider/components/Single/Single.js +32 -9
  76. package/emotion/es/components/Slider/components/Single/Single.styles.js +25 -12
  77. package/emotion/es/components/Slider/components/index.js +1 -0
  78. package/emotion/es/components/Slider/utils/index.js +5 -0
  79. package/emotion/es/components/TextArea/TextArea.js +4 -4
  80. package/emotion/es/examples/plasma_b2c/components/Form/Form.stories.tsx +195 -0
  81. package/emotion/es/hooks/index.js +2 -1
  82. package/emotion/es/hooks/useForm.js +121 -0
  83. package/emotion/es/utils/index.js +1 -0
  84. package/emotion/es/utils/setRefList.js +20 -0
  85. package/es/components/DatePicker/RangeDate/RangeDate.css +3 -2
  86. package/es/components/DatePicker/RangeDate/RangeDate.js +38 -3
  87. package/es/components/DatePicker/RangeDate/RangeDate.js.map +1 -1
  88. package/es/components/DatePicker/RangeDate/RangeDate.styles.js +7 -2
  89. package/es/components/DatePicker/RangeDate/RangeDate.styles.js.map +1 -1
  90. package/es/components/DatePicker/RangeDate/{RangeDate.styles_ww61h9.css → RangeDate.styles_z62207.css} +1 -0
  91. package/es/components/DatePicker/RangeDate/RangeDatePopover/RangeDatePopover.css +3 -2
  92. package/es/components/DatePicker/SingleDate/SingleDate.css +3 -2
  93. package/es/components/DatePicker/SingleDate/SingleDate.js +26 -3
  94. package/es/components/DatePicker/SingleDate/SingleDate.js.map +1 -1
  95. package/es/components/DatePicker/SingleDate/SingleDate.styles.js +7 -2
  96. package/es/components/DatePicker/SingleDate/SingleDate.styles.js.map +1 -1
  97. package/es/components/DatePicker/SingleDate/{SingleDate.styles_qt45m5.css → SingleDate.styles_1ecqwdo.css} +1 -0
  98. package/es/components/DatePicker/utils/setInitValue.js +8 -0
  99. package/es/components/DatePicker/utils/setInitValue.js.map +1 -0
  100. package/es/components/Slider/Slider.css +12 -10
  101. package/es/components/Slider/Slider.js +20 -7
  102. package/es/components/Slider/Slider.js.map +1 -1
  103. package/es/components/Slider/components/Double/Double.css +6 -5
  104. package/es/components/Slider/components/Double/Double.js +38 -4
  105. package/es/components/Slider/components/Double/Double.js.map +1 -1
  106. package/es/components/Slider/components/Double/Double.styles.js +7 -2
  107. package/es/components/Slider/components/Double/Double.styles.js.map +1 -1
  108. package/es/components/Slider/components/Double/{Double.styles_1jhda4u.css → Double.styles_1n0bups.css} +1 -0
  109. package/es/components/Slider/components/DoubleUncontrolled/DoubleUncontrolled.js +52 -0
  110. package/es/components/Slider/components/DoubleUncontrolled/DoubleUncontrolled.js.map +1 -0
  111. package/es/components/Slider/components/Single/Single.css +6 -5
  112. package/es/components/Slider/components/Single/Single.js +32 -9
  113. package/es/components/Slider/components/Single/Single.js.map +1 -1
  114. package/es/components/Slider/components/Single/Single.styles.js +7 -2
  115. package/es/components/Slider/components/Single/Single.styles.js.map +1 -1
  116. package/{cjs/components/Slider/components/Single/Single.styles_1r9f1e0.css → es/components/Slider/components/Single/Single.styles_7gcb47.css} +1 -0
  117. package/es/components/Slider/utils/index.js +6 -1
  118. package/es/components/Slider/utils/index.js.map +1 -1
  119. package/es/components/TextArea/TextArea.js +3 -2
  120. package/es/components/TextArea/TextArea.js.map +1 -1
  121. package/es/hooks/useForm.js +120 -0
  122. package/es/hooks/useForm.js.map +1 -0
  123. package/es/index.css +18 -14
  124. package/es/index.js +2 -0
  125. package/es/index.js.map +1 -1
  126. package/es/utils/index.js.map +1 -1
  127. package/es/utils/setRefList.js +23 -0
  128. package/es/utils/setRefList.js.map +1 -0
  129. package/package.json +3 -2
  130. package/styled-components/cjs/components/DatePicker/RangeDate/RangeDate.js +37 -2
  131. package/styled-components/cjs/components/DatePicker/RangeDate/RangeDate.styles.js +5 -2
  132. package/styled-components/cjs/components/DatePicker/SingleDate/SingleDate.js +25 -2
  133. package/styled-components/cjs/components/DatePicker/SingleDate/SingleDate.styles.js +5 -2
  134. package/styled-components/cjs/components/DatePicker/utils/setInitValue.js +11 -0
  135. package/styled-components/cjs/components/Slider/Slider.js +15 -6
  136. package/styled-components/cjs/components/Slider/components/Double/Double.js +36 -2
  137. package/styled-components/cjs/components/Slider/components/Double/Double.styles.js +5 -2
  138. package/styled-components/cjs/components/Slider/components/DoubleUncontrolled/DoubleUncontrolled.js +60 -0
  139. package/styled-components/cjs/components/Slider/components/DoubleUncontrolled/DoubleUncontrolled.types.js +5 -0
  140. package/styled-components/cjs/components/Slider/components/Single/Single.js +30 -7
  141. package/styled-components/cjs/components/Slider/components/Single/Single.styles.js +5 -2
  142. package/styled-components/cjs/components/Slider/components/index.js +11 -0
  143. package/styled-components/cjs/components/Slider/utils/index.js +6 -1
  144. package/styled-components/cjs/components/TextArea/TextArea.js +2 -2
  145. package/styled-components/cjs/examples/plasma_b2c/components/Form/Form.stories.tsx +195 -0
  146. package/styled-components/cjs/hooks/index.js +8 -1
  147. package/styled-components/cjs/hooks/useForm.js +130 -0
  148. package/styled-components/cjs/utils/index.js +15 -0
  149. package/styled-components/cjs/utils/setRefList.js +27 -0
  150. package/styled-components/es/components/DatePicker/RangeDate/RangeDate.js +38 -3
  151. package/styled-components/es/components/DatePicker/RangeDate/RangeDate.styles.js +4 -1
  152. package/styled-components/es/components/DatePicker/SingleDate/SingleDate.js +26 -3
  153. package/styled-components/es/components/DatePicker/SingleDate/SingleDate.styles.js +4 -1
  154. package/styled-components/es/components/DatePicker/utils/setInitValue.js +5 -0
  155. package/styled-components/es/components/Slider/Slider.js +16 -6
  156. package/styled-components/es/components/Slider/components/Double/Double.js +38 -4
  157. package/styled-components/es/components/Slider/components/Double/Double.styles.js +4 -1
  158. package/styled-components/es/components/Slider/components/DoubleUncontrolled/DoubleUncontrolled.js +51 -0
  159. package/styled-components/es/components/Slider/components/DoubleUncontrolled/DoubleUncontrolled.types.js +1 -0
  160. package/styled-components/es/components/Slider/components/Single/Single.js +32 -9
  161. package/styled-components/es/components/Slider/components/Single/Single.styles.js +4 -1
  162. package/styled-components/es/components/Slider/components/index.js +1 -0
  163. package/styled-components/es/components/Slider/utils/index.js +5 -0
  164. package/styled-components/es/components/TextArea/TextArea.js +3 -3
  165. package/styled-components/es/examples/plasma_b2c/components/Form/Form.stories.tsx +195 -0
  166. package/styled-components/es/hooks/index.js +2 -1
  167. package/styled-components/es/hooks/useForm.js +121 -0
  168. package/styled-components/es/utils/index.js +1 -0
  169. package/styled-components/es/utils/setRefList.js +20 -0
  170. package/types/components/DatePicker/RangeDate/RangeDate.d.ts +2 -0
  171. package/types/components/DatePicker/RangeDate/RangeDate.d.ts.map +1 -1
  172. package/types/components/DatePicker/RangeDate/RangeDate.styles.d.ts +1 -0
  173. package/types/components/DatePicker/RangeDate/RangeDate.styles.d.ts.map +1 -1
  174. package/types/components/DatePicker/RangeDate/RangeDate.types.d.ts +4 -0
  175. package/types/components/DatePicker/RangeDate/RangeDate.types.d.ts.map +1 -1
  176. package/types/components/DatePicker/SingleDate/SingleDate.d.ts.map +1 -1
  177. package/types/components/DatePicker/SingleDate/SingleDate.styles.d.ts +1 -0
  178. package/types/components/DatePicker/SingleDate/SingleDate.styles.d.ts.map +1 -1
  179. package/types/components/DatePicker/SingleDate/SingleDate.types.d.ts +4 -0
  180. package/types/components/DatePicker/SingleDate/SingleDate.types.d.ts.map +1 -1
  181. package/types/components/DatePicker/utils/setInitValue.d.ts +2 -0
  182. package/types/components/DatePicker/utils/setInitValue.d.ts.map +1 -0
  183. package/types/components/Slider/Slider.d.ts.map +1 -1
  184. package/types/components/Slider/Slider.types.d.ts +2 -2
  185. package/types/components/Slider/Slider.types.d.ts.map +1 -1
  186. package/types/components/Slider/components/Double/Double.d.ts.map +1 -1
  187. package/types/components/Slider/components/Double/Double.styles.d.ts +1 -0
  188. package/types/components/Slider/components/Double/Double.styles.d.ts.map +1 -1
  189. package/types/components/Slider/components/Double/Double.types.d.ts +2 -0
  190. package/types/components/Slider/components/Double/Double.types.d.ts.map +1 -1
  191. package/types/components/Slider/components/DoubleUncontrolled/DoubleUncontrolled.d.ts +4 -0
  192. package/types/components/Slider/components/DoubleUncontrolled/DoubleUncontrolled.d.ts.map +1 -0
  193. package/types/components/Slider/components/DoubleUncontrolled/DoubleUncontrolled.types.d.ts +5 -0
  194. package/types/components/Slider/components/DoubleUncontrolled/DoubleUncontrolled.types.d.ts.map +1 -0
  195. package/types/components/Slider/components/Single/Single.d.ts.map +1 -1
  196. package/types/components/Slider/components/Single/Single.styles.d.ts +1 -0
  197. package/types/components/Slider/components/Single/Single.styles.d.ts.map +1 -1
  198. package/types/components/Slider/components/Single/Single.types.d.ts +3 -1
  199. package/types/components/Slider/components/Single/Single.types.d.ts.map +1 -1
  200. package/types/components/Slider/components/index.d.ts +2 -0
  201. package/types/components/Slider/components/index.d.ts.map +1 -1
  202. package/types/components/Slider/utils/index.d.ts +1 -0
  203. package/types/components/Slider/utils/index.d.ts.map +1 -1
  204. package/types/components/TextArea/TextArea.d.ts.map +1 -1
  205. package/types/examples/plasma_b2c/components/DatePicker/DatePicker.d.ts +1 -0
  206. package/types/examples/plasma_b2c/components/DatePicker/DatePicker.d.ts.map +1 -1
  207. package/types/examples/plasma_b2c/components/Slider/Slider.d.ts +3 -1
  208. package/types/examples/plasma_b2c/components/Slider/Slider.d.ts.map +1 -1
  209. package/types/examples/plasma_web/components/DatePicker/DatePicker.d.ts +1 -0
  210. package/types/examples/plasma_web/components/DatePicker/DatePicker.d.ts.map +1 -1
  211. package/types/examples/plasma_web/components/Slider/Slider.d.ts +3 -1
  212. package/types/examples/plasma_web/components/Slider/Slider.d.ts.map +1 -1
  213. package/types/hooks/index.d.ts +1 -0
  214. package/types/hooks/index.d.ts.map +1 -1
  215. package/types/hooks/useForm.d.ts +10 -0
  216. package/types/hooks/useForm.d.ts.map +1 -0
  217. package/types/utils/index.d.ts +1 -0
  218. package/types/utils/index.d.ts.map +1 -1
  219. package/types/utils/setRefList.d.ts +6 -0
  220. package/types/utils/setRefList.d.ts.map +1 -0
@@ -3,17 +3,18 @@ import React, { useState, useRef, useEffect, useCallback } from 'react';
3
3
  import { SliderBase } from '../SliderBase/SliderBase.js';
4
4
  import { Handler } from '../../ui/Handler/Handler.js';
5
5
  import '@linaria/react';
6
- import { sizeData } from '../../utils/index.js';
6
+ import { setInitValue, sizeData } from '../../utils/index.js';
7
7
  import { cx } from '../../../../utils/index.js';
8
8
  import { classes } from '../../Slider.tokens.js';
9
- import { SingleWrapper, LabelWrapper, LabelContentLeft, Label, SliderBaseWrapper, StyledRangeValue } from './Single.styles.js';
9
+ import { SingleWrapper, LabelWrapper, LabelContentLeft, Label, SliderBaseWrapper, StyledRangeValue, InputHidden } from './Single.styles.js';
10
10
  import { isNumber } from '../../../../utils/isNumber.js';
11
11
 
12
- var _excluded = ["min", "max", "value", "disabled", "onChangeCommitted", "onChange", "ariaLabel", "label", "labelContentLeft", "showRangeValues", "showCurrentValue", "hideMinValueDiff", "hideMaxValueDiff", "labelPlacement", "rangeValuesPlacement", "multipleStepSize", "size"];
12
+ var _excluded = ["min", "max", "value", "disabled", "onChangeCommitted", "onChange", "ariaLabel", "label", "labelContentLeft", "showRangeValues", "showCurrentValue", "hideMinValueDiff", "hideMaxValueDiff", "labelPlacement", "rangeValuesPlacement", "multipleStepSize", "size", "name"];
13
13
  var SingleSlider = function SingleSlider(_ref) {
14
14
  var min = _ref.min,
15
15
  max = _ref.max,
16
- value = _ref.value,
16
+ _ref$value = _ref.value,
17
+ value = _ref$value === void 0 ? min : _ref$value,
17
18
  disabled = _ref.disabled,
18
19
  onChangeCommitted = _ref.onChangeCommitted,
19
20
  onChange = _ref.onChange,
@@ -32,6 +33,7 @@ var SingleSlider = function SingleSlider(_ref) {
32
33
  multipleStepSize = _ref$multipleStepSize === void 0 ? 10 : _ref$multipleStepSize,
33
34
  _ref$size = _ref.size,
34
35
  size = _ref$size === void 0 ? 'm' : _ref$size,
36
+ name = _ref.name,
35
37
  rest = _objectWithoutProperties(_ref, _excluded);
36
38
  var _useState = useState({
37
39
  xHandle: 0,
@@ -41,6 +43,7 @@ var SingleSlider = function SingleSlider(_ref) {
41
43
  _useState2 = _slicedToArray(_useState, 2),
42
44
  state = _useState2[0],
43
45
  setState = _useState2[1];
46
+ var innerRef = useRef(null);
44
47
  var _useState3 = useState(0),
45
48
  _useState4 = _slicedToArray(_useState3, 2),
46
49
  startOffset = _useState4[0],
@@ -57,14 +60,14 @@ var SingleSlider = function SingleSlider(_ref) {
57
60
  var hasLabelContent = label || labelContentLeft;
58
61
  var labelPlacementClass = labelPlacement === 'outer' ? classes.labelPlacementOuter : classes.labelPlacementInner;
59
62
  var rangeValuesPlacementClass = rangeValuesPlacement === 'outer' ? classes.rangeValuesPlacementOuter : classes.rangeValuesPlacementInner;
60
- var hideMinValueDiffClass = hideMinValueDiff && value - min <= hideMinValueDiff ? classes.hideMinValue : '';
61
- var hideMaxValueDiffClass = hideMaxValueDiff && max - value <= hideMaxValueDiff ? classes.hideMaxValue : '';
63
+ var hideMinValueDiffClass = hideMinValueDiff && dragValue - min <= hideMinValueDiff ? classes.hideMinValue : '';
64
+ var hideMaxValueDiffClass = hideMaxValueDiff && max - dragValue <= hideMaxValueDiff ? classes.hideMaxValue : '';
62
65
  var startLabelRef = useRef(null);
63
66
  var endLabelRef = useRef(null);
64
67
  var activeFirstValue = dragValue === min ? classes.activeRangeValue : undefined;
65
68
  var activeSecondValue = dragValue === max ? classes.activeRangeValue : undefined;
66
69
  useEffect(function () {
67
- var localValue = Math.min(Math.max(value, min), max) - min;
70
+ var localValue = Math.min(Math.max(dragValue, min), max) - min;
68
71
  if (rangeValuesPlacement === 'outer') {
69
72
  var _startLabelRef$curren, _endLabelRef$current;
70
73
  var startWidth = (_startLabelRef$curren = startLabelRef.current) === null || _startLabelRef$curren === void 0 ? void 0 : _startLabelRef$curren.offsetWidth;
@@ -85,7 +88,21 @@ var SingleSlider = function SingleSlider(_ref) {
85
88
  railFillWidth: stepSize * localValue
86
89
  });
87
90
  });
88
- }, [value, labelPlacement, stepSize, rangeValuesPlacement, min, max, setStartOffset, setEndOffset]);
91
+ }, [dragValue, labelPlacement, stepSize, rangeValuesPlacement, min, max, setStartOffset, setEndOffset]);
92
+ useEffect(function () {
93
+ if (innerRef.current) {
94
+ innerRef.current.addEventListener('setInitValue', function (e) {
95
+ return setDragValue(setInitValue(e));
96
+ });
97
+ }
98
+ return function () {
99
+ if (innerRef.current) {
100
+ innerRef.current.addEventListener('setInitValue', function (e) {
101
+ return setDragValue(setInitValue(e));
102
+ });
103
+ }
104
+ };
105
+ }, [innerRef]);
89
106
  var setStepSize = useCallback(function (newStepSize) {
90
107
  setState(function (prevState) {
91
108
  return _objectSpread2(_objectSpread2({}, prevState), {}, {
@@ -153,7 +170,13 @@ var SingleSlider = function SingleSlider(_ref) {
153
170
  })), showRangeValues && /*#__PURE__*/React.createElement(StyledRangeValue, {
154
171
  ref: endLabelRef,
155
172
  className: cx(classes.maxRangeValue, hideMaxValueDiffClass, activeSecondValue)
156
- }, max)));
173
+ }, max)), /*#__PURE__*/React.createElement(InputHidden, {
174
+ name: name,
175
+ type: "number",
176
+ datatype: "slider-single",
177
+ value: dragValue,
178
+ ref: innerRef
179
+ }));
157
180
  };
158
181
 
159
182
  export { SingleSlider };
@@ -1 +1 @@
1
- {"version":3,"file":"Single.js","sources":["../../../../../src/components/Slider/components/Single/Single.tsx"],"sourcesContent":["import React, { useCallback, useEffect, useState, useRef } from 'react';\nimport type { FC } from 'react';\n\nimport { SliderBase } from '../SliderBase/SliderBase';\nimport { Handler } from '../../ui';\nimport { sizeData } from '../../utils';\nimport type { HandlerProps } from '../../ui';\nimport { cx, isNumber } from '../../../../utils';\nimport { classes } from '../../Slider.tokens';\n\nimport type { SingleSliderProps } from './Single.types';\nimport {\n Label,\n LabelContentLeft,\n LabelWrapper,\n SingleWrapper,\n SliderBaseWrapper,\n StyledRangeValue,\n} from './Single.styles';\n\nexport const SingleSlider: FC<SingleSliderProps> = ({\n min,\n max,\n value,\n disabled,\n onChangeCommitted,\n onChange,\n ariaLabel,\n label,\n labelContentLeft,\n showRangeValues,\n showCurrentValue,\n hideMinValueDiff,\n hideMaxValueDiff,\n labelPlacement = 'outer',\n rangeValuesPlacement = 'outer',\n multipleStepSize = 10,\n size = 'm',\n ...rest\n}) => {\n const [state, setState] = useState({\n xHandle: 0,\n stepSize: 0,\n railFillWidth: 0,\n });\n\n const [startOffset, setStartOffset] = useState(0);\n const [endOffset, setEndOffset] = useState(0);\n\n const [dragValue, setDragValue] = useState(value);\n\n const { stepSize } = state;\n\n const hasLabelContent = label || labelContentLeft;\n const labelPlacementClass = labelPlacement === 'outer' ? classes.labelPlacementOuter : classes.labelPlacementInner;\n const rangeValuesPlacementClass =\n rangeValuesPlacement === 'outer' ? classes.rangeValuesPlacementOuter : classes.rangeValuesPlacementInner;\n const hideMinValueDiffClass = hideMinValueDiff && value - min <= hideMinValueDiff ? classes.hideMinValue : '';\n const hideMaxValueDiffClass = hideMaxValueDiff && max - value <= hideMaxValueDiff ? classes.hideMaxValue : '';\n\n const startLabelRef = useRef<HTMLDivElement>(null);\n const endLabelRef = useRef<HTMLDivElement>(null);\n\n const activeFirstValue = dragValue === min ? classes.activeRangeValue : undefined;\n const activeSecondValue = dragValue === max ? classes.activeRangeValue : undefined;\n\n useEffect(() => {\n const localValue = Math.min(Math.max(value, min), max) - min;\n\n if (rangeValuesPlacement === 'outer') {\n const startWidth = startLabelRef.current?.offsetWidth;\n if (isNumber(startWidth)) {\n setStartOffset(Number(startWidth));\n }\n\n const endWidth = endLabelRef.current?.offsetWidth;\n if (isNumber(endWidth)) {\n setEndOffset(Number(endWidth));\n }\n } else {\n setStartOffset(1);\n setEndOffset(1);\n }\n\n setState((prevState) => ({\n ...prevState,\n xHandle: stepSize * localValue,\n railFillWidth: stepSize * localValue,\n }));\n }, [value, labelPlacement, stepSize, rangeValuesPlacement, min, max, setStartOffset, setEndOffset]);\n\n const setStepSize = useCallback(\n (newStepSize: number) => {\n setState((prevState) => ({\n ...prevState,\n stepSize: newStepSize,\n }));\n },\n [setState],\n );\n\n const onHandleChange: NonNullable<HandlerProps['onChange']> = (handleValue, data) => {\n const newHandleXPosition = data.x;\n const newValue = Math.round(handleValue);\n\n setState((prevState) => ({\n ...prevState,\n railFillWidth: newHandleXPosition,\n }));\n\n if (onChange) {\n onChange(newValue);\n }\n\n setDragValue(newValue);\n };\n\n const onHandleChangeCommitted: NonNullable<HandlerProps['onChangeCommitted']> = (handleValue, data) => {\n const newValue = Math.round(handleValue);\n\n if (onChangeCommitted) {\n onChangeCommitted(newValue);\n }\n\n setState((prevState) => ({\n ...prevState,\n xHandle: data.lastX,\n railFillWidth: data.lastX,\n }));\n\n setDragValue(newValue);\n };\n\n return (\n <SingleWrapper className={labelPlacementClass}>\n {hasLabelContent && (\n <LabelWrapper>\n {labelContentLeft && <LabelContentLeft>{labelContentLeft}</LabelContentLeft>}\n {label && <Label>{label}</Label>}\n </LabelWrapper>\n )}\n <SliderBaseWrapper className={rangeValuesPlacementClass}>\n {showRangeValues && (\n <StyledRangeValue ref={startLabelRef} className={cx(hideMinValueDiffClass, activeFirstValue)}>\n {min}\n </StyledRangeValue>\n )}\n <SliderBase\n min={min}\n max={max}\n disabled={disabled}\n setStepSize={setStepSize}\n onChange={onHandleChangeCommitted}\n railFillWidth={state.railFillWidth}\n settings={sizeData[size]}\n labelPlacement={labelPlacement}\n rangeValuesPlacement={rangeValuesPlacement}\n {...rest}\n >\n <Handler\n stepSize={state.stepSize}\n onChangeCommitted={onHandleChangeCommitted}\n onChange={onHandleChange}\n xPosition={state.xHandle}\n min={min}\n max={max}\n startOffset={startOffset}\n endOffset={endOffset}\n value={dragValue}\n disabled={disabled}\n ariaLabel={ariaLabel}\n multipleStepSize={multipleStepSize}\n showCurrentValue={showCurrentValue}\n />\n </SliderBase>\n {showRangeValues && (\n <StyledRangeValue\n ref={endLabelRef}\n className={cx(classes.maxRangeValue, hideMaxValueDiffClass, activeSecondValue)}\n >\n {max}\n </StyledRangeValue>\n )}\n </SliderBaseWrapper>\n </SingleWrapper>\n );\n};\n"],"names":["SingleSlider","_ref","min","max","value","disabled","onChangeCommitted","onChange","ariaLabel","label","labelContentLeft","showRangeValues","showCurrentValue","hideMinValueDiff","hideMaxValueDiff","_ref$labelPlacement","labelPlacement","_ref$rangeValuesPlace","rangeValuesPlacement","_ref$multipleStepSize","multipleStepSize","_ref$size","size","rest","_objectWithoutProperties","_excluded","_useState","useState","xHandle","stepSize","railFillWidth","_useState2","_slicedToArray","state","setState","_useState3","_useState4","startOffset","setStartOffset","_useState5","_useState6","endOffset","setEndOffset","_useState7","_useState8","dragValue","setDragValue","hasLabelContent","labelPlacementClass","classes","labelPlacementOuter","labelPlacementInner","rangeValuesPlacementClass","rangeValuesPlacementOuter","rangeValuesPlacementInner","hideMinValueDiffClass","hideMinValue","hideMaxValueDiffClass","hideMaxValue","startLabelRef","useRef","endLabelRef","activeFirstValue","activeRangeValue","undefined","activeSecondValue","useEffect","localValue","Math","_startLabelRef$curren","_endLabelRef$current","startWidth","current","offsetWidth","isNumber","Number","endWidth","prevState","_objectSpread","setStepSize","useCallback","newStepSize","onHandleChange","handleValue","data","newHandleXPosition","x","newValue","round","onHandleChangeCommitted","lastX","React","createElement","SingleWrapper","className","LabelWrapper","LabelContentLeft","Label","SliderBaseWrapper","StyledRangeValue","ref","cx","SliderBase","_extends","settings","sizeData","Handler","xPosition","maxRangeValue"],"mappings":"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"}
1
+ {"version":3,"file":"Single.js","sources":["../../../../../src/components/Slider/components/Single/Single.tsx"],"sourcesContent":["import React, { useCallback, useEffect, useState, useRef } from 'react';\nimport type { FC } from 'react';\n\nimport { SliderBase } from '../SliderBase/SliderBase';\nimport { Handler } from '../../ui';\nimport { setInitValue, sizeData } from '../../utils';\nimport type { HandlerProps } from '../../ui';\nimport { cx, isNumber } from '../../../../utils';\nimport { classes } from '../../Slider.tokens';\n\nimport type { SingleSliderProps } from './Single.types';\nimport {\n Label,\n LabelContentLeft,\n LabelWrapper,\n SingleWrapper,\n SliderBaseWrapper,\n StyledRangeValue,\n InputHidden,\n} from './Single.styles';\n\nexport const SingleSlider: FC<SingleSliderProps> = ({\n min,\n max,\n value = min,\n disabled,\n onChangeCommitted,\n onChange,\n ariaLabel,\n label,\n labelContentLeft,\n showRangeValues,\n showCurrentValue,\n hideMinValueDiff,\n hideMaxValueDiff,\n labelPlacement = 'outer',\n rangeValuesPlacement = 'outer',\n multipleStepSize = 10,\n size = 'm',\n name,\n ...rest\n}) => {\n const [state, setState] = useState({\n xHandle: 0,\n stepSize: 0,\n railFillWidth: 0,\n });\n\n const innerRef = useRef<HTMLInputElement>(null);\n\n const [startOffset, setStartOffset] = useState(0);\n const [endOffset, setEndOffset] = useState(0);\n\n const [dragValue, setDragValue] = useState(value);\n\n const { stepSize } = state;\n\n const hasLabelContent = label || labelContentLeft;\n const labelPlacementClass = labelPlacement === 'outer' ? classes.labelPlacementOuter : classes.labelPlacementInner;\n const rangeValuesPlacementClass =\n rangeValuesPlacement === 'outer' ? classes.rangeValuesPlacementOuter : classes.rangeValuesPlacementInner;\n const hideMinValueDiffClass = hideMinValueDiff && dragValue - min <= hideMinValueDiff ? classes.hideMinValue : '';\n const hideMaxValueDiffClass = hideMaxValueDiff && max - dragValue <= hideMaxValueDiff ? classes.hideMaxValue : '';\n\n const startLabelRef = useRef<HTMLDivElement>(null);\n const endLabelRef = useRef<HTMLDivElement>(null);\n\n const activeFirstValue = dragValue === min ? classes.activeRangeValue : undefined;\n const activeSecondValue = dragValue === max ? classes.activeRangeValue : undefined;\n\n useEffect(() => {\n const localValue = Math.min(Math.max(dragValue, min), max) - min;\n\n if (rangeValuesPlacement === 'outer') {\n const startWidth = startLabelRef.current?.offsetWidth;\n if (isNumber(startWidth)) {\n setStartOffset(Number(startWidth));\n }\n\n const endWidth = endLabelRef.current?.offsetWidth;\n if (isNumber(endWidth)) {\n setEndOffset(Number(endWidth));\n }\n } else {\n setStartOffset(1);\n setEndOffset(1);\n }\n\n setState((prevState) => ({\n ...prevState,\n xHandle: stepSize * localValue,\n railFillWidth: stepSize * localValue,\n }));\n }, [dragValue, labelPlacement, stepSize, rangeValuesPlacement, min, max, setStartOffset, setEndOffset]);\n\n useEffect(() => {\n if (innerRef.current) {\n innerRef.current.addEventListener('setInitValue', (e: Event) => setDragValue(setInitValue(e)));\n }\n\n return () => {\n if (innerRef.current) {\n innerRef.current.addEventListener('setInitValue', (e: Event) => setDragValue(setInitValue(e)));\n }\n };\n }, [innerRef]);\n\n const setStepSize = useCallback(\n (newStepSize: number) => {\n setState((prevState) => ({\n ...prevState,\n stepSize: newStepSize,\n }));\n },\n [setState],\n );\n\n const onHandleChange: NonNullable<HandlerProps['onChange']> = (handleValue, data) => {\n const newHandleXPosition = data.x;\n const newValue = Math.round(handleValue);\n\n setState((prevState) => ({\n ...prevState,\n railFillWidth: newHandleXPosition,\n }));\n\n if (onChange) {\n onChange(newValue);\n }\n\n setDragValue(newValue);\n };\n\n const onHandleChangeCommitted: NonNullable<HandlerProps['onChangeCommitted']> = (handleValue, data) => {\n const newValue = Math.round(handleValue);\n\n if (onChangeCommitted) {\n onChangeCommitted(newValue);\n }\n\n setState((prevState) => ({\n ...prevState,\n xHandle: data.lastX,\n railFillWidth: data.lastX,\n }));\n\n setDragValue(newValue);\n };\n\n return (\n <SingleWrapper className={labelPlacementClass}>\n {hasLabelContent && (\n <LabelWrapper>\n {labelContentLeft && <LabelContentLeft>{labelContentLeft}</LabelContentLeft>}\n {label && <Label>{label}</Label>}\n </LabelWrapper>\n )}\n <SliderBaseWrapper className={rangeValuesPlacementClass}>\n {showRangeValues && (\n <StyledRangeValue ref={startLabelRef} className={cx(hideMinValueDiffClass, activeFirstValue)}>\n {min}\n </StyledRangeValue>\n )}\n <SliderBase\n min={min}\n max={max}\n disabled={disabled}\n setStepSize={setStepSize}\n onChange={onHandleChangeCommitted}\n railFillWidth={state.railFillWidth}\n settings={sizeData[size]}\n labelPlacement={labelPlacement}\n rangeValuesPlacement={rangeValuesPlacement}\n {...rest}\n >\n <Handler\n stepSize={state.stepSize}\n onChangeCommitted={onHandleChangeCommitted}\n onChange={onHandleChange}\n xPosition={state.xHandle}\n min={min}\n max={max}\n startOffset={startOffset}\n endOffset={endOffset}\n value={dragValue}\n disabled={disabled}\n ariaLabel={ariaLabel}\n multipleStepSize={multipleStepSize}\n showCurrentValue={showCurrentValue}\n />\n </SliderBase>\n {showRangeValues && (\n <StyledRangeValue\n ref={endLabelRef}\n className={cx(classes.maxRangeValue, hideMaxValueDiffClass, activeSecondValue)}\n >\n {max}\n </StyledRangeValue>\n )}\n </SliderBaseWrapper>\n <InputHidden name={name} type=\"number\" datatype=\"slider-single\" value={dragValue} ref={innerRef} />\n </SingleWrapper>\n );\n};\n"],"names":["SingleSlider","_ref","min","max","_ref$value","value","disabled","onChangeCommitted","onChange","ariaLabel","label","labelContentLeft","showRangeValues","showCurrentValue","hideMinValueDiff","hideMaxValueDiff","_ref$labelPlacement","labelPlacement","_ref$rangeValuesPlace","rangeValuesPlacement","_ref$multipleStepSize","multipleStepSize","_ref$size","size","name","rest","_objectWithoutProperties","_excluded","_useState","useState","xHandle","stepSize","railFillWidth","_useState2","_slicedToArray","state","setState","innerRef","useRef","_useState3","_useState4","startOffset","setStartOffset","_useState5","_useState6","endOffset","setEndOffset","_useState7","_useState8","dragValue","setDragValue","hasLabelContent","labelPlacementClass","classes","labelPlacementOuter","labelPlacementInner","rangeValuesPlacementClass","rangeValuesPlacementOuter","rangeValuesPlacementInner","hideMinValueDiffClass","hideMinValue","hideMaxValueDiffClass","hideMaxValue","startLabelRef","endLabelRef","activeFirstValue","activeRangeValue","undefined","activeSecondValue","useEffect","localValue","Math","_startLabelRef$curren","_endLabelRef$current","startWidth","current","offsetWidth","isNumber","Number","endWidth","prevState","_objectSpread","addEventListener","e","setInitValue","setStepSize","useCallback","newStepSize","onHandleChange","handleValue","data","newHandleXPosition","x","newValue","round","onHandleChangeCommitted","lastX","React","createElement","SingleWrapper","className","LabelWrapper","LabelContentLeft","Label","SliderBaseWrapper","StyledRangeValue","ref","cx","SliderBase","_extends","settings","sizeData","Handler","xPosition","maxRangeValue","InputHidden","type","datatype"],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- import './Single.styles_1r9f1e0.css';
1
+ import './Single.styles_7gcb47.css';
2
2
  import { styled } from '@linaria/react';
3
3
 
4
4
  var LabelWrapper = /*#__PURE__*/styled('div')({
@@ -31,6 +31,11 @@ var SingleWrapper = /*#__PURE__*/styled('div')({
31
31
  "class": "ss3ujqx",
32
32
  propsAsIs: false
33
33
  });
34
+ var InputHidden = /*#__PURE__*/styled('input')({
35
+ name: "InputHidden",
36
+ "class": "i1c6g2fq",
37
+ propsAsIs: false
38
+ });
34
39
 
35
- export { Label, LabelContentLeft, LabelWrapper, SingleWrapper, SliderBaseWrapper, StyledRangeValue };
40
+ export { InputHidden, Label, LabelContentLeft, LabelWrapper, SingleWrapper, SliderBaseWrapper, StyledRangeValue };
36
41
  //# sourceMappingURL=Single.styles.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Single.styles.js","sources":["../../../../../src/components/Slider/components/Single/Single.styles.ts"],"sourcesContent":["import { styled } from '@linaria/react';\n\nimport { classes, tokens } from '../../Slider.tokens';\n\nexport const LabelWrapper = styled.div`\n color: var(${tokens.labelColor});\n\n display: flex;\n gap: var(${tokens.labelWrapperGap});\n`;\n\nexport const LabelContentLeft = styled.div``;\n\nexport const Label = styled.label`\n font-family: var(${tokens.labelFontFamily});\n font-size: var(${tokens.labelFontSize});\n font-style: var(${tokens.labelFontStyle});\n font-weight: var(${tokens.labelFontWeight});\n letter-spacing: var(${tokens.labelLetterSpacing});\n line-height: var(${tokens.labelLineHeight});\n`;\n\nexport const StyledRangeValue = styled.span`\n color: var(${tokens.rangeValueColor});\n font-family: var(${tokens.rangeValueFontFamily});\n font-size: var(${tokens.rangeValueFontSize});\n font-style: var(${tokens.rangeValueFontStyle});\n font-weight: var(${tokens.rangeValueFontWeight});\n letter-spacing: var(${tokens.rangeValueLetterSpacing});\n line-height: var(${tokens.rangeValueLineHeight});\n\n transition: opacity 0.1s ease-in-out;\n\n &.${classes.hideMinValue}, &.${classes.hideMaxValue} {\n opacity: 0;\n }\n\n &.${classes.activeRangeValue} {\n color: var(${tokens.labelColor});\n }\n`;\n\nexport const SliderBaseWrapper = styled.div`\n position: relative;\n display: flex;\n flex: 1;\n\n &.${classes.rangeValuesPlacementOuter} {\n ${StyledRangeValue} {\n position: absolute;\n bottom: var(${tokens.rangeValueBottomOffset});\n left: 0;\n\n &.${classes.maxRangeValue} {\n left: unset;\n right: 0;\n }\n }\n }\n\n &.${classes.rangeValuesPlacementInner} {\n align-items: center;\n\n ${StyledRangeValue} {\n margin-right: var(${tokens.rangeMinValueMargin});\n\n &.${classes.maxRangeValue} {\n margin-right: 0;\n margin-left: var(${tokens.rangeMaxValueMargin});\n }\n }\n }\n`;\n\nexport const SingleWrapper = styled.div`\n display: flex;\n opacity: var(${tokens.disabledOpacity});\n\n &.${classes.labelPlacementOuter} {\n flex-direction: column;\n\n ${LabelWrapper} {\n margin-bottom: var(${tokens.labelWrapperMarginBottom});\n }\n }\n\n &.${classes.labelPlacementInner} {\n ${LabelWrapper} {\n margin-right: var(${tokens.labelWrapperMarginRight});\n }\n }\n`;\n"],"names":["LabelWrapper","styled","name","class","propsAsIs","LabelContentLeft","Label","StyledRangeValue","SliderBaseWrapper","SingleWrapper"],"mappings":";;AAIO,IAAMA,YAAY,gBAAGC,MAAM,CAAA,KAAA,CAAA,CAAA;AAAAC,EAAAA,IAAA,EAAA,cAAA;AAAAC,EAAAA,OAAAA,EAAA,UAAA;AAAAC,EAAAA,SAAA,EAAA,KAAA;AAAA,CAKjC,EAAA;AAEM,IAAMC,gBAAgB,gBAAGJ,MAAM,CAAA,KAAA,CAAA,CAAA;AAAAC,EAAAA,IAAA,EAAA,kBAAA;AAAAC,EAAAA,OAAAA,EAAA,SAAA;AAAAC,EAAAA,SAAA,EAAA,KAAA;AAAA,CAAM,EAAA;AAErC,IAAME,KAAK,gBAAGL,MAAM,CAAA,OAAA,CAAA,CAAA;AAAAC,EAAAA,IAAA,EAAA,OAAA;AAAAC,EAAAA,OAAAA,EAAA,SAAA;AAAAC,EAAAA,SAAA,EAAA,KAAA;AAAA,CAO1B,EAAA;AAEM,IAAMG,gBAAgB,gBAAGN,MAAM,CAAA,MAAA,CAAA,CAAA;AAAAC,EAAAA,IAAA,EAAA,kBAAA;AAAAC,EAAAA,OAAAA,EAAA,UAAA;AAAAC,EAAAA,SAAA,EAAA,KAAA;AAAA,CAkBrC,EAAA;AAEM,IAAMI,iBAAiB,gBAAGP,MAAM,CAAA,KAAA,CAAA,CAAA;AAAAC,EAAAA,IAAA,EAAA,mBAAA;AAAAC,EAAAA,OAAAA,EAAA,UAAA;AAAAC,EAAAA,SAAA,EAAA,KAAA;AAAA,CA8BtC,EAAA;AAEM,IAAMK,aAAa,gBAAGR,MAAM,CAAA,KAAA,CAAA,CAAA;AAAAC,EAAAA,IAAA,EAAA,eAAA;AAAAC,EAAAA,OAAAA,EAAA,SAAA;AAAAC,EAAAA,SAAA,EAAA,KAAA;AAAA,CAiBlC;;;;"}
1
+ {"version":3,"file":"Single.styles.js","sources":["../../../../../src/components/Slider/components/Single/Single.styles.ts"],"sourcesContent":["import { styled } from '@linaria/react';\n\nimport { classes, tokens } from '../../Slider.tokens';\n\nexport const LabelWrapper = styled.div`\n color: var(${tokens.labelColor});\n\n display: flex;\n gap: var(${tokens.labelWrapperGap});\n`;\n\nexport const LabelContentLeft = styled.div``;\n\nexport const Label = styled.label`\n font-family: var(${tokens.labelFontFamily});\n font-size: var(${tokens.labelFontSize});\n font-style: var(${tokens.labelFontStyle});\n font-weight: var(${tokens.labelFontWeight});\n letter-spacing: var(${tokens.labelLetterSpacing});\n line-height: var(${tokens.labelLineHeight});\n`;\n\nexport const StyledRangeValue = styled.span`\n color: var(${tokens.rangeValueColor});\n font-family: var(${tokens.rangeValueFontFamily});\n font-size: var(${tokens.rangeValueFontSize});\n font-style: var(${tokens.rangeValueFontStyle});\n font-weight: var(${tokens.rangeValueFontWeight});\n letter-spacing: var(${tokens.rangeValueLetterSpacing});\n line-height: var(${tokens.rangeValueLineHeight});\n\n transition: opacity 0.1s ease-in-out;\n\n &.${classes.hideMinValue}, &.${classes.hideMaxValue} {\n opacity: 0;\n }\n\n &.${classes.activeRangeValue} {\n color: var(${tokens.labelColor});\n }\n`;\n\nexport const SliderBaseWrapper = styled.div`\n position: relative;\n display: flex;\n flex: 1;\n\n &.${classes.rangeValuesPlacementOuter} {\n ${StyledRangeValue} {\n position: absolute;\n bottom: var(${tokens.rangeValueBottomOffset});\n left: 0;\n\n &.${classes.maxRangeValue} {\n left: unset;\n right: 0;\n }\n }\n }\n\n &.${classes.rangeValuesPlacementInner} {\n align-items: center;\n\n ${StyledRangeValue} {\n margin-right: var(${tokens.rangeMinValueMargin});\n\n &.${classes.maxRangeValue} {\n margin-right: 0;\n margin-left: var(${tokens.rangeMaxValueMargin});\n }\n }\n }\n`;\n\nexport const SingleWrapper = styled.div`\n display: flex;\n opacity: var(${tokens.disabledOpacity});\n\n &.${classes.labelPlacementOuter} {\n flex-direction: column;\n\n ${LabelWrapper} {\n margin-bottom: var(${tokens.labelWrapperMarginBottom});\n }\n }\n\n &.${classes.labelPlacementInner} {\n ${LabelWrapper} {\n margin-right: var(${tokens.labelWrapperMarginRight});\n }\n }\n`;\n\nexport const InputHidden = styled.input`\n visibility: hidden;\n width: 0;\n height: 0;\n opacity: 0;\n margin: 0;\n padding: 0;\n border: none;\n`;\n"],"names":["LabelWrapper","styled","name","class","propsAsIs","LabelContentLeft","Label","StyledRangeValue","SliderBaseWrapper","SingleWrapper","InputHidden"],"mappings":";;AAIO,IAAMA,YAAY,gBAAGC,MAAM,CAAA,KAAA,CAAA,CAAA;AAAAC,EAAAA,IAAA,EAAA,cAAA;AAAAC,EAAAA,OAAAA,EAAA,UAAA;AAAAC,EAAAA,SAAA,EAAA,KAAA;AAAA,CAKjC,EAAA;AAEM,IAAMC,gBAAgB,gBAAGJ,MAAM,CAAA,KAAA,CAAA,CAAA;AAAAC,EAAAA,IAAA,EAAA,kBAAA;AAAAC,EAAAA,OAAAA,EAAA,SAAA;AAAAC,EAAAA,SAAA,EAAA,KAAA;AAAA,CAAM,EAAA;AAErC,IAAME,KAAK,gBAAGL,MAAM,CAAA,OAAA,CAAA,CAAA;AAAAC,EAAAA,IAAA,EAAA,OAAA;AAAAC,EAAAA,OAAAA,EAAA,SAAA;AAAAC,EAAAA,SAAA,EAAA,KAAA;AAAA,CAO1B,EAAA;AAEM,IAAMG,gBAAgB,gBAAGN,MAAM,CAAA,MAAA,CAAA,CAAA;AAAAC,EAAAA,IAAA,EAAA,kBAAA;AAAAC,EAAAA,OAAAA,EAAA,UAAA;AAAAC,EAAAA,SAAA,EAAA,KAAA;AAAA,CAkBrC,EAAA;AAEM,IAAMI,iBAAiB,gBAAGP,MAAM,CAAA,KAAA,CAAA,CAAA;AAAAC,EAAAA,IAAA,EAAA,mBAAA;AAAAC,EAAAA,OAAAA,EAAA,UAAA;AAAAC,EAAAA,SAAA,EAAA,KAAA;AAAA,CA8BtC,EAAA;AAEM,IAAMK,aAAa,gBAAGR,MAAM,CAAA,KAAA,CAAA,CAAA;AAAAC,EAAAA,IAAA,EAAA,eAAA;AAAAC,EAAAA,OAAAA,EAAA,SAAA;AAAAC,EAAAA,SAAA,EAAA,KAAA;AAAA,CAiBlC,EAAA;AAEM,IAAMM,WAAW,gBAAGT,MAAM,CAAA,OAAA,CAAA,CAAA;AAAAC,EAAAA,IAAA,EAAA,aAAA;AAAAC,EAAAA,OAAAA,EAAA,UAAA;AAAAC,EAAAA,SAAA,EAAA,KAAA;AAAA,CAQhC;;;;"}
@@ -4,3 +4,4 @@
4
4
  .s1w9icbd{color:var(--plasma-slider-range-value-color);font-family:var(--plasma-slider-range-value-font-family);font-size:var(--plasma-slider-range-value-font-size);font-style:var(--plasma-slider-range-value-font-style);font-weight:var(--plasma-slider-range-value-font-weight);-webkit-letter-spacing:var(--plasma-slider-range-value-letter-spacing);-moz-letter-spacing:var(--plasma-slider-range-value-letter-spacing);-ms-letter-spacing:var(--plasma-slider-range-value-letter-spacing);letter-spacing:var(--plasma-slider-range-value-letter-spacing);line-height:var(--plasma-slider-range-value-line-height);-webkit-transition:opacity 0.1s ease-in-out;transition:opacity 0.1s ease-in-out;}.s1w9icbd.slider-hide-min-value,.s1w9icbd.slider-hide-max-value{opacity:0;}.s1w9icbd.slider-active-range-value{color:var(--plasma-slider-label-color);}
5
5
  .s1d2sfgl{position:relative;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex:1;-ms-flex:1;flex:1;}.s1d2sfgl.slider-range-values-placement-outer .s1w9icbd{position:absolute;bottom:var(--plasma-slider-range-value-bottom-offset);left:0;}.s1d2sfgl.slider-range-values-placement-outer .s1w9icbd.slider-max-range-value{left:unset;right:0;}.s1d2sfgl.slider-range-values-placement-inner{-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;}.s1d2sfgl.slider-range-values-placement-inner .s1w9icbd{margin-right:var(--plasma-slider-range-min-value-margin);}.s1d2sfgl.slider-range-values-placement-inner .s1w9icbd.slider-max-range-value{margin-right:0;margin-left:var(--plasma-slider-range-max-value-margin);}
6
6
  .ss3ujqx{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;opacity:var(--plasma-slider-disabled-opacity);}.ss3ujqx.slider-label-placement-outer{-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;}.ss3ujqx.slider-label-placement-outer .l1p4kc08{margin-bottom:var(--plasma-slider-label-wrapper-margin-bottom);}.ss3ujqx.slider-label-placement-inner .l1p4kc08{margin-right:var(--plasma-slider-label-wrapper-margin-right);}
7
+ .i1c6g2fq{visibility:hidden;width:0;height:0;opacity:0;margin:0;padding:0;border:none;}
@@ -45,6 +45,11 @@ var sizeData = {
45
45
  fontSizeMultiplier: 16
46
46
  }
47
47
  };
48
+ var setInitValue = function setInitValue(e) {
49
+ var item = e.target;
50
+ var defaultValue = Number(item.getAttribute('defaultValue'));
51
+ return defaultValue;
52
+ };
48
53
 
49
- export { getOffsets, getSliderThumbValue, sizeData };
54
+ export { getOffsets, getSliderThumbValue, setInitValue, sizeData };
50
55
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["../../../../src/components/Slider/utils/index.ts"],"sourcesContent":["import { MutableRefObject } from 'react';\n\n/**\n * Расчитать значение слайдера с учетом его координат и шага изменений.\n * @param {number} handleCenterXRelative\n * @param {number} stepSize\n * @param {number} min\n * @param {number} max\n * @return {number}\n */\nexport function getSliderThumbValue(handleCenterXRelative: number, stepSize: number, min: number, max: number) {\n const newValue = Math.round(handleCenterXRelative / stepSize) + min;\n\n return Math.min(Math.max(newValue, min), max);\n}\n\n/**\n * Расчитывает значение отступа слайдера на основе его положения (справа, слева) на отрезке слайдера.\n * Значение используется для правильного расчета ограничения движения слайдера.\n * @param ref\n * @param {'left' | 'right'} side\n * @return Array<number>\n */\nexport function getOffsets(\n ref: ((instance: HTMLDivElement | null) => void) | MutableRefObject<HTMLDivElement | null> | null,\n side?: 'left' | 'right',\n): number[] {\n if (!ref || !('current' in ref) || !ref.current || !side) {\n return [0, 0];\n }\n\n const size = ref.current.clientWidth;\n\n if (side === 'left') {\n return [0, size];\n }\n\n if (side === 'right') {\n return [size, 0];\n }\n\n return [0, 0];\n}\n\nexport const sizeData = {\n s: {\n indent: 0.5,\n fontSizeMultiplier: 16,\n },\n m: {\n indent: 0.75,\n fontSizeMultiplier: 16,\n },\n l: {\n indent: 0.75,\n fontSizeMultiplier: 16,\n },\n};\n"],"names":["getSliderThumbValue","handleCenterXRelative","stepSize","min","max","newValue","Math","round","getOffsets","ref","side","current","size","clientWidth","sizeData","s","indent","fontSizeMultiplier","m","l"],"mappings":"AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO,SAASA,mBAAmBA,CAACC,qBAA6B,EAAEC,QAAgB,EAAEC,GAAW,EAAEC,GAAW,EAAE;EAC3G,IAAMC,QAAQ,GAAGC,IAAI,CAACC,KAAK,CAACN,qBAAqB,GAAGC,QAAQ,CAAC,GAAGC,GAAG,CAAA;AAEnE,EAAA,OAAOG,IAAI,CAACH,GAAG,CAACG,IAAI,CAACF,GAAG,CAACC,QAAQ,EAAEF,GAAG,CAAC,EAAEC,GAAG,CAAC,CAAA;AACjD,CAAA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACO,SAASI,UAAUA,CACtBC,GAAiG,EACjGC,IAAuB,EACf;AACR,EAAA,IAAI,CAACD,GAAG,IAAI,EAAE,SAAS,IAAIA,GAAG,CAAC,IAAI,CAACA,GAAG,CAACE,OAAO,IAAI,CAACD,IAAI,EAAE;AACtD,IAAA,OAAO,CAAC,CAAC,EAAE,CAAC,CAAC,CAAA;AACjB,GAAA;AAEA,EAAA,IAAME,IAAI,GAAGH,GAAG,CAACE,OAAO,CAACE,WAAW,CAAA;EAEpC,IAAIH,IAAI,KAAK,MAAM,EAAE;AACjB,IAAA,OAAO,CAAC,CAAC,EAAEE,IAAI,CAAC,CAAA;AACpB,GAAA;EAEA,IAAIF,IAAI,KAAK,OAAO,EAAE;AAClB,IAAA,OAAO,CAACE,IAAI,EAAE,CAAC,CAAC,CAAA;AACpB,GAAA;AAEA,EAAA,OAAO,CAAC,CAAC,EAAE,CAAC,CAAC,CAAA;AACjB,CAAA;AAEO,IAAME,QAAQ,GAAG;AACpBC,EAAAA,CAAC,EAAE;AACCC,IAAAA,MAAM,EAAE,GAAG;AACXC,IAAAA,kBAAkB,EAAE,EAAA;GACvB;AACDC,EAAAA,CAAC,EAAE;AACCF,IAAAA,MAAM,EAAE,IAAI;AACZC,IAAAA,kBAAkB,EAAE,EAAA;GACvB;AACDE,EAAAA,CAAC,EAAE;AACCH,IAAAA,MAAM,EAAE,IAAI;AACZC,IAAAA,kBAAkB,EAAE,EAAA;AACxB,GAAA;AACJ;;;;"}
1
+ {"version":3,"file":"index.js","sources":["../../../../src/components/Slider/utils/index.ts"],"sourcesContent":["import { MutableRefObject } from 'react';\n\n/**\n * Расчитать значение слайдера с учетом его координат и шага изменений.\n * @param {number} handleCenterXRelative\n * @param {number} stepSize\n * @param {number} min\n * @param {number} max\n * @return {number}\n */\nexport function getSliderThumbValue(handleCenterXRelative: number, stepSize: number, min: number, max: number) {\n const newValue = Math.round(handleCenterXRelative / stepSize) + min;\n\n return Math.min(Math.max(newValue, min), max);\n}\n\n/**\n * Расчитывает значение отступа слайдера на основе его положения (справа, слева) на отрезке слайдера.\n * Значение используется для правильного расчета ограничения движения слайдера.\n * @param ref\n * @param {'left' | 'right'} side\n * @return Array<number>\n */\nexport function getOffsets(\n ref: ((instance: HTMLDivElement | null) => void) | MutableRefObject<HTMLDivElement | null> | null,\n side?: 'left' | 'right',\n): number[] {\n if (!ref || !('current' in ref) || !ref.current || !side) {\n return [0, 0];\n }\n\n const size = ref.current.clientWidth;\n\n if (side === 'left') {\n return [0, size];\n }\n\n if (side === 'right') {\n return [size, 0];\n }\n\n return [0, 0];\n}\n\nexport const sizeData = {\n s: {\n indent: 0.5,\n fontSizeMultiplier: 16,\n },\n m: {\n indent: 0.75,\n fontSizeMultiplier: 16,\n },\n l: {\n indent: 0.75,\n fontSizeMultiplier: 16,\n },\n};\n\nexport const setInitValue = (e: Event): number => {\n const item = e.target as HTMLInputElement;\n const defaultValue = Number(item.getAttribute('defaultValue'));\n\n return defaultValue;\n};\n"],"names":["getSliderThumbValue","handleCenterXRelative","stepSize","min","max","newValue","Math","round","getOffsets","ref","side","current","size","clientWidth","sizeData","s","indent","fontSizeMultiplier","m","l","setInitValue","e","item","target","defaultValue","Number","getAttribute"],"mappings":"AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO,SAASA,mBAAmBA,CAACC,qBAA6B,EAAEC,QAAgB,EAAEC,GAAW,EAAEC,GAAW,EAAE;EAC3G,IAAMC,QAAQ,GAAGC,IAAI,CAACC,KAAK,CAACN,qBAAqB,GAAGC,QAAQ,CAAC,GAAGC,GAAG,CAAA;AAEnE,EAAA,OAAOG,IAAI,CAACH,GAAG,CAACG,IAAI,CAACF,GAAG,CAACC,QAAQ,EAAEF,GAAG,CAAC,EAAEC,GAAG,CAAC,CAAA;AACjD,CAAA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACO,SAASI,UAAUA,CACtBC,GAAiG,EACjGC,IAAuB,EACf;AACR,EAAA,IAAI,CAACD,GAAG,IAAI,EAAE,SAAS,IAAIA,GAAG,CAAC,IAAI,CAACA,GAAG,CAACE,OAAO,IAAI,CAACD,IAAI,EAAE;AACtD,IAAA,OAAO,CAAC,CAAC,EAAE,CAAC,CAAC,CAAA;AACjB,GAAA;AAEA,EAAA,IAAME,IAAI,GAAGH,GAAG,CAACE,OAAO,CAACE,WAAW,CAAA;EAEpC,IAAIH,IAAI,KAAK,MAAM,EAAE;AACjB,IAAA,OAAO,CAAC,CAAC,EAAEE,IAAI,CAAC,CAAA;AACpB,GAAA;EAEA,IAAIF,IAAI,KAAK,OAAO,EAAE;AAClB,IAAA,OAAO,CAACE,IAAI,EAAE,CAAC,CAAC,CAAA;AACpB,GAAA;AAEA,EAAA,OAAO,CAAC,CAAC,EAAE,CAAC,CAAC,CAAA;AACjB,CAAA;AAEO,IAAME,QAAQ,GAAG;AACpBC,EAAAA,CAAC,EAAE;AACCC,IAAAA,MAAM,EAAE,GAAG;AACXC,IAAAA,kBAAkB,EAAE,EAAA;GACvB;AACDC,EAAAA,CAAC,EAAE;AACCF,IAAAA,MAAM,EAAE,IAAI;AACZC,IAAAA,kBAAkB,EAAE,EAAA;GACvB;AACDE,EAAAA,CAAC,EAAE;AACCH,IAAAA,MAAM,EAAE,IAAI;AACZC,IAAAA,kBAAkB,EAAE,EAAA;AACxB,GAAA;AACJ,EAAC;IAEYG,YAAY,GAAG,SAAfA,YAAYA,CAAIC,CAAQ,EAAa;AAC9C,EAAA,IAAMC,IAAI,GAAGD,CAAC,CAACE,MAA0B,CAAA;EACzC,IAAMC,YAAY,GAAGC,MAAM,CAACH,IAAI,CAACI,YAAY,CAAC,cAAc,CAAC,CAAC,CAAA;AAE9D,EAAA,OAAOF,YAAY,CAAA;AACvB;;;;"}
@@ -9,6 +9,7 @@ import { classes } from './TextArea.tokens.js';
9
9
  import { base as base$2 } from './variations/_view/base.js';
10
10
  import { base as base$1 } from './variations/_size/base.js';
11
11
  import { base as base$3 } from './variations/_disabled/base.js';
12
+ import { mergeRefs } from '../../utils/setRefList.js';
12
13
 
13
14
  var _excluded = ["helperText", "status", "resize", "rightHelper", "leftHelper", "contentRight", "autoResize", "minAuto", "maxAuto", "label", "labelPlacement", "placeholder", "defaultValue", "height", "width", "value", "disabled", "required", "requiredPlacement", "optional", "size", "view", "id", "style", "className", "readOnly", "rows", "cols", "onChange"];
14
15
  var innerPlaceholderUp = classes.innerPlaceholderUp,
@@ -100,7 +101,7 @@ var textAreaRoot = function textAreaRoot(Root) {
100
101
  _useState6 = _slicedToArray(_useState5, 2),
101
102
  uncontrolledValue = _useState6[0],
102
103
  setUncontrolledValue = _useState6[1];
103
- var outerRef = innerRef && 'current' in innerRef ? innerRef : /*#__PURE__*/createRef();
104
+ var outerRef = /*#__PURE__*/createRef();
104
105
  var innerOptional = required ? false : optional;
105
106
  var hasHelper = Boolean(leftHelper || rightHelper || helperText);
106
107
  var hasOuterLabel = Boolean(label && labelPlacement === 'outer');
@@ -172,7 +173,7 @@ var textAreaRoot = function textAreaRoot(Root) {
172
173
  hasContentRight: Boolean(contentRight),
173
174
  hasHelper: hasHelper,
174
175
  applyCustomWidth: applyCustomWidth,
175
- ref: outerRef,
176
+ ref: mergeRefs(outerRef, innerRef),
176
177
  disabled: disabled,
177
178
  height: autoResize ? minAuto : height,
178
179
  width: width,
@@ -1 +1 @@
1
- {"version":3,"file":"TextArea.js","sources":["../../../src/components/TextArea/TextArea.tsx"],"sourcesContent":["import React, { forwardRef, useState, createRef, useCallback } from 'react';\nimport { css } from '@linaria/core';\nimport { useResizeObserver } from '@salutejs/plasma-core';\n\nimport { cx } from '../../utils';\nimport type { RootProps } from '../../engines/types';\n\nimport { applyDynamicLabel } from './mixins';\nimport { useAutoResize, ROOT_FONT_SIZE } from './hooks';\nimport {\n StyledContent,\n StyledHelpers,\n StyledLeftHelper,\n StyledRightHelper,\n StyledLabel,\n StyledPlaceholder,\n StyledTextArea,\n StyledTextAreaWrapper,\n StyledContainer,\n StyledIndicator,\n StyledOptionalText,\n} from './TextArea.styles';\nimport { classes } from './TextArea.tokens';\nimport { base as viewCSS } from './variations/_view/base';\nimport { base as sizeCSS } from './variations/_size/base';\nimport { base as disabledCSS } from './variations/_disabled/base';\nimport type { TextAreaProps } from './TextArea.types';\n\nconst {\n innerPlaceholderUp,\n focusedOuterPlaceholderColor,\n hidePlaceHolder,\n styledContainer,\n styledTextArea,\n styledTextAreaWrapper,\n styledPlaceholder,\n styledHelpers,\n} = classes;\n\nconst optionalText = 'optional';\n\nconst base = css`\n ${applyDynamicLabel};\n\n position: relative;\n box-sizing: border-box;\n`;\n\n// TODO: Удалить после отказа от старых библиотек plasma-web / plasma-b2c\nconst fallbackStatusMap = {\n '': 'primary',\n success: 'positive',\n warning: 'warning',\n error: 'negative',\n};\n\n// TODO: Перенести этот метод в файл applyDynamicLabel.ts\nexport const getDynamicLabelClasses = (props: TextAreaProps, focused: boolean) => {\n const { readOnly, label, labelPlacement, autoResize, rows, value, size } = props;\n\n // Добавить класс отвечающий за изменение цвета плейсхолдера при фокусе\n const withFocusedOuterUpPlaceholder =\n !readOnly && focused && (!label || labelPlacement === 'outer') ? focusedOuterPlaceholderColor : undefined;\n\n // Добавить класс отвечающий за поднятие и уменьшение плейсхолдера\n const withInnerPlaceholderUp =\n labelPlacement === 'inner' &&\n label &&\n !autoResize &&\n !rows &&\n size !== 'xs' &&\n ((!readOnly && (value || focused)) || (readOnly && value))\n ? innerPlaceholderUp\n : undefined;\n\n // Добавить класс отвечающий за скрытие плейсхолдера\n const withHidePlaceholder =\n (value && !label) ||\n (labelPlacement === 'inner' && ((focused && !readOnly) || value) && label && (rows || autoResize)) ||\n (labelPlacement === 'outer' && value) ||\n (labelPlacement === 'inner' && size === 'xs' && value)\n ? hidePlaceHolder\n : undefined;\n\n return [withFocusedOuterUpPlaceholder, withInnerPlaceholderUp, withHidePlaceholder];\n};\n\nexport const textAreaRoot = (Root: RootProps<HTMLTextAreaElement, TextAreaProps>) =>\n forwardRef<HTMLTextAreaElement, TextAreaProps>((props, innerRef) => {\n const {\n helperText,\n status,\n resize,\n rightHelper,\n leftHelper,\n contentRight,\n autoResize = false,\n minAuto = 0,\n maxAuto,\n label,\n labelPlacement = 'inner',\n placeholder,\n defaultValue,\n height,\n width,\n value,\n disabled,\n required = false,\n requiredPlacement = 'right',\n optional = false,\n size,\n view,\n id,\n style,\n className,\n readOnly,\n rows,\n cols,\n onChange,\n ...rest\n } = props;\n\n const [helperWidth, setHelperWidth] = useState<string>(width ? `${width}rem` : '100%');\n const [focused, setFocused] = useState(false);\n const [uncontrolledValue, setUncontrolledValue] = useState<string | undefined>();\n\n const outerRef = innerRef && 'current' in innerRef ? innerRef : createRef<HTMLTextAreaElement>();\n\n const innerOptional = required ? false : optional;\n const hasHelper = Boolean(leftHelper || rightHelper || helperText);\n const hasOuterLabel = Boolean(label && labelPlacement === 'outer');\n const hasInnerLabel = Boolean(label && labelPlacement === 'inner' && size !== 'xs');\n const hasPlaceholderOptional = innerOptional && !hasOuterLabel;\n\n const overriddenView = status !== undefined ? fallbackStatusMap[status] : view;\n const textareaHelperId = id ? `${id}-helper` : undefined;\n const applyCustomWidth = resize !== 'horizontal' && resize !== 'both' && !cols;\n const placeholderLabel = hasInnerLabel ? label : placeholder;\n\n const requiredPlacementClass = requiredPlacement === 'right' ? 'align-right ' : undefined;\n\n useResizeObserver(outerRef, (currentElement) => {\n const { width: inlineWidth } = currentElement.style;\n\n if (inlineWidth || cols) {\n const { width: elementWidth } = currentElement.getBoundingClientRect();\n setHelperWidth(`${elementWidth / ROOT_FONT_SIZE}rem`);\n }\n });\n\n useAutoResize(autoResize, outerRef, value, minAuto, maxAuto);\n\n const onFocusHandler = useCallback(() => {\n setFocused(true);\n }, []);\n\n const onBlurHandler = useCallback(() => {\n setFocused(false);\n }, []);\n\n const onChangeHandler = useCallback(\n (event: React.ChangeEvent<HTMLTextAreaElement>) => {\n // INFO: Для крайне редких кейсов, когда value снаружи не контролируется\n if (value === undefined) {\n setUncontrolledValue(event?.target.value);\n }\n\n onChange?.(event);\n },\n [value, onChange],\n );\n\n const dynamicLabelClasses = getDynamicLabelClasses(\n {\n size,\n readOnly,\n label,\n labelPlacement,\n value: value || uncontrolledValue || defaultValue,\n ...(rows ? { rows } : { autoResize }),\n },\n focused,\n );\n\n const optionalTextNode = innerOptional ? (\n <StyledOptionalText>\n {Boolean(hasPlaceholderOptional ? placeholderLabel : label) && '\\xa0'}\n {optionalText}\n </StyledOptionalText>\n ) : null;\n\n return (\n <Root\n view={overriddenView}\n size={size}\n disabled={disabled}\n readOnly={readOnly}\n style={{ width: helperWidth, ...style }}\n className={className}\n >\n {hasOuterLabel && (\n <StyledLabel>\n {required && (\n <StyledIndicator className={cx(classes.outerLabelPlacement, requiredPlacementClass)} />\n )}\n {label}\n {optionalTextNode}\n </StyledLabel>\n )}\n <StyledContainer\n className={cx(styledContainer, ...dynamicLabelClasses)}\n width={helperWidth}\n onFocus={onFocusHandler}\n onBlur={onBlurHandler}\n >\n {required && !hasOuterLabel && (\n <StyledIndicator className={cx(classes.innerLabelPlacement, requiredPlacementClass)} />\n )}\n {contentRight && <StyledContent>{contentRight}</StyledContent>}\n <StyledTextAreaWrapper className={styledTextAreaWrapper} hasHelper={hasHelper}>\n <StyledTextArea\n className={styledTextArea}\n id={id}\n hasContentRight={Boolean(contentRight)}\n hasHelper={hasHelper}\n applyCustomWidth={applyCustomWidth}\n ref={outerRef}\n disabled={disabled}\n height={autoResize ? minAuto : height}\n width={width}\n placeholder={placeholderLabel}\n aria-describedby={textareaHelperId}\n value={value}\n readOnly={readOnly}\n rows={rows}\n cols={cols}\n resize={resize}\n defaultValue={defaultValue}\n onChange={onChangeHandler}\n {...rest}\n />\n </StyledTextAreaWrapper>\n {hasHelper && (\n <StyledHelpers className={styledHelpers} id={textareaHelperId}>\n {(leftHelper || helperText) && (\n <StyledLeftHelper>{leftHelper || helperText}</StyledLeftHelper>\n )}\n {rightHelper && <StyledRightHelper>{rightHelper}</StyledRightHelper>}\n </StyledHelpers>\n )}\n {placeholderLabel && (\n <StyledPlaceholder\n hasContentRight={Boolean(contentRight)}\n className={styledPlaceholder}\n htmlFor={id}\n >\n {placeholderLabel}\n {!hasOuterLabel && optionalTextNode}\n </StyledPlaceholder>\n )}\n </StyledContainer>\n </Root>\n );\n });\n\nexport const textAreaConfig = {\n name: 'TextArea',\n tag: 'div',\n layout: textAreaRoot,\n base,\n variations: {\n size: {\n css: sizeCSS,\n },\n view: {\n css: viewCSS,\n },\n disabled: {\n css: disabledCSS,\n attrs: true,\n },\n readOnly: {\n attrs: true,\n },\n },\n defaults: {\n size: 'm',\n view: 'primary',\n },\n};\n"],"names":["innerPlaceholderUp","classes","focusedOuterPlaceholderColor","hidePlaceHolder","styledContainer","styledTextArea","styledTextAreaWrapper","styledPlaceholder","styledHelpers","optionalText","base","fallbackStatusMap","success","warning","error","getDynamicLabelClasses","props","focused","readOnly","label","labelPlacement","autoResize","rows","value","size","withFocusedOuterUpPlaceholder","undefined","withInnerPlaceholderUp","withHidePlaceholder","textAreaRoot","Root","forwardRef","innerRef","helperText","status","resize","rightHelper","leftHelper","contentRight","_props$autoResize","_props$minAuto","minAuto","maxAuto","_props$labelPlacement","placeholder","defaultValue","height","width","disabled","_props$required","required","_props$requiredPlacem","requiredPlacement","_props$optional","optional","view","id","style","className","cols","onChange","rest","_excluded","_useState","useState","concat","_useState2","_slicedToArray","helperWidth","setHelperWidth","_useState3","_useState4","setFocused","_useState5","_useState6","uncontrolledValue","setUncontrolledValue","outerRef","createRef","innerOptional","hasHelper","Boolean","hasOuterLabel","hasInnerLabel","hasPlaceholderOptional","overriddenView","textareaHelperId","applyCustomWidth","placeholderLabel","requiredPlacementClass","useResizeObserver","currentElement","inlineWidth","_currentElement$getBo","getBoundingClientRect","elementWidth","ROOT_FONT_SIZE","useAutoResize","onFocusHandler","useCallback","onBlurHandler","onChangeHandler","event","target","dynamicLabelClasses","_objectSpread","optionalTextNode","React","createElement","StyledOptionalText","StyledLabel","StyledIndicator","cx","outerLabelPlacement","StyledContainer","apply","_toConsumableArray","onFocus","onBlur","innerLabelPlacement","StyledContent","StyledTextAreaWrapper","StyledTextArea","_extends","hasContentRight","ref","StyledHelpers","StyledLeftHelper","StyledRightHelper","StyledPlaceholder","htmlFor","textAreaConfig","name","tag","layout","variations","css","sizeCSS","viewCSS","disabledCSS","attrs","defaults"],"mappings":"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"}
1
+ {"version":3,"file":"TextArea.js","sources":["../../../src/components/TextArea/TextArea.tsx"],"sourcesContent":["import React, { forwardRef, useState, createRef, useCallback } from 'react';\nimport { css } from '@linaria/core';\nimport { useResizeObserver } from '@salutejs/plasma-core';\n\nimport { cx, mergeRefs } from '../../utils';\nimport type { RootProps } from '../../engines/types';\n\nimport { applyDynamicLabel } from './mixins';\nimport { useAutoResize, ROOT_FONT_SIZE } from './hooks';\nimport {\n StyledContent,\n StyledHelpers,\n StyledLeftHelper,\n StyledRightHelper,\n StyledLabel,\n StyledPlaceholder,\n StyledTextArea,\n StyledTextAreaWrapper,\n StyledContainer,\n StyledIndicator,\n StyledOptionalText,\n} from './TextArea.styles';\nimport { classes } from './TextArea.tokens';\nimport { base as viewCSS } from './variations/_view/base';\nimport { base as sizeCSS } from './variations/_size/base';\nimport { base as disabledCSS } from './variations/_disabled/base';\nimport type { TextAreaProps } from './TextArea.types';\n\nconst {\n innerPlaceholderUp,\n focusedOuterPlaceholderColor,\n hidePlaceHolder,\n styledContainer,\n styledTextArea,\n styledTextAreaWrapper,\n styledPlaceholder,\n styledHelpers,\n} = classes;\n\nconst optionalText = 'optional';\n\nconst base = css`\n ${applyDynamicLabel};\n\n position: relative;\n box-sizing: border-box;\n`;\n\n// TODO: Удалить после отказа от старых библиотек plasma-web / plasma-b2c\nconst fallbackStatusMap = {\n '': 'primary',\n success: 'positive',\n warning: 'warning',\n error: 'negative',\n};\n\n// TODO: Перенести этот метод в файл applyDynamicLabel.ts\nexport const getDynamicLabelClasses = (props: TextAreaProps, focused: boolean) => {\n const { readOnly, label, labelPlacement, autoResize, rows, value, size } = props;\n\n // Добавить класс отвечающий за изменение цвета плейсхолдера при фокусе\n const withFocusedOuterUpPlaceholder =\n !readOnly && focused && (!label || labelPlacement === 'outer') ? focusedOuterPlaceholderColor : undefined;\n\n // Добавить класс отвечающий за поднятие и уменьшение плейсхолдера\n const withInnerPlaceholderUp =\n labelPlacement === 'inner' &&\n label &&\n !autoResize &&\n !rows &&\n size !== 'xs' &&\n ((!readOnly && (value || focused)) || (readOnly && value))\n ? innerPlaceholderUp\n : undefined;\n\n // Добавить класс отвечающий за скрытие плейсхолдера\n const withHidePlaceholder =\n (value && !label) ||\n (labelPlacement === 'inner' && ((focused && !readOnly) || value) && label && (rows || autoResize)) ||\n (labelPlacement === 'outer' && value) ||\n (labelPlacement === 'inner' && size === 'xs' && value)\n ? hidePlaceHolder\n : undefined;\n\n return [withFocusedOuterUpPlaceholder, withInnerPlaceholderUp, withHidePlaceholder];\n};\n\nexport const textAreaRoot = (Root: RootProps<HTMLTextAreaElement, TextAreaProps>) =>\n forwardRef<HTMLTextAreaElement, TextAreaProps>((props, innerRef) => {\n const {\n helperText,\n status,\n resize,\n rightHelper,\n leftHelper,\n contentRight,\n autoResize = false,\n minAuto = 0,\n maxAuto,\n label,\n labelPlacement = 'inner',\n placeholder,\n defaultValue,\n height,\n width,\n value,\n disabled,\n required = false,\n requiredPlacement = 'right',\n optional = false,\n size,\n view,\n id,\n style,\n className,\n readOnly,\n rows,\n cols,\n onChange,\n ...rest\n } = props;\n\n const [helperWidth, setHelperWidth] = useState<string>(width ? `${width}rem` : '100%');\n const [focused, setFocused] = useState(false);\n const [uncontrolledValue, setUncontrolledValue] = useState<string | undefined>();\n\n const outerRef = createRef<HTMLTextAreaElement>();\n\n const innerOptional = required ? false : optional;\n const hasHelper = Boolean(leftHelper || rightHelper || helperText);\n const hasOuterLabel = Boolean(label && labelPlacement === 'outer');\n const hasInnerLabel = Boolean(label && labelPlacement === 'inner' && size !== 'xs');\n const hasPlaceholderOptional = innerOptional && !hasOuterLabel;\n\n const overriddenView = status !== undefined ? fallbackStatusMap[status] : view;\n const textareaHelperId = id ? `${id}-helper` : undefined;\n const applyCustomWidth = resize !== 'horizontal' && resize !== 'both' && !cols;\n const placeholderLabel = hasInnerLabel ? label : placeholder;\n\n const requiredPlacementClass = requiredPlacement === 'right' ? 'align-right ' : undefined;\n\n useResizeObserver(outerRef, (currentElement) => {\n const { width: inlineWidth } = currentElement.style;\n\n if (inlineWidth || cols) {\n const { width: elementWidth } = currentElement.getBoundingClientRect();\n setHelperWidth(`${elementWidth / ROOT_FONT_SIZE}rem`);\n }\n });\n\n useAutoResize(autoResize, outerRef, value, minAuto, maxAuto);\n\n const onFocusHandler = useCallback(() => {\n setFocused(true);\n }, []);\n\n const onBlurHandler = useCallback(() => {\n setFocused(false);\n }, []);\n\n const onChangeHandler = useCallback(\n (event: React.ChangeEvent<HTMLTextAreaElement>) => {\n // INFO: Для крайне редких кейсов, когда value снаружи не контролируется\n if (value === undefined) {\n setUncontrolledValue(event?.target.value);\n }\n onChange?.(event);\n },\n [value, onChange],\n );\n\n const dynamicLabelClasses = getDynamicLabelClasses(\n {\n size,\n readOnly,\n label,\n labelPlacement,\n value: value || uncontrolledValue || defaultValue,\n ...(rows ? { rows } : { autoResize }),\n },\n focused,\n );\n\n const optionalTextNode = innerOptional ? (\n <StyledOptionalText>\n {Boolean(hasPlaceholderOptional ? placeholderLabel : label) && '\\xa0'}\n {optionalText}\n </StyledOptionalText>\n ) : null;\n\n return (\n <Root\n view={overriddenView}\n size={size}\n disabled={disabled}\n readOnly={readOnly}\n style={{ width: helperWidth, ...style }}\n className={className}\n >\n {hasOuterLabel && (\n <StyledLabel>\n {required && (\n <StyledIndicator className={cx(classes.outerLabelPlacement, requiredPlacementClass)} />\n )}\n {label}\n {optionalTextNode}\n </StyledLabel>\n )}\n <StyledContainer\n className={cx(styledContainer, ...dynamicLabelClasses)}\n width={helperWidth}\n onFocus={onFocusHandler}\n onBlur={onBlurHandler}\n >\n {required && !hasOuterLabel && (\n <StyledIndicator className={cx(classes.innerLabelPlacement, requiredPlacementClass)} />\n )}\n {contentRight && <StyledContent>{contentRight}</StyledContent>}\n <StyledTextAreaWrapper className={styledTextAreaWrapper} hasHelper={hasHelper}>\n <StyledTextArea\n className={styledTextArea}\n id={id}\n hasContentRight={Boolean(contentRight)}\n hasHelper={hasHelper}\n applyCustomWidth={applyCustomWidth}\n ref={mergeRefs(outerRef, innerRef)}\n disabled={disabled}\n height={autoResize ? minAuto : height}\n width={width}\n placeholder={placeholderLabel}\n aria-describedby={textareaHelperId}\n value={value}\n readOnly={readOnly}\n rows={rows}\n cols={cols}\n resize={resize}\n defaultValue={defaultValue}\n onChange={onChangeHandler}\n {...rest}\n />\n </StyledTextAreaWrapper>\n {hasHelper && (\n <StyledHelpers className={styledHelpers} id={textareaHelperId}>\n {(leftHelper || helperText) && (\n <StyledLeftHelper>{leftHelper || helperText}</StyledLeftHelper>\n )}\n {rightHelper && <StyledRightHelper>{rightHelper}</StyledRightHelper>}\n </StyledHelpers>\n )}\n {placeholderLabel && (\n <StyledPlaceholder\n hasContentRight={Boolean(contentRight)}\n className={styledPlaceholder}\n htmlFor={id}\n >\n {placeholderLabel}\n {!hasOuterLabel && optionalTextNode}\n </StyledPlaceholder>\n )}\n </StyledContainer>\n </Root>\n );\n });\n\nexport const textAreaConfig = {\n name: 'TextArea',\n tag: 'div',\n layout: textAreaRoot,\n base,\n variations: {\n size: {\n css: sizeCSS,\n },\n view: {\n css: viewCSS,\n },\n disabled: {\n css: disabledCSS,\n attrs: true,\n },\n readOnly: {\n attrs: true,\n },\n },\n defaults: {\n size: 'm',\n view: 'primary',\n },\n};\n"],"names":["innerPlaceholderUp","classes","focusedOuterPlaceholderColor","hidePlaceHolder","styledContainer","styledTextArea","styledTextAreaWrapper","styledPlaceholder","styledHelpers","optionalText","base","fallbackStatusMap","success","warning","error","getDynamicLabelClasses","props","focused","readOnly","label","labelPlacement","autoResize","rows","value","size","withFocusedOuterUpPlaceholder","undefined","withInnerPlaceholderUp","withHidePlaceholder","textAreaRoot","Root","forwardRef","innerRef","helperText","status","resize","rightHelper","leftHelper","contentRight","_props$autoResize","_props$minAuto","minAuto","maxAuto","_props$labelPlacement","placeholder","defaultValue","height","width","disabled","_props$required","required","_props$requiredPlacem","requiredPlacement","_props$optional","optional","view","id","style","className","cols","onChange","rest","_excluded","_useState","useState","concat","_useState2","_slicedToArray","helperWidth","setHelperWidth","_useState3","_useState4","setFocused","_useState5","_useState6","uncontrolledValue","setUncontrolledValue","outerRef","createRef","innerOptional","hasHelper","Boolean","hasOuterLabel","hasInnerLabel","hasPlaceholderOptional","overriddenView","textareaHelperId","applyCustomWidth","placeholderLabel","requiredPlacementClass","useResizeObserver","currentElement","inlineWidth","_currentElement$getBo","getBoundingClientRect","elementWidth","ROOT_FONT_SIZE","useAutoResize","onFocusHandler","useCallback","onBlurHandler","onChangeHandler","event","target","dynamicLabelClasses","_objectSpread","optionalTextNode","React","createElement","StyledOptionalText","StyledLabel","StyledIndicator","cx","outerLabelPlacement","StyledContainer","apply","_toConsumableArray","onFocus","onBlur","innerLabelPlacement","StyledContent","StyledTextAreaWrapper","StyledTextArea","_extends","hasContentRight","ref","mergeRefs","StyledHelpers","StyledLeftHelper","StyledRightHelper","StyledPlaceholder","htmlFor","textAreaConfig","name","tag","layout","variations","css","sizeCSS","viewCSS","disabledCSS","attrs","defaults"],"mappings":";;;;;;;;;;;;;AA4BA,IACIA,kBAAkB,GAQlBC,OAAO,CARPD,kBAAkB;EAClBE,4BAA4B,GAO5BD,OAAO,CAPPC,4BAA4B;EAC5BC,eAAe,GAMfF,OAAO,CANPE,eAAe;EACfC,eAAe,GAKfH,OAAO,CALPG,eAAe;EACfC,cAAc,GAIdJ,OAAO,CAJPI,cAAc;EACdC,qBAAqB,GAGrBL,OAAO,CAHPK,qBAAqB;EACrBC,iBAAiB,GAEjBN,OAAO,CAFPM,iBAAiB;EACjBC,aAAAA,GACAP,OAAO,CADPO,aAAAA,CAAAA;AAGJ,IAAMC,YAAY,GAAG,UAAU,CAAA;AAE/B,IAAMC,IAAI,GAKT,SAAA,CAAA;;AAED;AACA,IAAMC,iBAAiB,GAAG;AACtB,EAAA,EAAE,EAAE,SAAS;AACbC,EAAAA,OAAO,EAAE,UAAU;AACnBC,EAAAA,OAAO,EAAE,SAAS;AAClBC,EAAAA,KAAK,EAAE,UAAA;AACX,CAAC,CAAA;;AAED;AACO,IAAMC,sBAAsB,GAAGA,SAAzBA,sBAAsBA,CAAIC,KAAoB,EAAEC,OAAgB,EAAK;AAC9E,EAAA,IAAQC,QAAQ,GAA2DF,KAAK,CAAxEE,QAAQ;IAAEC,KAAK,GAAoDH,KAAK,CAA9DG,KAAK;IAAEC,cAAc,GAAoCJ,KAAK,CAAvDI,cAAc;IAAEC,UAAU,GAAwBL,KAAK,CAAvCK,UAAU;IAAEC,IAAI,GAAkBN,KAAK,CAA3BM,IAAI;IAAEC,KAAK,GAAWP,KAAK,CAArBO,KAAK;IAAEC,IAAAA,GAASR,KAAK,CAAdQ,IAAAA,CAAAA;;AAElE;AACA,EAAA,IAAMC,6BAA6B,GAC/B,CAACP,QAAQ,IAAID,OAAO,KAAK,CAACE,KAAK,IAAIC,cAAc,KAAK,OAAO,CAAC,GAAGlB,4BAA4B,GAAGwB,SAAS,CAAA;;AAE7G;AACA,EAAA,IAAMC,sBAAsB,GACxBP,cAAc,KAAK,OAAO,IAC1BD,KAAK,IACL,CAACE,UAAU,IACX,CAACC,IAAI,IACLE,IAAI,KAAK,IAAI,KACX,CAACN,QAAQ,KAAKK,KAAK,IAAIN,OAAO,CAAC,IAAMC,QAAQ,IAAIK,KAAM,CAAC,GACpDvB,kBAAkB,GAClB0B,SAAS,CAAA;;AAEnB;EACA,IAAME,mBAAmB,GACpBL,KAAK,IAAI,CAACJ,KAAK,IACfC,cAAc,KAAK,OAAO,KAAMH,OAAO,IAAI,CAACC,QAAQ,IAAKK,KAAK,CAAC,IAAIJ,KAAK,KAAKG,IAAI,IAAID,UAAU,CAAE,IACjGD,cAAc,KAAK,OAAO,IAAIG,KAAM,IACpCH,cAAc,KAAK,OAAO,IAAII,IAAI,KAAK,IAAI,IAAID,KAAM,GAChDpB,eAAe,GACfuB,SAAS,CAAA;AAEnB,EAAA,OAAO,CAACD,6BAA6B,EAAEE,sBAAsB,EAAEC,mBAAmB,CAAC,CAAA;AACvF,EAAC;IAEYC,YAAY,GAAGA,SAAfA,YAAYA,CAAIC,IAAmD,EAAA;AAAA,EAAA,oBAC5EC,UAAU,CAAqC,UAACf,KAAK,EAAEgB,QAAQ,EAAK;AAChE,IAAA,IACIC,UAAU,GA8BVjB,KAAK,CA9BLiB,UAAU;MACVC,MAAM,GA6BNlB,KAAK,CA7BLkB,MAAM;MACNC,MAAM,GA4BNnB,KAAK,CA5BLmB,MAAM;MACNC,WAAW,GA2BXpB,KAAK,CA3BLoB,WAAW;MACXC,UAAU,GA0BVrB,KAAK,CA1BLqB,UAAU;MACVC,YAAY,GAyBZtB,KAAK,CAzBLsB,YAAY;MAAAC,iBAAA,GAyBZvB,KAAK,CAxBLK,UAAU;AAAVA,MAAAA,UAAU,GAAAkB,iBAAA,KAAG,KAAA,CAAA,GAAA,KAAK,GAAAA,iBAAA;MAAAC,cAAA,GAwBlBxB,KAAK,CAvBLyB,OAAO;AAAPA,MAAAA,OAAO,GAAAD,cAAA,KAAG,KAAA,CAAA,GAAA,CAAC,GAAAA,cAAA;MACXE,OAAO,GAsBP1B,KAAK,CAtBL0B,OAAO;MACPvB,KAAK,GAqBLH,KAAK,CArBLG,KAAK;MAAAwB,qBAAA,GAqBL3B,KAAK,CApBLI,cAAc;AAAdA,MAAAA,cAAc,GAAAuB,qBAAA,KAAG,KAAA,CAAA,GAAA,OAAO,GAAAA,qBAAA;MACxBC,WAAW,GAmBX5B,KAAK,CAnBL4B,WAAW;MACXC,YAAY,GAkBZ7B,KAAK,CAlBL6B,YAAY;MACZC,MAAM,GAiBN9B,KAAK,CAjBL8B,MAAM;MACNC,KAAK,GAgBL/B,KAAK,CAhBL+B,KAAK;MACLxB,KAAK,GAeLP,KAAK,CAfLO,KAAK;MACLyB,QAAQ,GAcRhC,KAAK,CAdLgC,QAAQ;MAAAC,eAAA,GAcRjC,KAAK,CAbLkC,QAAQ;AAARA,MAAAA,QAAQ,GAAAD,eAAA,KAAG,KAAA,CAAA,GAAA,KAAK,GAAAA,eAAA;MAAAE,qBAAA,GAahBnC,KAAK,CAZLoC,iBAAiB;AAAjBA,MAAAA,iBAAiB,GAAAD,qBAAA,KAAG,KAAA,CAAA,GAAA,OAAO,GAAAA,qBAAA;MAAAE,eAAA,GAY3BrC,KAAK,CAXLsC,QAAQ;AAARA,MAAAA,QAAQ,GAAAD,eAAA,KAAG,KAAA,CAAA,GAAA,KAAK,GAAAA,eAAA;MAChB7B,IAAI,GAUJR,KAAK,CAVLQ,IAAI;MACJ+B,IAAI,GASJvC,KAAK,CATLuC,IAAI;MACJC,EAAE,GAQFxC,KAAK,CARLwC,EAAE;MACFC,KAAK,GAOLzC,KAAK,CAPLyC,KAAK;MACLC,SAAS,GAMT1C,KAAK,CANL0C,SAAS;MACTxC,QAAQ,GAKRF,KAAK,CALLE,QAAQ;MACRI,IAAI,GAIJN,KAAK,CAJLM,IAAI;MACJqC,IAAI,GAGJ3C,KAAK,CAHL2C,IAAI;MACJC,QAAQ,GAER5C,KAAK,CAFL4C,QAAQ;AACLC,MAAAA,IAAAA,GAAAA,wBAAAA,CACH7C,KAAK,EAAA8C,SAAA,CAAA,CAAA;IAET,IAAAC,SAAA,GAAsCC,QAAQ,CAASjB,KAAK,GAAAkB,EAAAA,CAAAA,MAAA,CAAMlB,KAAM,EAAO,KAAA,CAAA,GAAA,MAAM,CAAC;MAAAmB,UAAA,GAAAC,cAAA,CAAAJ,SAAA,EAAA,CAAA,CAAA;AAA/EK,MAAAA,WAAW,GAAAF,UAAA,CAAA,CAAA,CAAA;AAAEG,MAAAA,cAAc,GAAAH,UAAA,CAAA,CAAA,CAAA,CAAA;AAClC,IAAA,IAAAI,UAAA,GAA8BN,QAAQ,CAAC,KAAK,CAAC;MAAAO,UAAA,GAAAJ,cAAA,CAAAG,UAAA,EAAA,CAAA,CAAA;AAAtCrD,MAAAA,OAAO,GAAAsD,UAAA,CAAA,CAAA,CAAA;AAAEC,MAAAA,UAAU,GAAAD,UAAA,CAAA,CAAA,CAAA,CAAA;AAC1B,IAAA,IAAAE,UAAA,GAAkDT,QAAQ,EAAsB;MAAAU,UAAA,GAAAP,cAAA,CAAAM,UAAA,EAAA,CAAA,CAAA;AAAzEE,MAAAA,iBAAiB,GAAAD,UAAA,CAAA,CAAA,CAAA;AAAEE,MAAAA,oBAAoB,GAAAF,UAAA,CAAA,CAAA,CAAA,CAAA;AAE9C,IAAA,IAAMG,QAAQ,gBAAGC,SAAS,EAAuB,CAAA;AAEjD,IAAA,IAAMC,aAAa,GAAG7B,QAAQ,GAAG,KAAK,GAAGI,QAAQ,CAAA;IACjD,IAAM0B,SAAS,GAAGC,OAAO,CAAC5C,UAAU,IAAID,WAAW,IAAIH,UAAU,CAAC,CAAA;IAClE,IAAMiD,aAAa,GAAGD,OAAO,CAAC9D,KAAK,IAAIC,cAAc,KAAK,OAAO,CAAC,CAAA;AAClE,IAAA,IAAM+D,aAAa,GAAGF,OAAO,CAAC9D,KAAK,IAAIC,cAAc,KAAK,OAAO,IAAII,IAAI,KAAK,IAAI,CAAC,CAAA;AACnF,IAAA,IAAM4D,sBAAsB,GAAGL,aAAa,IAAI,CAACG,aAAa,CAAA;IAE9D,IAAMG,cAAc,GAAGnD,MAAM,KAAKR,SAAS,GAAGf,iBAAiB,CAACuB,MAAM,CAAC,GAAGqB,IAAI,CAAA;IAC9E,IAAM+B,gBAAgB,GAAG9B,EAAE,GAAA,EAAA,CAAAS,MAAA,CAAMT,EAAG,eAAW9B,SAAS,CAAA;IACxD,IAAM6D,gBAAgB,GAAGpD,MAAM,KAAK,YAAY,IAAIA,MAAM,KAAK,MAAM,IAAI,CAACwB,IAAI,CAAA;AAC9E,IAAA,IAAM6B,gBAAgB,GAAGL,aAAa,GAAGhE,KAAK,GAAGyB,WAAW,CAAA;IAE5D,IAAM6C,sBAAsB,GAAGrC,iBAAiB,KAAK,OAAO,GAAG,cAAc,GAAG1B,SAAS,CAAA;AAEzFgE,IAAAA,iBAAiB,CAACb,QAAQ,EAAGc,UAAAA,cAAc,EAAK;AAC5C,MAAA,IAAeC,WAAAA,GAAgBD,cAAc,CAAClC,KAAK,CAA3CV,KAAK,CAAA;MAEb,IAAI6C,WAAW,IAAIjC,IAAI,EAAE;AACrB,QAAA,IAAAkC,qBAAA,GAAgCF,cAAc,CAACG,qBAAqB,EAAE;UAAvDC,YAAAA,GAAAA,qBAAAA,CAAPhD,KAAK,CAAA;AACbsB,QAAAA,cAAc,IAAAJ,MAAA,CAAI8B,YAAY,GAAGC,cAAe,QAAI,CAAC,CAAA;AACzD,OAAA;AACJ,KAAC,CAAC,CAAA;IAEFC,aAAa,CAAC5E,UAAU,EAAEwD,QAAQ,EAAEtD,KAAK,EAAEkB,OAAO,EAAEC,OAAO,CAAC,CAAA;AAE5D,IAAA,IAAMwD,cAAc,GAAGC,WAAW,CAAC,YAAM;MACrC3B,UAAU,CAAC,IAAI,CAAC,CAAA;KACnB,EAAE,EAAE,CAAC,CAAA;AAEN,IAAA,IAAM4B,aAAa,GAAGD,WAAW,CAAC,YAAM;MACpC3B,UAAU,CAAC,KAAK,CAAC,CAAA;KACpB,EAAE,EAAE,CAAC,CAAA;AAEN,IAAA,IAAM6B,eAAe,GAAGF,WAAW,CAC/B,UAACG,KAA6C,EAAK;AAC/C;MACA,IAAI/E,KAAK,KAAKG,SAAS,EAAE;QACrBkD,oBAAoB,CAAC0B,KAAK,KAAA,IAAA,IAALA,KAAK,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAALA,KAAK,CAAEC,MAAM,CAAChF,KAAK,CAAC,CAAA;AAC7C,OAAA;AACAqC,MAAAA,QAAQ,aAARA,QAAQ,KAAA,KAAA,CAAA,IAARA,QAAQ,CAAG0C,KAAK,CAAC,CAAA;AACrB,KAAC,EACD,CAAC/E,KAAK,EAAEqC,QAAQ,CACpB,CAAC,CAAA;AAED,IAAA,IAAM4C,mBAAmB,GAAGzF,sBAAsB,CAAA0F,cAAA,CAAA;AAE1CjF,MAAAA,IAAI,EAAJA,IAAI;AACJN,MAAAA,QAAQ,EAARA,QAAQ;AACRC,MAAAA,KAAK,EAALA,KAAK;AACLC,MAAAA,cAAc,EAAdA,cAAc;AACdG,MAAAA,KAAK,EAAEA,KAAK,IAAIoD,iBAAiB,IAAI9B,YAAAA;AAAY,KAAA,EAC7CvB,IAAI,GAAG;AAAEA,MAAAA,IAAAA,EAAAA,IAAAA;AAAK,KAAC,GAAG;AAAED,MAAAA,UAAAA,EAAAA,UAAAA;KAAY,CAAA,EAExCJ,OACJ,CAAC,CAAA;IAED,IAAMyF,gBAAgB,GAAG3B,aAAa,gBAClC4B,KAAA,CAAAC,aAAA,CAACC,kBAAkB,EAAA,IAAA,EACd5B,OAAO,CAACG,sBAAsB,GAAGI,gBAAgB,GAAGrE,KAAK,CAAC,IAAI,MAAM,EACpEV,YACe,CAAC,GACrB,IAAI,CAAA;AAER,IAAA,oBACIkG,KAAA,CAAAC,aAAA,CAAC9E,IAAI,EAAA;AACDyB,MAAAA,IAAI,EAAE8B,cAAe;AACrB7D,MAAAA,IAAI,EAAEA,IAAK;AACXwB,MAAAA,QAAQ,EAAEA,QAAS;AACnB9B,MAAAA,QAAQ,EAAEA,QAAS;AACnBuC,MAAAA,KAAK,EAAAgD,cAAA,CAAA;AAAI1D,QAAAA,KAAK,EAAEqB,WAAAA;AAAW,OAAA,EAAKX,KAAAA,CAAQ;AACxCC,MAAAA,SAAS,EAAEA,SAAAA;AAAU,KAAA,EAEpBwB,aAAa,iBACVyB,KAAA,CAAAC,aAAA,CAACE,WAAW,EACP5D,IAAAA,EAAAA,QAAQ,iBACLyD,KAAA,CAAAC,aAAA,CAACG,eAAe,EAAA;AAACrD,MAAAA,SAAS,EAAEsD,EAAE,CAAC/G,OAAO,CAACgH,mBAAmB,EAAExB,sBAAsB,CAAA;KACrF,CAAA,EACAtE,KAAK,EACLuF,gBACQ,CAChB,eACDC,KAAA,CAAAC,aAAA,CAACM,eAAe,EAAA;AACZxD,MAAAA,SAAS,EAAEsD,EAAE,CAAAG,KAAA,CAAC/G,KAAAA,CAAAA,EAAAA,CAAAA,eAAe,CAAA6D,CAAAA,MAAA,CAAAmD,kBAAA,CAAKZ,mBAAmB,CAAE,CAAA,CAAA;AACvDzD,MAAAA,KAAK,EAAEqB,WAAY;AACnBiD,MAAAA,OAAO,EAAEnB,cAAe;AACxBoB,MAAAA,MAAM,EAAElB,aAAAA;KAEPlD,EAAAA,QAAQ,IAAI,CAACgC,aAAa,iBACvByB,KAAA,CAAAC,aAAA,CAACG,eAAe,EAAA;AAACrD,MAAAA,SAAS,EAAEsD,EAAE,CAAC/G,OAAO,CAACsH,mBAAmB,EAAE9B,sBAAsB,CAAA;AAAE,KACvF,CAAA,EACAnD,YAAY,iBAAIqE,KAAA,CAAAC,aAAA,CAACY,aAAa,EAAA,IAAA,EAAElF,YAA4B,CAAC,eAC9DqE,KAAA,CAAAC,aAAA,CAACa,qBAAqB,EAAA;AAAC/D,MAAAA,SAAS,EAAEpD,qBAAsB;AAAC0E,MAAAA,SAAS,EAAEA,SAAAA;AAAU,KAAA,eAC1E2B,KAAA,CAAAC,aAAA,CAACc,cAAc,EAAAC,QAAA,CAAA;AACXjE,MAAAA,SAAS,EAAErD,cAAe;AAC1BmD,MAAAA,EAAE,EAAEA,EAAG;AACPoE,MAAAA,eAAe,EAAE3C,OAAO,CAAC3C,YAAY,CAAE;AACvC0C,MAAAA,SAAS,EAAEA,SAAU;AACrBO,MAAAA,gBAAgB,EAAEA,gBAAiB;AACnCsC,MAAAA,GAAG,EAAEC,SAAS,CAACjD,QAAQ,EAAE7C,QAAQ,CAAE;AACnCgB,MAAAA,QAAQ,EAAEA,QAAS;AACnBF,MAAAA,MAAM,EAAEzB,UAAU,GAAGoB,OAAO,GAAGK,MAAO;AACtCC,MAAAA,KAAK,EAAEA,KAAM;AACbH,MAAAA,WAAW,EAAE4C,gBAAiB;AAC9B,MAAA,kBAAA,EAAkBF,gBAAiB;AACnC/D,MAAAA,KAAK,EAAEA,KAAM;AACbL,MAAAA,QAAQ,EAAEA,QAAS;AACnBI,MAAAA,IAAI,EAAEA,IAAK;AACXqC,MAAAA,IAAI,EAAEA,IAAK;AACXxB,MAAAA,MAAM,EAAEA,MAAO;AACfU,MAAAA,YAAY,EAAEA,YAAa;AAC3Be,MAAAA,QAAQ,EAAEyC,eAAAA;KACNxC,EAAAA,IAAI,CAAC,CAEM,CAAA,EACtBmB,SAAS,iBACN2B,KAAA,CAAAC,aAAA,CAACmB,aAAa,EAAA;AAACrE,MAAAA,SAAS,EAAElD,aAAc;AAACgD,MAAAA,EAAE,EAAE8B,gBAAAA;AAAiB,KAAA,EACzD,CAACjD,UAAU,IAAIJ,UAAU,kBACtB0E,KAAA,CAAAC,aAAA,CAACoB,gBAAgB,EAAE3F,IAAAA,EAAAA,UAAU,IAAIJ,UAA6B,CACjE,EACAG,WAAW,iBAAIuE,KAAA,CAAAC,aAAA,CAACqB,iBAAiB,QAAE7F,WAA+B,CACxD,CAClB,EACAoD,gBAAgB,iBACbmB,KAAA,CAAAC,aAAA,CAACsB,iBAAiB,EAAA;AACdN,MAAAA,eAAe,EAAE3C,OAAO,CAAC3C,YAAY,CAAE;AACvCoB,MAAAA,SAAS,EAAEnD,iBAAkB;AAC7B4H,MAAAA,OAAO,EAAE3E,EAAAA;KAERgC,EAAAA,gBAAgB,EAChB,CAACN,aAAa,IAAIwB,gBACJ,CAEV,CACf,CAAC,CAAA;AAEf,GAAC,CAAC,CAAA;AAAA,EAAA;AAEC,IAAM0B,cAAc,GAAG;AAC1BC,EAAAA,IAAI,EAAE,UAAU;AAChBC,EAAAA,GAAG,EAAE,KAAK;AACVC,EAAAA,MAAM,EAAE1G,YAAY;AACpBnB,EAAAA,IAAI,EAAJA,IAAI;AACJ8H,EAAAA,UAAU,EAAE;AACRhH,IAAAA,IAAI,EAAE;AACFiH,MAAAA,GAAG,EAAEC,MAAAA;KACR;AACDnF,IAAAA,IAAI,EAAE;AACFkF,MAAAA,GAAG,EAAEE,MAAAA;KACR;AACD3F,IAAAA,QAAQ,EAAE;AACNyF,MAAAA,GAAG,EAAEG,MAAW;AAChBC,MAAAA,KAAK,EAAE,IAAA;KACV;AACD3H,IAAAA,QAAQ,EAAE;AACN2H,MAAAA,KAAK,EAAE,IAAA;AACX,KAAA;GACH;AACDC,EAAAA,QAAQ,EAAE;AACNtH,IAAAA,IAAI,EAAE,GAAG;AACT+B,IAAAA,IAAI,EAAE,SAAA;AACV,GAAA;AACJ;;;;"}
@@ -0,0 +1,120 @@
1
+ import { toConsumableArray as _toConsumableArray } from '../_virtual/_rollupPluginBabelHelpers.js';
2
+ import React, { useEffect } from 'react';
3
+
4
+ var initData = function initData(ref, defaultValues) {
5
+ if (ref.current) {
6
+ var form = ref.current;
7
+ var items = form.elements;
8
+ for (var i = 0; i < items.length; i++) {
9
+ var item = items[i];
10
+ var _name = item.name,
11
+ value = item.value,
12
+ type = item.type;
13
+ if ((type === 'text' || type === 'textarea') && defaultValues[_name]) {
14
+ item.value = String(defaultValues[_name]);
15
+ }
16
+ if (type === 'checkbox' && defaultValues[_name]) {
17
+ item.checked = Boolean(defaultValues[_name]);
18
+ }
19
+ if (type === 'radio' && defaultValues[_name]) {
20
+ item.checked = defaultValues[_name] === value;
21
+ }
22
+ if (type === 'number' && defaultValues[_name]) {
23
+ var sliderType = item.getAttribute('datatype');
24
+ if (sliderType === 'slider-single') {
25
+ item.setAttribute('defaultValue', String(defaultValues[_name]));
26
+ var event = new Event('setInitValue');
27
+ item.dispatchEvent(event);
28
+ }
29
+ if (sliderType === 'slider-double') {
30
+ var isMax = item.getAttribute('data-slidertype') === 'max' ? 1 : 0;
31
+ var _data = defaultValues[_name];
32
+ item.setAttribute('defaultValue', String(_data[isMax]));
33
+ var _event = new Event('setInitValue');
34
+ item.dispatchEvent(_event);
35
+ }
36
+ }
37
+ if (type === 'hidden') {
38
+ var datepickerType = item.getAttribute('datatype');
39
+ if (datepickerType === 'datepicker-single') {
40
+ item.setAttribute('defaultValue', String(defaultValues[_name]));
41
+ var _event2 = new Event('setInitValue');
42
+ item.dispatchEvent(_event2);
43
+ }
44
+ if (datepickerType === 'datepicker-double') {
45
+ var isTo = item.getAttribute('data-datepicker') === 'to' ? 1 : 0;
46
+ var _data2 = defaultValues[_name];
47
+ item.setAttribute('defaultValue', String(_data2[isTo]));
48
+ var _event3 = new Event('setInitValue');
49
+ item.dispatchEvent(_event3);
50
+ }
51
+ }
52
+ }
53
+ }
54
+ };
55
+ var valideParams = function valideParams(name) {
56
+ return name && name !== '';
57
+ };
58
+ var useFormPlasma = function useFormPlasma(onSubmit, defaultValues) {
59
+ var formRef = /*#__PURE__*/React.createRef();
60
+ useEffect(function () {
61
+ initData(formRef, defaultValues);
62
+ });
63
+ var formData = function formData(event) {
64
+ event.preventDefault();
65
+ var result = {};
66
+ var form = event.target;
67
+ var items = form.elements;
68
+ for (var i = 0; i < items.length; i++) {
69
+ var item = items[i];
70
+ var _name2 = item.name,
71
+ value = item.value,
72
+ type = item.type;
73
+ if ((type === 'text' || type === 'textarea') && valideParams(_name2)) {
74
+ result[_name2] = value;
75
+ } else if (type === 'checkbox' && valideParams(_name2)) {
76
+ result[_name2] = item.checked;
77
+ } else if (type === 'radio' && valideParams(_name2)) {
78
+ if (item.checked) {
79
+ result[_name2] = value;
80
+ } else if (!(_name2 in result)) {
81
+ result[_name2] = null;
82
+ }
83
+ } else if (type === 'number' && valideParams(_name2)) {
84
+ var sliderType = item.getAttribute('datatype');
85
+ if (sliderType === 'slider-single') {
86
+ result[_name2] = value;
87
+ }
88
+ if (sliderType === 'slider-double') {
89
+ var isMin = item.getAttribute('data-slidertype') === 'min';
90
+ if (isMin) {
91
+ result[_name2] = [Number(value)];
92
+ } else if (!isMin && Array.isArray(result[_name2])) {
93
+ result[_name2] = [].concat(_toConsumableArray(result[_name2]), [Number(value)]);
94
+ }
95
+ }
96
+ } else if (type === 'hidden' && valideParams(_name2)) {
97
+ var _sliderType = item.getAttribute('datatype');
98
+ if (_sliderType === 'datepicker-single') {
99
+ result[_name2] = value;
100
+ }
101
+ if (_sliderType === 'datepicker-double') {
102
+ var _isMin = item.getAttribute('data-datepicker') === 'from';
103
+ if (_isMin) {
104
+ result[_name2] = [String(value)];
105
+ } else if (!_isMin && Array.isArray(result[_name2])) {
106
+ result[_name2] = [].concat(_toConsumableArray(result[_name2]), [String(value)]);
107
+ }
108
+ }
109
+ }
110
+ }
111
+ onSubmit(result);
112
+ };
113
+ return {
114
+ formRef: formRef,
115
+ formData: formData
116
+ };
117
+ };
118
+
119
+ export { useFormPlasma };
120
+ //# sourceMappingURL=useForm.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useForm.js","sources":["../../src/hooks/useForm.ts"],"sourcesContent":["import React, { RefObject, useEffect } from 'react';\n\ntype DataType = { [name: string]: string | boolean | null | number | number[] | Date | string[] };\n\nconst initData = (ref: RefObject<HTMLFormElement>, defaultValues: DataType) => {\n if (ref.current) {\n const form = ref.current as HTMLFormElement;\n const items = form.elements;\n\n for (let i = 0; i < items.length; i++) {\n const item = items[i] as HTMLInputElement;\n const { name, value, type } = item;\n\n if ((type === 'text' || type === 'textarea') && defaultValues[name]) {\n item.value = String(defaultValues[name]);\n }\n\n if (type === 'checkbox' && defaultValues[name]) {\n item.checked = Boolean(defaultValues[name]);\n }\n\n if (type === 'radio' && defaultValues[name]) {\n item.checked = defaultValues[name] === value;\n }\n\n if (type === 'number' && defaultValues[name]) {\n const sliderType = item.getAttribute('datatype');\n\n if (sliderType === 'slider-single') {\n item.setAttribute('defaultValue', String(defaultValues[name]));\n const event = new Event('setInitValue');\n item.dispatchEvent(event);\n }\n\n if (sliderType === 'slider-double') {\n const isMax = item.getAttribute('data-slidertype') === 'max' ? 1 : 0;\n const data = defaultValues[name] as number[];\n\n item.setAttribute('defaultValue', String(data[isMax]));\n const event = new Event('setInitValue');\n item.dispatchEvent(event);\n }\n }\n\n if (type === 'hidden') {\n const datepickerType = item.getAttribute('datatype');\n\n if (datepickerType === 'datepicker-single') {\n item.setAttribute('defaultValue', String(defaultValues[name]));\n const event = new Event('setInitValue');\n item.dispatchEvent(event);\n }\n\n if (datepickerType === 'datepicker-double') {\n const isTo = item.getAttribute('data-datepicker') === 'to' ? 1 : 0;\n const data = defaultValues[name] as number[];\n\n item.setAttribute('defaultValue', String(data[isTo]));\n const event = new Event('setInitValue');\n item.dispatchEvent(event);\n }\n }\n }\n }\n};\n\nconst valideParams = (name: string) => {\n return name && name !== '';\n};\n\nexport const useFormPlasma = (onSubmit: (data: DataType) => void, defaultValues: DataType) => {\n const formRef = React.createRef<HTMLFormElement>();\n\n useEffect(() => {\n initData(formRef, defaultValues);\n });\n\n const formData = (event: React.FormEvent<HTMLFormElement>) => {\n event.preventDefault();\n\n const result: DataType = {};\n\n const form = event.target as HTMLFormElement;\n const items = form.elements;\n\n for (let i = 0; i < items.length; i++) {\n const item = items[i] as HTMLInputElement;\n const { name, value, type } = item;\n\n if ((type === 'text' || type === 'textarea') && valideParams(name)) {\n result[name] = value;\n } else if (type === 'checkbox' && valideParams(name)) {\n result[name] = item.checked;\n } else if (type === 'radio' && valideParams(name)) {\n if (item.checked) {\n result[name] = value;\n } else if (!(name in result)) {\n result[name] = null;\n }\n } else if (type === 'number' && valideParams(name)) {\n const sliderType = item.getAttribute('datatype');\n\n if (sliderType === 'slider-single') {\n result[name] = value;\n }\n\n if (sliderType === 'slider-double') {\n const isMin = item.getAttribute('data-slidertype') === 'min';\n if (isMin) {\n result[name] = [Number(value)];\n } else if (!isMin && Array.isArray(result[name])) {\n result[name] = [...(result[name] as number[]), Number(value)];\n }\n }\n } else if (type === 'hidden' && valideParams(name)) {\n const sliderType = item.getAttribute('datatype');\n\n if (sliderType === 'datepicker-single') {\n result[name] = value;\n }\n\n if (sliderType === 'datepicker-double') {\n const isMin = item.getAttribute('data-datepicker') === 'from';\n if (isMin) {\n result[name] = [String(value)];\n } else if (!isMin && Array.isArray(result[name])) {\n result[name] = [...(result[name] as string[]), String(value)];\n }\n }\n }\n }\n\n onSubmit(result);\n };\n\n return { formRef, formData };\n};\n"],"names":["initData","ref","defaultValues","current","form","items","elements","i","length","item","name","value","type","String","checked","Boolean","sliderType","getAttribute","setAttribute","event","Event","dispatchEvent","isMax","data","datepickerType","isTo","valideParams","useFormPlasma","onSubmit","formRef","React","createRef","useEffect","formData","preventDefault","result","target","isMin","Number","Array","isArray","concat","_toConsumableArray"],"mappings":"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"}