@atlaskit/range 5.0.8 → 5.1.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.
package/CHANGELOG.md CHANGED
@@ -1,5 +1,36 @@
1
1
  # @atlaskit/range
2
2
 
3
+ ## 5.1.0
4
+
5
+ ### Minor Changes
6
+
7
+ - [`21c178539a2`](https://bitbucket.org/atlassian/atlassian-frontend/commits/21c178539a2) - [ux] Instrumented range with the new theming package, `@atlaskit/tokens`.
8
+
9
+ New tokens will be visible only in applications configured to use the new Tokens API (currently in alpha).
10
+ These changes are intended to be interoperable with the legacy theme implementation. Legacy dark mode users should expect no visual or breaking changes.
11
+
12
+ ### Patch Changes
13
+
14
+ - Updated dependencies
15
+
16
+ ## 5.0.11
17
+
18
+ ### Patch Changes
19
+
20
+ - Updated dependencies
21
+
22
+ ## 5.0.10
23
+
24
+ ### Patch Changes
25
+
26
+ - [`378d1cef00f`](https://bitbucket.org/atlassian/atlassian-frontend/commits/378d1cef00f) - Bump `@atlaskit/theme` to version `^11.3.0`.
27
+
28
+ ## 5.0.9
29
+
30
+ ### Patch Changes
31
+
32
+ - [`b0183dd2972`](https://bitbucket.org/atlassian/atlassian-frontend/commits/b0183dd2972) - Updated package.json decriptions and documentation. Docs have moved from atlaskit.atlassian.com to atlassian.design
33
+
3
34
  ## 5.0.8
4
35
 
5
36
  ### Patch Changes
package/README.md CHANGED
@@ -1,6 +1,6 @@
1
- # Field-range
1
+ # Range
2
2
 
3
- Component which renders a Slider and is a substitute of the native input["range"] element.
3
+ A range lets users choose an approximate value on a slider.
4
4
 
5
5
  ## Installation
6
6
 
@@ -10,4 +10,4 @@ yarn add @atlaskit/range
10
10
 
11
11
  ## Usage
12
12
 
13
- Detailed docs and example usage can be found [here](https://atlaskit.atlassian.com/packages/design-system/range).
13
+ For more information, see our [detailed range docs and examples](https://atlassian.design/components/range/).
@@ -5,6 +5,13 @@
5
5
  "target": "es5",
6
6
  "paths": {}
7
7
  },
8
- "include": ["../src/**/*.ts", "../src/**/*.tsx"],
9
- "exclude": ["../src/**/__tests__/*"]
10
- }
8
+ "include": [
9
+ "../src/**/*.ts",
10
+ "../src/**/*.tsx"
11
+ ],
12
+ "exclude": [
13
+ "../src/**/__tests__/*",
14
+ "../src/**/*.test.*",
15
+ "../src/**/test.*"
16
+ ]
17
+ }
@@ -0,0 +1,39 @@
1
+ ---
2
+ order: 0
3
+ ---
4
+
5
+ import RangeDefault from '../../examples/constellation/range-default';
6
+ import RangeForm from '../../examples/constellation/range-form';
7
+ import RangeControlled from '../../examples/constellation/range-controlled';
8
+ import RangeUncontrolled from '../../examples/constellation/range-uncontrolled';
9
+ import RangeDisabled from '../../examples/constellation/range-disabled';
10
+
11
+ ## Default
12
+
13
+ The default form of a range.
14
+
15
+ <Example Component={RangeDefault} packageName="@atlaskit/range" />
16
+
17
+ ## Form
18
+
19
+ Range used with the [Form](https://atlaskit.atlassian.com/packages/design-system/form) component.
20
+
21
+ <Example Component={RangeForm} packageName="@atlaskit/range" />
22
+
23
+ ## Controlled
24
+
25
+ In a controlled range, the state is managed by the React component. Use the `onChange` handler to set the value.
26
+
27
+ <Example Component={RangeControlled} packageName="@atlaskit/range" />
28
+
29
+ ## Uncontrolled
30
+
31
+ In an uncontrolled range, the state is managed by the DOM.
32
+
33
+ <Example Component={RangeUncontrolled} packageName="@atlaskit/range" />
34
+
35
+ ## Disabled
36
+
37
+ Set `isDisabled` to disable a range when another action has to be completed before the range is usable.
38
+
39
+ <Example Component={RangeDisabled} packageName="@atlaskit/range" />
@@ -0,0 +1,5 @@
1
+ import RangeProps from '!!extract-react-types-loader!../../extract-react-types/range-props';
2
+
3
+ <PropsTable heading="" props={RangeProps} />
4
+
5
+ Additional `input` attributes are available. See <a rel="noopener noreferrer" href="https://developer.mozilla.org/en-US/docs/Web/HTML/Element/input/range" target="_blank">MDN documentation</a> for more information.
@@ -0,0 +1,31 @@
1
+ ---
2
+ order: 2
3
+ ---
4
+
5
+ ## Usage
6
+
7
+ Use ranges in [forms](/patterns/forms) to let users select a value within a given range of minimum and maximum values.
8
+
9
+ ## Anatomy
10
+
11
+ ![Range anatomy](images/range-anatomy.png)
12
+
13
+ 1. **Track:** The track displays the range available for the user to select from.
14
+ 2. **Handle:** A position indicator that can be moved along the track to change the value.
15
+
16
+ ## Best practices
17
+
18
+ - Place labels directly above the input, and align to the left.
19
+ - Do not use for ranges that are extremely large (for example, 1-1000).
20
+ - Do not use for ranges that are very small (for example, 1-3). The range moves in steps when the range of values is lower.
21
+ - Don't use a range if choosing a *specific* value is important. The slider interaction isn't as precise as explicitly typing or choosing an option from a list.
22
+
23
+
24
+ ## Content guidelines
25
+
26
+ - Field label text above the range input should be short and concise.
27
+ - If necessary, use helper text to clarify how to use the range.
28
+
29
+ ## Related
30
+
31
+ - Ranges are used in [forms](/patterns/forms).
@@ -17,9 +17,11 @@ var _react = require("react");
17
17
 
18
18
  var _core = require("@emotion/core");
19
19
 
20
+ var _colors = require("@atlaskit/theme/colors");
21
+
20
22
  var _constants = require("@atlaskit/theme/constants");
21
23
 
22
- var _elevation = require("@atlaskit/theme/elevation");
24
+ var _tokens = require("@atlaskit/tokens");
23
25
 
24
26
  var _templateObject;
25
27
 
@@ -35,27 +37,28 @@ var getBackgroundGradient = function getBackgroundGradient(_ref) {
35
37
  var lower = _ref.lower,
36
38
  upper = _ref.upper;
37
39
  return "\n background: linear-gradient(".concat(lower, ", ").concat(lower, ") 0 / var(--range-inline-width) 100%\n no-repeat ").concat(upper, ";\n [dir='rtl'] & {\n background-position: right;\n }\n ");
38
- }; // Thumb style
40
+ };
39
41
 
42
+ var elevationStyle = (0, _tokens.token)('shadow.overlay', "0 4px 8px -2px ".concat(_colors.N50A, ", 0 0 1px ").concat(_colors.N60A)); // Thumb style
40
43
 
41
44
  var sliderThumbStyle = function sliderThumbStyle(_ref2) {
42
45
  var thumb = _ref2.thumb;
43
- return "\n background: ".concat(thumb.default.background, ";\n border: ").concat(sliderThumbBorderThickness, "px solid transparent;\n border-radius: 50%;\n height: ").concat(sliderThumbSize, "px;\n width: ").concat(sliderThumbSize, "px;\n box-sizing: border-box;\n transition: border-color ").concat(transitionDuration, " ease-in-out;\n ").concat((0, _elevation.e200)(), ";\n ");
46
+ return "\n background: ".concat(thumb.default.background, ";\n border: ").concat(sliderThumbBorderThickness, "px solid transparent;\n border-radius: 50%;\n height: ").concat(sliderThumbSize, "px;\n width: ").concat(sliderThumbSize, "px;\n box-sizing: border-box;\n transition: border-color ").concat(transitionDuration, " ease-in-out;\n box-shadow: ").concat(elevationStyle, "\n ");
44
47
  }; // Track styles
45
48
 
46
49
 
47
50
  var sliderTrackStyle = "\n border-radius: ".concat(sliderBorderRadius, "px;\n border: 0;\n cursor: pointer;\n height: ").concat(sliderLineThickness, "px;\n width: 100%;\n transition: background-color ").concat(transitionDuration, " ease-in-out;\n"); // Range input styles
48
51
 
49
52
  var chromeRangeInputStyle = function chromeRangeInputStyle(tokens) {
50
- return "\n &::-webkit-slider-thumb {\n -webkit-appearance: none;\n margin-top: -".concat((sliderThumbSize - sliderLineThickness) / 2, "px;\n ").concat(sliderThumbStyle(tokens), ";\n }\n\n &:focus::-webkit-slider-thumb {\n border-color: ").concat(tokens.thumb.focus.border, ";\n }\n\n &:disabled::-webkit-slider-thumb {\n cursor: not-allowed;\n box-shadow: 0 0 1px ").concat(tokens.thumb.disabled.boxShadow, ";\n }\n\n &::-webkit-slider-runnable-track {\n ").concat(sliderTrackStyle, ";\n ").concat(getBackgroundGradient(tokens.track.default), ";\n }\n\n &:focus::-webkit-slider-runnable-track {\n ").concat(getBackgroundGradient(tokens.track.default), ";\n }\n\n &:active::-webkit-slider-runnable-track,\n &:hover::-webkit-slider-runnable-track {\n ").concat(getBackgroundGradient(tokens.track.hover), ";\n }\n\n &:disabled::-webkit-slider-runnable-track {\n ").concat(getBackgroundGradient(tokens.track.disabled), "\n cursor: not-allowed;\n }\n ");
53
+ return "\n &::-webkit-slider-thumb {\n -webkit-appearance: none;\n margin-top: -".concat((sliderThumbSize - sliderLineThickness) / 2, "px;\n ").concat(sliderThumbStyle(tokens), ";\n }\n\n &:focus::-webkit-slider-thumb {\n border-color: ").concat(tokens.thumb.focus.border, ";\n }\n\n &:disabled::-webkit-slider-thumb {\n cursor: not-allowed;\n box-shadow: ").concat(tokens.thumb.disabled.boxShadow, ";\n }\n\n &::-webkit-slider-runnable-track {\n ").concat(sliderTrackStyle, ";\n ").concat(getBackgroundGradient(tokens.track.default), ";\n }\n\n &:focus::-webkit-slider-runnable-track {\n ").concat(getBackgroundGradient(tokens.track.default), ";\n }\n\n &:active::-webkit-slider-runnable-track,\n &:hover::-webkit-slider-runnable-track {\n ").concat(getBackgroundGradient(tokens.track.hover), ";\n }\n\n &:disabled::-webkit-slider-runnable-track {\n ").concat(getBackgroundGradient(tokens.track.disabled), "\n cursor: not-allowed;\n }\n ");
51
54
  };
52
55
 
53
56
  var firefoxRangeInputStyle = function firefoxRangeInputStyle(tokens) {
54
- return "\n &::-moz-focus-outer {\n border: 0;\n }\n\n &::-moz-range-thumb {\n ".concat(sliderThumbStyle(tokens), ";\n }\n\n &:focus::-moz-range-thumb {\n border-color: ").concat(tokens.thumb.focus.border, ";\n }\n\n &:disabled::-moz-range-thumb {\n cursor: not-allowed;\n box-shadow: 0 0 1px ").concat(tokens.thumb.disabled.boxShadow, ";\n }\n\n &::-moz-range-progress {\n ").concat(sliderTrackStyle, ";\n background: ").concat(tokens.track.default.lower, ";\n }\n\n &::-moz-range-track {\n ").concat(sliderTrackStyle, ";\n background: ").concat(tokens.track.default.upper, ";\n }\n\n &:active::-moz-range-progress,\n &:hover::-moz-range-progress {\n background: ").concat(tokens.track.hover.lower, ";\n }\n\n &:active::-moz-range-track,\n &:hover::-moz-range-track {\n background: ").concat(tokens.track.hover.upper, ";\n }\n\n &:disabled::-moz-range-progress {\n background: ").concat(tokens.track.disabled.lower, ";\n cursor: not-allowed;\n }\n\n &:disabled::-moz-range-track {\n background: ").concat(tokens.track.disabled.upper, ";\n cursor: not-allowed;\n }\n");
57
+ return "\n &::-moz-focus-outer {\n border: 0;\n }\n\n &::-moz-range-thumb {\n ".concat(sliderThumbStyle(tokens), ";\n }\n\n &:focus::-moz-range-thumb {\n border-color: ").concat(tokens.thumb.focus.border, ";\n }\n\n &:disabled::-moz-range-thumb {\n cursor: not-allowed;\n box-shadow: ").concat(tokens.thumb.disabled.boxShadow, ";\n }\n\n &::-moz-range-progress {\n ").concat(sliderTrackStyle, ";\n background: ").concat(tokens.track.default.lower, ";\n }\n\n &::-moz-range-track {\n ").concat(sliderTrackStyle, ";\n background: ").concat(tokens.track.default.upper, ";\n }\n\n &:active::-moz-range-progress,\n &:hover::-moz-range-progress {\n background: ").concat(tokens.track.hover.lower, ";\n }\n\n &:active::-moz-range-track,\n &:hover::-moz-range-track {\n background: ").concat(tokens.track.hover.upper, ";\n }\n\n &:disabled::-moz-range-progress {\n background: ").concat(tokens.track.disabled.lower, ";\n cursor: not-allowed;\n }\n\n &:disabled::-moz-range-track {\n background: ").concat(tokens.track.disabled.upper, ";\n cursor: not-allowed;\n }\n");
55
58
  };
56
59
 
57
60
  var IERangeInputStyle = function IERangeInputStyle(tokens) {
58
- return "\n &::-ms-thumb {\n margin-top: 0;\n ".concat(sliderThumbStyle(tokens), ";\n }\n\n &:focus::-ms-thumb {\n border-color: ").concat(tokens.thumb.focus.border, ";\n }\n\n &:disabled::-ms-thumb {\n cursor: not-allowed;\n box-shadow: 0 0 1px ").concat(tokens.thumb.disabled.boxShadow, ";\n }\n\n &::-ms-track {\n background: transparent;\n border-color: transparent;\n color: transparent;\n cursor: pointer;\n height: ").concat(sliderLineThickness, "px;\n transition: background-color ").concat(transitionDuration, " ease-in-out;\n width: 100%;\n }\n\n &::-ms-fill-lower {\n background: ").concat(tokens.track.default.lower, ";\n border-radius: ").concat(sliderBorderRadius, "px;\n border: 0;\n }\n\n &::-ms-fill-upper {\n background: ").concat(tokens.track.default.upper, ";\n border-radius: ").concat(sliderBorderRadius, "px;\n border: 0;\n }\n\n &:active::-ms-fill-lower,\n &:hover::-ms-fill-lower {\n background: ").concat(tokens.track.hover.lower, ";\n }\n\n &:active::-ms-fill-upper,\n &:hover::-ms-fill-upper {\n background: ").concat(tokens.track.hover.upper, ";\n }\n\n &:disabled::-ms-fill-lower {\n background: ").concat(tokens.track.disabled.lower, ";\n cursor: not-allowed;\n }\n\n &:disabled::-ms-fill-upper {\n background: ").concat(tokens.track.disabled.upper, ";\n cursor: not-allowed;\n }\n");
61
+ return "\n &::-ms-thumb {\n margin-top: 0;\n ".concat(sliderThumbStyle(tokens), ";\n }\n\n &:focus::-ms-thumb {\n border-color: ").concat(tokens.thumb.focus.border, ";\n }\n\n &:disabled::-ms-thumb {\n cursor: not-allowed;\n box-shadow: ").concat(tokens.thumb.disabled.boxShadow, ";\n }\n\n &::-ms-track {\n background: transparent;\n border-color: transparent;\n color: transparent;\n cursor: pointer;\n height: ").concat(sliderLineThickness, "px;\n transition: background-color ").concat(transitionDuration, " ease-in-out;\n width: 100%;\n }\n\n &::-ms-fill-lower {\n background: ").concat(tokens.track.default.lower, ";\n border-radius: ").concat(sliderBorderRadius, "px;\n border: 0;\n }\n\n &::-ms-fill-upper {\n background: ").concat(tokens.track.default.upper, ";\n border-radius: ").concat(sliderBorderRadius, "px;\n border: 0;\n }\n\n &:active::-ms-fill-lower,\n &:hover::-ms-fill-lower {\n background: ").concat(tokens.track.hover.lower, ";\n }\n\n &:active::-ms-fill-upper,\n &:hover::-ms-fill-upper {\n background: ").concat(tokens.track.hover.upper, ";\n }\n\n &:disabled::-ms-fill-lower {\n background: ").concat(tokens.track.disabled.lower, ";\n cursor: not-allowed;\n }\n\n &:disabled::-ms-fill-upper {\n background: ").concat(tokens.track.disabled.upper, ";\n cursor: not-allowed;\n }\n");
59
62
  }; // Styles are split per browser as they are implemented differently
60
63
  // Cannot consolidate as Chrome & Firefox don't recognise styles if they are grouped
61
64
  // with CSS selectors they don't recognise, e.g. &::-ms-thumb
@@ -86,7 +89,8 @@ var Input = /*#__PURE__*/(0, _react.forwardRef)(function (props, ref) {
86
89
  style: {
87
90
  '--range-inline-width': "".concat(valuePercent, "%")
88
91
  },
89
- ref: ref,
92
+ ref: ref // eslint-disable-next-line @repo/internal/react/consistent-css-prop-usage
93
+ ,
90
94
  css: styles
91
95
  }));
92
96
  });
