@pingux/astro 2.118.0-alpha.0 → 2.118.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (52) hide show
  1. package/lib/cjs/components/SliderField/Slider.styles.d.ts +138 -0
  2. package/lib/cjs/components/SliderField/Slider.styles.js +163 -0
  3. package/lib/cjs/components/SliderField/SliderActiveTrack.d.ts +4 -0
  4. package/lib/cjs/components/SliderField/SliderActiveTrack.js +49 -0
  5. package/lib/cjs/components/SliderField/SliderField.d.ts +4 -0
  6. package/lib/cjs/components/SliderField/SliderField.js +58 -0
  7. package/lib/cjs/components/SliderField/SliderField.mdx +127 -0
  8. package/lib/cjs/components/SliderField/SliderField.stories.d.ts +11 -0
  9. package/lib/cjs/components/SliderField/SliderField.stories.js +151 -0
  10. package/lib/cjs/components/SliderField/SliderField.test.d.ts +1 -0
  11. package/lib/cjs/components/SliderField/SliderField.test.js +357 -0
  12. package/lib/cjs/components/SliderField/SliderLabelContainer.d.ts +4 -0
  13. package/lib/cjs/components/SliderField/SliderLabelContainer.js +43 -0
  14. package/lib/cjs/components/SliderField/SliderThumb.d.ts +4 -0
  15. package/lib/cjs/components/SliderField/SliderThumb.js +82 -0
  16. package/lib/cjs/components/SliderField/index.d.ts +1 -0
  17. package/lib/cjs/components/SliderField/index.js +14 -0
  18. package/lib/cjs/hooks/index.d.ts +1 -0
  19. package/lib/cjs/hooks/index.js +7 -0
  20. package/lib/cjs/hooks/useSliderField/index.d.ts +1 -0
  21. package/lib/cjs/hooks/useSliderField/index.js +14 -0
  22. package/lib/cjs/hooks/useSliderField/useSliderField.d.ts +4290 -0
  23. package/lib/cjs/hooks/useSliderField/useSliderField.js +230 -0
  24. package/lib/cjs/hooks/useSliderField/useSliderField.test.d.ts +1 -0
  25. package/lib/cjs/hooks/useSliderField/useSliderField.test.js +109 -0
  26. package/lib/cjs/index.d.ts +1 -0
  27. package/lib/cjs/index.js +8 -0
  28. package/lib/cjs/styles/colors.d.ts +6 -0
  29. package/lib/cjs/styles/colors.js +5 -1
  30. package/lib/cjs/styles/variants/variants.js +2 -0
  31. package/lib/cjs/types/sliderField.d.ts +79 -0
  32. package/lib/cjs/types/sliderField.js +6 -0
  33. package/lib/cjs/utils/testUtils/universalFormSubmitTest.js +17 -0
  34. package/lib/components/SliderField/Slider.styles.js +155 -0
  35. package/lib/components/SliderField/SliderActiveTrack.js +37 -0
  36. package/lib/components/SliderField/SliderField.js +46 -0
  37. package/lib/components/SliderField/SliderField.mdx +127 -0
  38. package/lib/components/SliderField/SliderField.stories.js +131 -0
  39. package/lib/components/SliderField/SliderField.test.js +354 -0
  40. package/lib/components/SliderField/SliderLabelContainer.js +29 -0
  41. package/lib/components/SliderField/SliderThumb.js +68 -0
  42. package/lib/components/SliderField/index.js +1 -0
  43. package/lib/hooks/index.js +1 -0
  44. package/lib/hooks/useSliderField/index.js +1 -0
  45. package/lib/hooks/useSliderField/useSliderField.js +220 -0
  46. package/lib/hooks/useSliderField/useSliderField.test.js +102 -0
  47. package/lib/index.js +1 -0
  48. package/lib/styles/colors.js +5 -1
  49. package/lib/styles/variants/variants.js +2 -0
  50. package/lib/types/sliderField.js +1 -0
  51. package/lib/utils/testUtils/universalFormSubmitTest.js +17 -0
  52. package/package.json +3 -1
