@salutejs/plasma-new-hope 0.153.0-dev.0 → 0.154.0-canary.1421.11039037651.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (199) hide show
  1. package/cjs/components/Button/Button.js +0 -1
  2. package/cjs/components/Button/Button.js.map +1 -1
  3. package/cjs/components/DatePicker/RangeDate/RangeDate.js +42 -2
  4. package/cjs/components/DatePicker/RangeDate/RangeDate.js.map +1 -1
  5. package/cjs/components/DatePicker/SingleDate/SingleDate.js +31 -3
  6. package/cjs/components/DatePicker/SingleDate/SingleDate.js.map +1 -1
  7. package/cjs/components/DatePicker/hooks/useDatePicker.js +34 -1
  8. package/cjs/components/DatePicker/hooks/useDatePicker.js.map +1 -1
  9. package/cjs/components/DatePicker/utils/setInitValue.js +12 -0
  10. package/cjs/components/DatePicker/utils/setInitValue.js.map +1 -0
  11. package/cjs/components/Slider/Slider.js +20 -6
  12. package/cjs/components/Slider/Slider.js.map +1 -1
  13. package/cjs/components/Slider/components/Double/Double.js +40 -2
  14. package/cjs/components/Slider/components/Double/Double.js.map +1 -1
  15. package/cjs/components/Slider/components/DoubleUncontrolled/DoubleUncontrolled.js +100 -0
  16. package/cjs/components/Slider/components/DoubleUncontrolled/DoubleUncontrolled.js.map +1 -0
  17. package/cjs/components/Slider/components/Single/Single.js +51 -13
  18. package/cjs/components/Slider/components/Single/Single.js.map +1 -1
  19. package/cjs/components/Slider/utils/index.js +6 -0
  20. package/cjs/components/Slider/utils/index.js.map +1 -1
  21. package/cjs/components/TextArea/TextArea.js +3 -2
  22. package/cjs/components/TextArea/TextArea.js.map +1 -1
  23. package/cjs/hooks/useForm.js +131 -0
  24. package/cjs/hooks/useForm.js.map +1 -0
  25. package/cjs/index.js +5 -0
  26. package/cjs/index.js.map +1 -1
  27. package/cjs/utils/index.js.map +1 -1
  28. package/cjs/utils/inputHidden.js +12 -0
  29. package/cjs/utils/inputHidden.js.map +1 -0
  30. package/cjs/utils/setRefList.js +28 -0
  31. package/cjs/utils/setRefList.js.map +1 -0
  32. package/emotion/cjs/components/Button/Button.js +0 -1
  33. package/emotion/cjs/components/DatePicker/RangeDate/RangeDate.js +42 -2
  34. package/emotion/cjs/components/DatePicker/SingleDate/SingleDate.js +31 -3
  35. package/emotion/cjs/components/DatePicker/hooks/useDatePicker.js +34 -1
  36. package/emotion/cjs/components/DatePicker/utils/setInitValue.js +11 -0
  37. package/emotion/cjs/components/Slider/Slider.js +15 -6
  38. package/emotion/cjs/components/Slider/components/Double/Double.js +40 -2
  39. package/emotion/cjs/components/Slider/components/DoubleUncontrolled/DoubleUncontrolled.js +103 -0
  40. package/emotion/cjs/components/Slider/components/DoubleUncontrolled/DoubleUncontrolled.types.js +5 -0
  41. package/emotion/cjs/components/Slider/components/Single/Single.js +46 -8
  42. package/emotion/cjs/components/Slider/components/index.js +11 -0
  43. package/emotion/cjs/components/Slider/utils/index.js +6 -1
  44. package/emotion/cjs/components/TextArea/TextArea.js +3 -3
  45. package/emotion/cjs/examples/plasma_b2c/components/Form/Form.stories.tsx +256 -0
  46. package/emotion/cjs/examples/plasma_web/components/Form/Form.stories.tsx +237 -0
  47. package/emotion/cjs/hooks/index.js +8 -1
  48. package/emotion/cjs/hooks/useForm.js +137 -0
  49. package/emotion/cjs/types/FormType.js +5 -0
  50. package/emotion/cjs/utils/index.js +15 -0
  51. package/emotion/cjs/utils/inputHidden.js +11 -0
  52. package/emotion/cjs/utils/setRefList.js +27 -0
  53. package/emotion/es/components/Button/Button.js +0 -1
  54. package/emotion/es/components/DatePicker/RangeDate/RangeDate.js +42 -2
  55. package/emotion/es/components/DatePicker/SingleDate/SingleDate.js +31 -3
  56. package/emotion/es/components/DatePicker/hooks/useDatePicker.js +34 -1
  57. package/emotion/es/components/DatePicker/utils/setInitValue.js +5 -0
  58. package/emotion/es/components/Slider/Slider.js +16 -6
  59. package/emotion/es/components/Slider/components/Double/Double.js +41 -3
  60. package/emotion/es/components/Slider/components/DoubleUncontrolled/DoubleUncontrolled.js +94 -0
  61. package/emotion/es/components/Slider/components/DoubleUncontrolled/DoubleUncontrolled.types.js +1 -0
  62. package/emotion/es/components/Slider/components/Single/Single.js +47 -9
  63. package/emotion/es/components/Slider/components/index.js +1 -0
  64. package/emotion/es/components/Slider/utils/index.js +5 -0
  65. package/emotion/es/components/TextArea/TextArea.js +4 -4
  66. package/emotion/es/examples/plasma_b2c/components/Form/Form.stories.tsx +256 -0
  67. package/emotion/es/examples/plasma_web/components/Form/Form.stories.tsx +237 -0
  68. package/emotion/es/hooks/index.js +2 -1
  69. package/emotion/es/hooks/useForm.js +128 -0
  70. package/emotion/es/types/FormType.js +1 -0
  71. package/emotion/es/utils/index.js +1 -0
  72. package/emotion/es/utils/inputHidden.js +4 -0
  73. package/emotion/es/utils/setRefList.js +20 -0
  74. package/es/components/Button/Button.js +0 -1
  75. package/es/components/Button/Button.js.map +1 -1
  76. package/es/components/DatePicker/RangeDate/RangeDate.js +42 -2
  77. package/es/components/DatePicker/RangeDate/RangeDate.js.map +1 -1
  78. package/es/components/DatePicker/SingleDate/SingleDate.js +31 -3
  79. package/es/components/DatePicker/SingleDate/SingleDate.js.map +1 -1
  80. package/es/components/DatePicker/hooks/useDatePicker.js +34 -1
  81. package/es/components/DatePicker/hooks/useDatePicker.js.map +1 -1
  82. package/es/components/DatePicker/utils/setInitValue.js +8 -0
  83. package/es/components/DatePicker/utils/setInitValue.js.map +1 -0
  84. package/es/components/Slider/Slider.js +21 -7
  85. package/es/components/Slider/Slider.js.map +1 -1
  86. package/es/components/Slider/components/Double/Double.js +41 -3
  87. package/es/components/Slider/components/Double/Double.js.map +1 -1
  88. package/es/components/Slider/components/DoubleUncontrolled/DoubleUncontrolled.js +96 -0
  89. package/es/components/Slider/components/DoubleUncontrolled/DoubleUncontrolled.js.map +1 -0
  90. package/es/components/Slider/components/Single/Single.js +47 -9
  91. package/es/components/Slider/components/Single/Single.js.map +1 -1
  92. package/es/components/Slider/utils/index.js +6 -1
  93. package/es/components/Slider/utils/index.js.map +1 -1
  94. package/es/components/TextArea/TextArea.js +3 -2
  95. package/es/components/TextArea/TextArea.js.map +1 -1
  96. package/es/hooks/useForm.js +127 -0
  97. package/es/hooks/useForm.js.map +1 -0
  98. package/es/index.js +2 -0
  99. package/es/index.js.map +1 -1
  100. package/es/utils/index.js.map +1 -1
  101. package/es/utils/inputHidden.js +8 -0
  102. package/es/utils/inputHidden.js.map +1 -0
  103. package/es/utils/setRefList.js +23 -0
  104. package/es/utils/setRefList.js.map +1 -0
  105. package/package.json +3 -2
  106. package/styled-components/cjs/components/Button/Button.js +0 -1
  107. package/styled-components/cjs/components/DatePicker/RangeDate/RangeDate.js +42 -2
  108. package/styled-components/cjs/components/DatePicker/SingleDate/SingleDate.js +31 -3
  109. package/styled-components/cjs/components/DatePicker/hooks/useDatePicker.js +34 -1
  110. package/styled-components/cjs/components/DatePicker/utils/setInitValue.js +11 -0
  111. package/styled-components/cjs/components/Slider/Slider.js +15 -6
  112. package/styled-components/cjs/components/Slider/components/Double/Double.js +40 -2
  113. package/styled-components/cjs/components/Slider/components/DoubleUncontrolled/DoubleUncontrolled.js +103 -0
  114. package/styled-components/cjs/components/Slider/components/DoubleUncontrolled/DoubleUncontrolled.types.js +5 -0
  115. package/styled-components/cjs/components/Slider/components/Single/Single.js +46 -8
  116. package/styled-components/cjs/components/Slider/components/index.js +11 -0
  117. package/styled-components/cjs/components/Slider/utils/index.js +6 -1
  118. package/styled-components/cjs/components/TextArea/TextArea.js +2 -2
  119. package/styled-components/cjs/examples/plasma_b2c/components/Form/Form.stories.tsx +256 -0
  120. package/styled-components/cjs/examples/plasma_web/components/Form/Form.stories.tsx +237 -0
  121. package/styled-components/cjs/hooks/index.js +8 -1
  122. package/styled-components/cjs/hooks/useForm.js +137 -0
  123. package/styled-components/cjs/types/FormType.js +5 -0
  124. package/styled-components/cjs/utils/index.js +15 -0
  125. package/styled-components/cjs/utils/inputHidden.js +11 -0
  126. package/styled-components/cjs/utils/setRefList.js +27 -0
  127. package/styled-components/es/components/Button/Button.js +0 -1
  128. package/styled-components/es/components/DatePicker/RangeDate/RangeDate.js +42 -2
  129. package/styled-components/es/components/DatePicker/SingleDate/SingleDate.js +31 -3
  130. package/styled-components/es/components/DatePicker/hooks/useDatePicker.js +34 -1
  131. package/styled-components/es/components/DatePicker/utils/setInitValue.js +5 -0
  132. package/styled-components/es/components/Slider/Slider.js +16 -6
  133. package/styled-components/es/components/Slider/components/Double/Double.js +41 -3
  134. package/styled-components/es/components/Slider/components/DoubleUncontrolled/DoubleUncontrolled.js +94 -0
  135. package/styled-components/es/components/Slider/components/DoubleUncontrolled/DoubleUncontrolled.types.js +1 -0
  136. package/styled-components/es/components/Slider/components/Single/Single.js +47 -9
  137. package/styled-components/es/components/Slider/components/index.js +1 -0
  138. package/styled-components/es/components/Slider/utils/index.js +5 -0
  139. package/styled-components/es/components/TextArea/TextArea.js +3 -3
  140. package/styled-components/es/examples/plasma_b2c/components/Form/Form.stories.tsx +256 -0
  141. package/styled-components/es/examples/plasma_web/components/Form/Form.stories.tsx +237 -0
  142. package/styled-components/es/hooks/index.js +2 -1
  143. package/styled-components/es/hooks/useForm.js +128 -0
  144. package/styled-components/es/types/FormType.js +1 -0
  145. package/styled-components/es/utils/index.js +1 -0
  146. package/styled-components/es/utils/inputHidden.js +4 -0
  147. package/styled-components/es/utils/setRefList.js +20 -0
  148. package/types/components/Button/Button.d.ts.map +1 -1
  149. package/types/components/DatePicker/DatePickerBase.types.d.ts +7 -0
  150. package/types/components/DatePicker/DatePickerBase.types.d.ts.map +1 -1
  151. package/types/components/DatePicker/RangeDate/RangeDate.d.ts +2 -0
  152. package/types/components/DatePicker/RangeDate/RangeDate.d.ts.map +1 -1
  153. package/types/components/DatePicker/RangeDate/RangeDate.types.d.ts +4 -0
  154. package/types/components/DatePicker/RangeDate/RangeDate.types.d.ts.map +1 -1
  155. package/types/components/DatePicker/SingleDate/SingleDate.d.ts.map +1 -1
  156. package/types/components/DatePicker/SingleDate/SingleDate.types.d.ts +10 -0
  157. package/types/components/DatePicker/SingleDate/SingleDate.types.d.ts.map +1 -1
  158. package/types/components/DatePicker/hooks/useDatePicker.d.ts +1 -1
  159. package/types/components/DatePicker/hooks/useDatePicker.d.ts.map +1 -1
  160. package/types/components/DatePicker/utils/setInitValue.d.ts +2 -0
  161. package/types/components/DatePicker/utils/setInitValue.d.ts.map +1 -0
  162. package/types/components/Slider/Slider.d.ts.map +1 -1
  163. package/types/components/Slider/Slider.types.d.ts +2 -2
  164. package/types/components/Slider/Slider.types.d.ts.map +1 -1
  165. package/types/components/Slider/components/Double/Double.d.ts.map +1 -1
  166. package/types/components/Slider/components/Double/Double.types.d.ts +2 -0
  167. package/types/components/Slider/components/Double/Double.types.d.ts.map +1 -1
  168. package/types/components/Slider/components/DoubleUncontrolled/DoubleUncontrolled.d.ts +4 -0
  169. package/types/components/Slider/components/DoubleUncontrolled/DoubleUncontrolled.d.ts.map +1 -0
  170. package/types/components/Slider/components/DoubleUncontrolled/DoubleUncontrolled.types.d.ts +40 -0
  171. package/types/components/Slider/components/DoubleUncontrolled/DoubleUncontrolled.types.d.ts.map +1 -0
  172. package/types/components/Slider/components/Single/Single.d.ts.map +1 -1
  173. package/types/components/Slider/components/Single/Single.types.d.ts +35 -5
  174. package/types/components/Slider/components/Single/Single.types.d.ts.map +1 -1
  175. package/types/components/Slider/components/index.d.ts +2 -0
  176. package/types/components/Slider/components/index.d.ts.map +1 -1
  177. package/types/components/Slider/utils/index.d.ts +1 -0
  178. package/types/components/Slider/utils/index.d.ts.map +1 -1
  179. package/types/components/TextArea/TextArea.d.ts.map +1 -1
  180. package/types/examples/plasma_b2c/components/DatePicker/DatePicker.d.ts +1 -0
  181. package/types/examples/plasma_b2c/components/DatePicker/DatePicker.d.ts.map +1 -1
  182. package/types/examples/plasma_b2c/components/Slider/Slider.d.ts +47 -1
  183. package/types/examples/plasma_b2c/components/Slider/Slider.d.ts.map +1 -1
  184. package/types/examples/plasma_web/components/DatePicker/DatePicker.d.ts +1 -0
  185. package/types/examples/plasma_web/components/DatePicker/DatePicker.d.ts.map +1 -1
  186. package/types/examples/plasma_web/components/Slider/Slider.d.ts +47 -1
  187. package/types/examples/plasma_web/components/Slider/Slider.d.ts.map +1 -1
  188. package/types/hooks/index.d.ts +1 -0
  189. package/types/hooks/index.d.ts.map +1 -1
  190. package/types/hooks/useForm.d.ts +10 -0
  191. package/types/hooks/useForm.d.ts.map +1 -0
  192. package/types/types/FormType.d.ts +13 -0
  193. package/types/types/FormType.d.ts.map +1 -0
  194. package/types/utils/index.d.ts +1 -0
  195. package/types/utils/index.d.ts.map +1 -1
  196. package/types/utils/inputHidden.d.ts +2 -0
  197. package/types/utils/inputHidden.d.ts.map +1 -0
  198. package/types/utils/setRefList.d.ts +6 -0
  199. package/types/utils/setRefList.d.ts.map +1 -0