package/dist/cjs/theme.js CHANGED
@@ -11,39 +11,37 @@ var colors = _interopRequireWildcard(require("@atlaskit/theme/colors"));
11
11
 
12
12
  var _components = require("@atlaskit/theme/components");
13
13
 
14
+ var _tokens = require("@atlaskit/tokens");
15
+
14
16
  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); }
15
17
 
16
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; }
17
19
 
18
20
  var thumb = {
19
21
  default: {
20
- background: colors.N0,
21
- // This border color is not being used - awaiting focus state lift to props
22
- border: colors.N800
22
+ background: (0, _tokens.token)('color.background.card', colors.N0)
23
23
  },
24
24
  disabled: {
25
- boxShadow: colors.N60A
25
+ boxShadow: (0, _tokens.token)('shadow.card', "0 0 1px ".concat(colors.N60A))
26
26
  },
27
27
  focus: {
28
- // This border color is not being used - awaiting focus state lift to props
29
- background: colors.N0,
30
- border: colors.B200
28
+ background: (0, _tokens.token)('color.background.boldNeutral.resting', colors.N0),
29
+ border: (0, _tokens.token)('color.border.focus', colors.B200)
31
30
  }
32
31
  };
33
32
  exports.thumb = thumb;
34
33
  var track = {
35
- background: colors.N30A,
36
34
  default: {
37
- lower: colors.B400,
38
- upper: colors.N30
35
+ lower: (0, _tokens.token)('color.background.boldBrand.resting', colors.B400),
36
+ upper: (0, _tokens.token)('color.background.subtleNeutral.resting', colors.N30)
39
37
  },
40
38
  disabled: {
41
- lower: colors.N50,
42
- upper: colors.N30
39
+ lower: (0, _tokens.token)('color.text.disabled', colors.N50),
40
+ upper: (0, _tokens.token)('color.background.disabled', colors.N30)
43
41
  },
44
42
  hover: {
45
- lower: colors.B300,
46
- upper: colors.N40
43
+ lower: (0, _tokens.token)('color.background.boldBrand.hover', colors.B300),
44
+ upper: (0, _tokens.token)('color.background.subtleNeutral.hover', colors.N40)
47
45
  }
48
46
  };
