@react-spectrum/slider 3.6.8-nightly.4555 → 3.6.8-nightly.4558

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 (76) hide show
  1. package/dist/RangeSlider.main.js +117 -0
  2. package/dist/RangeSlider.main.js.map +1 -0
  3. package/dist/RangeSlider.mjs +112 -0
  4. package/dist/RangeSlider.module.js +112 -0
  5. package/dist/RangeSlider.module.js.map +1 -0
  6. package/dist/Slider.main.js +123 -0
  7. package/dist/Slider.main.js.map +1 -0
  8. package/dist/Slider.mjs +118 -0
  9. package/dist/Slider.module.js +118 -0
  10. package/dist/Slider.module.js.map +1 -0
  11. package/dist/SliderBase.main.js +172 -0
  12. package/dist/SliderBase.main.js.map +1 -0
  13. package/dist/SliderBase.mjs +167 -0
  14. package/dist/SliderBase.module.js +167 -0
  15. package/dist/SliderBase.module.js.map +1 -0
  16. package/dist/SliderThumb.main.js +67 -0
  17. package/dist/SliderThumb.main.js.map +1 -0
  18. package/dist/SliderThumb.mjs +62 -0
  19. package/dist/SliderThumb.module.js +62 -0
  20. package/dist/SliderThumb.module.js.map +1 -0
  21. package/dist/ar-AE.mjs +1 -1
  22. package/dist/bg-BG.mjs +1 -1
  23. package/dist/cs-CZ.mjs +1 -1
  24. package/dist/da-DK.mjs +1 -1
  25. package/dist/de-DE.mjs +1 -1
  26. package/dist/el-GR.mjs +1 -1
  27. package/dist/en-US.mjs +1 -1
  28. package/dist/es-ES.mjs +1 -1
  29. package/dist/et-EE.mjs +1 -1
  30. package/dist/fi-FI.mjs +1 -1
  31. package/dist/fr-FR.mjs +1 -1
  32. package/dist/he-IL.mjs +1 -1
  33. package/dist/hr-HR.mjs +1 -1
  34. package/dist/hu-HU.mjs +1 -1
  35. package/dist/import.mjs +2 -660
  36. package/dist/intlStrings.main.js +108 -0
  37. package/dist/intlStrings.main.js.map +1 -0
  38. package/dist/intlStrings.mjs +110 -0
  39. package/dist/intlStrings.module.js +110 -0
  40. package/dist/intlStrings.module.js.map +1 -0
  41. package/dist/it-IT.mjs +1 -1
  42. package/dist/ja-JP.mjs +1 -1
  43. package/dist/ko-KR.mjs +1 -1
  44. package/dist/lt-LT.mjs +1 -1
  45. package/dist/lv-LV.mjs +1 -1
  46. package/dist/main.js +4 -658
  47. package/dist/main.js.map +1 -1
  48. package/dist/module.js +2 -660
  49. package/dist/module.js.map +1 -1
  50. package/dist/nb-NO.mjs +1 -1
  51. package/dist/nl-NL.mjs +1 -1
  52. package/dist/pl-PL.mjs +1 -1
  53. package/dist/pt-BR.mjs +1 -1
  54. package/dist/pt-PT.mjs +1 -1
  55. package/dist/ro-RO.mjs +1 -1
  56. package/dist/ru-RU.mjs +1 -1
  57. package/dist/sk-SK.mjs +1 -1
  58. package/dist/sl-SI.mjs +1 -1
  59. package/dist/slider_vars_css.main.js +146 -0
  60. package/dist/slider_vars_css.main.js.map +1 -0
  61. package/dist/slider_vars_css.mjs +148 -0
  62. package/dist/slider_vars_css.module.js +148 -0
  63. package/dist/slider_vars_css.module.js.map +1 -0
  64. package/dist/sr-SP.mjs +1 -1
  65. package/dist/sv-SE.mjs +1 -1
  66. package/dist/tr-TR.mjs +1 -1
  67. package/dist/types.d.ts +3 -2
  68. package/dist/types.d.ts.map +1 -1
  69. package/dist/uk-UA.mjs +1 -1
  70. package/dist/{main.css → vars.b570f076.css} +1 -1
  71. package/dist/{main.css.map → vars.b570f076.css.map} +1 -1
  72. package/dist/zh-CN.mjs +1 -1
  73. package/dist/zh-TW.mjs +1 -1
  74. package/package.json +13 -13
  75. package/dist/module.css +0 -1189
  76. package/dist/module.css.map +0 -1