@@ -0,0 +1,137 @@
1
+ "use strict";
2
+
3
+ function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); }
4
+ Object.defineProperty(exports, "__esModule", {
5
+ value: true
6
+ });
7
+ exports.useForm = void 0;
8
+ var _react = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("react"));
9
+ function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }
10
+ function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != _typeof(e) && "function" != typeof e) return { "default": e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n["default"] = e, t && t.set(e, n), n; }
11
+ function _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread(); }
12
+ function _nonIterableSpread() { throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
13
+ function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
14
+ function _iterableToArray(iter) { if (typeof Symbol !== "undefined" && iter[Symbol.iterator] != null || iter["@@iterator"] != null) return Array.from(iter); }
15
+ function _arrayWithoutHoles(arr) { if (Array.isArray(arr)) return _arrayLikeToArray(arr); }
16
+ function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i]; return arr2; }
17
+ var initData = function initData(ref, defaultValues) {
18
+ if (!ref.current) {
19
+ return;
20
+ }
21
+ var form = ref.current;
22
+ var items = form.elements;
23
+ for (var i = 0; i < items.length; i++) {
24
+ var item = items[i];
25
+ var _name = item.name,
26
+ value = item.value,
27
+ type = item.type;
28
+ if ((type === 'text' || type === 'textarea') && defaultValues[_name]) {
29
+ item.value = String(defaultValues[_name]);
30
+ }
31
+ if (type === 'checkbox' && defaultValues[_name]) {
32
+ item.checked = Boolean(defaultValues[_name]);
33
+ }
34
+ if (type === 'radio' && defaultValues[_name]) {
35
+ item.checked = defaultValues[_name] === value;
36
+ }
37
+ if (type === 'number' && defaultValues[_name]) {
38
+ var sliderType = item.getAttribute('datatype');
39
+ if (sliderType === 'slider-single') {
40
+ item.setAttribute('defaultValue', String(defaultValues[_name]));
41
+ var event = new Event('setInitValue');
42
+ item.dispatchEvent(event);
43
+ }
44
+ if (sliderType === 'slider-double') {
45
+ var isMax = item.getAttribute('data-slidertype') === 'max' ? 1 : 0;
46
+ var _data = defaultValues[_name];
47
+ item.setAttribute('defaultValue', String(_data[isMax]));
48
+ var _event = new Event('setInitValue');
49
+ item.dispatchEvent(_event);
50
+ }
51
+ }
52
+ if (type === 'hidden') {
53
+ var datepickerType = item.getAttribute('datatype');
54
+ if (datepickerType === 'datepicker-single') {
55
+ item.setAttribute('defaultValue', String(defaultValues[_name]));
56
+ var _event2 = new Event('setInitValue');
57
+ item.dispatchEvent(_event2);
58
+ }
59
+ if (datepickerType === 'datepicker-double') {
60
+ var isTo = item.getAttribute('data-datepicker') === 'to' ? 1 : 0;
61
+ var _data2 = defaultValues[_name];
62
+ item.setAttribute('defaultValue', String(_data2[isTo]));
63
+ var _event3 = new Event('setInitValue');
64
+ item.dispatchEvent(_event3);
65
+ }
66
+ }
67
+ }
68
+ };
69
+ var valideParams = function valideParams(name) {
70
+ return name && name !== '';
71
+ };
72
+ var useForm = exports.useForm = function useForm(onSubmit, defaultValues) {
73
+ var formRef = /*#__PURE__*/_react["default"].createRef();
74
+ (0, _react.useEffect)(function () {
75
+ initData(formRef, defaultValues);
76
+ }, []);
77
+ var formData = function formData(event) {
78
+ event.preventDefault();
79
+ var result = {};
80
+ var form = event.target;
81
+ var items = form.elements;
82
+ for (var i = 0; i < items.length; i++) {
83
+ var item = items[i];
84
+ var _name2 = item.name,
85
+ value = item.value,
86
+ type = item.type;
87
+ if ((type === 'text' || type === 'textarea') && valideParams(_name2)) {
88
+ result[_name2] = value;
89
+ }
90
+ if (type === 'checkbox' && valideParams(_name2)) {
91
+ result[_name2] = item.checked;
92
+ }
93
+ if (type === 'radio' && valideParams(_name2)) {
94
+ if (item.checked) {
95
+ result[_name2] = value;
96
+ } else if (!(_name2 in result)) {
97
+ result[_name2] = null;
98
+ }
99
+ }
100
+ if (type === 'number' && valideParams(_name2)) {
101
+ var sliderType = item.getAttribute('datatype');
102
+ if (sliderType === 'slider-single') {
103
+ result[_name2] = value;
104
+ }
105
+ if (sliderType === 'slider-double') {
106
+ var isMin = item.getAttribute('data-slidertype') === 'min';
107
+ if (isMin) {
108
+ result[_name2] = [Number(value)];
109
+ }
110
+ if (!isMin && Array.isArray(result[_name2])) {
111
+ result[_name2] = [].concat(_toConsumableArray(result[_name2]), [Number(value)]);
112
+ }
113
+ }
114
+ }
115
+ if (type === 'hidden' && valideParams(_name2)) {
116
+ var _sliderType = item.getAttribute('datatype');
117
+ if (_sliderType === 'datepicker-single') {
118
+ result[_name2] = value;
119
+ }
120
+ if (_sliderType === 'datepicker-double') {
121
+ var _isMin = item.getAttribute('data-datepicker') === 'from';
122
+ if (_isMin) {
123
+ result[_name2] = [String(value)];
124
+ }
125
+ if (!_isMin && Array.isArray(result[_name2])) {
126
+ result[_name2] = [].concat(_toConsumableArray(result[_name2]), [String(value)]);
127
+ }
128
+ }
129
+ }
130
+ }
131
+ onSubmit(result);
132
+ };
133
+ return {
134
+ formRef: formRef,
135
+ formData: formData
136
+ };
137
+ };
@@ -0,0 +1,5 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
@@ -13,6 +13,8 @@ var _exportNames = {
13
13
  IS_REACT_18: true,
14
14
  safeUseId: true,
15
15
  isNumber: true,
16
+ mergeRefs: true,
17
+ setRefList: true,
16
18
  isEmpty: true,
17
19
  constants: true
18
20
  };
