@atlaskit/progress-tracker 8.0.3 → 8.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (65) hide show
  1. package/CHANGELOG.md +25 -0
  2. package/dist/cjs/constants.js +4 -2
  3. package/dist/cjs/index.js +2 -2
  4. package/dist/cjs/internal/bar.js +48 -0
  5. package/dist/cjs/internal/constants.js +38 -0
  6. package/dist/cjs/internal/link.js +35 -0
  7. package/dist/cjs/internal/marker.js +53 -0
  8. package/dist/cjs/internal/stage.js +174 -0
  9. package/dist/cjs/internal/types.js +5 -0
  10. package/dist/cjs/internal/utils.js +65 -0
  11. package/dist/cjs/{ProgressTracker/index.js → progress-tracker.js} +46 -44
  12. package/dist/cjs/version.json +1 -1
  13. package/dist/es2019/constants.js +6 -4
  14. package/dist/es2019/index.js +1 -1
  15. package/dist/es2019/internal/bar.js +35 -0
  16. package/dist/es2019/internal/constants.js +16 -0
  17. package/dist/es2019/internal/link.js +24 -0
  18. package/dist/es2019/internal/marker.js +42 -0
  19. package/dist/es2019/internal/stage.js +130 -0
  20. package/dist/es2019/internal/types.js +1 -0
  21. package/dist/es2019/internal/utils.js +48 -0
  22. package/dist/es2019/{ProgressTracker/index.js → progress-tracker.js} +47 -32
  23. package/dist/es2019/version.json +1 -1
  24. package/dist/esm/constants.js +6 -4
  25. package/dist/esm/index.js +1 -1
  26. package/dist/esm/internal/bar.js +36 -0
  27. package/dist/esm/internal/constants.js +16 -0
  28. package/dist/esm/internal/link.js +25 -0
  29. package/dist/esm/internal/marker.js +43 -0
  30. package/dist/esm/{ProgressTrackerStage/index.js → internal/stage.js} +72 -91
  31. package/dist/esm/internal/types.js +1 -0
  32. package/dist/esm/internal/utils.js +48 -0
  33. package/dist/esm/{ProgressTracker/index.js → progress-tracker.js} +48 -38
  34. package/dist/esm/version.json +1 -1
  35. package/dist/types/constants.d.ts +9 -2
  36. package/dist/types/index.d.ts +2 -2
  37. package/dist/types/internal/bar.d.ts +13 -0
  38. package/dist/types/internal/constants.d.ts +14 -0
  39. package/dist/types/internal/link.d.ts +10 -0
  40. package/dist/types/internal/marker.d.ts +11 -0
  41. package/dist/types/internal/stage.d.ts +17 -0
  42. package/dist/types/internal/types.d.ts +27 -0
  43. package/dist/types/internal/utils.d.ts +4 -0
  44. package/dist/types/{ProgressTracker/index.d.ts → progress-tracker.d.ts} +22 -13
  45. package/dist/types/types.d.ts +11 -4
  46. package/package.json +23 -11
  47. package/dist/cjs/ProgressTracker/styled.js +0 -20
  48. package/dist/cjs/ProgressTrackerLink/index.js +0 -60
  49. package/dist/cjs/ProgressTrackerLink/styled.js +0 -22
  50. package/dist/cjs/ProgressTrackerStage/index.js +0 -199
  51. package/dist/cjs/ProgressTrackerStage/styled.js +0 -133
  52. package/dist/es2019/ProgressTracker/styled.js +0 -13
  53. package/dist/es2019/ProgressTrackerLink/index.js +0 -16
  54. package/dist/es2019/ProgressTrackerLink/styled.js +0 -7
  55. package/dist/es2019/ProgressTrackerStage/index.js +0 -143
  56. package/dist/es2019/ProgressTrackerStage/styled.js +0 -140
  57. package/dist/esm/ProgressTracker/styled.js +0 -7
  58. package/dist/esm/ProgressTrackerLink/index.js +0 -42
  59. package/dist/esm/ProgressTrackerLink/styled.js +0 -8
  60. package/dist/esm/ProgressTrackerStage/styled.js +0 -107
  61. package/dist/types/ProgressTracker/styled.d.ts +0 -3
  62. package/dist/types/ProgressTrackerLink/index.d.ts +0 -10
  63. package/dist/types/ProgressTrackerLink/styled.d.ts +0 -3
  64. package/dist/types/ProgressTrackerStage/index.d.ts +0 -27
  65. package/dist/types/ProgressTrackerStage/styled.d.ts +0 -28