49
47
  exports.track = track;
@@ -1,5 +1,5 @@
1
1
  {
2
2
  "name": "@atlaskit/range",
3
- "version": "5.0.8",
3
+ "version": "5.1.0",
4
4
  "sideEffects": false
5
5
  }
@@ -5,8 +5,9 @@ import _extends from "@babel/runtime/helpers/extends";
5
5
  /* eslint-disable no-mixed-operators */
6
6
  import { forwardRef, useMemo } from 'react';
7
7
  import { css, jsx } from '@emotion/core';
8
+ import { N50A, N60A } from '@atlaskit/theme/colors';
8
9
  import { fontFamily } from '@atlaskit/theme/constants';
9
- import { e200 } from '@atlaskit/theme/elevation';
10
+ import { token } from '@atlaskit/tokens';
10
11
  const sliderThumbSize = 16;
11
12
  const sliderThumbBorderThickness = 2;
12
13
  const sliderLineThickness = 4;
@@ -23,8 +24,9 @@ const getBackgroundGradient = ({
23
24
  [dir='rtl'] & {
24
25
  background-position: right;
25
26
  }
26
- `; // Thumb style
27
+ `;
27
28
 
29
+ const elevationStyle = token('shadow.overlay', `0 4px 8px -2px ${N50A}, 0 0 1px ${N60A}`); // Thumb style
28
30
 
29
31
  const sliderThumbStyle = ({
30
32
  thumb
@@ -37,7 +39,7 @@ const sliderThumbStyle = ({
37
39
  width: ${sliderThumbSize}px;
38
40
  box-sizing: border-box;
39
41
  transition: border-color ${transitionDuration} ease-in-out;
40
- ${e200()};
42
+ box-shadow: ${elevationStyle}
41
43
  `;
42
44
  }; // Track styles
43
45
 
@@ -65,7 +67,7 @@ const chromeRangeInputStyle = tokens => {
65
67
 
66
68
  &:disabled::-webkit-slider-thumb {
67
69
  cursor: not-allowed;
68
- box-shadow: 0 0 1px ${tokens.thumb.disabled.boxShadow};
70
+ box-shadow: ${tokens.thumb.disabled.boxShadow};
69
71
  }
70
72
 
71
73
  &::-webkit-slider-runnable-track {
@@ -105,7 +107,7 @@ const firefoxRangeInputStyle = tokens => {
105
107
 
106
108
  &:disabled::-moz-range-thumb {
107
109
  cursor: not-allowed;
108
- box-shadow: 0 0 1px ${tokens.thumb.disabled.boxShadow};
110
+ box-shadow: ${tokens.thumb.disabled.boxShadow};
109
111
  }
110
112
 
111
113
  &::-moz-range-progress {
@@ -153,7 +155,7 @@ const IERangeInputStyle = tokens => {
153
155
 
154
156
  &:disabled::-ms-thumb {
155
157
  cursor: not-allowed;
156
- box-shadow: 0 0 1px ${tokens.thumb.disabled.boxShadow};
158
+ box-shadow: ${tokens.thumb.disabled.boxShadow};
157
159
  }
158
160
 
159
161
  &::-ms-track {
@@ -248,7 +250,8 @@ export const Input = /*#__PURE__*/forwardRef((props, ref) => {
248
250
  style: {
249
251
  '--range-inline-width': `${valuePercent}%`
250
252
  },
251
- ref: ref,
253
+ ref: ref // eslint-disable-next-line @repo/internal/react/consistent-css-prop-usage
254
+ ,
252
255
  css: styles
253
256
  }));
254
257
  });
@@ -1,33 +1,30 @@
1
1
  import * as colors from '@atlaskit/theme/colors';
2
2
  import { createTheme } from '@atlaskit/theme/components';
3
+ import { token } from '@atlaskit/tokens';
3
4
  export const thumb = {
4
5
  default: {
5
- background: colors.N0,
6
- // This border color is not being used - awaiting focus state lift to props
7
- border: colors.N800
6
+ background: token('color.background.card', colors.N0)
8
7
  },
9
8
  disabled: {
10
- boxShadow: colors.N60A
9
+ boxShadow: token('shadow.card', `0 0 1px ${colors.N60A}`)
11
10
  },
12
11
  focus: {
13
- // This border color is not being used - awaiting focus state lift to props
14
- background: colors.N0,
15
- border: colors.B200
12
+ background: token('color.background.boldNeutral.resting', colors.N0),
13
+ border: token('color.border.focus', colors.B200)
16
14
  }
17
15
  };
18
16
  export const track = {
19
- background: colors.N30A,
20
17
  default: {
21
- lower: colors.B400,
22
- upper: colors.N30
18
+ lower: token('color.background.boldBrand.resting', colors.B400),
19
+ upper: token('color.background.subtleNeutral.resting', colors.N30)
23
20
  },
24
21
  disabled: {
25
- lower: colors.N50,
26
- upper: colors.N30
22
+ lower: token('color.text.disabled', colors.N50),
23
+ upper: token('color.background.disabled', colors.N30)
27
24
  },
28
25
  hover: {
29
- lower: colors.B300,
30
- upper: colors.N40
26
+ lower: token('color.background.boldBrand.hover', colors.B300),
27
+ upper: token('color.background.subtleNeutral.hover', colors.N40)
31
28
  }
32
29
  };
33
30
  export const Theme = createTheme(() => ({
@@ -1,5 +1,5 @@
1
1
  {
2
2
  "name": "@atlaskit/range",
3
- "version": "5.0.8",
3
+ "version": "5.1.0",
4
4
  "sideEffects": false
5
5
  }
@@ -9,8 +9,9 @@ var _templateObject;
9
9
  /* eslint-disable no-mixed-operators */
10
10
  import { forwardRef, useMemo } from 'react';
11
11
  import { css, jsx } from '@emotion/core';
12
+ import { N50A, N60A } from '@atlaskit/theme/colors';
12
13
  import { fontFamily } from '@atlaskit/theme/constants';
13
- import { e200 } from '@atlaskit/theme/elevation';
14
+ import { token } from '@atlaskit/tokens';
14
15
  var sliderThumbSize = 16;
15
16
  var sliderThumbBorderThickness = 2;
16
17
  var sliderLineThickness = 4;
@@ -22,27 +23,28 @@ var getBackgroundGradient = function getBackgroundGradient(_ref) {
22
23
  var lower = _ref.lower,
23
24
  upper = _ref.upper;
24
25
  return "\n background: linear-gradient(".concat(lower, ", ").concat(lower, ") 0 / var(--range-inline-width) 100%\n no-repeat ").concat(upper, ";\n [dir='rtl'] & {\n background-position: right;\n }\n ");
25
- }; // Thumb style
26
+ };
26
27
 
28
+ var elevationStyle = token('shadow.overlay', "0 4px 8px -2px ".concat(N50A, ", 0 0 1px ").concat(N60A)); // Thumb style
27
29
 
28
30
  var sliderThumbStyle = function sliderThumbStyle(_ref2) {
29
31
  var thumb = _ref2.thumb;
30
- return "\n background: ".concat(thumb.default.background, ";\n border: ").concat(sliderThumbBorderThickness, "px solid transparent;\n border-radius: 50%;\n height: ").concat(sliderThumbSize, "px;\n width: ").concat(sliderThumbSize, "px;\n box-sizing: border-box;\n transition: border-color ").concat(transitionDuration, " ease-in-out;\n ").concat(e200(), ";\n ");
32
+ return "\n background: ".concat(thumb.default.background, ";\n border: ").concat(sliderThumbBorderThickness, "px solid transparent;\n border-radius: 50%;\n height: ").concat(sliderThumbSize, "px;\n width: ").concat(sliderThumbSize, "px;\n box-sizing: border-box;\n transition: border-color ").concat(transitionDuration, " ease-in-out;\n box-shadow: ").concat(elevationStyle, "\n ");
31
33
  }; // Track styles
32
34
 
33
35
 
34
36
  var sliderTrackStyle = "\n border-radius: ".concat(sliderBorderRadius, "px;\n border: 0;\n cursor: pointer;\n height: ").concat(sliderLineThickness, "px;\n width: 100%;\n transition: background-color ").concat(transitionDuration, " ease-in-out;\n"); // Range input styles
35
37
 
36
38
  var chromeRangeInputStyle = function chromeRangeInputStyle(tokens) {
37
- return "\n &::-webkit-slider-thumb {\n -webkit-appearance: none;\n margin-top: -".concat((sliderThumbSize - sliderLineThickness) / 2, "px;\n ").concat(sliderThumbStyle(tokens), ";\n }\n\n &:focus::-webkit-slider-thumb {\n border-color: ").concat(tokens.thumb.focus.border, ";\n }\n\n &:disabled::-webkit-slider-thumb {\n cursor: not-allowed;\n box-shadow: 0 0 1px ").concat(tokens.thumb.disabled.boxShadow, ";\n }\n\n &::-webkit-slider-runnable-track {\n ").concat(sliderTrackStyle, ";\n ").concat(getBackgroundGradient(tokens.track.default), ";\n }\n\n &:focus::-webkit-slider-runnable-track {\n ").concat(getBackgroundGradient(tokens.track.default), ";\n }\n\n &:active::-webkit-slider-runnable-track,\n &:hover::-webkit-slider-runnable-track {\n ").concat(getBackgroundGradient(tokens.track.hover), ";\n }\n\n &:disabled::-webkit-slider-runnable-track {\n ").concat(getBackgroundGradient(tokens.track.disabled), "\n cursor: not-allowed;\n }\n ");
39
+ return "\n &::-webkit-slider-thumb {\n -webkit-appearance: none;\n margin-top: -".concat((sliderThumbSize - sliderLineThickness) / 2, "px;\n ").concat(sliderThumbStyle(tokens), ";\n }\n\n &:focus::-webkit-slider-thumb {\n border-color: ").concat(tokens.thumb.focus.border, ";\n }\n\n &:disabled::-webkit-slider-thumb {\n cursor: not-allowed;\n box-shadow: ").concat(tokens.thumb.disabled.boxShadow, ";\n }\n\n &::-webkit-slider-runnable-track {\n ").concat(sliderTrackStyle, ";\n ").concat(getBackgroundGradient(tokens.track.default), ";\n }\n\n &:focus::-webkit-slider-runnable-track {\n ").concat(getBackgroundGradient(tokens.track.default), ";\n }\n\n &:active::-webkit-slider-runnable-track,\n &:hover::-webkit-slider-runnable-track {\n ").concat(getBackgroundGradient(tokens.track.hover), ";\n }\n\n &:disabled::-webkit-slider-runnable-track {\n ").concat(getBackgroundGradient(tokens.track.disabled), "\n cursor: not-allowed;\n }\n ");
38
40
  };
39
41
 
40
42
  var firefoxRangeInputStyle = function firefoxRangeInputStyle(tokens) {
41
- return "\n &::-moz-focus-outer {\n border: 0;\n }\n\n &::-moz-range-thumb {\n ".concat(sliderThumbStyle(tokens), ";\n }\n\n &:focus::-moz-range-thumb {\n border-color: ").concat(tokens.thumb.focus.border, ";\n }\n\n &:disabled::-moz-range-thumb {\n cursor: not-allowed;\n box-shadow: 0 0 1px ").concat(tokens.thumb.disabled.boxShadow, ";\n }\n\n &::-moz-range-progress {\n ").concat(sliderTrackStyle, ";\n background: ").concat(tokens.track.default.lower, ";\n }\n\n &::-moz-range-track {\n ").concat(sliderTrackStyle, ";\n background: ").concat(tokens.track.default.upper, ";\n }\n\n &:active::-moz-range-progress,\n &:hover::-moz-range-progress {\n background: ").concat(tokens.track.hover.lower, ";\n }\n\n &:active::-moz-range-track,\n &:hover::-moz-range-track {\n background: ").concat(tokens.track.hover.upper, ";\n }\n\n &:disabled::-moz-range-progress {\n background: ").concat(tokens.track.disabled.lower, ";\n cursor: not-allowed;\n }\n\n &:disabled::-moz-range-track {\n background: ").concat(tokens.track.disabled.upper, ";\n cursor: not-allowed;\n }\n");
43
+ return "\n &::-moz-focus-outer {\n border: 0;\n }\n\n &::-moz-range-thumb {\n ".concat(sliderThumbStyle(tokens), ";\n }\n\n &:focus::-moz-range-thumb {\n border-color: ").concat(tokens.thumb.focus.border, ";\n }\n\n &:disabled::-moz-range-thumb {\n cursor: not-allowed;\n box-shadow: ").concat(tokens.thumb.disabled.boxShadow, ";\n }\n\n &::-moz-range-progress {\n ").concat(sliderTrackStyle, ";\n background: ").concat(tokens.track.default.lower, ";\n }\n\n &::-moz-range-track {\n ").concat(sliderTrackStyle, ";\n background: ").concat(tokens.track.default.upper, ";\n }\n\n &:active::-moz-range-progress,\n &:hover::-moz-range-progress {\n background: ").concat(tokens.track.hover.lower, ";\n }\n\n &:active::-moz-range-track,\n &:hover::-moz-range-track {\n background: ").concat(tokens.track.hover.upper, ";\n }\n\n &:disabled::-moz-range-progress {\n background: ").concat(tokens.track.disabled.lower, ";\n cursor: not-allowed;\n }\n\n &:disabled::-moz-range-track {\n background: ").concat(tokens.track.disabled.upper, ";\n cursor: not-allowed;\n }\n");
42
44
  };
43
45
 
44
46
  var IERangeInputStyle = function IERangeInputStyle(tokens) {
45
- return "\n &::-ms-thumb {\n margin-top: 0;\n ".concat(sliderThumbStyle(tokens), ";\n }\n\n &:focus::-ms-thumb {\n border-color: ").concat(tokens.thumb.focus.border, ";\n }\n\n &:disabled::-ms-thumb {\n cursor: not-allowed;\n box-shadow: 0 0 1px ").concat(tokens.thumb.disabled.boxShadow, ";\n }\n\n &::-ms-track {\n background: transparent;\n border-color: transparent;\n color: transparent;\n cursor: pointer;\n height: ").concat(sliderLineThickness, "px;\n transition: background-color ").concat(transitionDuration, " ease-in-out;\n width: 100%;\n }\n\n &::-ms-fill-lower {\n background: ").concat(tokens.track.default.lower, ";\n border-radius: ").concat(sliderBorderRadius, "px;\n border: 0;\n }\n\n &::-ms-fill-upper {\n background: ").concat(tokens.track.default.upper, ";\n border-radius: ").concat(sliderBorderRadius, "px;\n border: 0;\n }\n\n &:active::-ms-fill-lower,\n &:hover::-ms-fill-lower {\n background: ").concat(tokens.track.hover.lower, ";\n }\n\n &:active::-ms-fill-upper,\n &:hover::-ms-fill-upper {\n background: ").concat(tokens.track.hover.upper, ";\n }\n\n &:disabled::-ms-fill-lower {\n background: ").concat(tokens.track.disabled.lower, ";\n cursor: not-allowed;\n }\n\n &:disabled::-ms-fill-upper {\n background: ").concat(tokens.track.disabled.upper, ";\n cursor: not-allowed;\n }\n");
47
+ return "\n &::-ms-thumb {\n margin-top: 0;\n ".concat(sliderThumbStyle(tokens), ";\n }\n\n &:focus::-ms-thumb {\n border-color: ").concat(tokens.thumb.focus.border, ";\n }\n\n &:disabled::-ms-thumb {\n cursor: not-allowed;\n box-shadow: ").concat(tokens.thumb.disabled.boxShadow, ";\n }\n\n &::-ms-track {\n background: transparent;\n border-color: transparent;\n color: transparent;\n cursor: pointer;\n height: ").concat(sliderLineThickness, "px;\n transition: background-color ").concat(transitionDuration, " ease-in-out;\n width: 100%;\n }\n\n &::-ms-fill-lower {\n background: ").concat(tokens.track.default.lower, ";\n border-radius: ").concat(sliderBorderRadius, "px;\n border: 0;\n }\n\n &::-ms-fill-upper {\n background: ").concat(tokens.track.default.upper, ";\n border-radius: ").concat(sliderBorderRadius, "px;\n border: 0;\n }\n\n &:active::-ms-fill-lower,\n &:hover::-ms-fill-lower {\n background: ").concat(tokens.track.hover.lower, ";\n }\n\n &:active::-ms-fill-upper,\n &:hover::-ms-fill-upper {\n background: ").concat(tokens.track.hover.upper, ";\n }\n\n &:disabled::-ms-fill-lower {\n background: ").concat(tokens.track.disabled.lower, ";\n cursor: not-allowed;\n }\n\n &:disabled::-ms-fill-upper {\n background: ").concat(tokens.track.disabled.upper, ";\n cursor: not-allowed;\n }\n");
46
48
  }; // Styles are split per browser as they are implemented differently
47
49
  // Cannot consolidate as Chrome & Firefox don't recognise styles if they are grouped
48
50
  // with CSS selectors they don't recognise, e.g. &::-ms-thumb
@@ -72,7 +74,8 @@ export var Input = /*#__PURE__*/forwardRef(function (props, ref) {
72
74
  style: {
73
75
  '--range-inline-width': "".concat(valuePercent, "%")
74
76
  },
75
- ref: ref,
77
+ ref: ref // eslint-disable-next-line @repo/internal/react/consistent-css-prop-usage
78
+ ,
76
79
  css: styles
77
80
  }));
78
81
  });
package/dist/esm/theme.js CHANGED
@@ -1,33 +1,30 @@
1
1
  import * as colors from '@atlaskit/theme/colors';
2
2
  import { createTheme } from '@atlaskit/theme/components';
3
+ import { token } from '@atlaskit/tokens';
3
4
  export var thumb = {
4
5
  default: {
5
- background: colors.N0,
6
- // This border color is not being used - awaiting focus state lift to props
7
- border: colors.N800
6
+ background: token('color.background.card', colors.N0)
8
7
  },
9
8
  disabled: {
10
- boxShadow: colors.N60A
9
+ boxShadow: token('shadow.card', "0 0 1px ".concat(colors.N60A))
11
10
  },
12
11
  focus: {
13
- // This border color is not being used - awaiting focus state lift to props
14
- background: colors.N0,
15
- border: colors.B200
12
+ background: token('color.background.boldNeutral.resting', colors.N0),
13
+ border: token('color.border.focus', colors.B200)
16
14
  }
17
15
  };
18
16
  export var track = {
19
- background: colors.N30A,
20
17
  default: {
21
- lower: colors.B400,
22
- upper: colors.N30
18
+ lower: token('color.background.boldBrand.resting', colors.B400),
19
+ upper: token('color.background.subtleNeutral.resting', colors.N30)
23
20
  },
24
21
  disabled: {
25
- lower: colors.N50,
26
- upper: colors.N30
22
+ lower: token('color.text.disabled', colors.N50),
23
+ upper: token('color.background.disabled', colors.N30)
27
24
  },
28
25
  hover: {
29
- lower: colors.B300,
30
- upper: colors.N40
26
+ lower: token('color.background.boldBrand.hover', colors.B300),
27
+ upper: token('color.background.subtleNeutral.hover', colors.N40)
31
28
  }
32
29
  };
33
30
  export var Theme = createTheme(function () {
@@ -1,5 +1,5 @@
1
1
  {
2
2
  "name": "@atlaskit/range",
3
- "version": "5.0.8",
3
+ "version": "5.1.0",
4
4
  "sideEffects": false
5
5
  }
@@ -1,26 +1,26 @@
1
1
  import React from 'react';
2
2
  import { ThemeProp } from '@atlaskit/theme/components';
3
3
  export declare type OwnProps = {
4
- /** if the field range needs to be disabled */
4
+ /** Sets the default value if range is not set. */
5
+ defaultValue?: number;
6
+ /** Sets whether the field range is disabled. */
5
7
  isDisabled?: boolean;
6
- /** Maximum value of the range */
8
+ /** Sets the maximum value of the range. */
7
9
  max?: number;
8
- /** Minimum value of the range */
10
+ /** Sets the minimum value of the range.*/
9
11
  min?: number;
10
- /** Step value for the range */
11
- step?: number;
12
- /** Hook to be invoked on change of the range */
12
+ /** Hook to be invoked on change of the range. */
13
13
  onChange?: (value: number) => void;
14
- /** Value of the range */
15
- value?: number;
16
- /** The default value */
17
- defaultValue?: number;
14
+ /** Sets the step value for the range. */
15
+ step?: number;
16
+ /** A `testId` prop is provided for specific elements. This is a unique string that appears as a data attribute `data-testid` in the rendered code and serves as a hook for automated tests. */
17
+ testId?: string;
18
18
  /** The theme object to be passed down. See
19
- [@atlaskit/theme](https://atlaskit.atlassian.com/packages/design-system/theme) for more details on themeing.
19
+ [@atlaskit/theme](https://atlaskit.atlassian.com/packages/design-system/theme) for more details on theming.
20
20
  */
21
21
  theme?: ThemeProp<any, any>;
22
- /** A `testId` prop is provided for specified elements, which is a unique string that appears as a data attribute `data-testid` in the rendered code, serving as a hook for automated tests */
23
- testId?: string;
22
+ /** Sets the value of the range. */
23
+ value?: number;
24
24
  };
25
25
  declare type Combine<First, Second> = Omit<First, keyof Second> & Second;
26
26
  export declare type RangeProps = Combine<Omit<React.InputHTMLAttributes<HTMLInputElement>, 'disabled' | 'required' | 'checked'>, OwnProps>;
@@ -1,7 +1,7 @@
1
1
  /// <reference types="react" />
2
2
  export interface ThemeTokensThumb {
3
3
  background: string;
4
- border: string;
4
+ border?: string;
5
5
  }
6
6
  export interface ThemeTokensTrack {
7
7
  lower: string;
@@ -16,7 +16,6 @@ export interface ThemeTokens {
16
16
  focus: ThemeTokensThumb;
17
17
  };
18
18
  track: {
19
- background: string;
20
19
  default: ThemeTokensTrack;
21
20
  disabled: ThemeTokensTrack;
22
21
  hover: ThemeTokensTrack;
@@ -24,30 +23,28 @@ export interface ThemeTokens {
24
23
  }
25
24
  export declare const thumb: {
26
25
  default: {
27
- background: string;
28
- border: string;
26
+ background: "var(--ds-background-card)";
29
27
  };
30
28
  disabled: {
31
- boxShadow: string;
29
+ boxShadow: "var(--ds-card)";
32
30
  };
33
31
  focus: {
34
- background: string;
35
- border: string;
32
+ background: "var(--ds-background-boldNeutral-resting)";
33
+ border: "var(--ds-border-focus)";
36
34
  };
37
35
  };
38
36
  export declare const track: {
39
- background: string;
40
37
  default: {
41
- lower: string;
42
- upper: string;
38
+ lower: "var(--ds-background-boldBrand-resting)";
39
+ upper: "var(--ds-background-subtleNeutral-resting)";
43
40
  };
44
41
  disabled: {
45
- lower: string;
46
- upper: string;
42
+ lower: "var(--ds-text-disabled)";
43
+ upper: "var(--ds-background-disabled)";
47
44
  };
48
45
  hover: {
49
- lower: string;
50
- upper: string;
46
+ lower: "var(--ds-background-boldBrand-hover)";
47
+ upper: "var(--ds-background-subtleNeutral-hover)";
51
48
  };
52
49
  };
53
50
  export declare const Theme: {
package/docs/0-intro.tsx CHANGED
@@ -1,66 +1,13 @@
1
1
  import React from 'react';
2
2
 
3
- import { code, Example, md, Props } from '@atlaskit/docs';
3
+ import { md } from '@atlaskit/docs';
4
+ import SectionMessage from '@atlaskit/section-message';
4
5
 
5
6
  export default md`
6
- Component which renders a native input[range] element, with atlassian stylings.
7
- It can be used with just an \`onChange\` handler to respond to value changes, or
8
- it can be used as a controlled component when it is needed.
9
-
10
- ## Usage
11
-
12
- ${code`import FieldRange from '@atlaskit/range';`}
13
-
14
- ${(
15
- <Example
16
- packageName="@atlaskit/range"
17
- Component={require('../examples/00-basic-example-uncontrolled').default}
18
- title="Basic"
19
- source={require('!!raw-loader!../examples/00-basic-example-uncontrolled')}
20
- />
21
- )}
22
-
23
- You can also take full control of the range yourself if you need to manage its state, rather than simply respond to changes.
24
-
25
- ${(
26
- <Example
27
- packageName="@atlaskit/range"
28
- Component={require('../examples/01-basic-example-controlled').default}
29
- title="Controlled Example"
30
- source={require('!!raw-loader!../examples/01-basic-example-controlled')}
31
- />
32
- )}
33
-
34
- ## Rate limiting
35
-
36
- It is recommended that if you have an expensive onChange function
37
- that you rate limit as it will be called on each step when you move
38
- the range. You can do this in whatever way is best for your use case but
39
- below is an example with:
40
-
41
- * debouncing - function is called once after it isn't called for a given period
42
- * throttling - function is only called once in a given period
43
-
44
- ${(
45
- <Example
46
- packageName="@atlaskit/range"
47
- Component={require('../examples/08-rate-limited').default}
48
- title="Rate limited example"
49
- source={require('!!raw-loader!../examples/08-rate-limited')}
50
- />
51
- )}
52
-
53
- ## Props
54
-
55
- In addition to the props below, we spread all other props provided on to the input
56
- component. Between this and the innerRef, you should be empowered to take full control
57
- of any aspect you need to do.
58
-
59
- ${(
60
- <Props
61
- props={require('!!extract-react-types-loader!../extract-react-types/range-props')}
62
- heading=""
63
- />
64
- )}
65
-
7
+ ${(
8
+ <SectionMessage appearance="information">
9
+ This component is now documented on{' '}
10
+ <a href="https://atlassian.design/components">atlassian.design</a>
11
+ </SectionMessage>
12
+ )}
66
13
  `;
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@atlaskit/range",
3
- "version": "5.0.8",
4
- "description": "A styled version of the native input[range] element.",
3
+ "version": "5.1.0",
4
+ "description": "A range lets users choose an approximate value on a slider.",
5
5
  "publishConfig": {
6
6
  "registry": "https://registry.npmjs.org/"
7
7
  },
@@ -14,6 +14,7 @@
14
14
  "types": "dist/types/index.d.ts",
15
15
  "sideEffects": false,
16
16
  "atlaskit:src": "src/index.ts",
17
+ "homepage": "https://atlassian.design/components/range/",
17
18
  "atlassian": {
18
19
  "team": "Design System Team",
19
20
  "deprecatedAutoEntryPoints": true,
@@ -24,7 +25,8 @@
24
25
  }
25
26
  },
26
27
  "dependencies": {
27
- "@atlaskit/theme": "^11.0.0",
28
+ "@atlaskit/theme": "^12.0.0",
29
+ "@atlaskit/tokens": "^0.3.0",
28
30
  "@babel/runtime": "^7.0.0",
29
31
  "@emotion/core": "^10.0.9"
30
32
  },
@@ -33,16 +35,19 @@
33
35
  },
34
36
  "devDependencies": {
35
37
  "@atlaskit/build-utils": "*",
38
+ "@atlaskit/button": "^16.0.0",
36
39
  "@atlaskit/checkbox": "^12.0.0",
37
40
  "@atlaskit/docs": "*",
41
+ "@atlaskit/form": "^8.4.0",
42
+ "@atlaskit/section-message": "^6.0.0",
38
43
  "@atlaskit/ssr": "*",
39
- "@atlaskit/tooltip": "^17.0.0",
44
+ "@atlaskit/tooltip": "^17.5.0",
40
45
  "@atlaskit/visual-regression": "*",
41
46
  "@atlassian/atlassian-frontend-prettier-config-1.0.1": "npm:@atlassian/atlassian-frontend-prettier-config@1.0.1",
42
47
  "@emotion/styled": "^10.0.7",
43
48
  "@testing-library/react": "^8.0.1",
44
49
  "@types/jscodeshift": "^0.11.0",
45
- "jscodeshift": "^0.11.0",
50
+ "jscodeshift": "^0.13.0",
46
51
  "lodash": "^4.17.15",
47
52
  "react-dom": "^16.8.0",
48
53
  "storybook-addon-performance": "^0.16.0",
@@ -58,17 +63,12 @@
58
63
  "import-structure": "atlassian-conventions"
59
64
  },
60
65
  "@repo/internal": {
61
- "ui-components": [
62
- "lite-mode"
63
- ],
64
- "analytics": [
65
- "analytics-next"
66
- ],
67
- "theming": [
68
- "new-theming-api"
69
- ],
70
- "deprecation": [
71
- "no-deprecated-imports"
66
+ "ui-components": "lite-mode",
67
+ "analytics": "analytics-next",
68
+ "theming": "tokens",
69
+ "deprecation": "no-deprecated-imports",
70
+ "styling": [
71
+ "emotion"
72
72
  ]
73
73
  }
74
74
  },