@@ -53,17 +55,30 @@ Object.defineProperty(exports, "isNumber", {
53
55
  return _isNumber.isNumber;
54
56
  }
55
57
  });
58
+ Object.defineProperty(exports, "mergeRefs", {
59
+ enumerable: true,
60
+ get: function get() {
61
+ return _setRefList.mergeRefs;
62
+ }
63
+ });
56
64
  Object.defineProperty(exports, "safeUseId", {
57
65
  enumerable: true,
58
66
  get: function get() {
59
67
  return _react.safeUseId;
60
68
  }
61
69
  });
70
+ Object.defineProperty(exports, "setRefList", {
71
+ enumerable: true,
72
+ get: function get() {
73
+ return _setRefList.setRefList;
74
+ }
75
+ });
62
76
  var _canUseDOM = /*#__PURE__*/require("./canUseDOM");
63
77
  var _extractTextFrom = /*#__PURE__*/require("./extractTextFrom");
64
78
  var _getSizeValueFromProp = /*#__PURE__*/require("./getSizeValueFromProp");
65
79
  var _react = /*#__PURE__*/require("./react");
66
80
  var _isNumber = /*#__PURE__*/require("./isNumber");
81
+ var _setRefList = /*#__PURE__*/require("./setRefList");
67
82
  var _isEmpty = /*#__PURE__*/require("./isEmpty");
