@salutejs/plasma-new-hope 0.149.0-canary.1418.10942866373.0 → 0.149.0-canary.1421.10946935893.0
Sign up to get free protection for your applications and to get access to all the features.
- package/cjs/components/DatePicker/RangeDate/RangeDate.css +2 -0
- package/cjs/components/DatePicker/RangeDate/RangeDate.js +39 -2
- package/cjs/components/DatePicker/RangeDate/RangeDate.js.map +1 -1
- package/cjs/components/DatePicker/SingleDate/SingleDate.css +2 -0
- package/cjs/components/DatePicker/SingleDate/SingleDate.js +26 -2
- package/cjs/components/DatePicker/SingleDate/SingleDate.js.map +1 -1
- package/cjs/components/DatePicker/utils/setInitValue.js +12 -0
- package/cjs/components/DatePicker/utils/setInitValue.js.map +1 -0
- package/cjs/components/Slider/Slider.css +2 -0
- package/cjs/components/Slider/Slider.js +19 -6
- package/cjs/components/Slider/Slider.js.map +1 -1
- package/cjs/components/Slider/components/Double/Double.css +2 -0
- package/cjs/components/Slider/components/Double/Double.js +38 -2
- package/cjs/components/Slider/components/Double/Double.js.map +1 -1
- package/cjs/components/Slider/components/DoubleUncontrolled/DoubleUncontrolled.js +56 -0
- package/cjs/components/Slider/components/DoubleUncontrolled/DoubleUncontrolled.js.map +1 -0
- package/cjs/components/Slider/components/Single/Single.css +2 -0
- package/cjs/components/Slider/components/Single/Single.js +35 -12
- package/cjs/components/Slider/components/Single/Single.js.map +1 -1
- package/cjs/components/Slider/utils/index.js +6 -0
- package/cjs/components/Slider/utils/index.js.map +1 -1
- package/cjs/components/TextArea/TextArea.js +3 -2
- package/cjs/components/TextArea/TextArea.js.map +1 -1
- package/cjs/components/TextField/TextField.js +1 -3
- package/cjs/components/TextField/TextField.js.map +1 -1
- package/cjs/hooks/useForm.js +131 -0
- package/cjs/hooks/useForm.js.map +1 -0
- package/cjs/index.css +2 -0
- package/cjs/index.js +5 -2
- package/cjs/index.js.map +1 -1
- package/cjs/utils/index.js.map +1 -1
- package/cjs/utils/inputHidden.js +15 -0
- package/cjs/utils/inputHidden.js.map +1 -0
- package/cjs/utils/inputHidden_1ciypqb.css +1 -0
- package/cjs/utils/setRefList.js +28 -0
- package/cjs/utils/setRefList.js.map +1 -0
- package/emotion/cjs/components/DatePicker/RangeDate/RangeDate.js +39 -2
- package/emotion/cjs/components/DatePicker/SingleDate/SingleDate.js +26 -2
- package/emotion/cjs/components/DatePicker/utils/setInitValue.js +11 -0
- package/emotion/cjs/components/Slider/Slider.js +15 -6
- package/emotion/cjs/components/Slider/components/Double/Double.js +38 -2
- package/{styled-components/cjs/components/Mask/Mask.js → emotion/cjs/components/Slider/components/DoubleUncontrolled/DoubleUncontrolled.js} +43 -38
- package/emotion/cjs/components/Slider/components/Single/Single.js +30 -7
- package/emotion/cjs/components/Slider/components/index.js +11 -0
- package/emotion/cjs/components/Slider/utils/index.js +6 -1
- package/emotion/cjs/components/TextArea/TextArea.js +3 -3
- package/emotion/cjs/components/TextField/TextField.js +2 -4
- package/emotion/cjs/examples/plasma_b2c/components/Form/Form.stories.tsx +245 -0
- package/emotion/cjs/hooks/index.js +8 -1
- package/emotion/cjs/hooks/useForm.js +137 -0
- package/emotion/cjs/index.js +0 -11
- package/emotion/cjs/utils/index.js +15 -0
- package/emotion/cjs/utils/inputHidden.js +10 -0
- package/emotion/cjs/utils/setRefList.js +27 -0
- package/emotion/es/components/DatePicker/RangeDate/RangeDate.js +39 -2
- package/emotion/es/components/DatePicker/SingleDate/SingleDate.js +26 -2
- package/emotion/es/components/DatePicker/utils/setInitValue.js +5 -0
- package/emotion/es/components/Slider/Slider.js +16 -6
- package/emotion/es/components/Slider/components/Double/Double.js +39 -3
- package/emotion/es/components/Slider/components/DoubleUncontrolled/DoubleUncontrolled.js +51 -0
- package/emotion/es/components/Slider/components/Single/Single.js +31 -8
- package/emotion/es/components/Slider/components/index.js +1 -0
- package/emotion/es/components/Slider/utils/index.js +5 -0
- package/emotion/es/components/TextArea/TextArea.js +4 -4
- package/emotion/es/components/TextField/TextField.js +2 -4
- package/emotion/es/examples/plasma_b2c/components/Form/Form.stories.tsx +245 -0
- package/emotion/es/hooks/index.js +2 -1
- package/emotion/es/hooks/useForm.js +128 -0
- package/emotion/es/index.js +1 -2
- package/emotion/es/utils/index.js +1 -0
- package/emotion/es/utils/inputHidden.js +4 -0
- package/emotion/es/utils/setRefList.js +20 -0
- package/es/components/DatePicker/RangeDate/RangeDate.css +2 -0
- package/es/components/DatePicker/RangeDate/RangeDate.js +39 -2
- package/es/components/DatePicker/RangeDate/RangeDate.js.map +1 -1
- package/es/components/DatePicker/SingleDate/SingleDate.css +2 -0
- package/es/components/DatePicker/SingleDate/SingleDate.js +26 -2
- package/es/components/DatePicker/SingleDate/SingleDate.js.map +1 -1
- package/es/components/DatePicker/utils/setInitValue.js +8 -0
- package/es/components/DatePicker/utils/setInitValue.js.map +1 -0
- package/es/components/Slider/Slider.css +2 -0
- package/es/components/Slider/Slider.js +20 -7
- package/es/components/Slider/Slider.js.map +1 -1
- package/es/components/Slider/components/Double/Double.css +2 -0
- package/es/components/Slider/components/Double/Double.js +39 -3
- package/es/components/Slider/components/Double/Double.js.map +1 -1
- package/es/components/Slider/components/DoubleUncontrolled/DoubleUncontrolled.js +52 -0
- package/es/components/Slider/components/DoubleUncontrolled/DoubleUncontrolled.js.map +1 -0
- package/es/components/Slider/components/Single/Single.css +2 -0
- package/es/components/Slider/components/Single/Single.js +31 -8
- package/es/components/Slider/components/Single/Single.js.map +1 -1
- package/es/components/Slider/utils/index.js +6 -1
- package/es/components/Slider/utils/index.js.map +1 -1
- package/es/components/TextArea/TextArea.js +3 -2
- package/es/components/TextArea/TextArea.js.map +1 -1
- package/es/components/TextField/TextField.js +1 -3
- package/es/components/TextField/TextField.js.map +1 -1
- package/es/hooks/useForm.js +127 -0
- package/es/hooks/useForm.js.map +1 -0
- package/es/index.css +2 -0
- package/es/index.js +2 -1
- package/es/index.js.map +1 -1
- package/es/utils/index.js.map +1 -1
- package/es/utils/inputHidden.js +11 -0
- package/es/utils/inputHidden.js.map +1 -0
- package/es/utils/inputHidden_1ciypqb.css +1 -0
- package/es/utils/setRefList.js +23 -0
- package/es/utils/setRefList.js.map +1 -0
- package/package.json +3 -4
- package/styled-components/cjs/components/DatePicker/RangeDate/RangeDate.js +39 -2
- package/styled-components/cjs/components/DatePicker/SingleDate/SingleDate.js +26 -2
- package/styled-components/cjs/components/DatePicker/utils/setInitValue.js +11 -0
- package/styled-components/cjs/components/Slider/Slider.js +15 -6
- package/styled-components/cjs/components/Slider/components/Double/Double.js +38 -2
- package/{emotion/cjs/components/Mask/Mask.js → styled-components/cjs/components/Slider/components/DoubleUncontrolled/DoubleUncontrolled.js} +43 -38
- package/styled-components/cjs/components/Slider/components/Single/Single.js +30 -7
- package/styled-components/cjs/components/Slider/components/index.js +11 -0
- package/styled-components/cjs/components/Slider/utils/index.js +6 -1
- package/styled-components/cjs/components/TextArea/TextArea.js +2 -2
- package/styled-components/cjs/components/TextField/TextField.js +1 -3
- package/styled-components/cjs/examples/plasma_b2c/components/Form/Form.stories.tsx +245 -0
- package/styled-components/cjs/hooks/index.js +8 -1
- package/styled-components/cjs/hooks/useForm.js +137 -0
- package/styled-components/cjs/index.js +0 -11
- package/styled-components/cjs/utils/index.js +15 -0
- package/styled-components/cjs/utils/inputHidden.js +10 -0
- package/styled-components/cjs/utils/setRefList.js +27 -0
- package/styled-components/es/components/DatePicker/RangeDate/RangeDate.js +39 -2
- package/styled-components/es/components/DatePicker/SingleDate/SingleDate.js +26 -2
- package/styled-components/es/components/DatePicker/utils/setInitValue.js +5 -0
- package/styled-components/es/components/Slider/Slider.js +16 -6
- package/styled-components/es/components/Slider/components/Double/Double.js +39 -3
- package/styled-components/es/components/Slider/components/DoubleUncontrolled/DoubleUncontrolled.js +51 -0
- package/styled-components/es/components/Slider/components/Single/Single.js +31 -8
- package/styled-components/es/components/Slider/components/index.js +1 -0
- package/styled-components/es/components/Slider/utils/index.js +5 -0
- package/styled-components/es/components/TextArea/TextArea.js +3 -3
- package/styled-components/es/components/TextField/TextField.js +1 -3
- package/styled-components/es/examples/plasma_b2c/components/Form/Form.stories.tsx +245 -0
- package/styled-components/es/hooks/index.js +2 -1
- package/styled-components/es/hooks/useForm.js +128 -0
- package/styled-components/es/index.js +1 -2
- package/styled-components/es/utils/index.js +1 -0
- package/styled-components/es/utils/inputHidden.js +4 -0
- package/styled-components/es/utils/setRefList.js +20 -0
- package/types/components/DatePicker/RangeDate/RangeDate.d.ts +2 -0
- package/types/components/DatePicker/RangeDate/RangeDate.d.ts.map +1 -1
- package/types/components/DatePicker/RangeDate/RangeDate.types.d.ts +4 -0
- package/types/components/DatePicker/RangeDate/RangeDate.types.d.ts.map +1 -1
- package/types/components/DatePicker/SingleDate/SingleDate.d.ts.map +1 -1
- package/types/components/DatePicker/SingleDate/SingleDate.types.d.ts +4 -0
- package/types/components/DatePicker/SingleDate/SingleDate.types.d.ts.map +1 -1
- package/types/components/DatePicker/utils/setInitValue.d.ts +2 -0
- package/types/components/DatePicker/utils/setInitValue.d.ts.map +1 -0
- package/types/components/Slider/Slider.d.ts.map +1 -1
- package/types/components/Slider/Slider.types.d.ts +2 -2
- package/types/components/Slider/Slider.types.d.ts.map +1 -1
- package/types/components/Slider/components/Double/Double.d.ts.map +1 -1
- package/types/components/Slider/components/Double/Double.types.d.ts +2 -0
- package/types/components/Slider/components/Double/Double.types.d.ts.map +1 -1
- package/types/components/Slider/components/DoubleUncontrolled/DoubleUncontrolled.d.ts +4 -0
- package/types/components/Slider/components/DoubleUncontrolled/DoubleUncontrolled.d.ts.map +1 -0
- package/types/components/Slider/components/DoubleUncontrolled/DoubleUncontrolled.types.d.ts +5 -0
- package/types/components/Slider/components/DoubleUncontrolled/DoubleUncontrolled.types.d.ts.map +1 -0
- package/types/components/Slider/components/Single/Single.d.ts.map +1 -1
- package/types/components/Slider/components/Single/Single.types.d.ts +3 -1
- package/types/components/Slider/components/Single/Single.types.d.ts.map +1 -1
- package/types/components/Slider/components/index.d.ts +2 -0
- package/types/components/Slider/components/index.d.ts.map +1 -1
- package/types/components/Slider/utils/index.d.ts +1 -0
- package/types/components/Slider/utils/index.d.ts.map +1 -1
- package/types/components/TextArea/TextArea.d.ts.map +1 -1
- package/types/components/TextField/TextField.d.ts.map +1 -1
- package/types/examples/plasma_b2c/components/DatePicker/DatePicker.d.ts +1 -0
- package/types/examples/plasma_b2c/components/DatePicker/DatePicker.d.ts.map +1 -1
- package/types/examples/plasma_b2c/components/Slider/Slider.d.ts +3 -1
- package/types/examples/plasma_b2c/components/Slider/Slider.d.ts.map +1 -1
- package/types/examples/plasma_web/components/DatePicker/DatePicker.d.ts +1 -0
- package/types/examples/plasma_web/components/DatePicker/DatePicker.d.ts.map +1 -1
- package/types/examples/plasma_web/components/Slider/Slider.d.ts +3 -1
- package/types/examples/plasma_web/components/Slider/Slider.d.ts.map +1 -1
- package/types/hooks/index.d.ts +1 -0
- package/types/hooks/index.d.ts.map +1 -1
- package/types/hooks/useForm.d.ts +10 -0
- package/types/hooks/useForm.d.ts.map +1 -0
- package/types/index.d.ts +0 -1
- package/types/index.d.ts.map +1 -1
- package/types/utils/index.d.ts +1 -0
- package/types/utils/index.d.ts.map +1 -1
- package/types/utils/inputHidden.d.ts +3 -0
- package/types/utils/inputHidden.d.ts.map +1 -0
- package/types/utils/setRefList.d.ts +6 -0
- package/types/utils/setRefList.d.ts.map +1 -0
- package/cjs/components/Mask/Mask.js +0 -45
- package/cjs/components/Mask/Mask.js.map +0 -1
- package/emotion/cjs/components/Mask/Mask.template-doc.mdx +0 -125
- package/emotion/cjs/components/Mask/index.js +0 -12
- package/emotion/cjs/examples/plasma_b2c/components/Mask/Mask.js +0 -9
- package/emotion/cjs/examples/plasma_b2c/components/Mask/Mask.stories.tsx +0 -127
- package/emotion/cjs/examples/plasma_web/components/Mask/Mask.js +0 -9
- package/emotion/cjs/examples/plasma_web/components/Mask/Mask.stories.tsx +0 -125
- package/emotion/es/components/Mask/Mask.js +0 -45
- package/emotion/es/components/Mask/Mask.template-doc.mdx +0 -125
- package/emotion/es/components/Mask/index.js +0 -1
- package/emotion/es/examples/plasma_b2c/components/Mask/Mask.js +0 -3
- package/emotion/es/examples/plasma_b2c/components/Mask/Mask.stories.tsx +0 -127
- package/emotion/es/examples/plasma_web/components/Mask/Mask.js +0 -3
- package/emotion/es/examples/plasma_web/components/Mask/Mask.stories.tsx +0 -125
- package/es/components/Mask/Mask.js +0 -41
- package/es/components/Mask/Mask.js.map +0 -1
- package/styled-components/cjs/components/Mask/Mask.template-doc.mdx +0 -125
- package/styled-components/cjs/components/Mask/index.js +0 -12
- package/styled-components/cjs/examples/plasma_b2c/components/Mask/Mask.js +0 -9
- package/styled-components/cjs/examples/plasma_b2c/components/Mask/Mask.stories.tsx +0 -127
- package/styled-components/cjs/examples/plasma_web/components/Mask/Mask.js +0 -9
- package/styled-components/cjs/examples/plasma_web/components/Mask/Mask.stories.tsx +0 -125
- package/styled-components/es/components/Mask/Mask.js +0 -45
- package/styled-components/es/components/Mask/Mask.template-doc.mdx +0 -125
- package/styled-components/es/components/Mask/index.js +0 -1
- package/styled-components/es/examples/plasma_b2c/components/Mask/Mask.js +0 -3
- package/styled-components/es/examples/plasma_b2c/components/Mask/Mask.stories.tsx +0 -127
- package/styled-components/es/examples/plasma_web/components/Mask/Mask.js +0 -3
- package/styled-components/es/examples/plasma_web/components/Mask/Mask.stories.tsx +0 -125
- package/types/components/Mask/Mask.d.ts +0 -5
- package/types/components/Mask/Mask.d.ts.map +0 -1
- package/types/components/Mask/Mask.types.d.ts +0 -62
- package/types/components/Mask/Mask.types.d.ts.map +0 -1
- package/types/components/Mask/index.d.ts +0 -2
- package/types/components/Mask/index.d.ts.map +0 -1
- package/types/examples/plasma_b2c/components/Mask/Mask.d.ts +0 -191
- package/types/examples/plasma_b2c/components/Mask/Mask.d.ts.map +0 -1
- package/types/examples/plasma_web/components/Mask/Mask.d.ts +0 -191
- package/types/examples/plasma_web/components/Mask/Mask.d.ts.map +0 -1
- /package/emotion/cjs/components/{Mask/Mask.types.js → Slider/components/DoubleUncontrolled/DoubleUncontrolled.types.js} +0 -0
- /package/emotion/es/components/{Mask/Mask.types.js → Slider/components/DoubleUncontrolled/DoubleUncontrolled.types.js} +0 -0
- /package/styled-components/cjs/components/{Mask/Mask.types.js → Slider/components/DoubleUncontrolled/DoubleUncontrolled.types.js} +0 -0
- /package/styled-components/es/components/{Mask/Mask.types.js → Slider/components/DoubleUncontrolled/DoubleUncontrolled.types.js} +0 -0
@@ -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,
|
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 (
|
12
|
-
|
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
|
-
}
|
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,19 @@ 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
|
+
}), /*#__PURE__*/React.createElement(InputHidden, {
|
339
|
+
name: name,
|
340
|
+
type: "number",
|
341
|
+
datatype: "slider-double",
|
342
|
+
"data-slidertype": "max",
|
343
|
+
value: secondValue,
|
344
|
+
ref: innerRefSecond
|
345
|
+
}));
|
310
346
|
};
|
package/styled-components/es/components/Slider/components/DoubleUncontrolled/DoubleUncontrolled.js
ADDED
@@ -0,0 +1,51 @@
|
|
1
|
+
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); }
|
2
|
+
function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
|
3
|
+
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."); }
|
4
|
+
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); }
|
5
|
+
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; }
|
6
|
+
function _iterableToArrayLimit(r, l) { var t = null == r ? null : "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"]; if (null != t) { var e, n, i, u, a = [], f = !0, o = !1; try { if (i = (t = t.call(r)).next, 0 === l) { if (Object(t) !== t) return; f = !1; } else for (; !(f = (e = i.call(t)).done) && (a.push(e.value), a.length !== l); f = !0); } catch (r) { o = !0, n = r; } finally { try { if (!f && null != t["return"] && (u = t["return"](), Object(u) !== u)) return; } finally { if (o) throw n; } } return a; } }
|
7
|
+
function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
|
8
|
+
import React, { useState } from 'react';
|
9
|
+
import { DoubleSlider } from '../index';
|
10
|
+
export var DoubleUncontrolled = function DoubleUncontrolled(props) {
|
11
|
+
var _useState = useState([props.min, props.max]),
|
12
|
+
_useState2 = _slicedToArray(_useState, 2),
|
13
|
+
sliderValue = _useState2[0],
|
14
|
+
setSliderValue = _useState2[1];
|
15
|
+
var sortValues = function sortValues(values) {
|
16
|
+
return values.map(function (val) {
|
17
|
+
if (val < props.min) {
|
18
|
+
return props.min;
|
19
|
+
}
|
20
|
+
if (val > props.max) {
|
21
|
+
return props.max;
|
22
|
+
}
|
23
|
+
return val;
|
24
|
+
}).sort(function (a, b) {
|
25
|
+
return a - b;
|
26
|
+
});
|
27
|
+
};
|
28
|
+
var onChangeHandle = function onChangeHandle(values) {
|
29
|
+
setSliderValue(sortValues(values));
|
30
|
+
};
|
31
|
+
var onChangeCommitedHandle = function onChangeCommitedHandle(values) {
|
32
|
+
setSliderValue(sortValues(values));
|
33
|
+
};
|
34
|
+
var onBlurTextField = function onBlurTextField(values) {
|
35
|
+
setSliderValue(sortValues(values));
|
36
|
+
};
|
37
|
+
var onKeyDownTextField = function onKeyDownTextField(values, event) {
|
38
|
+
if (event.key === 'Enter') {
|
39
|
+
setSliderValue(sortValues(values));
|
40
|
+
}
|
41
|
+
};
|
42
|
+
return props.value ? /*#__PURE__*/React.createElement(DoubleSlider, _extends({}, props, {
|
43
|
+
value: props.value
|
44
|
+
})) : /*#__PURE__*/React.createElement(DoubleSlider, _extends({
|
45
|
+
value: sliderValue,
|
46
|
+
onKeyDownTextField: onKeyDownTextField,
|
47
|
+
onBlurTextField: onBlurTextField,
|
48
|
+
onChangeCommitted: onChangeCommitedHandle,
|
49
|
+
onChange: onChangeHandle
|
50
|
+
}, props));
|
51
|
+
};
|
@@ -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", "onChangeCommitted", "onChange", "ariaLabel", "label", "labelContentLeft", "showRangeValues", "showCurrentValue", "hideMinValueDiff", "hideMaxValueDiff", "labelPlacement", "rangeValuesPlacement", "multipleStepSize", "size"];
|
2
|
+
var _excluded = ["min", "max", "value", "disabled", "onChangeCommitted", "onChange", "ariaLabel", "label", "labelContentLeft", "showRangeValues", "showCurrentValue", "hideMinValueDiff", "hideMaxValueDiff", "labelPlacement", "rangeValuesPlacement", "multipleStepSize", "size", "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, useState, useRef } from 'react';
|
18
18
|
import { SliderBase } from '../SliderBase/SliderBase';
|
19
19
|
import { Handler } from '../../ui';
|
20
|
-
import { sizeData } from '../../utils';
|
20
|
+
import { setInitValue, sizeData } 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 { Label, LabelContentLeft, LabelWrapper, SingleWrapper, SliderBaseWrapper, StyledRangeValue } from './Single.styles';
|
24
25
|
export var SingleSlider = function SingleSlider(_ref) {
|
25
26
|
var min = _ref.min,
|
@@ -43,6 +44,7 @@ export var SingleSlider = function SingleSlider(_ref) {
|
|
43
44
|
multipleStepSize = _ref$multipleStepSize === void 0 ? 10 : _ref$multipleStepSize,
|
44
45
|
_ref$size = _ref.size,
|
45
46
|
size = _ref$size === void 0 ? 'm' : _ref$size,
|
47
|
+
name = _ref.name,
|
46
48
|
rest = _objectWithoutProperties(_ref, _excluded);
|
47
49
|
var _useState = useState({
|
48
50
|
xHandle: 0,
|
@@ -52,6 +54,7 @@ export var SingleSlider = function SingleSlider(_ref) {
|
|
52
54
|
_useState2 = _slicedToArray(_useState, 2),
|
53
55
|
state = _useState2[0],
|
54
56
|
setState = _useState2[1];
|
57
|
+
var innerRef = useRef(null);
|
55
58
|
var _useState3 = useState(0),
|
56
59
|
_useState4 = _slicedToArray(_useState3, 2),
|
57
60
|
startOffset = _useState4[0],
|
@@ -60,7 +63,7 @@ export var SingleSlider = function SingleSlider(_ref) {
|
|
60
63
|
_useState6 = _slicedToArray(_useState5, 2),
|
61
64
|
endOffset = _useState6[0],
|
62
65
|
setEndOffset = _useState6[1];
|
63
|
-
var _useState7 = useState(value),
|
66
|
+
var _useState7 = useState(value !== null && value !== void 0 ? value : min),
|
64
67
|
_useState8 = _slicedToArray(_useState7, 2),
|
65
68
|
dragValue = _useState8[0],
|
66
69
|
setDragValue = _useState8[1];
|
@@ -68,14 +71,14 @@ export var SingleSlider = function SingleSlider(_ref) {
|
|
68
71
|
var hasLabelContent = label || labelContentLeft;
|
69
72
|
var labelPlacementClass = labelPlacement === 'outer' ? classes.labelPlacementOuter : classes.labelPlacementInner;
|
70
73
|
var rangeValuesPlacementClass = rangeValuesPlacement === 'outer' ? classes.rangeValuesPlacementOuter : classes.rangeValuesPlacementInner;
|
71
|
-
var hideMinValueDiffClass = hideMinValueDiff &&
|
72
|
-
var hideMaxValueDiffClass = hideMaxValueDiff && max -
|
74
|
+
var hideMinValueDiffClass = hideMinValueDiff && dragValue - min <= hideMinValueDiff ? classes.hideMinValue : '';
|
75
|
+
var hideMaxValueDiffClass = hideMaxValueDiff && max - dragValue <= hideMaxValueDiff ? classes.hideMaxValue : '';
|
73
76
|
var startLabelRef = useRef(null);
|
74
77
|
var endLabelRef = useRef(null);
|
75
78
|
var activeFirstValue = dragValue === min ? classes.activeRangeValue : undefined;
|
76
79
|
var activeSecondValue = dragValue === max ? classes.activeRangeValue : undefined;
|
77
80
|
useEffect(function () {
|
78
|
-
var localValue = Math.min(Math.max(
|
81
|
+
var localValue = Math.min(Math.max(dragValue, min), max) - min;
|
79
82
|
if (rangeValuesPlacement === 'outer') {
|
80
83
|
var _startLabelRef$curren, _endLabelRef$current;
|
81
84
|
var startWidth = (_startLabelRef$curren = startLabelRef.current) === null || _startLabelRef$curren === void 0 ? void 0 : _startLabelRef$curren.offsetWidth;
|
@@ -96,7 +99,21 @@ export var SingleSlider = function SingleSlider(_ref) {
|
|
96
99
|
railFillWidth: stepSize * localValue
|
97
100
|
});
|
98
101
|
});
|
99
|
-
}, [
|
102
|
+
}, [dragValue, labelPlacement, stepSize, rangeValuesPlacement, min, max, setStartOffset, setEndOffset]);
|
103
|
+
useEffect(function () {
|
104
|
+
if (innerRef.current) {
|
105
|
+
innerRef.current.addEventListener('setInitValue', function (e) {
|
106
|
+
return setDragValue(setInitValue(e));
|
107
|
+
});
|
108
|
+
}
|
109
|
+
return function () {
|
110
|
+
if (innerRef.current) {
|
111
|
+
innerRef.current.removeEventListener('setInitValue', function (e) {
|
112
|
+
return setDragValue(setInitValue(e));
|
113
|
+
});
|
114
|
+
}
|
115
|
+
};
|
116
|
+
}, [innerRef]);
|
100
117
|
var setStepSize = useCallback(function (newStepSize) {
|
101
118
|
setState(function (prevState) {
|
102
119
|
return _objectSpread(_objectSpread({}, prevState), {}, {
|
@@ -164,5 +181,11 @@ export var SingleSlider = function SingleSlider(_ref) {
|
|
164
181
|
})), showRangeValues && /*#__PURE__*/React.createElement(StyledRangeValue, {
|
165
182
|
ref: endLabelRef,
|
166
183
|
className: cx(classes.maxRangeValue, hideMaxValueDiffClass, activeSecondValue)
|
167
|
-
}, max))
|
184
|
+
}, max)), /*#__PURE__*/React.createElement(InputHidden, {
|
185
|
+
name: name,
|
186
|
+
type: "number",
|
187
|
+
datatype: "slider-single",
|
188
|
+
value: dragValue,
|
189
|
+
ref: innerRef
|
190
|
+
}));
|
168
191
|
};
|
@@ -21,7 +21,7 @@ function _objectWithoutPropertiesLoose(source, excluded) { if (source == null) r
|
|
21
21
|
import React, { forwardRef, useState, createRef, useCallback } from 'react';
|
22
22
|
import { css } from 'styled-components';
|
23
23
|
import { useResizeObserver } from '@salutejs/plasma-core';
|
24
|
-
import { cx } from '../../utils';
|
24
|
+
import { cx, mergeRefs } from '../../utils';
|
25
25
|
import { applyDynamicLabel } from './mixins';
|
26
26
|
import { useAutoResize, ROOT_FONT_SIZE } from './hooks';
|
27
27
|
import { StyledContent, StyledHelpers, StyledLeftHelper, StyledRightHelper, StyledLabel, StyledPlaceholder, StyledTextArea, StyledTextAreaWrapper, StyledContainer, StyledIndicator, StyledOptionalText } from './TextArea.styles';
|
@@ -118,7 +118,7 @@ export var textAreaRoot = function textAreaRoot(Root) {
|
|
118
118
|
_useState6 = _slicedToArray(_useState5, 2),
|
119
119
|
uncontrolledValue = _useState6[0],
|
120
120
|
setUncontrolledValue = _useState6[1];
|
121
|
-
var outerRef =
|
121
|
+
var outerRef = /*#__PURE__*/createRef();
|
122
122
|
var innerOptional = required ? false : optional;
|
123
123
|
var hasHelper = Boolean(leftHelper || rightHelper || helperText);
|
124
124
|
var hasOuterLabel = Boolean(label && labelPlacement === 'outer');
|
@@ -190,7 +190,7 @@ export var textAreaRoot = function textAreaRoot(Root) {
|
|
190
190
|
hasContentRight: Boolean(contentRight),
|
191
191
|
hasHelper: hasHelper,
|
192
192
|
applyCustomWidth: applyCustomWidth,
|
193
|
-
ref: outerRef,
|
193
|
+
ref: mergeRefs(outerRef, innerRef),
|
194
194
|
disabled: disabled,
|
195
195
|
height: autoResize ? minAuto : height,
|
196
196
|
width: width,
|
@@ -149,9 +149,7 @@ export var textFieldRoot = function textFieldRoot(Root) {
|
|
149
149
|
};
|
150
150
|
var handleOnKeyDown = function handleOnKeyDown(event) {
|
151
151
|
handleInputKeydown(event);
|
152
|
-
|
153
|
-
onKeyDown(event);
|
154
|
-
}
|
152
|
+
onKeyDown && onKeyDown(event);
|
155
153
|
};
|
156
154
|
useEffect(function () {
|
157
155
|
if (!isChipEnumeration && !(values !== null && values !== void 0 && values.length)) {
|
@@ -0,0 +1,245 @@
|
|
1
|
+
import { useForm as useReactHookForm, Controller } from 'react-hook-form';
|
2
|
+
import React, { useRef } from 'react';
|
3
|
+
import type { Meta, StoryObj } from '@storybook/react';
|
4
|
+
|
5
|
+
import { WithTheme } from '../../../_helpers';
|
6
|
+
import { Button } from '../Button/Button';
|
7
|
+
import { TextField } from '../TextField/TextField';
|
8
|
+
import { TextArea } from '../TextArea/TextArea';
|
9
|
+
import { Checkbox } from '../Checkbox/Checkbox';
|
10
|
+
import { Switch } from '../Switch/Switch';
|
11
|
+
import { Radiobox } from '../Radiobox/Radiobox';
|
12
|
+
import { RadioGroup } from '../../../../components/Radiobox';
|
13
|
+
import { Slider } from '../Slider/Slider';
|
14
|
+
import { useForm } from '../../../../hooks';
|
15
|
+
import { DatePicker, DatePickerRange } from '../DatePicker/DatePicker';
|
16
|
+
|
17
|
+
type StoryDropdownProps = {};
|
18
|
+
|
19
|
+
const langName = 'language';
|
20
|
+
const itemsRadiobox = [
|
21
|
+
{ langName, value: 'c', label: 'C', disabled: false },
|
22
|
+
{ langName, value: 'cpp', label: 'C++', disabled: false },
|
23
|
+
{ langName, value: 'assembly', label: 'Assembly', disabled: false },
|
24
|
+
];
|
25
|
+
|
26
|
+
const PlasmaForm = () => {
|
27
|
+
const onSubmit = (data) => {
|
28
|
+
console.log(data);
|
29
|
+
};
|
30
|
+
|
31
|
+
const { formRef, formData } = useForm(onSubmit, {
|
32
|
+
textfield: 'textfield',
|
33
|
+
textarea: 'textarea',
|
34
|
+
checkbox: 'checkobox',
|
35
|
+
switch: true,
|
36
|
+
radiobox: 'c',
|
37
|
+
slider: 10,
|
38
|
+
sliderd: [10, 20],
|
39
|
+
datepicker: '12.09.2024',
|
40
|
+
datepickerRange: ['09.09.2024', '12.09.2024'],
|
41
|
+
});
|
42
|
+
|
43
|
+
return (
|
44
|
+
<form onSubmit={formData} style={{ display: 'flex', flexDirection: 'column', gap: '20px' }} ref={formRef}>
|
45
|
+
<TextField name="textfield" placeholder="Textfield" required={false} />
|
46
|
+
<TextArea name="textarea" autoResize placeholder="Textarea" />
|
47
|
+
<Checkbox name="checkbox" label="Checkbox" />
|
48
|
+
<Switch name="switch" label="Switch" labelPosition="after" />
|
49
|
+
<RadioGroup aria-labelledby="radiogroup-title-id">
|
50
|
+
<div id="radiogroup-title-id" style={{ margin: '1rem 0', fontWeight: '600' }}>
|
51
|
+
Выберите язык программирования для изучения.
|
52
|
+
</div>
|
53
|
+
{itemsRadiobox.map((item) => (
|
54
|
+
<Radiobox
|
55
|
+
name="radiobox"
|
56
|
+
key={item.value}
|
57
|
+
value={item.value}
|
58
|
+
label={item.label}
|
59
|
+
disabled={item.disabled}
|
60
|
+
/>
|
61
|
+
))}
|
62
|
+
</RadioGroup>
|
63
|
+
<Slider name="slider" label="Slider" type="single" min={0} max={100} />
|
64
|
+
<Slider name="sliderd" label="Slider" type="double" min={0} max={100} />
|
65
|
+
<DatePicker label="DatePicker" name="datepicker" />
|
66
|
+
<DatePickerRange label="DatePicker" name="datepickerRange" />
|
67
|
+
<Button type="submit">Отправить</Button>
|
68
|
+
</form>
|
69
|
+
);
|
70
|
+
};
|
71
|
+
|
72
|
+
const meta: Meta<StoryDropdownProps> = {
|
73
|
+
title: 'plasma_b2c/Form',
|
74
|
+
decorators: [WithTheme],
|
75
|
+
component: PlasmaForm,
|
76
|
+
};
|
77
|
+
|
78
|
+
export default meta;
|
79
|
+
|
80
|
+
const StoryPlasmaForm = () => {
|
81
|
+
return <PlasmaForm />;
|
82
|
+
};
|
83
|
+
|
84
|
+
export const DefaultPlasmaForm: StoryObj<StoryDropdownProps> = {
|
85
|
+
render: () => <StoryPlasmaForm />,
|
86
|
+
};
|
87
|
+
|
88
|
+
const DefaultForm = () => {
|
89
|
+
const onSubmit = (event) => {
|
90
|
+
event.preventDefault();
|
91
|
+
|
92
|
+
const fData = new FormData(event.target);
|
93
|
+
|
94
|
+
for (const p of fData) {
|
95
|
+
const name = p[0];
|
96
|
+
const value = p[1];
|
97
|
+
|
98
|
+
console.log(name, value);
|
99
|
+
}
|
100
|
+
};
|
101
|
+
return (
|
102
|
+
<form onSubmit={onSubmit} style={{ display: 'flex', flexDirection: 'column', gap: '20px' }}>
|
103
|
+
<TextField name="textfield" placeholder="Textfield" required={false} />
|
104
|
+
<TextArea name="textarea" autoResize placeholder="Textarea" />
|
105
|
+
<Checkbox name="checkbox" label="Checkbox" />
|
106
|
+
<Switch name="switch" label="Switch" labelPosition="after" />
|
107
|
+
<RadioGroup aria-labelledby="radiogroup-title-id">
|
108
|
+
<div id="radiogroup-title-id" style={{ margin: '1rem 0', fontWeight: '600' }}>
|
109
|
+
Выберите язык программирования для изучения.
|
110
|
+
</div>
|
111
|
+
{itemsRadiobox.map((item) => (
|
112
|
+
<Radiobox
|
113
|
+
name="radiobox"
|
114
|
+
key={item.value}
|
115
|
+
value={item.value}
|
116
|
+
label={item.label}
|
117
|
+
disabled={item.disabled}
|
118
|
+
/>
|
119
|
+
))}
|
120
|
+
</RadioGroup>
|
121
|
+
<Slider name="slider" label="Slider" type="single" min={0} max={100} />
|
122
|
+
<Slider name="sliderd" label="Slider" type="double" min={0} max={100} />
|
123
|
+
<DatePicker label="DatePicker" name="datepicker" />
|
124
|
+
<DatePickerRange label="DatePicker" name="datepickerRange" />
|
125
|
+
<Button type="submit">Отправить</Button>
|
126
|
+
</form>
|
127
|
+
);
|
128
|
+
};
|
129
|
+
|
130
|
+
const StoryDefaultForm = () => {
|
131
|
+
return <DefaultForm />;
|
132
|
+
};
|
133
|
+
|
134
|
+
export const FormDefault: StoryObj<StoryDropdownProps> = {
|
135
|
+
render: () => <StoryDefaultForm />,
|
136
|
+
};
|
137
|
+
|
138
|
+
const DefaultUseForm = () => {
|
139
|
+
const { register, handleSubmit } = useReactHookForm({
|
140
|
+
defaultValues: {
|
141
|
+
textfield: 'John Doe',
|
142
|
+
textarea: 'Default description',
|
143
|
+
checkbox: true,
|
144
|
+
switch: true,
|
145
|
+
radiobox: 'c',
|
146
|
+
slider: 10,
|
147
|
+
},
|
148
|
+
});
|
149
|
+
const onSubmit = (data) => {
|
150
|
+
console.log(data);
|
151
|
+
};
|
152
|
+
|
153
|
+
return (
|
154
|
+
<form onSubmit={handleSubmit(onSubmit)} style={{ display: 'flex', flexDirection: 'column', gap: '20px' }}>
|
155
|
+
<TextField {...register('textfield')} placeholder="Textfield" required={false} />
|
156
|
+
<TextArea {...register('textarea')} autoResize placeholder="Textarea" />
|
157
|
+
<Checkbox {...register('checkbox')} label="Checkbox" />
|
158
|
+
<Switch {...register('switch')} label="Switch" labelPosition="after" />
|
159
|
+
<RadioGroup aria-labelledby="radiogroup-title-id">
|
160
|
+
<div id="radiogroup-title-id" style={{ margin: '1rem 0', fontWeight: '600' }}>
|
161
|
+
Выберите язык программирования для изучения.
|
162
|
+
</div>
|
163
|
+
{itemsRadiobox.map((item) => (
|
164
|
+
<Radiobox
|
165
|
+
{...register('radiobox')}
|
166
|
+
key={item.value}
|
167
|
+
value={item.value}
|
168
|
+
label={item.label}
|
169
|
+
disabled={item.disabled}
|
170
|
+
/>
|
171
|
+
))}
|
172
|
+
</RadioGroup>
|
173
|
+
<Button type="submit">Отправить</Button>
|
174
|
+
</form>
|
175
|
+
);
|
176
|
+
};
|
177
|
+
|
178
|
+
const StoryHookForm = () => {
|
179
|
+
return <DefaultUseForm />;
|
180
|
+
};
|
181
|
+
|
182
|
+
export const UseHookForm: StoryObj<StoryDropdownProps> = {
|
183
|
+
render: () => <StoryHookForm />,
|
184
|
+
};
|
185
|
+
|
186
|
+
const DefaultUseFormController = () => {
|
187
|
+
const { control, handleSubmit } = useReactHookForm({
|
188
|
+
defaultValues: {
|
189
|
+
textfield: 'John Doe',
|
190
|
+
textarea: 'Default description',
|
191
|
+
checkbox: true,
|
192
|
+
switch: true,
|
193
|
+
radiobox: 'c',
|
194
|
+
slider: 10,
|
195
|
+
sliderd: [10, 20],
|
196
|
+
},
|
197
|
+
});
|
198
|
+
const onSubmit = (data) => {
|
199
|
+
console.log(data);
|
200
|
+
};
|
201
|
+
|
202
|
+
return (
|
203
|
+
<form onSubmit={handleSubmit(onSubmit)} style={{ display: 'flex', flexDirection: 'column', gap: '20px' }}>
|
204
|
+
<Controller
|
205
|
+
name="textfield"
|
206
|
+
control={control}
|
207
|
+
render={({ field }) => <TextField {...field} label="TextField" />}
|
208
|
+
/>
|
209
|
+
<Controller
|
210
|
+
name="textarea"
|
211
|
+
control={control}
|
212
|
+
render={({ field }) => <TextArea {...field} label="TextArea" />}
|
213
|
+
/>
|
214
|
+
<Controller
|
215
|
+
name="checkbox"
|
216
|
+
control={control}
|
217
|
+
render={({ field }) => <Checkbox {...field} checked={field.value} label="Checkbox" />}
|
218
|
+
/>
|
219
|
+
<Controller
|
220
|
+
name="switch"
|
221
|
+
control={control}
|
222
|
+
render={({ field }) => <Switch {...field} checked={field.value} labelPosition="after" label="Switch" />}
|
223
|
+
/>
|
224
|
+
<Controller
|
225
|
+
name="slider"
|
226
|
+
control={control}
|
227
|
+
render={({ field }) => <Slider {...field} type="single" label="Slider" min={0} max={100} />}
|
228
|
+
/>
|
229
|
+
<Controller
|
230
|
+
name="sliderd"
|
231
|
+
control={control}
|
232
|
+
render={({ field }) => <Slider {...field} type="double" label="Slider" min={0} max={100} />}
|
233
|
+
/>
|
234
|
+
<Button type="submit">Отправить</Button>
|
235
|
+
</form>
|
236
|
+
);
|
237
|
+
};
|
238
|
+
|
239
|
+
const StoryHookFormController = () => {
|
240
|
+
return <DefaultUseFormController />;
|
241
|
+
};
|
242
|
+
|
243
|
+
export const UseHookFormController: StoryObj<StoryDropdownProps> = {
|
244
|
+
render: () => <StoryHookFormController />,
|
245
|
+
};
|
@@ -4,4 +4,5 @@ export { usePreviousValue } from './usePreviousValue';
|
|
4
4
|
export { useForceUpdate } from './useForceUpdate';
|
5
5
|
export { useDidMountEffect } from './useDidMountEffect';
|
6
6
|
export { useOutsideClick } from './useOutsideClick';
|
7
|
-
export { useIsomorphicLayoutEffect } from './useIsomorphicLayoutEffect';
|
7
|
+
export { useIsomorphicLayoutEffect } from './useIsomorphicLayoutEffect';
|
8
|
+
export { useForm } from './useForm';
|