@atlaskit/range 7.0.3 → 7.0.4
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.
- package/CHANGELOG.md +7 -0
- package/dist/cjs/index.js +0 -2
- package/dist/cjs/range.js +23 -47
- package/dist/cjs/styled.js +6 -20
- package/dist/cjs/theme.js +1 -4
- package/dist/cjs/version.json +1 -1
- package/dist/es2019/range.js +6 -11
- package/dist/es2019/styled.js +13 -9
- package/dist/es2019/theme.js +1 -2
- package/dist/es2019/version.json +1 -1
- package/dist/esm/range.js +23 -34
- package/dist/esm/styled.js +7 -10
- package/dist/esm/theme.js +1 -2
- package/dist/esm/version.json +1 -1
- package/dist/types/theme.d.ts +1 -1
- package/package.json +2 -2
- package/report.api.md +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,12 @@
|
|
|
1
1
|
# @atlaskit/range
|
|
2
2
|
|
|
3
|
+
## 7.0.4
|
|
4
|
+
|
|
5
|
+
### Patch Changes
|
|
6
|
+
|
|
7
|
+
- [`22b754d311f`](https://bitbucket.org/atlassian/atlassian-frontend/commits/22b754d311f) - Updates usage of removed design token `utilities.UNSAFE_util.transparent` in favour of its replacement `utilities.UNSAFE.transparent`
|
|
8
|
+
- Updated dependencies
|
|
9
|
+
|
|
3
10
|
## 7.0.3
|
|
4
11
|
|
|
5
12
|
### Patch Changes
|
package/dist/cjs/index.js
CHANGED
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
3
|
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
-
|
|
5
4
|
Object.defineProperty(exports, "__esModule", {
|
|
6
5
|
value: true
|
|
7
6
|
});
|
|
@@ -11,5 +10,4 @@ Object.defineProperty(exports, "default", {
|
|
|
11
10
|
return _range.default;
|
|
12
11
|
}
|
|
13
12
|
});
|
|
14
|
-
|
|
15
13
|
var _range = _interopRequireDefault(require("./range"));
|
package/dist/cjs/range.js
CHANGED
|
@@ -1,93 +1,70 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
3
|
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
-
|
|
5
4
|
var _typeof = require("@babel/runtime/helpers/typeof");
|
|
6
|
-
|
|
7
5
|
Object.defineProperty(exports, "__esModule", {
|
|
8
6
|
value: true
|
|
9
7
|
});
|
|
10
8
|
exports.default = void 0;
|
|
11
|
-
|
|
12
9
|
var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
|
|
13
|
-
|
|
14
10
|
var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
|
|
15
|
-
|
|
16
11
|
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
|
17
|
-
|
|
18
12
|
var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutProperties"));
|
|
19
|
-
|
|
20
13
|
var _react = _interopRequireWildcard(require("react"));
|
|
21
|
-
|
|
22
14
|
var _noop = _interopRequireDefault(require("@atlaskit/ds-lib/noop"));
|
|
23
|
-
|
|
24
15
|
var _styled = require("./styled");
|
|
25
|
-
|
|
26
16
|
var _excluded = ["isDisabled", "defaultValue", "max", "min", "onChange", "step", "value", "testId"];
|
|
27
|
-
|
|
28
17
|
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); }
|
|
29
|
-
|
|
30
18
|
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; }
|
|
31
|
-
|
|
32
19
|
function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
|
|
33
|
-
|
|
34
20
|
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { (0, _defineProperty2.default)(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
|
|
35
|
-
|
|
36
21
|
var snapToStep = function snapToStep(value, min, step) {
|
|
37
22
|
// Normalise the value to allow for division properly with different min values
|
|
38
|
-
var adjustedValue = value - min;
|
|
39
|
-
|
|
40
|
-
var numSteps = Math.round(adjustedValue / step);
|
|
41
|
-
|
|
23
|
+
var adjustedValue = value - min;
|
|
24
|
+
// Find the number of steps the value covers
|
|
25
|
+
var numSteps = Math.round(adjustedValue / step);
|
|
26
|
+
// Convert numSteps back into original range
|
|
42
27
|
return numSteps * step + min;
|
|
43
28
|
};
|
|
44
|
-
|
|
45
29
|
var getRoundedPercentValue = function getRoundedPercentValue(value, min, max, step) {
|
|
46
30
|
var percent = '0';
|
|
47
|
-
|
|
48
31
|
if (min < max && value > min) {
|
|
49
32
|
var snappedValue = snapToStep(value, min, step);
|
|
50
33
|
percent = ((snappedValue - min) / (max - min) * 100).toFixed(2);
|
|
51
34
|
}
|
|
52
|
-
|
|
53
35
|
return percent;
|
|
54
36
|
};
|
|
55
|
-
|
|
56
37
|
var noop = _noop.default;
|
|
57
|
-
|
|
58
38
|
var _default = /*#__PURE__*/(0, _react.forwardRef)(function Range(props, ref) {
|
|
59
39
|
var _props$isDisabled = props.isDisabled,
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
40
|
+
isDisabled = _props$isDisabled === void 0 ? false : _props$isDisabled,
|
|
41
|
+
_props$defaultValue = props.defaultValue,
|
|
42
|
+
defaultValue = _props$defaultValue === void 0 ? 50 : _props$defaultValue,
|
|
43
|
+
_props$max = props.max,
|
|
44
|
+
max = _props$max === void 0 ? 100 : _props$max,
|
|
45
|
+
_props$min = props.min,
|
|
46
|
+
min = _props$min === void 0 ? 0 : _props$min,
|
|
47
|
+
_props$onChange = props.onChange,
|
|
48
|
+
onChange = _props$onChange === void 0 ? noop : _props$onChange,
|
|
49
|
+
_props$step = props.step,
|
|
50
|
+
step = _props$step === void 0 ? 1 : _props$step,
|
|
51
|
+
propsValue = props.value,
|
|
52
|
+
testId = props.testId,
|
|
53
|
+
rest = (0, _objectWithoutProperties2.default)(props, _excluded);
|
|
75
54
|
var spreadProps = _objectSpread({
|
|
76
55
|
max: max,
|
|
77
56
|
min: min,
|
|
78
57
|
step: step,
|
|
79
58
|
ref: ref
|
|
80
59
|
}, rest);
|
|
81
|
-
|
|
82
60
|
var _useState = (0, _react.useState)(propsValue !== undefined ? propsValue : defaultValue),
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
61
|
+
_useState2 = (0, _slicedToArray2.default)(_useState, 2),
|
|
62
|
+
value = _useState2[0],
|
|
63
|
+
setValue = _useState2[1];
|
|
87
64
|
var handleChange = (0, _react.useCallback)(function (e) {
|
|
88
65
|
var newValue = Number(e.target.value);
|
|
89
|
-
setValue(newValue);
|
|
90
|
-
|
|
66
|
+
setValue(newValue);
|
|
67
|
+
// Note use of newValue to ensure up=to-date value is used
|
|
91
68
|
onChange(newValue);
|
|
92
69
|
}, [onChange]);
|
|
93
70
|
var renderValue = propsValue !== undefined ? propsValue : value;
|
|
@@ -101,5 +78,4 @@ var _default = /*#__PURE__*/(0, _react.forwardRef)(function Range(props, ref) {
|
|
|
101
78
|
"data-testid": testId
|
|
102
79
|
}, spreadProps));
|
|
103
80
|
});
|
|
104
|
-
|
|
105
81
|
exports.default = _default;
|
package/dist/cjs/styled.js
CHANGED
|
@@ -1,38 +1,23 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
3
|
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
-
|
|
5
4
|
var _typeof = require("@babel/runtime/helpers/typeof");
|
|
6
|
-
|
|
7
5
|
Object.defineProperty(exports, "__esModule", {
|
|
8
6
|
value: true
|
|
9
7
|
});
|
|
10
8
|
exports.Input = void 0;
|
|
11
|
-
|
|
12
9
|
var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
|
|
13
|
-
|
|
14
10
|
var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutProperties"));
|
|
15
|
-
|
|
16
11
|
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
|
17
|
-
|
|
18
12
|
var _react = require("react");
|
|
19
|
-
|
|
20
13
|
var _react2 = require("@emotion/react");
|
|
21
|
-
|
|
22
14
|
var theme = _interopRequireWildcard(require("./theme"));
|
|
23
|
-
|
|
24
15
|
var _excluded = ["valuePercent", "style"];
|
|
25
|
-
|
|
26
16
|
var _hoverNotDisabled, _css;
|
|
27
|
-
|
|
28
17
|
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); }
|
|
29
|
-
|
|
30
18
|
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; }
|
|
31
|
-
|
|
32
19
|
function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
|
|
33
|
-
|
|
34
20
|
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { (0, _defineProperty2.default)(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
|
|
35
|
-
|
|
36
21
|
var VAR_THUMB_BORDER_COLOR = '--thumb-border';
|
|
37
22
|
var VAR_THUMB_SHADOW = '--thumb-shadow';
|
|
38
23
|
var VAR_THUMB_BACKGROUND_COLOR = '--thumb-bg';
|
|
@@ -61,10 +46,11 @@ var sliderTrackStyles = {
|
|
|
61
46
|
height: theme.track.height,
|
|
62
47
|
width: '100%',
|
|
63
48
|
transition: "background-color ".concat(theme.transitionDuration, " ease-in-out")
|
|
64
|
-
};
|
|
49
|
+
};
|
|
50
|
+
|
|
51
|
+
// Styles are split per browser as they are implemented differently
|
|
65
52
|
// Cannot consolidate as Chrome & Firefox don't recognise styles if they are grouped
|
|
66
53
|
// with CSS selectors they don't recognise, e.g. &::-ms-thumb
|
|
67
|
-
|
|
68
54
|
var browserStyles = {
|
|
69
55
|
webkit: (0, _react2.css)({
|
|
70
56
|
WebkitAppearance: 'none',
|
|
@@ -131,15 +117,15 @@ var baseStyles = (0, _react2.css)({
|
|
|
131
117
|
}
|
|
132
118
|
});
|
|
133
119
|
var themeStyles = (0, _react2.css)((_css = {}, (0, _defineProperty2.default)(_css, VAR_THUMB_SHADOW, theme.thumb.boxShadow.default), (0, _defineProperty2.default)(_css, VAR_TRACK_BACKGROUND_COLOR, theme.track.background.default), (0, _defineProperty2.default)(_css, VAR_TRACK_FOREGROUND_COLOR, theme.track.foreground.default), (0, _defineProperty2.default)(_css, ':hover:not(:disabled)', (_hoverNotDisabled = {}, (0, _defineProperty2.default)(_hoverNotDisabled, VAR_THUMB_BACKGROUND_COLOR, theme.thumb.background.hovered), (0, _defineProperty2.default)(_hoverNotDisabled, VAR_TRACK_BACKGROUND_COLOR, theme.track.background.hovered), (0, _defineProperty2.default)(_hoverNotDisabled, VAR_TRACK_FOREGROUND_COLOR, theme.track.foreground.hovered), _hoverNotDisabled)), (0, _defineProperty2.default)(_css, ':active:not(:disabled)', (0, _defineProperty2.default)({}, VAR_THUMB_BACKGROUND_COLOR, theme.thumb.background.pressed)), (0, _defineProperty2.default)(_css, ':focus-visible', (0, _defineProperty2.default)({}, VAR_THUMB_BORDER_COLOR, theme.thumb.borderColor.focused)), _css));
|
|
120
|
+
|
|
134
121
|
/**
|
|
135
122
|
* __Input__
|
|
136
123
|
* Internal-only styled input component.
|
|
137
124
|
*/
|
|
138
|
-
|
|
139
125
|
var Input = /*#__PURE__*/(0, _react.forwardRef)(function (props, ref) {
|
|
140
126
|
var valuePercent = props.valuePercent,
|
|
141
|
-
|
|
142
|
-
|
|
127
|
+
style = props.style,
|
|
128
|
+
strippedProps = (0, _objectWithoutProperties2.default)(props, _excluded);
|
|
143
129
|
return (0, _react2.jsx)("input", (0, _extends2.default)({}, strippedProps, {
|
|
144
130
|
style: (0, _defineProperty2.default)({}, VAR_TRACK_FOREGROUND_WIDTH, "".concat(valuePercent, "%")),
|
|
145
131
|
ref: ref,
|
package/dist/cjs/theme.js
CHANGED
|
@@ -4,9 +4,7 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
6
|
exports.transitionDuration = exports.track = exports.thumb = exports.input = void 0;
|
|
7
|
-
|
|
8
7
|
var _colors = require("@atlaskit/theme/colors");
|
|
9
|
-
|
|
10
8
|
var transitionDuration = '0.2s';
|
|
11
9
|
exports.transitionDuration = transitionDuration;
|
|
12
10
|
var input = {
|
|
@@ -26,14 +24,13 @@ var thumb = {
|
|
|
26
24
|
focused: "var(--ds-border-focused, ".concat(_colors.B200, ")")
|
|
27
25
|
},
|
|
28
26
|
boxShadow: {
|
|
29
|
-
default: "var(--ds-
|
|
27
|
+
default: "var(--ds-UNSAFE-transparent, ".concat("0 4px 8px -2px ".concat(_colors.N50A, ", 0 0 1px ").concat(_colors.N60A), ")"),
|
|
30
28
|
disabled: "var(--ds-shadow-raised, ".concat("0 0 1px ".concat(_colors.N60A), ")")
|
|
31
29
|
}
|
|
32
30
|
};
|
|
33
31
|
exports.thumb = thumb;
|
|
34
32
|
var track = {
|
|
35
33
|
height: 4,
|
|
36
|
-
|
|
37
34
|
/**
|
|
38
35
|
* borderRadius >= height / 2 to create a pill shape.
|
|
39
36
|
* Using '50%' creates an ellipse.
|
package/dist/cjs/version.json
CHANGED
package/dist/es2019/range.js
CHANGED
|
@@ -2,27 +2,22 @@ import _extends from "@babel/runtime/helpers/extends";
|
|
|
2
2
|
import React, { forwardRef, useCallback, useState } from 'react';
|
|
3
3
|
import __noop from '@atlaskit/ds-lib/noop';
|
|
4
4
|
import { Input } from './styled';
|
|
5
|
-
|
|
6
5
|
const snapToStep = (value, min, step) => {
|
|
7
6
|
// Normalise the value to allow for division properly with different min values
|
|
8
|
-
const adjustedValue = value - min;
|
|
9
|
-
|
|
10
|
-
const numSteps = Math.round(adjustedValue / step);
|
|
11
|
-
|
|
7
|
+
const adjustedValue = value - min;
|
|
8
|
+
// Find the number of steps the value covers
|
|
9
|
+
const numSteps = Math.round(adjustedValue / step);
|
|
10
|
+
// Convert numSteps back into original range
|
|
12
11
|
return numSteps * step + min;
|
|
13
12
|
};
|
|
14
|
-
|
|
15
13
|
const getRoundedPercentValue = (value, min, max, step) => {
|
|
16
14
|
let percent = '0';
|
|
17
|
-
|
|
18
15
|
if (min < max && value > min) {
|
|
19
16
|
const snappedValue = snapToStep(value, min, step);
|
|
20
17
|
percent = ((snappedValue - min) / (max - min) * 100).toFixed(2);
|
|
21
18
|
}
|
|
22
|
-
|
|
23
19
|
return percent;
|
|
24
20
|
};
|
|
25
|
-
|
|
26
21
|
const noop = __noop;
|
|
27
22
|
export default /*#__PURE__*/forwardRef(function Range(props, ref) {
|
|
28
23
|
const {
|
|
@@ -46,8 +41,8 @@ export default /*#__PURE__*/forwardRef(function Range(props, ref) {
|
|
|
46
41
|
const [value, setValue] = useState(propsValue !== undefined ? propsValue : defaultValue);
|
|
47
42
|
const handleChange = useCallback(e => {
|
|
48
43
|
const newValue = Number(e.target.value);
|
|
49
|
-
setValue(newValue);
|
|
50
|
-
|
|
44
|
+
setValue(newValue);
|
|
45
|
+
// Note use of newValue to ensure up=to-date value is used
|
|
51
46
|
onChange(newValue);
|
|
52
47
|
}, [onChange]);
|
|
53
48
|
const renderValue = propsValue !== undefined ? propsValue : value;
|
package/dist/es2019/styled.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import _extends from "@babel/runtime/helpers/extends";
|
|
2
|
-
|
|
3
2
|
/** @jsx jsx */
|
|
3
|
+
|
|
4
4
|
import { forwardRef } from 'react';
|
|
5
5
|
import { css, jsx } from '@emotion/react';
|
|
6
6
|
import * as theme from './theme';
|
|
@@ -32,20 +32,22 @@ const sliderTrackStyles = {
|
|
|
32
32
|
height: theme.track.height,
|
|
33
33
|
width: '100%',
|
|
34
34
|
transition: `background-color ${theme.transitionDuration} ease-in-out`
|
|
35
|
-
};
|
|
35
|
+
};
|
|
36
|
+
|
|
37
|
+
// Styles are split per browser as they are implemented differently
|
|
36
38
|
// Cannot consolidate as Chrome & Firefox don't recognise styles if they are grouped
|
|
37
39
|
// with CSS selectors they don't recognise, e.g. &::-ms-thumb
|
|
38
|
-
|
|
39
40
|
const browserStyles = {
|
|
40
41
|
webkit: css({
|
|
41
42
|
WebkitAppearance: 'none',
|
|
42
43
|
// Hides the slider so that custom slider can be made
|
|
43
|
-
'::-webkit-slider-thumb': {
|
|
44
|
+
'::-webkit-slider-thumb': {
|
|
45
|
+
...sliderThumbStyles,
|
|
44
46
|
marginTop: -(theme.thumb.size - theme.track.height) / 2,
|
|
45
47
|
WebkitAppearance: 'none'
|
|
46
48
|
},
|
|
47
|
-
'::-webkit-slider-runnable-track': {
|
|
48
|
-
|
|
49
|
+
'::-webkit-slider-runnable-track': {
|
|
50
|
+
...sliderTrackStyles,
|
|
49
51
|
/**
|
|
50
52
|
* Webkit does not have separate properties for the background/foreground like firefox.
|
|
51
53
|
* Instead we use background layering:
|
|
@@ -74,10 +76,12 @@ const browserStyles = {
|
|
|
74
76
|
'::-moz-focus-outer': {
|
|
75
77
|
border: 0
|
|
76
78
|
},
|
|
77
|
-
'::-moz-range-progress': {
|
|
79
|
+
'::-moz-range-progress': {
|
|
80
|
+
...sliderTrackStyles,
|
|
78
81
|
background: `var(${VAR_TRACK_FOREGROUND_COLOR})`
|
|
79
82
|
},
|
|
80
|
-
'::-moz-range-track': {
|
|
83
|
+
'::-moz-range-track': {
|
|
84
|
+
...sliderTrackStyles,
|
|
81
85
|
background: `var(${VAR_TRACK_BACKGROUND_COLOR})`
|
|
82
86
|
},
|
|
83
87
|
':disabled': {
|
|
@@ -118,11 +122,11 @@ const themeStyles = css({
|
|
|
118
122
|
[VAR_THUMB_BORDER_COLOR]: theme.thumb.borderColor.focused
|
|
119
123
|
}
|
|
120
124
|
});
|
|
125
|
+
|
|
121
126
|
/**
|
|
122
127
|
* __Input__
|
|
123
128
|
* Internal-only styled input component.
|
|
124
129
|
*/
|
|
125
|
-
|
|
126
130
|
export const Input = /*#__PURE__*/forwardRef((props, ref) => {
|
|
127
131
|
const {
|
|
128
132
|
valuePercent,
|
package/dist/es2019/theme.js
CHANGED
|
@@ -16,13 +16,12 @@ export const thumb = {
|
|
|
16
16
|
focused: `var(--ds-border-focused, ${B200})`
|
|
17
17
|
},
|
|
18
18
|
boxShadow: {
|
|
19
|
-
default: `var(--ds-
|
|
19
|
+
default: `var(--ds-UNSAFE-transparent, ${`0 4px 8px -2px ${N50A}, 0 0 1px ${N60A}`})`,
|
|
20
20
|
disabled: `var(--ds-shadow-raised, ${`0 0 1px ${N60A}`})`
|
|
21
21
|
}
|
|
22
22
|
};
|
|
23
23
|
export const track = {
|
|
24
24
|
height: 4,
|
|
25
|
-
|
|
26
25
|
/**
|
|
27
26
|
* borderRadius >= height / 2 to create a pill shape.
|
|
28
27
|
* Using '50%' creates an ellipse.
|
package/dist/es2019/version.json
CHANGED
package/dist/esm/range.js
CHANGED
|
@@ -3,69 +3,58 @@ import _slicedToArray from "@babel/runtime/helpers/slicedToArray";
|
|
|
3
3
|
import _defineProperty from "@babel/runtime/helpers/defineProperty";
|
|
4
4
|
import _objectWithoutProperties from "@babel/runtime/helpers/objectWithoutProperties";
|
|
5
5
|
var _excluded = ["isDisabled", "defaultValue", "max", "min", "onChange", "step", "value", "testId"];
|
|
6
|
-
|
|
7
6
|
function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
|
|
8
|
-
|
|
9
7
|
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
|
|
10
|
-
|
|
11
8
|
import React, { forwardRef, useCallback, useState } from 'react';
|
|
12
9
|
import __noop from '@atlaskit/ds-lib/noop';
|
|
13
10
|
import { Input } from './styled';
|
|
14
|
-
|
|
15
11
|
var snapToStep = function snapToStep(value, min, step) {
|
|
16
12
|
// Normalise the value to allow for division properly with different min values
|
|
17
|
-
var adjustedValue = value - min;
|
|
18
|
-
|
|
19
|
-
var numSteps = Math.round(adjustedValue / step);
|
|
20
|
-
|
|
13
|
+
var adjustedValue = value - min;
|
|
14
|
+
// Find the number of steps the value covers
|
|
15
|
+
var numSteps = Math.round(adjustedValue / step);
|
|
16
|
+
// Convert numSteps back into original range
|
|
21
17
|
return numSteps * step + min;
|
|
22
18
|
};
|
|
23
|
-
|
|
24
19
|
var getRoundedPercentValue = function getRoundedPercentValue(value, min, max, step) {
|
|
25
20
|
var percent = '0';
|
|
26
|
-
|
|
27
21
|
if (min < max && value > min) {
|
|
28
22
|
var snappedValue = snapToStep(value, min, step);
|
|
29
23
|
percent = ((snappedValue - min) / (max - min) * 100).toFixed(2);
|
|
30
24
|
}
|
|
31
|
-
|
|
32
25
|
return percent;
|
|
33
26
|
};
|
|
34
|
-
|
|
35
27
|
var noop = __noop;
|
|
36
28
|
export default /*#__PURE__*/forwardRef(function Range(props, ref) {
|
|
37
29
|
var _props$isDisabled = props.isDisabled,
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
30
|
+
isDisabled = _props$isDisabled === void 0 ? false : _props$isDisabled,
|
|
31
|
+
_props$defaultValue = props.defaultValue,
|
|
32
|
+
defaultValue = _props$defaultValue === void 0 ? 50 : _props$defaultValue,
|
|
33
|
+
_props$max = props.max,
|
|
34
|
+
max = _props$max === void 0 ? 100 : _props$max,
|
|
35
|
+
_props$min = props.min,
|
|
36
|
+
min = _props$min === void 0 ? 0 : _props$min,
|
|
37
|
+
_props$onChange = props.onChange,
|
|
38
|
+
onChange = _props$onChange === void 0 ? noop : _props$onChange,
|
|
39
|
+
_props$step = props.step,
|
|
40
|
+
step = _props$step === void 0 ? 1 : _props$step,
|
|
41
|
+
propsValue = props.value,
|
|
42
|
+
testId = props.testId,
|
|
43
|
+
rest = _objectWithoutProperties(props, _excluded);
|
|
53
44
|
var spreadProps = _objectSpread({
|
|
54
45
|
max: max,
|
|
55
46
|
min: min,
|
|
56
47
|
step: step,
|
|
57
48
|
ref: ref
|
|
58
49
|
}, rest);
|
|
59
|
-
|
|
60
50
|
var _useState = useState(propsValue !== undefined ? propsValue : defaultValue),
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
51
|
+
_useState2 = _slicedToArray(_useState, 2),
|
|
52
|
+
value = _useState2[0],
|
|
53
|
+
setValue = _useState2[1];
|
|
65
54
|
var handleChange = useCallback(function (e) {
|
|
66
55
|
var newValue = Number(e.target.value);
|
|
67
|
-
setValue(newValue);
|
|
68
|
-
|
|
56
|
+
setValue(newValue);
|
|
57
|
+
// Note use of newValue to ensure up=to-date value is used
|
|
69
58
|
onChange(newValue);
|
|
70
59
|
}, [onChange]);
|
|
71
60
|
var renderValue = propsValue !== undefined ? propsValue : value;
|
package/dist/esm/styled.js
CHANGED
|
@@ -2,14 +2,11 @@ import _extends from "@babel/runtime/helpers/extends";
|
|
|
2
2
|
import _objectWithoutProperties from "@babel/runtime/helpers/objectWithoutProperties";
|
|
3
3
|
import _defineProperty from "@babel/runtime/helpers/defineProperty";
|
|
4
4
|
var _excluded = ["valuePercent", "style"];
|
|
5
|
-
|
|
6
5
|
var _hoverNotDisabled, _css;
|
|
7
|
-
|
|
8
6
|
function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
|
|
9
|
-
|
|
10
7
|
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
|
|
11
|
-
|
|
12
8
|
/** @jsx jsx */
|
|
9
|
+
|
|
13
10
|
import { forwardRef } from 'react';
|
|
14
11
|
import { css, jsx } from '@emotion/react';
|
|
15
12
|
import * as theme from './theme';
|
|
@@ -41,10 +38,11 @@ var sliderTrackStyles = {
|
|
|
41
38
|
height: theme.track.height,
|
|
42
39
|
width: '100%',
|
|
43
40
|
transition: "background-color ".concat(theme.transitionDuration, " ease-in-out")
|
|
44
|
-
};
|
|
41
|
+
};
|
|
42
|
+
|
|
43
|
+
// Styles are split per browser as they are implemented differently
|
|
45
44
|
// Cannot consolidate as Chrome & Firefox don't recognise styles if they are grouped
|
|
46
45
|
// with CSS selectors they don't recognise, e.g. &::-ms-thumb
|
|
47
|
-
|
|
48
46
|
var browserStyles = {
|
|
49
47
|
webkit: css({
|
|
50
48
|
WebkitAppearance: 'none',
|
|
@@ -111,16 +109,15 @@ var baseStyles = css({
|
|
|
111
109
|
}
|
|
112
110
|
});
|
|
113
111
|
var themeStyles = css((_css = {}, _defineProperty(_css, VAR_THUMB_SHADOW, theme.thumb.boxShadow.default), _defineProperty(_css, VAR_TRACK_BACKGROUND_COLOR, theme.track.background.default), _defineProperty(_css, VAR_TRACK_FOREGROUND_COLOR, theme.track.foreground.default), _defineProperty(_css, ':hover:not(:disabled)', (_hoverNotDisabled = {}, _defineProperty(_hoverNotDisabled, VAR_THUMB_BACKGROUND_COLOR, theme.thumb.background.hovered), _defineProperty(_hoverNotDisabled, VAR_TRACK_BACKGROUND_COLOR, theme.track.background.hovered), _defineProperty(_hoverNotDisabled, VAR_TRACK_FOREGROUND_COLOR, theme.track.foreground.hovered), _hoverNotDisabled)), _defineProperty(_css, ':active:not(:disabled)', _defineProperty({}, VAR_THUMB_BACKGROUND_COLOR, theme.thumb.background.pressed)), _defineProperty(_css, ':focus-visible', _defineProperty({}, VAR_THUMB_BORDER_COLOR, theme.thumb.borderColor.focused)), _css));
|
|
112
|
+
|
|
114
113
|
/**
|
|
115
114
|
* __Input__
|
|
116
115
|
* Internal-only styled input component.
|
|
117
116
|
*/
|
|
118
|
-
|
|
119
117
|
export var Input = /*#__PURE__*/forwardRef(function (props, ref) {
|
|
120
118
|
var valuePercent = props.valuePercent,
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
119
|
+
style = props.style,
|
|
120
|
+
strippedProps = _objectWithoutProperties(props, _excluded);
|
|
124
121
|
return jsx("input", _extends({}, strippedProps, {
|
|
125
122
|
style: _defineProperty({}, VAR_TRACK_FOREGROUND_WIDTH, "".concat(valuePercent, "%")),
|
|
126
123
|
ref: ref,
|
package/dist/esm/theme.js
CHANGED
|
@@ -16,13 +16,12 @@ export var thumb = {
|
|
|
16
16
|
focused: "var(--ds-border-focused, ".concat(B200, ")")
|
|
17
17
|
},
|
|
18
18
|
boxShadow: {
|
|
19
|
-
default: "var(--ds-
|
|
19
|
+
default: "var(--ds-UNSAFE-transparent, ".concat("0 4px 8px -2px ".concat(N50A, ", 0 0 1px ").concat(N60A), ")"),
|
|
20
20
|
disabled: "var(--ds-shadow-raised, ".concat("0 0 1px ".concat(N60A), ")")
|
|
21
21
|
}
|
|
22
22
|
};
|
|
23
23
|
export var track = {
|
|
24
24
|
height: 4,
|
|
25
|
-
|
|
26
25
|
/**
|
|
27
26
|
* borderRadius >= height / 2 to create a pill shape.
|
|
28
27
|
* Using '50%' creates an ellipse.
|
package/dist/esm/version.json
CHANGED
package/dist/types/theme.d.ts
CHANGED
|
@@ -15,7 +15,7 @@ export declare const thumb: {
|
|
|
15
15
|
readonly focused: "var(--ds-border-focused)";
|
|
16
16
|
};
|
|
17
17
|
readonly boxShadow: {
|
|
18
|
-
readonly default: "var(--ds-
|
|
18
|
+
readonly default: "var(--ds-UNSAFE-transparent)";
|
|
19
19
|
readonly disabled: "var(--ds-shadow-raised)";
|
|
20
20
|
};
|
|
21
21
|
};
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@atlaskit/range",
|
|
3
|
-
"version": "7.0.
|
|
3
|
+
"version": "7.0.4",
|
|
4
4
|
"description": "A range lets users choose an approximate value on a slider.",
|
|
5
5
|
"publishConfig": {
|
|
6
6
|
"registry": "https://registry.npmjs.org/"
|
|
@@ -33,7 +33,7 @@
|
|
|
33
33
|
"dependencies": {
|
|
34
34
|
"@atlaskit/ds-lib": "^2.1.0",
|
|
35
35
|
"@atlaskit/theme": "^12.2.0",
|
|
36
|
-
"@atlaskit/tokens": "^0.
|
|
36
|
+
"@atlaskit/tokens": "^1.0.0",
|
|
37
37
|
"@babel/runtime": "^7.0.0",
|
|
38
38
|
"@emotion/react": "^11.7.1"
|
|
39
39
|
},
|
package/report.api.md
CHANGED