68
83
  var _constants = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("./constants"));
69
84
  exports.constants = _constants;
@@ -0,0 +1,11 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.InputHidden = void 0;
7
+ var _styledComponents = /*#__PURE__*/_interopRequireDefault( /*#__PURE__*/require("styled-components"));
8
+ var _templateObject;
9
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
10
+ function _taggedTemplateLiteral(strings, raw) { if (!raw) { raw = strings.slice(0); } return Object.freeze(Object.defineProperties(strings, { raw: { value: Object.freeze(raw) } })); }
11
+ var InputHidden = exports.InputHidden = /*#__PURE__*/_styledComponents["default"].input(_templateObject || (_templateObject = /*#__PURE__*/_taggedTemplateLiteral(["\n visibility: hidden;\n width: 0;\n height: 0;\n opacity: 0;\n margin: 0;\n padding: 0;\n border: none;\n"])));
@@ -0,0 +1,27 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.mergeRefs = mergeRefs;
7
+ exports.setRefList = setRefList;
8
+ function mergeRefs() {
9
+ for (var _len = arguments.length, refs = new Array(_len), _key = 0; _key < _len; _key++) {
10
+ refs[_key] = arguments[_key];
11
+ }
12
+ return function (val) {
13
+ setRefList.apply(void 0, [val].concat(refs));
14
+ };
15
+ }
16
+ function setRefList(val) {
17
+ for (var _len2 = arguments.length, refs = new Array(_len2 > 1 ? _len2 - 1 : 0), _key2 = 1; _key2 < _len2; _key2++) {
18
+ refs[_key2 - 1] = arguments[_key2];
19
+ }
20
+ refs.forEach(function (ref) {
21
+ if (typeof ref === 'function') {
22
+ ref(val);
23
+ } else if (ref != null) {
24
+ ref.current = val;
25
+ }
26
+ });
27
+ }
@@ -64,7 +64,6 @@ export var buttonRoot = function buttonRoot(Root) {
64
64
  value: value,
65
65
  disabled: disabled,
66
66
  focused: focused || outlined,
67
- contentPlacing: contentPlacing,
68
67
  className: cx(squareClass, stretchingClass, classes.buttonItem, isLoadingClass, className),
69
68
  style: _objectSpread(_objectSpread({}, style), {}, {
70
69
  '--plasma_computed-btn-br': buttonBorderRadius,
@@ -1,4 +1,4 @@
1
- var _excluded = ["className", "isDoubleCalendar", "opened", "label", "leftHelper", "contentLeft", "contentRight", "view", "size", "readOnly", "disabled", "dividerVariant", "dividerIcon", "defaultFirstDate", "defaultSecondDate", "firstValueError", "secondValueError", "firstValueSuccess", "secondValueSuccess", "firstPlaceholder", "secondPlaceholder", "firstTextfieldContentLeft", "firstTextfieldContentRight", "secondTextfieldContentLeft", "secondTextfieldContentRight", "firstTextfieldTextBefore", "secondTextfieldTextBefore", "firstTextfieldTextAfter", "secondTextfieldTextAfter", "format", "lang", "maskWithFormat", "min", "max", "includeEdgeDates", "eventList", "disabledList", "eventMonthList", "disabledMonthList", "eventQuarterList", "disabledQuarterList", "eventYearList", "disabledYearList", "type", "placement", "closeOnOverlayClick", "closeOnEsc", "offset", "onToggle", "onChangeFirstValue", "onChangeSecondValue", "onCommitFirstDate", "onCommitSecondDate", "onFocusFirstTextfield", "onFocusSecondTextfield", "onBlurFirstTextfield", "onBlurSecondTextfield"];
1
+ var _excluded = ["className", "isDoubleCalendar", "opened", "label", "leftHelper", "contentLeft", "contentRight", "view", "size", "readOnly", "disabled", "name", "dividerVariant", "dividerIcon", "defaultFirstDate", "defaultSecondDate", "firstValueError", "secondValueError", "firstValueSuccess", "secondValueSuccess", "firstPlaceholder", "secondPlaceholder", "firstTextfieldContentLeft", "firstTextfieldContentRight", "secondTextfieldContentLeft", "secondTextfieldContentRight", "firstTextfieldTextBefore", "secondTextfieldTextBefore", "firstTextfieldTextAfter", "secondTextfieldTextAfter", "format", "lang", "maskWithFormat", "min", "max", "includeEdgeDates", "eventList", "disabledList", "eventMonthList", "disabledMonthList", "eventQuarterList", "disabledQuarterList", "eventYearList", "disabledYearList", "type", "placement", "closeOnOverlayClick", "closeOnEsc", "offset", "onToggle", "onChangeFirstValue", "onChangeSecondValue", "onCommitFirstDate", "onCommitSecondDate", "onFocusFirstTextfield", "onFocusSecondTextfield", "onBlurFirstTextfield", "onBlurSecondTextfield"];
2
2
  function _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
3
3
  function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
4
4
  function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
@@ -14,6 +14,8 @@ import { formatCalendarValue, formatInputValue, getDateFormatDelimiter } from '.
14
14
  import { useDatePicker } from '../hooks/useDatePicker';
15
15
  import { classes } from '../DatePicker.tokens';
16
16
  import { useKeyNavigation } from '../hooks/useKeyboardNavigation';
17
+ import { setInitValue } from '../utils/setInitValue';
18
+ import { InputHidden } from '../../../utils/inputHidden';
17
19
  import { base as sizeCSS } from './variations/_size/base';
18
20
  import { base as viewCSS } from './variations/_view/base';
19
21
  import { base as disabledCSS } from './variations/_disabled/base';
@@ -38,6 +40,7 @@ export var datePickerRangeRoot = function datePickerRangeRoot(Root) {
38
40
  readOnly = _ref$readOnly === void 0 ? false : _ref$readOnly,
39
41
  _ref$disabled = _ref.disabled,
40
42
  disabled = _ref$disabled === void 0 ? false : _ref$disabled,
43
+ name = _ref.name,
41
44
  _ref$dividerVariant = _ref.dividerVariant,
42
45
  dividerVariant = _ref$dividerVariant === void 0 ? 'dash' : _ref$dividerVariant,
43
46
  dividerIcon = _ref.dividerIcon,
@@ -97,6 +100,8 @@ export var datePickerRangeRoot = function datePickerRangeRoot(Root) {
97
100
  rest = _objectWithoutProperties(_ref, _excluded);
98
101
  var rangeRef = ref && 'current' in ref ? ref : /*#__PURE__*/createRef();
99
102
  var rootRef = useRef(null);
103
+ var innerRefFirst = useRef(null);
104
+ var innerRefSecond = useRef(null);
100
105
  var _useState = useState(rangeRef === null || rangeRef === void 0 || (_rangeRef$current = rangeRef.current) === null || _rangeRef$current === void 0 ? void 0 : _rangeRef$current.firstTextField()),
101
106
  _useState2 = _slicedToArray(_useState, 2),
102
107
  firstInputRef = _useState2[0],
@@ -150,6 +155,7 @@ export var datePickerRangeRoot = function datePickerRangeRoot(Root) {
150
155
  valueError: firstValueError,
151
156
  valueSuccess: firstValueSuccess,
152
157
  inputRef: firstInputRef,
158
+ name: name,
153
159
  onChangeValue: onChangeFirstValue,
154
160
  onCommitDate: onCommitFirstDate
155
161
  }),
@@ -190,6 +196,23 @@ export var datePickerRangeRoot = function datePickerRangeRoot(Root) {
190
196
  onToggle: handleToggle
191
197
  }),
192
198
  onKeyDown = _useKeyNavigation.onKeyDown;
199
+ var setValue = function setValue(e) {
200
+ var firstElement = innerRefFirst.current;
201
+ var firstValueInit = String(firstElement.getAttribute('defaultValue'));
202
+ var secondValueInit = setInitValue(e);
203
+ handleCommitFirstDate(firstValueInit, true, false);
204
+ handleCommitSecondDate(secondValueInit, true, false);
205
+ };
206
+ useEffect(function () {
207
+ if (innerRefSecond.current) {
208
+ innerRefSecond.current.addEventListener('setInitValue', setValue);
209
+ }
210
+ return function () {
211
+ if (innerRefSecond.current) {
212
+ innerRefSecond.current.removeEventListener('setInitValue', setValue);
213
+ }
214
+ };
215
+ }, [innerRefSecond]);
193
216
  var RangeComponent = /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(StyledRange, {
194
217
  ref: rangeRef,
195
218
  dividerIcon: dividerIcon,
@@ -216,6 +239,7 @@ export var datePickerRangeRoot = function datePickerRangeRoot(Root) {
216
239
  secondValueSuccess: secondValueSuccess,
217
240
  onChangeFirstValue: handleChangeFirstValue,
218
241
  onChangeSecondValue: handleChangeSecondValue,
242
+ name: name,
219
243
  onSearchFirstValue: function onSearchFirstValue(_, date) {
220
244
  handleCommitFirstDate(String(date), true, false);
221
245
  if (!calendarSecondValue || secondValueError) {
@@ -319,7 +343,23 @@ export var datePickerRangeRoot = function datePickerRangeRoot(Root) {
319
343
  setIsInnerOpen(false);
320
344
  }
321
345
  }
322
- }), leftHelper && /*#__PURE__*/React.createElement(LeftHelper, null, leftHelper));
346
+ }), leftHelper && /*#__PURE__*/React.createElement(LeftHelper, null, leftHelper), /*#__PURE__*/React.createElement(InputHidden, {
347
+ name: name,
348
+ type: "hidden",
349
+ datatype: "datepicker-double",
350
+ "data-datepicker": "from",
351
+ value: inputFirstValue,
352
+ ref: innerRefFirst,
353
+ onChange: function onChange() {}
354
+ }), /*#__PURE__*/React.createElement(InputHidden, {
355
+ name: name,
356
+ type: "hidden",
357
+ datatype: "datepicker-double",
358
+ "data-datepicker": "to",
359
+ value: inputSecondValue,
360
+ ref: innerRefSecond,
361
+ onChange: function onChange() {}
362
+ }));
323
363
  });