@@ -1,73 +1,53 @@
1
- import _defineProperty from "@babel/runtime/helpers/defineProperty";
2
1
  import _classCallCheck from "@babel/runtime/helpers/classCallCheck";
3
2
  import _createClass from "@babel/runtime/helpers/createClass";
3
+ import _assertThisInitialized from "@babel/runtime/helpers/assertThisInitialized";
4
4
  import _inherits from "@babel/runtime/helpers/inherits";
5
5
  import _possibleConstructorReturn from "@babel/runtime/helpers/possibleConstructorReturn";
6
6
  import _getPrototypeOf from "@babel/runtime/helpers/getPrototypeOf";
7
+ import _defineProperty from "@babel/runtime/helpers/defineProperty";
7
8
 
8
- function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) { symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); } keys.push.apply(keys, symbols); } return keys; }
9
+ 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
 
10
- function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
11
+ 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
 
12
13
  function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }
13
14
 
14
15
  function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }
15
16
 
16
- import React, { PureComponent } from 'react';
17
- import { CSSTransition } from 'react-transition-group';
18
- import * as colors from '@atlaskit/theme/colors';
19
- import { ProgressTrackerListItem, ProgressTrackerStageBar, ProgressTrackerStageContainer, ProgressTrackerStageMarker, ProgressTrackerStageTitle } from './styled';
20
- var semibold = '600';
21
- var regular = '400';
22
-
23
- var getMarkerColor = function getMarkerColor(status) {
24
- switch (status) {
25
- case 'unvisited':
26
- return colors.N70;
27
-
28
- case 'current':
29
- case 'visited':
30
- case 'disabled':
31
- return colors.B300;
32
-
33
- default:
34
- return;
35
- }
36
- };
37
-
38
- var getTextColor = function getTextColor(status) {
39
- switch (status) {
40
- case 'unvisited':
41
- return colors.N300;
17
+ /* eslint-disable @repo/internal/styles/no-nested-styles */
42
18
 
43
- case 'current':
44
- return colors.B300;
45
-
46
- case 'visited':
47
- return colors.N800;
48
-
49
- case 'disabled':
50
- return colors.N70;
51
-
52
- default:
53
- return;
54
- }
55
- };
56
-
57
- var getFontWeight = function getFontWeight(status) {
58
- switch (status) {
59
- case 'unvisited':
60
- return regular;
61
-
62
- case 'current':
63
- case 'visited':
64
- case 'disabled':
65
- return semibold;
66
-
67
- default:
68
- return;
19
+ /** @jsx jsx */
20
+ import { PureComponent } from 'react';
21
+ import { css, jsx } from '@emotion/core';
22
+ import { CSSTransition } from 'react-transition-group';
23
+ import { fontSize } from '@atlaskit/theme/constants';
24
+ import ProgressBar from './bar';
25
+ import { LABEL_TOP_SPACING, varBackgroundColor, varMarkerColor, varTransitionDelay, varTransitionEasing, varTransitionSpeed } from './constants';
26
+ import ProgressMarker from './marker';
27
+ import { getFontWeight, getMarkerColor, getTextColor } from './utils';
28
+ var containerStyles = css({
29
+ width: '100%',
30
+ position: 'relative'
31
+ });
32
+ var listItemStyles = css({
33
+ margin: 0,
34
+ overflowWrap: 'break-word'
35
+ });
36
+ var titleStyles = css({
37
+ marginTop: LABEL_TOP_SPACING,
38
+ marginRight: 'auto',
39
+ marginLeft: 'auto',
40
+ fontSize: fontSize(),
41
+ lineHeight: '16px',
42
+ textAlign: 'center',
43
+ '&.fade-appear': {
44
+ opacity: 0.01
45
+ },
46
+ '&.fade-appear.fade-appear-active': {
47
+ opacity: 1,
48
+ transition: "opacity var(".concat(varTransitionSpeed, ") cubic-bezier(0.2, 0, 0, 1)")
69
49
  }
70
- };
50
+ });
71
51
 
72
52
  var ProgressTrackerStage = /*#__PURE__*/function (_PureComponent) {
73
53
  _inherits(ProgressTrackerStage, _PureComponent);
@@ -80,6 +60,15 @@ var ProgressTrackerStage = /*#__PURE__*/function (_PureComponent) {
80
60
  _classCallCheck(this, ProgressTrackerStage);
81
61
 
82
62
  _this = _super.call(this, props);
63
+
64
+ _defineProperty(_assertThisInitialized(_this), "onEntered", function () {
65
+ _this.setState({
66
+ transitioning: false,
67
+ oldMarkerColor: getMarkerColor(_this.props.item.status),
68
+ oldPercentageComplete: _this.props.item.percentageComplete
69
+ });
70
+ });
71
+
83
72
  _this.state = {
84
73
  transitioning: false,
85
74
  oldMarkerColor: getMarkerColor(_this.props.item.status),
@@ -110,61 +99,53 @@ var ProgressTrackerStage = /*#__PURE__*/function (_PureComponent) {
110
99
  }, {
111
100
  key: "render",
112
101
  value: function render() {
113
- var _this2 = this;
102
+ var _ref;
114
103
 
115
104
  var _this$props = this.props,
116
105
  item = _this$props.item,
117
106
  render = _this$props.render,
118
107
  transitionDelay = _this$props.transitionDelay,
119
108
  transitionSpeed = _this$props.transitionSpeed,
120
- transitionEasing = _this$props.transitionEasing;
121
-
122
- var onEntered = function onEntered() {
123
- _this2.setState({
124
- transitioning: false,
125
- oldMarkerColor: getMarkerColor(item.status),
126
- oldPercentageComplete: item.percentageComplete
127
- });
128
- };
129
-
109
+ transitionEasing = _this$props.transitionEasing,
110
+ testId = _this$props.testId;
130
111
  var ariaCurrent = item.status === 'current' ? 'step' : 'false';
131
- return /*#__PURE__*/React.createElement(ProgressTrackerListItem, {
112
+ return jsx("li", {
113
+ "data-testid": testId,
114
+ style: (_ref = {}, _defineProperty(_ref, varTransitionSpeed, "".concat(transitionSpeed, "ms")), _defineProperty(_ref, varTransitionDelay, "".concat(transitionDelay, "ms")), _defineProperty(_ref, varTransitionEasing, transitionEasing), _defineProperty(_ref, varMarkerColor, this.state.oldMarkerColor), _defineProperty(_ref, varBackgroundColor, getMarkerColor(item.status)), _ref),
115
+ css: listItemStyles,
132
116
  "aria-current": ariaCurrent
133
- }, /*#__PURE__*/React.createElement(ProgressTrackerStageContainer, null, /*#__PURE__*/React.createElement(CSSTransition, {
117
+ }, jsx("div", {
118
+ css: containerStyles
119
+ }, jsx(CSSTransition, {
134
120
  appear: true,
135
121
  in: this.state.transitioning,
136
- onEntered: onEntered,
122
+ onEntered: this.onEntered,
137
123
  timeout: transitionDelay + transitionSpeed,
138
124
  classNames: "fade"
139
- }, /*#__PURE__*/React.createElement(ProgressTrackerStageMarker, {
140
- oldMarkerColor: this.state.oldMarkerColor,
141
- color: getMarkerColor(item.status),
142
- transitionSpeed: transitionSpeed,
143
- transitionDelay: transitionDelay,
144
- transitionEasing: transitionEasing
145
- })), /*#__PURE__*/React.createElement(CSSTransition, {
125
+ }, jsx(ProgressMarker, {
126
+ testId: testId && "".concat(testId, "-marker")
127
+ })), jsx(CSSTransition, {
146
128
  appear: true,
147
129
  in: this.state.transitioning,
148
- onEntered: onEntered,
130
+ onEntered: this.onEntered,
149
131
  timeout: transitionDelay + transitionSpeed,
150
132
  classNames: "fade"
151
- }, /*#__PURE__*/React.createElement(ProgressTrackerStageBar, {
152
- oldPercentageComplete: this.state.oldPercentageComplete,
153
- percentageComplete: item.percentageComplete,
154
- transitionSpeed: transitionSpeed,
155
- transitionDelay: transitionDelay,
156
- transitionEasing: transitionEasing
157
- })), /*#__PURE__*/React.createElement(CSSTransition, {
133
+ }, jsx(ProgressBar, {
134
+ testId: testId && "".concat(testId, "-bar"),
135
+ percentageComplete: item.percentageComplete
136
+ })), jsx(CSSTransition, {
158
137
  appear: true,
159
138
  in: this.state.transitioning,
160
- onEntered: onEntered,
139
+ onEntered: this.onEntered,
161
140
  timeout: transitionDelay + transitionSpeed,
162
141
  classNames: "fade"
163
- }, /*#__PURE__*/React.createElement(ProgressTrackerStageTitle, {
164
- color: getTextColor(item.status),
165
- fontweight: getFontWeight(item.status),
166
- transitionSpeed: transitionSpeed,
167
- transitionDelay: transitionDelay
142
+ }, jsx("div", {
143
+ css: titleStyles,
144
+ "data-testid": testId && "".concat(testId, "-title"),
145
+ style: {
146
+ color: getTextColor(item.status),
147
+ fontWeight: getFontWeight(item.status)
148
+ }
168
149
  }, this.shouldShowLink() ? render.link({
169
150
  item: item
170
151
  }) : item.label))));
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,48 @@
1
+ import { B300, N300, N70, N800 } from '@atlaskit/theme/colors';
2
+ import { REGULAR_FONT_WEIGHT, SEMI_BOLD_FONT_WEIGHT } from './constants';
3
+ export var getMarkerColor = function getMarkerColor(status) {
4
+ switch (status) {
5
+ case 'unvisited':
6
+ return "var(--ds-icon-subtle, ".concat(N70, ")");
7
+
8
+ case 'current':
9
+ case 'visited':
10
+ case 'disabled':
11
+ return "var(--ds-icon-brand, ".concat(B300, ")");
12
+
13
+ default:
14
+ return;
15
+ }
16
+ };
17
+ export var getTextColor = function getTextColor(status) {
18
+ switch (status) {
19
+ case 'unvisited':
20
+ return "var(--ds-text-subtlest, ".concat(N300, ")");
21
+
22
+ case 'current':
23
+ return "var(--ds-text-brand, ".concat(B300, ")");
24
+
25
+ case 'visited':
26
+ return "var(--ds-text, ".concat(N800, ")");
27
+
28
+ case 'disabled':
29
+ return "var(--ds-text-disabled, ".concat(N70, ")");
30
+
31
+ default:
32
+ return;
33
+ }
34
+ };
35
+ export var getFontWeight = function getFontWeight(status) {
36
+ switch (status) {
37
+ case 'unvisited':
38
+ return REGULAR_FONT_WEIGHT;
39
+
40
+ case 'current':
41
+ case 'visited':
42
+ case 'disabled':
43
+ return SEMI_BOLD_FONT_WEIGHT;
44
+
45
+ default:
46
+ return undefined;
47
+ }
48
+ };
@@ -6,24 +6,34 @@ import _possibleConstructorReturn from "@babel/runtime/helpers/possibleConstruct
6
6
  import _getPrototypeOf from "@babel/runtime/helpers/getPrototypeOf";
7
7
  import _defineProperty from "@babel/runtime/helpers/defineProperty";
8
8
 
9
- function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) { symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); } keys.push.apply(keys, symbols); } return keys; }
9
+ 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; }
10
10
 
11
- function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
11
+ 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; }
12
12
 
13
13
  function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }
14
14
 
15
15
  function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }
16
16
 
17
- import React, { PureComponent } from 'react';
18
- import { ThemeProvider } from 'styled-components';
19
- import { Grid } from '@atlaskit/page';
20
- import ProgressTrackerLink from '../ProgressTrackerLink';
21
- import ProgressTrackerStage from '../ProgressTrackerStage';
22
- import { ProgressTrackerContainer } from './styled';
23
- var TRANSITION_SPEED = 300;
24
- var LINEAR_TRANSITION_SPEED = 50;
25
- var easeOut = 'cubic-bezier(0.15,1,0.3,1)';
26
- var defaultLabel = 'Progress';
17
+ /* eslint-disable @repo/internal/styles/no-nested-styles */
18
+
19
+ /** @jsx jsx */
20
+ import { PureComponent } from 'react';
21
+ import { css, jsx } from '@emotion/core';
22
+ import { defaultGridSize, spacing } from './constants';
23
+ import { ANIMATION_EASE_OUT, LINEAR_TRANSITION_SPEED, TRANSITION_SPEED, varSpacing } from './internal/constants';
24
+ import Link from './internal/link';
25
+ import Stage from './internal/stage';
26
+ var containerStyles = css({
27
+ display: 'grid',
28
+ width: '100%',
29
+ margin: '0 auto',
30
+ padding: 0,
31
+ gap: "var(".concat(varSpacing, ")"),
32
+ listStyleType: 'none',
33
+ '&&': {
34
+ marginTop: 40
35
+ }
36
+ });
27
37
 
28
38
  var ProgressTracker = /*#__PURE__*/function (_PureComponent) {
29
39
  _inherits(ProgressTracker, _PureComponent);
@@ -41,15 +51,8 @@ var ProgressTracker = /*#__PURE__*/function (_PureComponent) {
41
51
 
42
52
  _this = _super.call.apply(_super, [this].concat(args));
43
53
 
44
- _defineProperty(_assertThisInitialized(_this), "createTheme", function () {
45
- return {
46
- spacing: _this.props.spacing,
47
- columns: _this.props.items.length * 2
48
- };
49
- });
50
-
51
54
  _defineProperty(_assertThisInitialized(_this), "state", {
52
- prevStages: _this.props.items.map(function (stage, index) {
55
+ prevStages: _this.props.items.map(function (stage) {
53
56
  return _objectSpread(_objectSpread({}, stage), {}, {
54
57
  percentageComplete: 0
55
58
  });
@@ -78,7 +81,8 @@ var ProgressTracker = /*#__PURE__*/function (_PureComponent) {
78
81
  }, {
79
82
  key: "render",
80
83
  value: function render() {
81
- var _this3 = this;
84
+ var _this3 = this,
85
+ _ref;
82
86
 
83
87
  var _this$props = this.props,
84
88
  testId = _this$props.testId,
@@ -97,38 +101,43 @@ var ProgressTracker = /*#__PURE__*/function (_PureComponent) {
97
101
  var items = this.props.items.map(function (stage, index) {
98
102
  var transitionSpeed = 0;
99
103
  var transitionDelay = 0;
100
- var transitionEasing = progressChanges > 1 ? 'linear' : easeOut;
104
+ var transitionEasing = progressChanges > 1 ? 'linear' : ANIMATION_EASE_OUT;
101
105
 
102
106
  if (_this3.props.animated) {
103
107
  transitionSpeed = progressChanges > 1 ? LINEAR_TRANSITION_SPEED : TRANSITION_SPEED;
104
108
 
105
109
  if (stage.percentageComplete < _this3.state.prevStages[index].percentageComplete) {
106
- /** load each transition sequentially in reverse */
110
+ /**
111
+ * load each transition sequentially in reverse
112
+ */
107
113
  transitionDelay = (stepsBack - 1) * transitionSpeed;
108
114
  stepsBack -= 1;
109
115
  } else if (stage.percentageComplete > _this3.state.prevStages[index].percentageComplete) {
110
- /** load each transition sequentially */
116
+ /**
117
+ * load each transition sequentially
118
+ */
111
119
  transitionDelay = (totalStepsForward - stepsForward) * transitionSpeed;
112
120
  stepsForward -= 1;
113
121
  }
114
122
  }
115
123
 
116
- return /*#__PURE__*/React.createElement(ProgressTrackerStage, {
117
- key: stage.id,
118
- item: stage,
119
- render: _this3.props.render,
124
+ return jsx(Stage, {
120
125
  transitionSpeed: transitionSpeed,
121
126
  transitionDelay: transitionDelay,
122
- transitionEasing: transitionEasing
127
+ transitionEasing: transitionEasing,
128
+ key: stage.id,
129
+ item: stage,
130
+ render: _this3.props.render
123
131
  });
124
132
  });
125
- return /*#__PURE__*/React.createElement(ThemeProvider, {
126
- theme: this.createTheme()
127
- }, /*#__PURE__*/React.createElement(Grid, {
128
- testId: testId
129
- }, /*#__PURE__*/React.createElement(ProgressTrackerContainer, {
133
+ return jsx("ul", {
134
+ "data-testid": testId,
135
+ style: (_ref = {
136
+ gridTemplateColumns: "repeat(".concat(items.length, ", 1fr)")
137
+ }, _defineProperty(_ref, varSpacing, "".concat(spacing[this.props.spacing], "px")), _defineProperty(_ref, "maxWidth", defaultGridSize * 10 * items.length * 2), _ref),
138
+ css: containerStyles,
130
139
  "aria-label": label
131
- }, items)));
140
+ }, items);
132
141
  }
133
142
  }]);
134
143
 
@@ -139,12 +148,13 @@ _defineProperty(ProgressTracker, "defaultProps", {
139
148
  items: [],
140
149
  spacing: 'cosy',
141
150
  render: {
142
- link: function link(props) {
143
- return /*#__PURE__*/React.createElement(ProgressTrackerLink, props);
151
+ link: function link(_ref2) {
152
+ var item = _ref2.item;
153
+ return jsx(Link, item);
144
154
  }
145
155
  },
146
156
  animated: true,
147
- label: defaultLabel
157
+ label: 'Progress'
148
158
  });
149
159
 
150
160
  export { ProgressTracker as default };
@@ -1,5 +1,5 @@
1
1
  {
2
2
  "name": "@atlaskit/progress-tracker",
3
- "version": "8.0.3",
3
+ "version": "8.2.0",
4
4
  "sideEffects": false
5
5
  }
@@ -1,3 +1,10 @@
1
1
  export declare const defaultGridSize: number;
2
- /** Ideally these are exported by @atlaskit/page */
3
- export declare const spacing: Record<string, number>;
2
+ /**
3
+ * Ideally these are exported by @atlaskit/page
4
+ */
5
+ export declare const spacing: {
6
+ readonly comfortable: number;
7
+ readonly cosy: number;
8
+ readonly compact: number;
9
+ };
10
+ export declare type Spacing = keyof typeof spacing;
@@ -1,3 +1,3 @@
1
- export { default as ProgressTracker } from './ProgressTracker';
2
- export type { ProgressTrackerProps } from './ProgressTracker';
1
+ export { default as ProgressTracker } from './progress-tracker';
2
+ export type { ProgressTrackerProps } from './progress-tracker';
3
3
  export type { Stages, Stage } from './types';
@@ -0,0 +1,13 @@
1
+ /// <reference types="react" />
2
+ interface StageBarProps {
3
+ testId?: string;
4
+ percentageComplete: number;
5
+ }
6
+ /**
7
+ * __Progress bar__
8
+ *
9
+ * A progress bar describes the horizontal tracking bar that traverses each individual step.
10
+ *
11
+ */
12
+ declare const ProgressBar: ({ percentageComplete, testId }: StageBarProps) => JSX.Element;
13
+ export default ProgressBar;
@@ -0,0 +1,14 @@
1
+ export declare const TRANSITION_SPEED = 300;
2
+ export declare const LINEAR_TRANSITION_SPEED = 50;
3
+ export declare const ANIMATION_EASE_OUT = "cubic-bezier(0.15,1,0.3,1)";
4
+ export declare const varSpacing = "--ds--pt--sp";
5
+ export declare const varTransitionSpeed = "--ds--pt--ts";
6
+ export declare const varTransitionDelay = "--ds--pt--td";
7
+ export declare const varTransitionEasing = "--ds--pt--te";
8
+ export declare const varMarkerColor = "--ds--pt--mc";
9
+ export declare const varBackgroundColor = "--ds--pt--bg";
10
+ export declare const SEMI_BOLD_FONT_WEIGHT = "600";
11
+ export declare const REGULAR_FONT_WEIGHT = "400";
12
+ export declare const HALF_GRID_SIZE: number;
13
+ export declare const PROGRESS_BAR_HEIGHT: number;
14
+ export declare const LABEL_TOP_SPACING: number;
@@ -0,0 +1,10 @@
1
+ /** @jsx jsx */
2
+ import { FC } from 'react';
3
+ import { Stage } from '../types';
4
+ /**
5
+ * __Progress tracker link__
6
+ */
7
+ declare const Link: FC<Stage & {
8
+ testId?: string;
9
+ }>;
10
+ export default Link;
@@ -0,0 +1,11 @@
1
+ /** @jsx jsx */
2
+ import { FC } from 'react';
3
+ /**
4
+ * __Progress marker__
5
+ *
6
+ * Similar to `@atlaskit/progress-indicator`, a small visual circle marker
7
+ */
8
+ declare const ProgressMarker: FC<{
9
+ testId?: string;
10
+ }>;
11
+ export default ProgressMarker;
@@ -0,0 +1,17 @@
1
+ /** @jsx jsx */
2
+ import { PureComponent } from 'react';
3
+ import type { ProgressTrackerStageProps } from './types';
4
+ interface State {
5
+ transitioning: boolean;
6
+ oldMarkerColor?: string;
7
+ oldPercentageComplete: number;
8
+ }
9
+ export type { ProgressTrackerStageProps };
10
+ export default class ProgressTrackerStage extends PureComponent<ProgressTrackerStageProps, State> {
11
+ constructor(props: ProgressTrackerStageProps);
12
+ UNSAFE_componentWillMount(): void;
13
+ UNSAFE_componentWillReceiveProps(): void;
14
+ shouldShowLink(): boolean;
15
+ onEntered: () => void;
16
+ render(): JSX.Element;
17
+ }
@@ -0,0 +1,27 @@
1
+ import type { ProgressTrackerStageRenderProp, Stage } from '../types';
2
+ export interface ProgressTrackerStageProps {
3
+ /**
4
+ * stage data passed to each `ProgressTrackerStage` component
5
+ */
6
+ item: Stage;
7
+ /**
8
+ * render prop to specify how to render components
9
+ */
10
+ render: ProgressTrackerStageRenderProp;
11
+ /**
12
+ * An internal hook applied to key elements for automated testing
13
+ */
14
+ testId?: string;
15
+ /**
16
+ * delay before transitioning in ms
17
+ */
18
+ transitionDelay: number;
19
+ /**
20
+ * speed at which to transition in ms
21
+ */
22
+ transitionSpeed: number;
23
+ /**
24
+ * interface of easing for transition
25
+ */
26
+ transitionEasing: string;
27
+ }
@@ -0,0 +1,4 @@
1
+ import type { Status } from '../types';
2
+ export declare const getMarkerColor: (status: Status) => "var(--ds-icon-subtle)" | "var(--ds-icon-brand)" | undefined;
3
+ export declare const getTextColor: (status: Status) => "var(--ds-text)" | "var(--ds-text-subtlest)" | "var(--ds-text-brand)" | "var(--ds-text-disabled)" | undefined;
4
+ export declare const getFontWeight: (status: Status) => "600" | "400" | undefined;
@@ -1,17 +1,30 @@
1
+ /** @jsx jsx */
1
2
  import { PureComponent } from 'react';
2
- import { LinkComponentProps, ProgressTrackerStageRenderProp, Spacing, Stages } from '../types';
3
+ import type { LinkComponentProps, ProgressTrackerStageRenderProp, Spacing, Stages } from './types';
3
4
  export interface ProgressTrackerProps {
4
- /** Ordered list of stage data */
5
+ /**
6
+ * Ordered list of stage data
7
+ */
5
8
  items: Stages;
6
- /** Margin spacing type between steps */
9
+ /**
10
+ * Margin spacing type between steps
11
+ */
7
12
  spacing: Spacing;
8
- /** Render prop to specify custom implementations of components */
13
+ /**
14
+ * Render prop to specify custom implementations of components
15
+ */
9
16
  render: ProgressTrackerStageRenderProp;
10
- /** Turns off transition animations if set to false */
17
+ /**
18
+ * Turns off transition animations if set to false
19
+ */
11
20
  animated: boolean;
12
- /** 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 */
21
+ /**
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
+ */
13
24
  testId?: string;
14
- /** Text to be used as an aria-label of progress tracker */
25
+ /**
26
+ * Text to be used as an aria-label of progress tracker
27
+ */
15
28
  label?: string;
16
29
  }
17
30
  interface State {
@@ -22,21 +35,17 @@ export default class ProgressTracker extends PureComponent<ProgressTrackerProps,
22
35
  items: never[];
23
36
  spacing: string;
24
37
  render: {
25
- link: (props: LinkComponentProps) => JSX.Element;
38
+ link: ({ item }: LinkComponentProps) => JSX.Element;
26
39
  };
27
40
  animated: boolean;
28
41
  label: string;
29
42
  };
30
- createTheme: () => {
31
- spacing: Spacing;
32
- columns: number;
33
- };
34
43
  state: {
35
44
  prevStages: {
36
45
  percentageComplete: number;
37
46
  id: string;
38
47
  label: string;
39
- status: import("../types").StatusType;
48
+ status: import("./types").Status;
40
49
  noLink?: boolean | undefined;
41
50
  href?: string | undefined;
42
51
  onClick?: (() => void) | undefined;
@@ -1,11 +1,18 @@
1
- export declare type StatusType = 'unvisited' | 'visited' | 'current' | 'disabled';
2
- /** Ideally these are exported by @atlaskit/page */
3
- export declare type Spacing = 'comfortable' | 'cosy' | 'compact';
1
+ /// <reference types="react" />
2
+ /**
3
+ * Ideally these are exported by @atlaskit/page
4
+ */
5
+ export type { Spacing } from './constants';
6
+ export declare type Status = 'unvisited' | 'visited' | 'current' | 'disabled';
7
+ /**
8
+ * @deprecated
9
+ */
10
+ export declare type StatusType = Status;
4
11
  export interface Stage {
5
12
  id: string;
6
13
  label: string;
7
14
  percentageComplete: number;
8
- status: StatusType;
15
+ status: Status;
9
16
  noLink?: boolean;
10
17
  href?: string;
11
18
  onClick?: () => void;