@@ -0,0 +1,138 @@
1
+ declare const _default: {
2
+ test: {
3
+ bg: string;
4
+ };
5
+ slider: {
6
+ display: string;
7
+ '&.is-horizontal': {
8
+ flexDirection: string;
9
+ };
10
+ };
11
+ activeTrack: {
12
+ bg: string;
13
+ position: string;
14
+ '&.is-horizontal': {
15
+ borderRadius: string;
16
+ height: string;
17
+ '&.is-single-track': {
18
+ left: string;
19
+ };
20
+ };
21
+ '&.is-vertical': {
22
+ borderRadius: string;
23
+ width: string;
24
+ bottom: string;
25
+ };
26
+ };
27
+ thumb: {
28
+ width: string;
29
+ height: string;
30
+ borderRadius: string;
31
+ bg: string;
32
+ cursor: string;
33
+ '&.is-focused': {
34
+ outline: string;
35
+ outlineColor: string;
36
+ outlineOffset: string;
37
+ };
38
+ '&.is-horizontal': {
39
+ top: string;
40
+ };
41
+ '&.is-vertical': {
42
+ left: string;
43
+ };
44
+ '&.is-hovered': {
45
+ backgroundColor: string;
46
+ };
47
+ '&.is-pressed': {
48
+ backgroundColor: string;
49
+ };
50
+ };
51
+ track: {
52
+ backgroundColor: string;
53
+ cursor: string;
54
+ mb: string;
55
+ position: string;
56
+ '&.is-disabled': {
57
+ opacity: number;
58
+ };
59
+ '&.is-horizontal': {
60
+ height: string;
61
+ borderRadius: string;
62
+ width: string;
63
+ };
64
+ '&:before': {
65
+ content: string;
66
+ display: string;
67
+ position: string;
68
+ height: string;
69
+ width: string;
70
+ top: string;
71
+ transform: string;
72
+ };
73
+ '&.is-vertical': {
74
+ width: string;
75
+ borderRadius: string;
76
+ height: string;
77
+ '&:before': {
78
+ content: string;
79
+ display: string;
80
+ position: string;
81
+ width: string;
82
+ height: string;
83
+ left: string;
84
+ transform: string;
85
+ };
86
+ };
87
+ };
88
+ hiddenTrack: {
89
+ cursor: string;
90
+ '&.is-horizontal': {
91
+ height: string;
92
+ borderRadius: string;
93
+ width: string;
94
+ ml: string;
95
+ mr: string;
96
+ };
97
+ '&.is-vertical': {
98
+ width: string;
99
+ borderRadius: string;
100
+ height: string;
101
+ mt: string;
102
+ mb: string;
103
+ };
104
+ };
105
+ trackWrapper: {
106
+ '&.is-vertical': {
107
+ py: string;
108
+ };
109
+ '&.is-horizontal': {
110
+ px: string;
111
+ };
112
+ };
113
+ labelContainer: {
114
+ '&.is-horizontal': {
115
+ mb: string;
116
+ };
117
+ '&.is-vertical': {
118
+ mt: string;
119
+ gap: string;
120
+ };
121
+ };
122
+ outputContainer: {
123
+ '&.is-horizontal': {
124
+ marginLeft: string;
125
+ mt: string;
126
+ };
127
+ };
128
+ wrapper: {
129
+ '&.is-horizontal': {
130
+ width: string;
131
+ };
132
+ '&.is-vertical': {
133
+ height: string;
134
+ ml: string;
135
+ };
136
+ };
137
+ };
138
+ export default _default;
@@ -0,0 +1,163 @@
1
+ "use strict";
2
+
3
+ var _Object$keys = require("@babel/runtime-corejs3/core-js-stable/object/keys");
4
+ var _Object$getOwnPropertySymbols = require("@babel/runtime-corejs3/core-js-stable/object/get-own-property-symbols");
5
+ var _filterInstanceProperty = require("@babel/runtime-corejs3/core-js-stable/instance/filter");
6
+ var _Object$getOwnPropertyDescriptor = require("@babel/runtime-corejs3/core-js-stable/object/get-own-property-descriptor");
7
+ var _forEachInstanceProperty = require("@babel/runtime-corejs3/core-js-stable/instance/for-each");
8
+ var _Object$getOwnPropertyDescriptors = require("@babel/runtime-corejs3/core-js-stable/object/get-own-property-descriptors");
9
+ var _Object$defineProperties = require("@babel/runtime-corejs3/core-js-stable/object/define-properties");
10
+ var _Object$defineProperty = require("@babel/runtime-corejs3/core-js-stable/object/define-property");
11
+ var _interopRequireDefault = require("@babel/runtime-corejs3/helpers/interopRequireDefault");
12
+ _Object$defineProperty(exports, "__esModule", {
13
+ value: true
14
+ });
15
+ exports["default"] = void 0;
16
+ var _defineProperty2 = _interopRequireDefault(require("@babel/runtime-corejs3/helpers/defineProperty"));
17
+ var _Buttons = require("../Button/Buttons.styles");
18
+ function ownKeys(object, enumerableOnly) { var keys = _Object$keys(object); if (_Object$getOwnPropertySymbols) { var symbols = _Object$getOwnPropertySymbols(object); enumerableOnly && (symbols = _filterInstanceProperty(symbols).call(symbols, function (sym) { return _Object$getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
19
+ function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var _context, _context2; var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? _forEachInstanceProperty(_context = ownKeys(Object(source), !0)).call(_context, function (key) { (0, _defineProperty2["default"])(target, key, source[key]); }) : _Object$getOwnPropertyDescriptors ? _Object$defineProperties(target, _Object$getOwnPropertyDescriptors(source)) : _forEachInstanceProperty(_context2 = ownKeys(Object(source))).call(_context2, function (key) { _Object$defineProperty(target, key, _Object$getOwnPropertyDescriptor(source, key)); }); } return target; }
20
+ var test = {
21
+ bg: 'active'
22
+ };
23
+ var slider = {
24
+ display: 'flex',
25
+ '&.is-horizontal': {
26
+ flexDirection: 'column'
27
+ }
28
+ };
29
+ var track = {
30
+ backgroundColor: 'slider.track',
31
+ cursor: 'pointer',
32
+ mb: 'sm',
33
+ position: 'relative',
34
+ '&.is-disabled': {
35
+ opacity: 0.4
36
+ },
37
+ '&.is-horizontal': {
38
+ height: '10px',
39
+ borderRadius: '11px',
40
+ width: '100%'
41
+ },
42
+ '&:before': {
43
+ content: 'attr(x)',
44
+ display: 'block',
45
+ position: 'absolute',
46
+ height: '3px',
47
+ width: '100%',
48
+ top: '50%',
49
+ transform: 'translateY(-50%)'
50
+ },
51
+ '&.is-vertical': {
52
+ width: '10px',
53
+ borderRadius: '11px',
54
+ height: '100%',
55
+ '&:before': {
56
+ content: 'attr(x)',
57
+ display: 'block',
58
+ position: 'absolute',
59
+ width: '3px',
60
+ height: '100%',
61
+ left: '50%',
62
+ transform: 'translateX(-50%)'
63
+ }
64
+ }
65
+ };
66
+ var hiddenTrack = {
67
+ cursor: 'pointer',
68
+ '&.is-horizontal': {
69
+ height: '10px',
70
+ borderRadius: '11px',
71
+ width: 'calc(100% - 9px)',
72
+ ml: '4.5px',
73
+ mr: '4.5px'
74
+ },
75
+ '&.is-vertical': {
76
+ width: '10px',
77
+ borderRadius: '11px',
78
+ height: 'calc(100% - 9px)',
79
+ mt: '4.5px',
80
+ mb: '4.5px'
81
+ }
82
+ };
83
+ var thumb = {
84
+ width: '21px',
85
+ height: '21px',
86
+ borderRadius: '50%',
87
+ bg: 'active',
88
+ cursor: 'pointer',
89
+ '&.is-focused': _objectSpread({}, _Buttons.defaultFocus),
90
+ '&.is-horizontal': {
91
+ top: '50%'
92
+ },
93
+ '&.is-vertical': {
94
+ left: '50%'
95
+ },
96
+ '&.is-hovered': {
97
+ backgroundColor: 'accent.40'
98
+ },
99
+ '&.is-pressed': {
100
+ backgroundColor: 'accent.20'
101
+ }
102
+ };
103
+ var activeTrack = {
104
+ bg: 'active',
105
+ position: 'absolute',
106
+ '&.is-horizontal': {
107
+ borderRadius: '11px 0px 0px 11px',
108
+ height: '100%',
109
+ '&.is-single-track': {
110
+ left: '0%'
111
+ }
112
+ },
113
+ '&.is-vertical': {
114
+ borderRadius: '11px 11px 11px 11px',
115
+ width: '100%',
116
+ bottom: '0%'
117
+ }
118
+ };
119
+ var trackWrapper = {
120
+ '&.is-vertical': {
121
+ py: '9px'
122
+ },
123
+ '&.is-horizontal': {
124
+ px: '9px'
125
+ }
126
+ };
127
+ var labelContainer = {
128
+ '&.is-horizontal': {
129
+ mb: 'xs'
130
+ },
131
+ '&.is-vertical': {
132
+ mt: 'xs',
133
+ gap: 'xs'
134
+ }
135
+ };
136
+ var wrapper = {
137
+ '&.is-horizontal': {
138
+ width: '100%'
139
+ },
140
+ '&.is-vertical': {
141
+ height: '100%',
142
+ ml: 'xs'
143
+ }
144
+ };
145
+ var outputContainer = {
146
+ '&.is-horizontal': {
147
+ marginLeft: 'auto',
148
+ mt: '-3px'
149
+ }
150
+ };
151
+ var _default = {
152
+ test: test,
153
+ slider: slider,
154
+ activeTrack: activeTrack,
155
+ thumb: thumb,
156
+ track: track,
157
+ hiddenTrack: hiddenTrack,
158
+ trackWrapper: trackWrapper,
159
+ labelContainer: labelContainer,
160
+ outputContainer: outputContainer,
161
+ wrapper: wrapper
162
+ };
163
+ exports["default"] = _default;
@@ -0,0 +1,4 @@
1
+ import React from 'react';
2
+ import { SliderActiveTrackProps } from '../../types/sliderField';
3
+ declare const SliderActiveTrack: React.ForwardRefExoticComponent<SliderActiveTrackProps & React.RefAttributes<HTMLDivElement>>;
4
+ export default SliderActiveTrack;
@@ -0,0 +1,49 @@
1
+ "use strict";
2
+
3
+ var _typeof = require("@babel/runtime-corejs3/helpers/typeof");
4
+ var _Object$keys = require("@babel/runtime-corejs3/core-js-stable/object/keys");
5
+ var _Object$getOwnPropertySymbols = require("@babel/runtime-corejs3/core-js-stable/object/get-own-property-symbols");
6
+ var _filterInstanceProperty = require("@babel/runtime-corejs3/core-js-stable/instance/filter");
7
+ var _Object$getOwnPropertyDescriptor = require("@babel/runtime-corejs3/core-js-stable/object/get-own-property-descriptor");
8
+ var _forEachInstanceProperty = require("@babel/runtime-corejs3/core-js-stable/instance/for-each");
9
+ var _Object$getOwnPropertyDescriptors = require("@babel/runtime-corejs3/core-js-stable/object/get-own-property-descriptors");
10
+ var _Object$defineProperties = require("@babel/runtime-corejs3/core-js-stable/object/define-properties");
11
+ var _Object$defineProperty = require("@babel/runtime-corejs3/core-js-stable/object/define-property");
12
+ var _WeakMap = require("@babel/runtime-corejs3/core-js-stable/weak-map");
13
+ var _interopRequireDefault = require("@babel/runtime-corejs3/helpers/interopRequireDefault");
14
+ _Object$defineProperty(exports, "__esModule", {
15
+ value: true
16
+ });
17
+ exports["default"] = void 0;
18
+ var _values = _interopRequireDefault(require("@babel/runtime-corejs3/core-js-stable/instance/values"));
19
+ var _extends2 = _interopRequireDefault(require("@babel/runtime-corejs3/helpers/extends"));
20
+ var _defineProperty2 = _interopRequireDefault(require("@babel/runtime-corejs3/helpers/defineProperty"));
21
+ var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime-corejs3/helpers/objectWithoutProperties"));
22
+ var _react = _interopRequireWildcard(require("react"));
23
+ var _index = require("../../index");
24
+ var _react2 = require("@emotion/react");
25
+ var _excluded = ["className", "isHorizontal", "isMultiThumb", "state", "sx"];
26
+ function _getRequireWildcardCache(nodeInterop) { if (typeof _WeakMap !== "function") return null; var cacheBabelInterop = new _WeakMap(); var cacheNodeInterop = new _WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
27
+ function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { "default": obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = _Object$defineProperty && _Object$getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? _Object$getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { _Object$defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj["default"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
28
+ function ownKeys(object, enumerableOnly) { var keys = _Object$keys(object); if (_Object$getOwnPropertySymbols) { var symbols = _Object$getOwnPropertySymbols(object); enumerableOnly && (symbols = _filterInstanceProperty(symbols).call(symbols, function (sym) { return _Object$getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
29
+ function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var _context, _context2; var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? _forEachInstanceProperty(_context = ownKeys(Object(source), !0)).call(_context, function (key) { (0, _defineProperty2["default"])(target, key, source[key]); }) : _Object$getOwnPropertyDescriptors ? _Object$defineProperties(target, _Object$getOwnPropertyDescriptors(source)) : _forEachInstanceProperty(_context2 = ownKeys(Object(source))).call(_context2, function (key) { _Object$defineProperty(target, key, _Object$getOwnPropertyDescriptor(source, key)); }); } return target; }
30
+ var SliderActiveTrack = /*#__PURE__*/(0, _react.forwardRef)(function (props, ref) {
31
+ var className = props.className,
32
+ isHorizontal = props.isHorizontal,
33
+ isMultiThumb = props.isMultiThumb,
34
+ state = props.state,
35
+ sx = props.sx,
36
+ others = (0, _objectWithoutProperties2["default"])(props, _excluded);
37
+ var length = isMultiThumb ? "".concat((0, _values["default"])(state)[1] - (0, _values["default"])(state)[0], "%") : "".concat((0, _values["default"])(state)[0], "%");
38
+ var trackStart = "".concat((0, _values["default"])(state)[0], "%");
39
+ var cssLenProp = isHorizontal ? 'width' : 'height';
40
+ var cssStartProp = isHorizontal ? 'left' : 'top';
41
+ return (0, _react2.jsx)(_index.Box, (0, _extends2["default"])({
42
+ ref: ref,
43
+ className: className,
44
+ sx: _objectSpread(_objectSpread((0, _defineProperty2["default"])({}, cssLenProp, length), isMultiThumb && (0, _defineProperty2["default"])({}, cssStartProp, trackStart)), sx),
45
+ variant: "slider.activeTrack"
46
+ }, others));
47
+ });
48
+ var _default = SliderActiveTrack;
49
+ exports["default"] = _default;
@@ -0,0 +1,4 @@
1
+ import React from 'react';
2
+ import { SliderFieldProps } from '../../types/sliderField';
3
+ declare const SliderField: React.ForwardRefExoticComponent<SliderFieldProps & React.RefAttributes<HTMLDivElement>>;
4
+ export default SliderField;
@@ -0,0 +1,58 @@
1
+ "use strict";
2
+
3
+ var _typeof = require("@babel/runtime-corejs3/helpers/typeof");
4
+ var _Object$keys = require("@babel/runtime-corejs3/core-js-stable/object/keys");
5
+ var _Object$getOwnPropertySymbols = require("@babel/runtime-corejs3/core-js-stable/object/get-own-property-symbols");
6
+ var _filterInstanceProperty = require("@babel/runtime-corejs3/core-js-stable/instance/filter");
7
+ var _Object$getOwnPropertyDescriptor = require("@babel/runtime-corejs3/core-js-stable/object/get-own-property-descriptor");
8
+ var _forEachInstanceProperty = require("@babel/runtime-corejs3/core-js-stable/instance/for-each");
9
+ var _Object$getOwnPropertyDescriptors = require("@babel/runtime-corejs3/core-js-stable/object/get-own-property-descriptors");
10
+ var _Object$defineProperties = require("@babel/runtime-corejs3/core-js-stable/object/define-properties");
11
+ var _Object$defineProperty = require("@babel/runtime-corejs3/core-js-stable/object/define-property");
12
+ var _WeakMap = require("@babel/runtime-corejs3/core-js-stable/weak-map");
13
+ var _interopRequireDefault = require("@babel/runtime-corejs3/helpers/interopRequireDefault");
14
+ _Object$defineProperty(exports, "__esModule", {
15
+ value: true
16
+ });
17
+ exports["default"] = void 0;
18
+ var _extends2 = _interopRequireDefault(require("@babel/runtime-corejs3/helpers/extends"));
19
+ var _defineProperty2 = _interopRequireDefault(require("@babel/runtime-corejs3/helpers/defineProperty"));
20
+ var _react = _interopRequireWildcard(require("react"));
21
+ var _hooks = require("../../hooks");
22
+ var _index = require("../../index");
23
+ var _SliderActiveTrack = _interopRequireDefault(require("./SliderActiveTrack"));
24
+ var _SliderLabelContainer = _interopRequireDefault(require("./SliderLabelContainer"));
25
+ var _SliderThumb = _interopRequireDefault(require("./SliderThumb"));
26
+ var _react2 = require("@emotion/react");
27
+ function _getRequireWildcardCache(nodeInterop) { if (typeof _WeakMap !== "function") return null; var cacheBabelInterop = new _WeakMap(); var cacheNodeInterop = new _WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
28
+ function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { "default": obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = _Object$defineProperty && _Object$getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? _Object$getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { _Object$defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj["default"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
29
+ function ownKeys(object, enumerableOnly) { var keys = _Object$keys(object); if (_Object$getOwnPropertySymbols) { var symbols = _Object$getOwnPropertySymbols(object); enumerableOnly && (symbols = _filterInstanceProperty(symbols).call(symbols, function (sym) { return _Object$getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
30
+ function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var _context, _context2; var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? _forEachInstanceProperty(_context = ownKeys(Object(source), !0)).call(_context, function (key) { (0, _defineProperty2["default"])(target, key, source[key]); }) : _Object$getOwnPropertyDescriptors ? _Object$defineProperties(target, _Object$getOwnPropertyDescriptors(source)) : _forEachInstanceProperty(_context2 = ownKeys(Object(source))).call(_context2, function (key) { _Object$defineProperty(target, key, _Object$getOwnPropertyDescriptor(source, key)); }); } return target; }
31
+ var SliderField = /*#__PURE__*/(0, _react.forwardRef)(function (props, ref) {
32
+ var helperText = props.helperText,
33
+ _props$isMultiThumb = props.isMultiThumb,
34
+ isMultiThumb = _props$isMultiThumb === void 0 ? false : _props$isMultiThumb;
35
+ var trackRef = _react["default"].useRef(null);
36
+ var _useSliderField = (0, _hooks.useSliderField)(_objectSpread(_objectSpread({}, props), {}, {
37
+ trackRef: trackRef
38
+ })),
39
+ containerProps = _useSliderField.containerProps,
40
+ labelContainerProps = _useSliderField.labelContainerProps,
41
+ sliderActiveTrackProps = _useSliderField.sliderActiveTrackProps,
42
+ hiddenTrackProps = _useSliderField.hiddenTrackProps,
43
+ helperTextProps = _useSliderField.helperTextProps,
44
+ thumbPropsSpread = _useSliderField.thumbPropsSpread,
45
+ visibleTrackProps = _useSliderField.visibleTrackProps,
46
+ wrapperProps = _useSliderField.wrapperProps;
47
+ return (0, _react2.jsx)(_index.Box, (0, _extends2["default"])({}, containerProps, {
48
+ ref: ref
49
+ }), (0, _react2.jsx)(_index.Box, wrapperProps, labelContainerProps.isHorizontal && (0, _react2.jsx)(_SliderLabelContainer["default"], labelContainerProps), (0, _react2.jsx)(_index.Box, visibleTrackProps, (0, _react2.jsx)(_SliderActiveTrack["default"], sliderActiveTrackProps), (0, _react2.jsx)(_index.Box, (0, _extends2["default"])({}, hiddenTrackProps, {
50
+ ref: trackRef
51
+ }), (0, _react2.jsx)(_SliderThumb["default"], (0, _extends2["default"])({}, thumbPropsSpread, {
52
+ index: 0
53
+ })), isMultiThumb && (0, _react2.jsx)(_SliderThumb["default"], (0, _extends2["default"])({}, thumbPropsSpread, {
54
+ index: 1
55
+ }))))), labelContainerProps.isVertical && (0, _react2.jsx)(_SliderLabelContainer["default"], labelContainerProps), helperText && (0, _react2.jsx)(_index.FieldHelperText, helperTextProps, helperText));
56
+ });
57
+ var _default = SliderField;
58
+ exports["default"] = _default;
@@ -0,0 +1,127 @@
1
+ import { Meta } from '@storybook/addon-docs';
2
+
3
+ <Meta title="Components/SliderField" />
4
+
5
+ # SliderField
6
+
7
+ The `SliderField` component is used to allow users to select a value from a range by dragging a thumb along a track. It supports both horizontal and vertical orientations, multi-thumb sliders, and provides a customizable display value.
8
+
9
+ ### Recommended Use
10
+
11
+ - Use the `SliderField` component for selecting numeric values within a defined range.
12
+ - Display the current value dynamically as the user interacts with the slider.
13
+ - Use multi-thumb sliders for selecting a range of values.
14
+
15
+ ### Features
16
+
17
+ - **Horizontal and Vertical Orientations**: Supports both orientations for flexible UI design.
18
+ - **Multi-Thumb Sliders**: Allows selecting a range of values.
19
+ - **Customizable Display Value**: Allows dynamic display of the current value.
20
+ - **Keyboard Accessibility**: Fully accessible with keyboard navigation.
21
+ - **Customizable Tracks and Thumbs**: Add custom class names or styles to `trackProps` and `activeTrackProps`.
22
+
23
+ ### Props
24
+
25
+ | Prop | Type | Description |
26
+ | --------------------- | -------------------- | --------------------------------------------------------------------------- |
27
+ | `activeTrackProps` | `object` | Props passed to the active track element. |
28
+ | `autoFocus` | `boolean` | Automatically focuses the slider when it is rendered. |
29
+ | `className` | `string` | Additional class names for custom styling. |
30
+ | `defaultValue` | `number` `[number, number]` | The default value of the slider. |
31
+ | `displayValue` | `string` | Custom display value for the slider. |
32
+ | `formatOptions` | `Intl.NumberFormatOptions` | Options for formatting the display value. |
33
+ | `helperText` | `string` | Text displayed below the slider for additional context. |
34
+ | `helperTextProps` | `object` | Props passed to the helper text element. |
35
+ | `isDisabled` | `boolean` | Disables the slider. |
36
+ | `isDisplayValueHidden`| `boolean` | Hides the display value if set to `true`. |
37
+ | `isMultiThumb` | `boolean` | Enables multi-thumb slider functionality. |
38
+ | `label` | `string` `ReactNode` | Label for the slider. |
39
+ | `maxValue` | `number` | Maximum value of the slider. |
40
+ | `minValue` | `number` | Minimum value of the slider. |
41
+ | `name` | `string` | Name of the slider input. |
42
+ | `onBlur` | `function` | Callback triggered when the slider loses focus. |
43
+ | `onChange` | `function` | Callback triggered when the slider value changes. |
44
+ | `onChangeEnd` | `function` | Callback triggered when the slider interaction ends. |
45
+ | `onFocus` | `function` | Callback triggered when the slider gains focus. |
46
+ | `onFocusChange` | `function` | Callback triggered when the focus state changes. |
47
+ | `onKeyDown` | `function` | Callback triggered on key down events. |
48
+ | `onKeyUp` | `function` | Callback triggered on key up events. |
49
+ | `orientation` | `'horizontal' 'vertical'` | Orientation of the slider. |
50
+ | `step` | `number` | Step size for the slider. |
51
+ | `thumbProps` | `object` | Props passed to the slider thumb. |
52
+ | `trackProps` | `object` | Props passed to the track element. |
53
+ | `value` | `number` `[number, number]` | Controlled value of the slider. |
54
+
55
+ ### Accessibility
56
+
57
+ This component adheres to accessibility guidelines to ensure a better user experience for all users.
58
+
59
+ #### Keyboard Navigation
60
+
61
+ | Keys | Function |
62
+ | ------------ | ----------------------------------------------------------------------- |
63
+ | Tab | Moves focus to the slider. |
64
+ | Arrow Keys | Adjusts the slider value incrementally. |
65
+ | Home | Moves the slider to the minimum value. |
66
+ | End | Moves the slider to the maximum value. |
67
+
68
+ #### Screen Readers
69
+
70
+ - **`aria-valuenow`**: Announces the current value of the slider.
71
+ - **`aria-valuemin` and `aria-valuemax`**: Define the minimum and maximum values of the slider.
72
+ - **`aria-orientation`**: Indicates whether the slider is horizontal or vertical.
73
+
74
+ ### Example Usage
75
+
76
+ #### Single Thumb Slider
77
+
78
+ ```jsx
79
+ <SliderField
80
+ label="Volume"
81
+ defaultValue={50}
82
+ minValue={0}
83
+ maxValue={100}
84
+ step={1}
85
+ onChange={(value) => console.log('Value:', value)}
86
+ />
87
+ ```
88
+
89
+ #### Multi-Thumb Slider
90
+
91
+ ```jsx
92
+ <SliderField
93
+ label="Range"
94
+ isMultiThumb
95
+ defaultValue={[20, 80]}
96
+ minValue={0}
97
+ maxValue={100}
98
+ step={5}
99
+ onChange={(value) => console.log('Range:', value)}
100
+ />
101
+ ```
102
+
103
+ #### Custom Tracks and Thumbs
104
+
105
+ ```jsx
106
+ <SliderField
107
+ label="Custom Slider"
108
+ trackProps={{ className: 'custom-track' }}
109
+ activeTrackProps={{ className: 'custom-active-track' }}
110
+ thumbProps={{ className: 'custom-thumb' }}
111
+ defaultValue={50}
112
+ minValue={0}
113
+ maxValue={100}
114
+ />
115
+ ```
116
+
117
+ #### Vertical Slider
118
+
119
+ ```jsx
120
+ <SliderField
121
+ label="Vertical Slider"
122
+ orientation="vertical"
123
+ defaultValue={50}
124
+ minValue={0}
125
+ maxValue={100}
126
+ />
127
+ ```
@@ -0,0 +1,11 @@
1
+ import React from 'react';
2
+ declare const _default: import("@storybook/types").ComponentAnnotations<import("@storybook/react/dist/types-0a347bb9").R, import("@storybook/types").Args>;
3
+ export default _default;
4
+ export declare const Default: ({ ...args }: {
5
+ [x: string]: any;
6
+ }) => React.JSX.Element;
7
+ export declare const Controlled: () => React.JSX.Element;
8
+ export declare const Vertical: () => React.JSX.Element;
9
+ export declare const MultiThumb: () => React.JSX.Element;
10
+ export declare const ControlledMultiThumb: () => React.JSX.Element;
11
+ export declare const CustomProps: () => React.JSX.Element;