324
364
  };
325
365
  export var datePickerRangeConfig = {
@@ -1,4 +1,4 @@
1
- var _excluded = ["className", "opened", "label", "labelPlacement", "placeholder", "leftHelper", "contentLeft", "contentRight", "textBefore", "textAfter", "view", "size", "readOnly", "disabled", "defaultDate", "valueError", "valueSuccess", "format", "lang", "maskWithFormat", "min", "max", "includeEdgeDates", "eventList", "disabledList", "eventMonthList", "disabledMonthList", "eventQuarterList", "disabledQuarterList", "eventYearList", "disabledYearList", "type", "placement", "closeOnOverlayClick", "offset", "onChangeValue", "onCommitDate", "onToggle", "onFocus", "onBlur"];
1
+ var _excluded = ["className", "opened", "label", "labelPlacement", "placeholder", "leftHelper", "contentLeft", "contentRight", "textBefore", "textAfter", "view", "size", "readOnly", "disabled", "name", "defaultDate", "valueError", "valueSuccess", "format", "lang", "maskWithFormat", "min", "max", "includeEdgeDates", "eventList", "disabledList", "eventMonthList", "disabledMonthList", "eventQuarterList", "disabledQuarterList", "eventYearList", "disabledYearList", "type", "placement", "closeOnOverlayClick", "offset", "onChangeValue", "onCommitDate", "onToggle", "onFocus", "onBlur", "onChange"];
2
2
  function _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
3
3
  function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
4
4
  function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
@@ -15,6 +15,8 @@ import { useDatePicker } from '../hooks/useDatePicker';
15
15
  import { classes } from '../DatePicker.tokens';
16
16
  import { StyledCalendar } from '../DatePickerBase.styles';
17
17
  import { useKeyNavigation } from '../hooks/useKeyboardNavigation';
18
+ import { setInitValue } from '../utils/setInitValue';
19
+ import { InputHidden } from '../../../utils/inputHidden';
18
20
  import { base as sizeCSS } from './variations/_size/base';
19
21
  import { base as viewCSS } from './variations/_view/base';
20
22
  import { base as disabledCSS } from './variations/_disabled/base';
@@ -40,6 +42,7 @@ export var datePickerRoot = function datePickerRoot(Root) {
40
42
  readOnly = _ref$readOnly === void 0 ? false : _ref$readOnly,
41
43
  _ref$disabled = _ref.disabled,
42
44
  disabled = _ref$disabled === void 0 ? false : _ref$disabled,
45
+ name = _ref.name,
43
46
  _ref$defaultDate = _ref.defaultDate,
44
47
  defaultDate = _ref$defaultDate === void 0 ? '' : _ref$defaultDate,
45
48
  valueError = _ref.valueError,
@@ -73,8 +76,10 @@ export var datePickerRoot = function datePickerRoot(Root) {
73
76
  onToggle = _ref.onToggle,
74
77
  onFocus = _ref.onFocus,
75
78
  onBlur = _ref.onBlur,
79
+ onChange = _ref.onChange,
76
80
  rest = _objectWithoutProperties(_ref, _excluded);
77
81
  var inputRef = useRef(null);
82
+ var innerRef = useRef(null);
78
83
  var _useState = useState(opened),
79
84
  _useState2 = _slicedToArray(_useState, 2),
80
85
  isInnerOpen = _useState2[0],
@@ -109,9 +114,11 @@ export var datePickerRoot = function datePickerRoot(Root) {
109
114
  valueError: valueError,
110
115
  valueSuccess: valueSuccess,
111
116
  inputRef: inputRef,
117
+ name: name,
112
118
  onToggle: onToggle,
113
119
  onChangeValue: onChangeValue,
114
- onCommitDate: onCommitDate
120
+ onCommitDate: onCommitDate,
121
+ onChange: onChange
115
122
  }),
116
123
  datePickerErrorClass = _useDatePicker.datePickerErrorClass,
117
124
  datePickerSuccessClass = _useDatePicker.datePickerSuccessClass,
@@ -167,6 +174,20 @@ export var datePickerRoot = function datePickerRoot(Root) {
167
174
  lang: lang
168
175
  }));