@@ -0,0 +1,118 @@
1
+ import {SliderBase as $39572711324a3b8e$export$9418495bb635ebde} from "./SliderBase.module.js";
2
+ import {SliderThumb as $9058ca69d66a724f$export$2c1b491743890dec} from "./SliderThumb.module.js";
3
+ import "./vars.b570f076.css";
4
+ import $i1AIe$slider_vars_cssmodulejs from "./slider_vars_css.module.js";
5
+ import {clamp as $i1AIe$clamp} from "@react-aria/utils";
6
+ import {classNames as $i1AIe$classNames} from "@react-spectrum/utils";
7
+ import $i1AIe$react from "react";
8
+ import {useLocale as $i1AIe$useLocale} from "@react-aria/i18n";
9
+
10
+
11
+ function $parcel$interopDefault(a) {
12
+ return a && a.__esModule ? a.default : a;
13
+ }
14
+ /*
15
+ * Copyright 2020 Adobe. All rights reserved.
16
+ * This file is licensed to you under the Apache License, Version 2.0 (the "License");
17
+ * you may not use this file except in compliance with the License. You may obtain a copy
18
+ * of the License at http://www.apache.org/licenses/LICENSE-2.0
19
+ *
20
+ * Unless required by applicable law or agreed to in writing, software distributed under
21
+ * the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS
22
+ * OF ANY KIND, either express or implied. See the License for the specific language
23
+ * governing permissions and limitations under the License.
24
+ */
25
+
26
+
27
+
28
+
29
+
30
+
31
+ function $a1251704aa53e1a5$var$Slider(props, ref) {
32
+ let { onChange: onChange, onChangeEnd: onChangeEnd, value: value, defaultValue: defaultValue, isFilled: isFilled, fillOffset: fillOffset, trackGradient: trackGradient, getValueLabel: getValueLabel, ...otherProps } = props;
33
+ let baseProps = {
34
+ ...otherProps,
35
+ // Normalize `value: number[]` to `value: number`
36
+ value: value != null ? [
37
+ value
38
+ ] : undefined,
39
+ defaultValue: defaultValue != null ? [
40
+ defaultValue
41
+ ] : undefined,
42
+ onChange: (v)=>{
43
+ onChange === null || onChange === void 0 ? void 0 : onChange(v[0]);
44
+ },
45
+ onChangeEnd: (v)=>{
46
+ onChangeEnd === null || onChangeEnd === void 0 ? void 0 : onChangeEnd(v[0]);
47
+ },
48
+ getValueLabel: getValueLabel ? ([v])=>getValueLabel(v) : undefined
49
+ };
50
+ let { direction: direction } = (0, $i1AIe$useLocale)();
51
+ return /*#__PURE__*/ (0, $i1AIe$react).createElement((0, $39572711324a3b8e$export$9418495bb635ebde), {
52
+ ...baseProps,
53
+ ref: ref,
54
+ classes: {
55
+ "spectrum-Slider--filled": isFilled && fillOffset == null
56
+ },
57
+ style: // @ts-ignore
58
+ {
59
+ "--spectrum-slider-track-gradient": trackGradient && `linear-gradient(to ${direction === "ltr" ? "right" : "left"}, ${trackGradient.join(", ")})`
60
+ }
61
+ }, ({ trackRef: trackRef, inputRef: inputRef, state: state })=>{
62
+ fillOffset = fillOffset != null ? (0, $i1AIe$clamp)(fillOffset, state.getThumbMinValue(0), state.getThumbMaxValue(0)) : fillOffset;
63
+ let cssDirection = direction === "rtl" ? "right" : "left";
64
+ let lowerTrack = /*#__PURE__*/ (0, $i1AIe$react).createElement("div", {
65
+ className: (0, $i1AIe$classNames)((0, ($parcel$interopDefault($i1AIe$slider_vars_cssmodulejs))), "spectrum-Slider-track"),
66
+ style: {
67
+ width: `${state.getThumbPercent(0) * 100}%`,
68
+ // TODO not sure if it has advantages, but this could also be implemented as CSS calc():
69
+ // .track::before {
70
+ // background-size: calc((1/ (var(--width)/100)) * 100%);
71
+ // width: calc(var(--width) * 1%)M
72
+ // }
73
+ // @ts-ignore
74
+ "--spectrum-track-background-size": `${1 / state.getThumbPercent(0) * 100}%`,
75
+ "--spectrum-track-background-position": direction === "ltr" ? "0" : "100%"
76
+ }
77
+ });
78
+ let upperTrack = /*#__PURE__*/ (0, $i1AIe$react).createElement("div", {
79
+ className: (0, $i1AIe$classNames)((0, ($parcel$interopDefault($i1AIe$slider_vars_cssmodulejs))), "spectrum-Slider-track"),
80
+ style: {
81
+ width: `${(1 - state.getThumbPercent(0)) * 100}%`,
82
+ // @ts-ignore
83
+ "--spectrum-track-background-size": `${1 / (1 - state.getThumbPercent(0)) * 100}%`,
84
+ "--spectrum-track-background-position": direction === "ltr" ? "100%" : "0"
85
+ }
86
+ });
87
+ let filledTrack = null;
88
+ if (isFilled && fillOffset != null) {
89
+ let width = state.getThumbPercent(0) - state.getValuePercent(fillOffset);
90
+ let isRightOfOffset = width > 0;
91
+ let offset = isRightOfOffset ? state.getValuePercent(fillOffset) : state.getThumbPercent(0);
92
+ filledTrack = /*#__PURE__*/ (0, $i1AIe$react).createElement("div", {
93
+ className: (0, $i1AIe$classNames)((0, ($parcel$interopDefault($i1AIe$slider_vars_cssmodulejs))), "spectrum-Slider-fill", {
94
+ "spectrum-Slider-fill--right": isRightOfOffset
95
+ }),
96
+ style: {
97
+ [cssDirection]: `${offset * 100}%`,
98
+ width: `${Math.abs(width) * 100}%`
99
+ }
100
+ });
101
+ }
102
+ return /*#__PURE__*/ (0, $i1AIe$react).createElement((0, $i1AIe$react).Fragment, null, lowerTrack, /*#__PURE__*/ (0, $i1AIe$react).createElement((0, $9058ca69d66a724f$export$2c1b491743890dec), {
103
+ index: 0,
104
+ isDisabled: props.isDisabled,
105
+ trackRef: trackRef,
106
+ inputRef: inputRef,
107
+ state: state,
108
+ name: props.name
109
+ }), filledTrack, upperTrack);
110
+ });
111
+ }
112
+ /**
113
+ * Sliders allow users to quickly select a value within a range. They should be used when the upper and lower bounds to the range are invariable.
114
+ */ const $a1251704aa53e1a5$export$472062a354075cee = /*#__PURE__*/ (0, $i1AIe$react).forwardRef($a1251704aa53e1a5$var$Slider);
115
+
116
+
117
+ export {$a1251704aa53e1a5$export$472062a354075cee as Slider};
118
+ //# sourceMappingURL=Slider.module.js.map
@@ -0,0 +1 @@
1
+ {"mappings":"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","sources":["packages/@react-spectrum/slider/src/Slider.tsx"],"sourcesContent":["/*\n * Copyright 2020 Adobe. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */\n\nimport {clamp} from '@react-aria/utils';\nimport {classNames} from '@react-spectrum/utils';\nimport {FocusableRef} from '@react-types/shared';\nimport React from 'react';\nimport {SliderBase, SliderBaseChildArguments, SliderBaseProps} from './SliderBase';\nimport {SliderThumb} from './SliderThumb';\nimport {SpectrumSliderProps} from '@react-types/slider';\nimport styles from '@adobe/spectrum-css-temp/components/slider/vars.css';\nimport {useLocale} from '@react-aria/i18n';\n\nfunction Slider(props: SpectrumSliderProps, ref: FocusableRef<HTMLDivElement>) {\n let {onChange, onChangeEnd, value, defaultValue, isFilled, fillOffset, trackGradient, getValueLabel, ...otherProps} = props;\n\n let baseProps: Omit<SliderBaseProps, 'children'> = {\n ...otherProps,\n // Normalize `value: number[]` to `value: number`\n value: value != null ? [value] : undefined,\n defaultValue: defaultValue != null ? [defaultValue] : undefined,\n onChange: (v: number[]): void => {\n onChange?.(v[0]);\n },\n onChangeEnd: (v: number[]): void => {\n onChangeEnd?.(v[0]);\n },\n getValueLabel: getValueLabel ? ([v]) => getValueLabel(v) : undefined\n };\n\n let {direction} = useLocale();\n\n return (\n <SliderBase\n {...baseProps}\n ref={ref}\n classes={{\n 'spectrum-Slider--filled': isFilled && fillOffset == null\n }}\n style={\n // @ts-ignore\n {'--spectrum-slider-track-gradient': trackGradient && `linear-gradient(to ${direction === 'ltr' ? 'right' : 'left'}, ${trackGradient.join(', ')})`}\n }>\n {({trackRef, inputRef, state}: SliderBaseChildArguments) => {\n fillOffset = fillOffset != null ? clamp(fillOffset, state.getThumbMinValue(0), state.getThumbMaxValue(0)) : fillOffset;\n let cssDirection = direction === 'rtl' ? 'right' : 'left';\n\n let lowerTrack = (\n <div\n className={classNames(styles, 'spectrum-Slider-track')}\n style={{\n width: `${state.getThumbPercent(0) * 100}%`,\n // TODO not sure if it has advantages, but this could also be implemented as CSS calc():\n // .track::before {\n // background-size: calc((1/ (var(--width)/100)) * 100%);\n // width: calc(var(--width) * 1%)M\n // }\n // @ts-ignore\n '--spectrum-track-background-size': `${(1 / state.getThumbPercent(0)) * 100}%`,\n '--spectrum-track-background-position': direction === 'ltr' ? '0' : '100%'\n }} />\n );\n let upperTrack = (\n <div\n className={classNames(styles, 'spectrum-Slider-track')}\n style={{\n width: `${(1 - state.getThumbPercent(0)) * 100}%`,\n // @ts-ignore\n '--spectrum-track-background-size': `${(1 / (1 - state.getThumbPercent(0))) * 100}%`,\n '--spectrum-track-background-position': direction === 'ltr' ? '100%' : '0'\n }} />\n );\n\n let filledTrack = null;\n if (isFilled && fillOffset != null) {\n let width = state.getThumbPercent(0) - state.getValuePercent(fillOffset);\n let isRightOfOffset = width > 0;\n let offset = isRightOfOffset ? state.getValuePercent(fillOffset) : state.getThumbPercent(0);\n filledTrack = (\n <div\n className={classNames(styles, 'spectrum-Slider-fill', {'spectrum-Slider-fill--right': isRightOfOffset})}\n style={{\n [cssDirection]: `${offset * 100}%`,\n width: `${Math.abs(width) * 100}%`\n }} />\n );\n }\n\n return (\n <>\n {lowerTrack}\n <SliderThumb\n index={0}\n isDisabled={props.isDisabled}\n trackRef={trackRef}\n inputRef={inputRef}\n state={state}\n name={props.name} />\n {filledTrack}\n {upperTrack}\n </>\n );\n }}\n </SliderBase>\n );\n}\n\n/**\n * Sliders allow users to quickly select a value within a range. They should be used when the upper and lower bounds to the range are invariable.\n */\nconst _Slider = React.forwardRef(Slider);\nexport {_Slider as Slider};\n"],"names":[],"version":3,"file":"Slider.module.js.map"}
@@ -0,0 +1,172 @@
1
+ require("./vars.b570f076.css");
2
+ var $57893a49ef34c169$exports = require("./slider_vars_css.main.js");
3
+ var $2j89m$reactspectrumutils = require("@react-spectrum/utils");
4
+ var $2j89m$react = require("react");
5
+ var $2j89m$reactstatelyslider = require("@react-stately/slider");
6
+ var $2j89m$reactariai18n = require("@react-aria/i18n");
7
+ var $2j89m$reactspectrumprovider = require("@react-spectrum/provider");
8
+ var $2j89m$reactariaslider = require("@react-aria/slider");
9
+
10
+
11
+ function $parcel$interopDefault(a) {
12
+ return a && a.__esModule ? a.default : a;
13
+ }
14
+
15
+ function $parcel$export(e, n, v, s) {
16
+ Object.defineProperty(e, n, {get: v, set: s, enumerable: true, configurable: true});
17
+ }
18
+
19
+ $parcel$export(module.exports, "SliderBase", () => $ec6ca573d82152ff$export$9418495bb635ebde);
20
+ /*
21
+ * Copyright 2020 Adobe. All rights reserved.
22
+ * This file is licensed to you under the Apache License, Version 2.0 (the "License");
23
+ * you may not use this file except in compliance with the License. You may obtain a copy
24
+ * of the License at http://www.apache.org/licenses/LICENSE-2.0
25
+ *
26
+ * Unless required by applicable law or agreed to in writing, software distributed under
27
+ * the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS
28
+ * OF ANY KIND, either express or implied. See the License for the specific language
29
+ * governing permissions and limitations under the License.
30
+ */
31
+
32
+
33
+
34
+
35
+
36
+
37
+ function $ec6ca573d82152ff$var$SliderBase(props, ref) {
38
+ props = (0, $2j89m$reactspectrumprovider.useProviderProps)(props);
39
+ let { isDisabled: isDisabled, children: children, classes: classes, style: style, labelPosition: labelPosition = "top", getValueLabel: getValueLabel, showValueLabel: showValueLabel = !!props.label, formatOptions: formatOptions, minValue: minValue = 0, maxValue: maxValue = 100, ...otherProps } = props;
40
+ let { styleProps: styleProps } = (0, $2j89m$reactspectrumutils.useStyleProps)(otherProps);
41
+ // `Math.abs(Math.sign(a) - Math.sign(b)) === 2` is true if the values have a different sign.
42
+ let alwaysDisplaySign = Math.abs(Math.sign(minValue) - Math.sign(maxValue)) === 2;
43
+ if (alwaysDisplaySign) {
44
+ if (formatOptions != null) {
45
+ if (!("signDisplay" in formatOptions)) formatOptions = {
46
+ ...formatOptions,
47
+ // @ts-ignore
48
+ signDisplay: "exceptZero"
49
+ };
50
+ } else // @ts-ignore
51
+ formatOptions = {
52
+ signDisplay: "exceptZero"
53
+ };
54
+ }
55
+ const formatter = (0, $2j89m$reactariai18n.useNumberFormatter)(formatOptions);
56
+ const state = (0, $2j89m$reactstatelyslider.useSliderState)({
57
+ ...props,
58
+ numberFormatter: formatter,
59
+ minValue: minValue,
60
+ maxValue: maxValue
61
+ });
62
+ let trackRef = (0, $2j89m$react.useRef)();
63
+ let { groupProps: groupProps, trackProps: trackProps, labelProps: labelProps, outputProps: outputProps } = (0, $2j89m$reactariaslider.useSlider)(props, state, trackRef);
64
+ let inputRef = (0, $2j89m$react.useRef)();
65
+ let domRef = (0, $2j89m$reactspectrumutils.useFocusableRef)(ref, inputRef);
66
+ let displayValue = "";
67
+ let maxLabelLength = undefined;
68
+ if (typeof getValueLabel === "function") {
69
+ displayValue = getValueLabel(state.values);
70
+ switch(state.values.length){
71
+ case 1:
72
+ maxLabelLength = Math.max(getValueLabel([
73
+ minValue
74
+ ]).length, getValueLabel([
75
+ maxValue
76
+ ]).length);
77
+ break;
78
+ case 2:
79
+ // Try all possible combinations of min and max values.
80
+ maxLabelLength = Math.max(getValueLabel([
81
+ minValue,
82
+ minValue
83
+ ]).length, getValueLabel([
84
+ minValue,
85
+ maxValue
86
+ ]).length, getValueLabel([
87
+ maxValue,
88
+ minValue
89
+ ]).length, getValueLabel([
90
+ maxValue,
91
+ maxValue
92
+ ]).length);
93
+ break;
94
+ default:
95
+ throw new Error("Only sliders with 1 or 2 handles are supported!");
96
+ }
97
+ } else {
98
+ maxLabelLength = Math.max([
99
+ ...formatter.format(minValue)
100
+ ].length, [
101
+ ...formatter.format(maxValue)
102
+ ].length);
103
+ switch(state.values.length){
104
+ case 1:
105
+ displayValue = state.getThumbValueLabel(0);
106
+ break;
107
+ case 2:
108
+ // This should really use the NumberFormat#formatRange proposal...
109
+ // https://github.com/tc39/ecma402/issues/393
110
+ // https://github.com/tc39/proposal-intl-numberformat-v3#formatrange-ecma-402-393
111
+ displayValue = `${state.getThumbValueLabel(0)} \u{2013} ${state.getThumbValueLabel(1)}`;
112
+ maxLabelLength = 3 + 2 * Math.max(maxLabelLength, [
113
+ ...formatter.format(minValue)
114
+ ].length, [
115
+ ...formatter.format(maxValue)
116
+ ].length);
117
+ break;
118
+ default:
119
+ throw new Error("Only sliders with 1 or 2 handles are supported!");
120
+ }
121
+ }
122
+ let labelNode = /*#__PURE__*/ (0, ($parcel$interopDefault($2j89m$react))).createElement("label", {
123
+ className: (0, $2j89m$reactspectrumutils.classNames)((0, ($parcel$interopDefault($57893a49ef34c169$exports))), "spectrum-Slider-label"),
124
+ ...labelProps
125
+ }, props.label);
126
+ let valueNode = /*#__PURE__*/ (0, ($parcel$interopDefault($2j89m$react))).createElement("output", {
127
+ ...outputProps,
128
+ className: (0, $2j89m$reactspectrumutils.classNames)((0, ($parcel$interopDefault($57893a49ef34c169$exports))), "spectrum-Slider-value"),
129
+ style: maxLabelLength && {
130
+ width: `${maxLabelLength}ch`,
131
+ minWidth: `${maxLabelLength}ch`
132
+ }
133
+ }, displayValue);
134
+ return /*#__PURE__*/ (0, ($parcel$interopDefault($2j89m$react))).createElement("div", {
135
+ ref: domRef,
136
+ className: (0, $2j89m$reactspectrumutils.classNames)((0, ($parcel$interopDefault($57893a49ef34c169$exports))), "spectrum-Slider", {
137
+ "spectrum-Slider--positionTop": labelPosition === "top",
138
+ "spectrum-Slider--positionSide": labelPosition === "side",
139
+ "is-disabled": isDisabled
140
+ }, classes, styleProps.className),
141
+ style: {
142
+ ...style,
143
+ ...styleProps.style
144
+ },
145
+ ...groupProps
146
+ }, props.label && /*#__PURE__*/ (0, ($parcel$interopDefault($2j89m$react))).createElement("div", {
147
+ className: (0, $2j89m$reactspectrumutils.classNames)((0, ($parcel$interopDefault($57893a49ef34c169$exports))), "spectrum-Slider-labelContainer"),
148
+ role: "presentation"
149
+ }, props.label && labelNode, props.contextualHelp && /*#__PURE__*/ (0, ($parcel$interopDefault($2j89m$react))).createElement((0, $2j89m$reactspectrumutils.SlotProvider), {
150
+ slots: {
151
+ actionButton: {
152
+ UNSAFE_className: (0, $2j89m$reactspectrumutils.classNames)((0, ($parcel$interopDefault($57893a49ef34c169$exports))), "spectrum-Slider-contextualHelp")
153
+ }
154
+ }
155
+ }, props.contextualHelp), labelPosition === "top" && showValueLabel && valueNode), /*#__PURE__*/ (0, ($parcel$interopDefault($2j89m$react))).createElement("div", {
156
+ className: (0, $2j89m$reactspectrumutils.classNames)((0, ($parcel$interopDefault($57893a49ef34c169$exports))), "spectrum-Slider-controls"),
157
+ ref: trackRef,
158
+ ...trackProps,
159
+ role: "presentation"
160
+ }, children({
161
+ trackRef: trackRef,
162
+ inputRef: inputRef,
163
+ state: state
164
+ })), labelPosition === "side" && /*#__PURE__*/ (0, ($parcel$interopDefault($2j89m$react))).createElement("div", {
165
+ className: (0, $2j89m$reactspectrumutils.classNames)((0, ($parcel$interopDefault($57893a49ef34c169$exports))), "spectrum-Slider-valueLabelContainer"),
166
+ role: "presentation"
167
+ }, showValueLabel && valueNode));
168
+ }
169
+ const $ec6ca573d82152ff$export$9418495bb635ebde = /*#__PURE__*/ (0, ($parcel$interopDefault($2j89m$react))).forwardRef($ec6ca573d82152ff$var$SliderBase);
170
+
171
+
172
+ //# sourceMappingURL=SliderBase.main.js.map
@@ -0,0 +1 @@
1
+ {"mappings":"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","sources":["packages/@react-spectrum/slider/src/SliderBase.tsx"],"sourcesContent":["/*\n * Copyright 2020 Adobe. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */\n\nimport {classNames, SlotProvider, useFocusableRef, useStyleProps} from '@react-spectrum/utils';\nimport {FocusableRef} from '@react-types/shared';\nimport React, {CSSProperties, ReactNode, RefObject, useRef} from 'react';\nimport {SliderState, useSliderState} from '@react-stately/slider';\nimport {SpectrumBarSliderBase} from '@react-types/slider';\nimport styles from '@adobe/spectrum-css-temp/components/slider/vars.css';\nimport {useNumberFormatter} from '@react-aria/i18n';\nimport {useProviderProps} from '@react-spectrum/provider';\nimport {useSlider} from '@react-aria/slider';\n\nexport interface SliderBaseChildArguments {\n inputRef: RefObject<HTMLInputElement>,\n trackRef: RefObject<HTMLElement>,\n state: SliderState\n}\n\nexport interface SliderBaseProps<T = number[]> extends SpectrumBarSliderBase<T> {\n children: (opts: SliderBaseChildArguments) => ReactNode,\n classes?: string[] | Object,\n style?: CSSProperties\n}\n\nfunction SliderBase(props: SliderBaseProps, ref: FocusableRef<HTMLDivElement>) {\n props = useProviderProps(props);\n let {\n isDisabled,\n children,\n classes,\n style,\n labelPosition = 'top',\n getValueLabel,\n showValueLabel = !!props.label,\n formatOptions,\n minValue = 0,\n maxValue = 100,\n ...otherProps\n } = props;\n\n let {styleProps} = useStyleProps(otherProps);\n\n // `Math.abs(Math.sign(a) - Math.sign(b)) === 2` is true if the values have a different sign.\n let alwaysDisplaySign = Math.abs(Math.sign(minValue) - Math.sign(maxValue)) === 2;\n if (alwaysDisplaySign) {\n if (formatOptions != null) {\n if (!('signDisplay' in formatOptions)) {\n formatOptions = {\n ...formatOptions,\n // @ts-ignore\n signDisplay: 'exceptZero'\n };\n }\n } else {\n // @ts-ignore\n formatOptions = {signDisplay: 'exceptZero'};\n }\n }\n\n const formatter = useNumberFormatter(formatOptions);\n const state = useSliderState({\n ...props,\n numberFormatter: formatter,\n minValue,\n maxValue\n });\n let trackRef = useRef();\n let {\n groupProps,\n trackProps,\n labelProps,\n outputProps\n } = useSlider(props, state, trackRef);\n\n let inputRef = useRef();\n let domRef = useFocusableRef(ref, inputRef);\n\n let displayValue = '';\n let maxLabelLength = undefined;\n\n if (typeof getValueLabel === 'function') {\n displayValue = getValueLabel(state.values);\n switch (state.values.length) {\n case 1:\n maxLabelLength = Math.max(\n getValueLabel([minValue]).length,\n getValueLabel([maxValue]).length\n );\n break;\n case 2:\n // Try all possible combinations of min and max values.\n maxLabelLength = Math.max(\n getValueLabel([minValue, minValue]).length,\n getValueLabel([minValue, maxValue]).length,\n getValueLabel([maxValue, minValue]).length,\n getValueLabel([maxValue, maxValue]).length\n );\n break;\n default:\n throw new Error('Only sliders with 1 or 2 handles are supported!');\n }\n } else {\n maxLabelLength = Math.max([...formatter.format(minValue)].length, [...formatter.format(maxValue)].length);\n switch (state.values.length) {\n case 1:\n displayValue = state.getThumbValueLabel(0);\n break;\n case 2:\n // This should really use the NumberFormat#formatRange proposal...\n // https://github.com/tc39/ecma402/issues/393\n // https://github.com/tc39/proposal-intl-numberformat-v3#formatrange-ecma-402-393\n displayValue = `${state.getThumbValueLabel(0)} – ${state.getThumbValueLabel(1)}`;\n maxLabelLength = 3 + 2 * Math.max(\n maxLabelLength,\n [...formatter.format(minValue)].length, [...formatter.format(maxValue)].length\n );\n break;\n default:\n throw new Error('Only sliders with 1 or 2 handles are supported!');\n }\n }\n\n let labelNode = (\n <label\n className={classNames(styles, 'spectrum-Slider-label')}\n {...labelProps}>\n {props.label}\n </label>\n );\n\n let valueNode = (\n <output\n {...outputProps}\n className={classNames(styles, 'spectrum-Slider-value')}\n style={maxLabelLength && {width: `${maxLabelLength}ch`, minWidth: `${maxLabelLength}ch`}}>\n {displayValue}\n </output>\n );\n\n return (\n <div\n ref={domRef}\n className={classNames(styles,\n 'spectrum-Slider',\n {\n 'spectrum-Slider--positionTop': labelPosition === 'top',\n 'spectrum-Slider--positionSide': labelPosition === 'side',\n 'is-disabled': isDisabled\n },\n classes,\n styleProps.className)}\n style={{\n ...style,\n ...styleProps.style\n }}\n {...groupProps}>\n {(props.label) &&\n <div className={classNames(styles, 'spectrum-Slider-labelContainer')} role=\"presentation\">\n {props.label && labelNode}\n {props.contextualHelp &&\n <SlotProvider\n slots={{\n actionButton: {\n UNSAFE_className: classNames(styles, 'spectrum-Slider-contextualHelp')\n }\n }}>\n {props.contextualHelp}\n </SlotProvider>\n }\n {labelPosition === 'top' && showValueLabel && valueNode}\n </div>\n }\n <div className={classNames(styles, 'spectrum-Slider-controls')} ref={trackRef} {...trackProps} role=\"presentation\">\n {children({\n trackRef,\n inputRef,\n state\n })}\n </div>\n {labelPosition === 'side' &&\n <div className={classNames(styles, 'spectrum-Slider-valueLabelContainer')} role=\"presentation\">\n {showValueLabel && valueNode}\n </div>\n }\n </div>\n );\n}\n\nconst _SliderBase = React.forwardRef(SliderBase);\nexport {_SliderBase as SliderBase};\n"],"names":[],"version":3,"file":"SliderBase.main.js.map"}
@@ -0,0 +1,167 @@
1
+ import "./vars.b570f076.css";
2
+ import $63Ecs$slider_vars_cssmodulejs from "./slider_vars_css.mjs";
3
+ import {useStyleProps as $63Ecs$useStyleProps, useFocusableRef as $63Ecs$useFocusableRef, classNames as $63Ecs$classNames, SlotProvider as $63Ecs$SlotProvider} from "@react-spectrum/utils";
4
+ import $63Ecs$react, {useRef as $63Ecs$useRef} from "react";
5
+ import {useSliderState as $63Ecs$useSliderState} from "@react-stately/slider";
6
+ import {useNumberFormatter as $63Ecs$useNumberFormatter} from "@react-aria/i18n";
7
+ import {useProviderProps as $63Ecs$useProviderProps} from "@react-spectrum/provider";
8
+ import {useSlider as $63Ecs$useSlider} from "@react-aria/slider";
9
+
10
+
11
+ function $parcel$interopDefault(a) {
12
+ return a && a.__esModule ? a.default : a;
13
+ }
14
+ /*
15
+ * Copyright 2020 Adobe. All rights reserved.
16
+ * This file is licensed to you under the Apache License, Version 2.0 (the "License");
17
+ * you may not use this file except in compliance with the License. You may obtain a copy
18
+ * of the License at http://www.apache.org/licenses/LICENSE-2.0
19
+ *
20
+ * Unless required by applicable law or agreed to in writing, software distributed under
21
+ * the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS
22
+ * OF ANY KIND, either express or implied. See the License for the specific language
23
+ * governing permissions and limitations under the License.
24
+ */
25
+
26
+
27
+
28
+
29
+
30
+
31
+ function $39572711324a3b8e$var$SliderBase(props, ref) {
32
+ props = (0, $63Ecs$useProviderProps)(props);
33
+ let { isDisabled: isDisabled, children: children, classes: classes, style: style, labelPosition: labelPosition = "top", getValueLabel: getValueLabel, showValueLabel: showValueLabel = !!props.label, formatOptions: formatOptions, minValue: minValue = 0, maxValue: maxValue = 100, ...otherProps } = props;
34
+ let { styleProps: styleProps } = (0, $63Ecs$useStyleProps)(otherProps);
35
+ // `Math.abs(Math.sign(a) - Math.sign(b)) === 2` is true if the values have a different sign.
36
+ let alwaysDisplaySign = Math.abs(Math.sign(minValue) - Math.sign(maxValue)) === 2;
37
+ if (alwaysDisplaySign) {
38
+ if (formatOptions != null) {
39
+ if (!("signDisplay" in formatOptions)) formatOptions = {
40
+ ...formatOptions,
41
+ // @ts-ignore
42
+ signDisplay: "exceptZero"
43
+ };
44
+ } else // @ts-ignore
45
+ formatOptions = {
46
+ signDisplay: "exceptZero"
47
+ };
48
+ }
49
+ const formatter = (0, $63Ecs$useNumberFormatter)(formatOptions);
50
+ const state = (0, $63Ecs$useSliderState)({
51
+ ...props,
52
+ numberFormatter: formatter,
53
+ minValue: minValue,
54
+ maxValue: maxValue
55
+ });
56
+ let trackRef = (0, $63Ecs$useRef)();
57
+ let { groupProps: groupProps, trackProps: trackProps, labelProps: labelProps, outputProps: outputProps } = (0, $63Ecs$useSlider)(props, state, trackRef);
58
+ let inputRef = (0, $63Ecs$useRef)();
59
+ let domRef = (0, $63Ecs$useFocusableRef)(ref, inputRef);
60
+ let displayValue = "";
61
+ let maxLabelLength = undefined;
62
+ if (typeof getValueLabel === "function") {
63
+ displayValue = getValueLabel(state.values);
64
+ switch(state.values.length){
65
+ case 1:
66
+ maxLabelLength = Math.max(getValueLabel([
67
+ minValue
68
+ ]).length, getValueLabel([
69
+ maxValue
70
+ ]).length);
71
+ break;
72
+ case 2:
73
+ // Try all possible combinations of min and max values.
74
+ maxLabelLength = Math.max(getValueLabel([
75
+ minValue,
76
+ minValue
77
+ ]).length, getValueLabel([
78
+ minValue,
79
+ maxValue
80
+ ]).length, getValueLabel([
81
+ maxValue,
82
+ minValue
83
+ ]).length, getValueLabel([
84
+ maxValue,
85
+ maxValue
86
+ ]).length);
87
+ break;
88
+ default:
89
+ throw new Error("Only sliders with 1 or 2 handles are supported!");
90
+ }
91
+ } else {
92
+ maxLabelLength = Math.max([
93
+ ...formatter.format(minValue)
94
+ ].length, [
95
+ ...formatter.format(maxValue)
96
+ ].length);
97
+ switch(state.values.length){
98
+ case 1:
99
+ displayValue = state.getThumbValueLabel(0);
100
+ break;
101
+ case 2:
102
+ // This should really use the NumberFormat#formatRange proposal...
103
+ // https://github.com/tc39/ecma402/issues/393
104
+ // https://github.com/tc39/proposal-intl-numberformat-v3#formatrange-ecma-402-393
105
+ displayValue = `${state.getThumbValueLabel(0)} \u{2013} ${state.getThumbValueLabel(1)}`;
106
+ maxLabelLength = 3 + 2 * Math.max(maxLabelLength, [
107
+ ...formatter.format(minValue)
108
+ ].length, [
109
+ ...formatter.format(maxValue)
110
+ ].length);
111
+ break;
112
+ default:
113
+ throw new Error("Only sliders with 1 or 2 handles are supported!");
114
+ }
115
+ }
116
+ let labelNode = /*#__PURE__*/ (0, $63Ecs$react).createElement("label", {
117
+ className: (0, $63Ecs$classNames)((0, ($parcel$interopDefault($63Ecs$slider_vars_cssmodulejs))), "spectrum-Slider-label"),
118
+ ...labelProps
119
+ }, props.label);
120
+ let valueNode = /*#__PURE__*/ (0, $63Ecs$react).createElement("output", {
121
+ ...outputProps,
122
+ className: (0, $63Ecs$classNames)((0, ($parcel$interopDefault($63Ecs$slider_vars_cssmodulejs))), "spectrum-Slider-value"),
123
+ style: maxLabelLength && {
124
+ width: `${maxLabelLength}ch`,
125
+ minWidth: `${maxLabelLength}ch`
126
+ }
127
+ }, displayValue);
128
+ return /*#__PURE__*/ (0, $63Ecs$react).createElement("div", {
129
+ ref: domRef,
130
+ className: (0, $63Ecs$classNames)((0, ($parcel$interopDefault($63Ecs$slider_vars_cssmodulejs))), "spectrum-Slider", {
131
+ "spectrum-Slider--positionTop": labelPosition === "top",
132
+ "spectrum-Slider--positionSide": labelPosition === "side",
133
+ "is-disabled": isDisabled
134
+ }, classes, styleProps.className),
135
+ style: {
136
+ ...style,
137
+ ...styleProps.style
138
+ },
139
+ ...groupProps
140
+ }, props.label && /*#__PURE__*/ (0, $63Ecs$react).createElement("div", {
141
+ className: (0, $63Ecs$classNames)((0, ($parcel$interopDefault($63Ecs$slider_vars_cssmodulejs))), "spectrum-Slider-labelContainer"),
142
+ role: "presentation"
143
+ }, props.label && labelNode, props.contextualHelp && /*#__PURE__*/ (0, $63Ecs$react).createElement((0, $63Ecs$SlotProvider), {
144
+ slots: {
145
+ actionButton: {
146
+ UNSAFE_className: (0, $63Ecs$classNames)((0, ($parcel$interopDefault($63Ecs$slider_vars_cssmodulejs))), "spectrum-Slider-contextualHelp")
147
+ }
148
+ }
149
+ }, props.contextualHelp), labelPosition === "top" && showValueLabel && valueNode), /*#__PURE__*/ (0, $63Ecs$react).createElement("div", {
150
+ className: (0, $63Ecs$classNames)((0, ($parcel$interopDefault($63Ecs$slider_vars_cssmodulejs))), "spectrum-Slider-controls"),
151
+ ref: trackRef,
152
+ ...trackProps,
153
+ role: "presentation"
154
+ }, children({
155
+ trackRef: trackRef,
156
+ inputRef: inputRef,
157
+ state: state
158
+ })), labelPosition === "side" && /*#__PURE__*/ (0, $63Ecs$react).createElement("div", {
159
+ className: (0, $63Ecs$classNames)((0, ($parcel$interopDefault($63Ecs$slider_vars_cssmodulejs))), "spectrum-Slider-valueLabelContainer"),
160
+ role: "presentation"
161
+ }, showValueLabel && valueNode));
162
+ }
163
+ const $39572711324a3b8e$export$9418495bb635ebde = /*#__PURE__*/ (0, $63Ecs$react).forwardRef($39572711324a3b8e$var$SliderBase);
164
+
165
+
166
+ export {$39572711324a3b8e$export$9418495bb635ebde as SliderBase};
167
+ //# sourceMappingURL=SliderBase.mjs.map