169
176
  }, [format, lang]);
177
+ useEffect(function () {
178
+ if (innerRef.current) {
179
+ innerRef.current.addEventListener('setInitValue', function (e) {
180
+ return handleCommitDate(setInitValue(e), true, false);
181
+ });
182
+ }
183
+ return function () {
184
+ if (innerRef.current) {
185
+ innerRef.current.removeEventListener('setInitValue', function (e) {
186
+ return handleCommitDate(setInitValue(e), true, false);
187
+ });
188
+ }
189
+ };
190
+ }, [innerRef]);
170
191
  return /*#__PURE__*/React.createElement(Root, _extends({
171
192
  view: view,
172
193
  size: size,
@@ -204,7 +225,14 @@ export var datePickerRoot = function datePickerRoot(Root) {
204
225
  onChangeValue: function onChangeValue(date, dateInfo) {
205
226
  return handleCommitDate(date, false, true, dateInfo);
206
227
  }
207
- })), leftHelper && /*#__PURE__*/React.createElement(LeftHelper, null, leftHelper));
228
+ })), leftHelper && /*#__PURE__*/React.createElement(LeftHelper, null, leftHelper), /*#__PURE__*/React.createElement(InputHidden, {
229
+ type: "hidden",
230
+ datatype: "datepicker-single",
231
+ name: name,
232
+ value: inputValue,
233
+ ref: innerRef,
234
+ onChange: function onChange() {}
235
+ }));
208
236
  });
209
237
  };
210
238
  export var datePickerConfig = {
@@ -16,9 +16,11 @@ export var useDatePicker = function useDatePicker(_ref) {
16
16
  valueError = _ref.valueError,
17
17
  valueSuccess = _ref.valueSuccess,
18
18
  inputRef = _ref.inputRef,
19
+ name = _ref.name,
19
20
  onToggle = _ref.onToggle,
20
21
  onChangeValue = _ref.onChangeValue,
21
- onCommitDate = _ref.onCommitDate;
22
+ onCommitDate = _ref.onCommitDate,
23
+ onChange = _ref.onChange;
22
24
  var datePickerErrorClass = valueError ? classes.datePickerError : undefined;
23
25
  var datePickerSuccessClass = valueSuccess ? classes.datePickerSuccess : undefined;
24
26
  var handleToggle = function handleToggle(opened, event) {
@@ -45,6 +47,12 @@ export var useDatePicker = function useDatePicker(_ref) {
45
47
  lang: lang
46
48
  }));
47
49
  onChangeValue === null || onChangeValue === void 0 || onChangeValue(event, newValue);
50
+ onChange === null || onChange === void 0 || onChange({
51
+ target: {
52
+ value: newValue,
53
+ name: name
54
+ }
55
+ });
48
56
  return;
49
57
  }
50
58
 
@@ -77,6 +85,12 @@ export var useDatePicker = function useDatePicker(_ref) {
77
85
  isLengthEqual: isLengthEqual
78
86
  }));
79
87
  onChangeValue === null || onChangeValue === void 0 || onChangeValue(event, newValue);
88
+ onChange === null || onChange === void 0 || onChange({
89
+ target: {
90
+ value: newValue,
91
+ name: name
92
+ }
93
+ });
80
94
  };
81
95
  var handleCommitDate = function handleCommitDate(date, applyFormat, isCalendarValue, dateInfo) {
82
96
  if (disabled || readOnly) {
@@ -95,6 +109,16 @@ export var useDatePicker = function useDatePicker(_ref) {
95
109
  lang: lang
96
110
  }));
97
111
  onCommitDate === null || onCommitDate === void 0 || onCommitDate(date, false, true, dateInfo);
112
+ onChange === null || onChange === void 0 || onChange({
113
+ target: {
114
+ value: formatInputValue({
115
+ value: date,
116
+ format: format,
117
+ lang: lang
118
+ }),
119
+ name: name
120
+ }
121
+ });
98
122
  return;
99
123
  }
100
124
  var formatString = applyFormat ? format : undefined;
@@ -109,6 +133,15 @@ export var useDatePicker = function useDatePicker(_ref) {
109
133
  lang: lang
110
134
  }));
111
135
  onCommitDate === null || onCommitDate === void 0 || onCommitDate(newDate, isError, isSuccess);
136
+ onChange === null || onChange === void 0 || onChange({
137
+ target: {
138
+ value: formatInputValue({
139
+ value: date,
140
+ format: format
141
+ }),
142
+ name: name
143
+ }
144
+ });
112
145
  };
113
146
  return {
114
147
  datePickerErrorClass: datePickerErrorClass,
@@ -0,0 +1,5 @@
1
+ export var setInitValue = function setInitValue(e) {
2
+ var item = e.target;
3
+ var defaultValue = String(item.getAttribute('defaultValue'));
4
+ return defaultValue;
5
+ };
@@ -1,17 +1,27 @@
1
+ var _excluded = ["type"];
1
2
  function _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
3
+ function _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }
4
+ function _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }
5
+ function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); }
2
6
  import React, { forwardRef } from 'react';
3
7
  import { base as viewCSS } from './variations/_view/base';
4
8
  import { base as sizeCSS } from './variations/_size/base';
5
9
  import { base as disabledCSS } from './variations/_disabled/base';
6
- import { SingleSlider, DoubleSlider } from './components';
7
- var isSingleValueProps = function isSingleValueProps(props) {
8
- return typeof props.value === 'number';
10
+ import { SingleSlider, DoubleUncontrolled } from './components';
11
+ var isSingleValueProps = function isSingleValueProps(props, type) {
12
+ return typeof props.value === 'number' || type === 'single' && _typeof(props.value) !== 'object';
13
+ };
14
+ var isDoubleValueProps = function isDoubleValueProps(props, type) {
15
+ return _typeof(props.value) === 'object' || type === 'double';
9
16
  };
10
17
  export var sliderRoot = function sliderRoot(Root) {
11
- return /*#__PURE__*/forwardRef(function (props, ref) {
12
- return /*#__PURE__*/React.createElement(Root, _extends({
18
+ return /*#__PURE__*/forwardRef(function (_ref, ref) {
19
+ var _ref$type = _ref.type,
20
+ type = _ref$type === void 0 ? 'single' : _ref$type,
21
+ props = _objectWithoutProperties(_ref, _excluded);
22
+ return /*#__PURE__*/React.createElement(Root, _extends({}, props, {
13
23
  ref: ref
14
- }, props), isSingleValueProps(props) && /*#__PURE__*/React.createElement(SingleSlider, props), !isSingleValueProps(props) && /*#__PURE__*/React.createElement(DoubleSlider, props));
24
+ }), isSingleValueProps(props, type) && /*#__PURE__*/React.createElement(SingleSlider, props), isDoubleValueProps(props, type) && /*#__PURE__*/React.createElement(DoubleUncontrolled, props));
15
25
  });
16
26
  };
17
27
  export var sliderConfig = {
@@ -1,5 +1,5 @@
1
1
  function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); }
2
- var _excluded = ["min", "max", "value", "disabled", "label", "labelContentLeft", "size", "onChangeCommitted", "onChangeTextField", "onBlurTextField", "onKeyDownTextField", "onChange", "ariaLabel", "multipleStepSize"];
2
+ var _excluded = ["min", "max", "value", "disabled", "label", "labelContentLeft", "size", "onChangeCommitted", "onChangeTextField", "onBlurTextField", "onKeyDownTextField", "onChange", "ariaLabel", "multipleStepSize", "name"];
3
3
  function _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
4
4
  function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
5
5
  function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
@@ -17,9 +17,10 @@ function _objectWithoutPropertiesLoose(source, excluded) { if (source == null) r
17
17
  import React, { useCallback, useEffect, useRef, useState } from 'react';
18
18
  import { SliderBase } from '../SliderBase/SliderBase';
19
19
  import { Handler } from '../../ui';
20
- import { sizeData } from '../../utils';
20
+ import { sizeData, setInitValue } from '../../utils';
21
21
  import { cx, isNumber } from '../../../../utils';
22
22
  import { classes } from '../../Slider.tokens';
23
+ import { InputHidden } from '../../../../utils/inputHidden';
23
24
  import { SliderWrapper, InputsWrapper, Label, LabelContentLeft, LabelWrapper, StyledInput, DoubleWrapper } from './Double.styles';
24
25
  function getXCenterHandle(handle) {
25
26
  var _handle$parentElement;
@@ -45,6 +46,7 @@ export var DoubleSlider = function DoubleSlider(_ref) {
45
46
  ariaLabel = _ref.ariaLabel,
46
47
  _ref$multipleStepSize = _ref.multipleStepSize,
47
48
  multipleStepSize = _ref$multipleStepSize === void 0 ? 10 : _ref$multipleStepSize,
49
+ name = _ref.name,
48
50
  rest = _objectWithoutProperties(_ref, _excluded);
49
51
  var _useState = useState({
50
52
  stepSize: 0,
@@ -80,10 +82,20 @@ export var DoubleSlider = function DoubleSlider(_ref) {
80
82
  var secondHandleRef = useRef(null);
81
83
  var firstHandleValue = useRef(value[0]);
82
84
  var secondHandleValue = useRef(value[1]);
85
+ var innerRefFirst = useRef(null);
86
+ var innerRefSecond = useRef(null);
83
87
  var stepSize = state.stepSize;
84
88
  var hasLabelContent = label || labelContentLeft;
85
89
  var firstInputActiveClass = firstInputActive && !disabled ? classes.textFieldActive : undefined;
86
90
  var secondInputActiveClass = secondInputActive && !disabled ? classes.textFieldActive : undefined;
91
+ var setValue = function setValue(e) {
92
+ var firstElement = innerRefFirst.current;
93
+ var firstValueInit = Number(firstElement.getAttribute('defaultValue'));
94
+ var secondValueInit = setInitValue(e);
95
+ onChangeCommitted && onChangeCommitted([firstValueInit, secondValueInit]);
96
+ setFirstValue(firstValueInit);
97
+ setSecondValue(secondValueInit);
98
+ };
87
99
  useEffect(function () {
88
100
  var firstLocalValue = Math.min(Math.max(value[0], min), max) - min;
89
101
  var secondLocalValue = Math.min(Math.max(value[1], min), max) - min;
@@ -98,6 +110,16 @@ export var DoubleSlider = function DoubleSlider(_ref) {
98
110
  });
99
111
  });
100
112
  }, [value, stepSize, min, max, setFirstValue, setSecondValue]);
113
+ useEffect(function () {
114
+ if (innerRefSecond.current && onChangeCommitted) {
115
+ innerRefSecond.current.addEventListener('setInitValue', setValue);
116
+ }
117
+ return function () {
118
+ if (innerRefSecond.current && onChangeCommitted) {
119
+ innerRefSecond.current.removeEventListener('setInitValue', setValue);
120
+ }
121
+ };
122
+ }, [innerRefSecond]);
101
123
  var setStepSize = useCallback(function (newStepSize) {
102
124
  setState(function (prevState) {
103
125
  return _objectSpread(_objectSpread({}, prevState), {}, {
@@ -306,5 +328,21 @@ export var DoubleSlider = function DoubleSlider(_ref) {
306
328
  onChange: onSecondTextfieldChange,
307
329
  onBlur: onSecondTextfieldBlur,
308
330
  onKeyDown: onTextfieldKeyDown
309
- }))));
331
+ }))), /*#__PURE__*/React.createElement(InputHidden, {
332
+ name: name,
333
+ type: "number",
334
+ datatype: "slider-double",
335
+ "data-slidertype": "min",
336
+ value: firstValue,
337
+ ref: innerRefFirst,
338
+ onChange: function onChange() {}
339
+ }), /*#__PURE__*/React.createElement(InputHidden, {
340
+ name: name,
341
+ type: "number",
342
+ datatype: "slider-double",
343
+ "data-slidertype": "max",
344
+ value: secondValue,
345
+ ref: innerRefSecond,
346
+ onChange: function onChange() {}
347
+ }));
310
348
  };