@atlaskit/status 1.0.0 → 1.0.1

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,12 @@
1
1
  # @atlaskit/status
2
2
 
3
+ ## 1.0.1
4
+
5
+ ### Patch Changes
6
+
7
+ - [`b5375cd4f66`](https://bitbucket.org/atlassian/atlassian-frontend/commits/b5375cd4f66) - AK-316: add aria-label for the status picker input field
8
+ - [`85c4e5a71ee`](https://bitbucket.org/atlassian/atlassian-frontend/commits/85c4e5a71ee) - [AK-837] added role prop for Status component
9
+
3
10
  ## 1.0.0
4
11
 
5
12
  ### Major Changes
@@ -97,7 +97,7 @@ var StatusInternal = /*#__PURE__*/function (_PureComponent) {
97
97
  text = _this$props.text,
98
98
  color = _this$props.color,
99
99
  style = _this$props.style,
100
- localId = _this$props.localId,
100
+ role = _this$props.role,
101
101
  onClick = _this$props.onClick;
102
102
 
103
103
  if (text.trim().length === 0) {
@@ -114,7 +114,7 @@ var StatusInternal = /*#__PURE__*/function (_PureComponent) {
114
114
  "data-node-type": "status",
115
115
  "data-color": color,
116
116
  "data-style": style,
117
- id: localId
117
+ role: role
118
118
  }, /*#__PURE__*/_react.default.createElement(_lozenge.default, {
119
119
  appearance: appearance,
120
120
  maxWidth: MAX_WIDTH
@@ -31,10 +31,14 @@ var _constants = require("@atlaskit/theme/constants");
31
31
 
32
32
  var _react = _interopRequireWildcard(require("react"));
33
33
 
34
+ var _reactIntlNext = require("react-intl-next");
35
+
34
36
  var _styledComponents = _interopRequireDefault(require("styled-components"));
35
37
 
36
38
  var _colorPalette = _interopRequireDefault(require("./internal/color-palette"));
37
39
 
40
+ var _i18n = require("./i18n");
41
+
38
42
  var _templateObject;
39
43
 
40
44
  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); }
@@ -47,15 +51,15 @@ function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Re
47
51
 
48
52
  var FieldTextWrapper = _styledComponents.default.div(_templateObject || (_templateObject = (0, _taggedTemplateLiteral2.default)(["\n margin: 0 ", "px;\n"])), (0, _constants.gridSize)());
49
53
 
50
- var StatusPicker = /*#__PURE__*/function (_PureComponent) {
51
- (0, _inherits2.default)(StatusPicker, _PureComponent);
54
+ var Picker = /*#__PURE__*/function (_PureComponent) {
55
+ (0, _inherits2.default)(Picker, _PureComponent);
52
56
 
53
- var _super = _createSuper(StatusPicker);
57
+ var _super = _createSuper(Picker);
54
58
 
55
- function StatusPicker() {
59
+ function Picker() {
56
60
  var _this;
57
61
 
58
- (0, _classCallCheck2.default)(this, StatusPicker);
62
+ (0, _classCallCheck2.default)(this, Picker);
59
63
 
60
64
  for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
61
65
  args[_key] = arguments[_key];
@@ -84,15 +88,15 @@ var StatusPicker = /*#__PURE__*/function (_PureComponent) {
84
88
  return _this;
85
89
  }
86
90
 
87
- (0, _createClass2.default)(StatusPicker, [{
91
+ (0, _createClass2.default)(Picker, [{
88
92
  key: "render",
89
93
  value: function render() {
90
94
  var _this$props = this.props,
91
95
  text = _this$props.text,
92
96
  selectedColor = _this$props.selectedColor,
93
- localId = _this$props.localId,
94
97
  onColorClick = _this$props.onColorClick,
95
- onColorHover = _this$props.onColorHover; // Using <React.Fragment> instead of [] to workaround Enzyme
98
+ onColorHover = _this$props.onColorHover,
99
+ intl = _this$props.intl; // Using <React.Fragment> instead of [] to workaround Enzyme
96
100
  // (https://github.com/airbnb/enzyme/issues/1149)
97
101
 
98
102
  return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement(FieldTextWrapper, {
@@ -105,7 +109,7 @@ var StatusPicker = /*#__PURE__*/function (_PureComponent) {
105
109
  onKeyPress: this.onKeyPress,
106
110
  spellCheck: false,
107
111
  autoComplete: "off",
108
- "aria-labelledby": localId
112
+ "aria-label": intl.formatMessage(_i18n.messages.statusInputLabel)
109
113
  })), /*#__PURE__*/_react.default.createElement(_colorPalette.default, {
110
114
  key: this.colorPaletteKey,
111
115
  onClick: onColorClick,
@@ -114,10 +118,11 @@ var StatusPicker = /*#__PURE__*/function (_PureComponent) {
114
118
  }));
115
119
  }
116
120
  }]);
117
- return StatusPicker;
121
+ return Picker;
118
122
  }(_react.PureComponent);
119
123
 
120
- exports.StatusPicker = StatusPicker;
121
- (0, _defineProperty2.default)(StatusPicker, "defaultProps", {
124
+ (0, _defineProperty2.default)(Picker, "defaultProps", {
122
125
  autoFocus: true
123
- });
126
+ });
127
+ var StatusPicker = (0, _reactIntlNext.injectIntl)(Picker);
128
+ exports.StatusPicker = StatusPicker;
@@ -11,9 +11,9 @@ var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/de
11
11
 
12
12
  var _version = require("../version.json");
13
13
 
14
- 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; }
14
+ 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; }
15
15
 
16
- 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) { (0, _defineProperty2.default)(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; }
16
+ 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; }
17
17
 
18
18
  var ELEMENTS_CHANNEL = 'fabric-elements';
19
19
  exports.ELEMENTS_CHANNEL = ELEMENTS_CHANNEL;
@@ -37,6 +37,11 @@ var messages = (0, _reactIntlNext.defineMessages)({
37
37
  id: 'fabric.status.color.green',
38
38
  defaultMessage: 'Green',
39
39
  description: 'Tooltip for the green color in color palette'
40
+ },
41
+ statusInputLabel: {
42
+ id: 'fabric.status.input.label',
43
+ defaultMessage: 'Set a status',
44
+ description: 'Aria label text for the status input field'
40
45
  }
41
46
  });
42
47
  exports.messages = messages;
@@ -1,4 +1,4 @@
1
1
  {
2
2
  "name": "@atlaskit/status",
3
- "version": "1.0.0"
3
+ "version": "1.0.1"
4
4
  }
@@ -49,7 +49,7 @@ class StatusInternal extends PureComponent {
49
49
  text,
50
50
  color,
51
51
  style,
52
- localId,
52
+ role,
53
53
  onClick
54
54
  } = this.props;
55
55
 
@@ -67,7 +67,7 @@ class StatusInternal extends PureComponent {
67
67
  "data-node-type": "status",
68
68
  "data-color": color,
69
69
  "data-style": style,
70
- id: localId
70
+ role: role
71
71
  }, /*#__PURE__*/React.createElement(Lozenge, {
72
72
  appearance: appearance,
73
73
  maxWidth: MAX_WIDTH
@@ -2,13 +2,16 @@ import _defineProperty from "@babel/runtime/helpers/defineProperty";
2
2
  import TextField from '@atlaskit/textfield';
3
3
  import { gridSize } from '@atlaskit/theme/constants';
4
4
  import React from 'react';
5
+ import { injectIntl } from 'react-intl-next';
5
6
  import { PureComponent } from 'react';
6
7
  import styled from 'styled-components';
7
8
  import ColorPalette from './internal/color-palette';
9
+ import { messages } from './i18n';
8
10
  const FieldTextWrapper = styled.div`
9
11
  margin: 0 ${gridSize()}px;
10
12
  `;
11
- export class StatusPicker extends PureComponent {
13
+
14
+ class Picker extends PureComponent {
12
15
  constructor(...args) {
13
16
  super(...args);
14
17
 
@@ -41,9 +44,9 @@ export class StatusPicker extends PureComponent {
41
44
  const {
42
45
  text,
43
46
  selectedColor,
44
- localId,
45
47
  onColorClick,
46
- onColorHover
48
+ onColorHover,
49
+ intl
47
50
  } = this.props; // Using <React.Fragment> instead of [] to workaround Enzyme
48
51
  // (https://github.com/airbnb/enzyme/issues/1149)
49
52
 
@@ -57,7 +60,7 @@ export class StatusPicker extends PureComponent {
57
60
  onKeyPress: this.onKeyPress,
58
61
  spellCheck: false,
59
62
  autoComplete: "off",
60
- "aria-labelledby": localId
63
+ "aria-label": intl.formatMessage(messages.statusInputLabel)
61
64
  })), /*#__PURE__*/React.createElement(ColorPalette, {
62
65
  key: this.colorPaletteKey,
63
66
  onClick: onColorClick,
@@ -68,6 +71,8 @@ export class StatusPicker extends PureComponent {
68
71
 
69
72
  }
70
73
 
71
- _defineProperty(StatusPicker, "defaultProps", {
74
+ _defineProperty(Picker, "defaultProps", {
72
75
  autoFocus: true
73
- });
76
+ });
77
+
78
+ export const StatusPicker = injectIntl(Picker);
@@ -29,5 +29,10 @@ export const messages = defineMessages({
29
29
  id: 'fabric.status.color.green',
30
30
  defaultMessage: 'Green',
31
31
  description: 'Tooltip for the green color in color palette'
32
+ },
33
+ statusInputLabel: {
34
+ id: 'fabric.status.input.label',
35
+ defaultMessage: 'Set a status',
36
+ description: 'Aria label text for the status input field'
32
37
  }
33
38
  });
@@ -1,4 +1,4 @@
1
1
  {
2
2
  "name": "@atlaskit/status",
3
- "version": "1.0.0"
3
+ "version": "1.0.1"
4
4
  }
@@ -76,7 +76,7 @@ var StatusInternal = /*#__PURE__*/function (_PureComponent) {
76
76
  text = _this$props.text,
77
77
  color = _this$props.color,
78
78
  style = _this$props.style,
79
- localId = _this$props.localId,
79
+ role = _this$props.role,
80
80
  onClick = _this$props.onClick;
81
81
 
82
82
  if (text.trim().length === 0) {
@@ -93,7 +93,7 @@ var StatusInternal = /*#__PURE__*/function (_PureComponent) {
93
93
  "data-node-type": "status",
94
94
  "data-color": color,
95
95
  "data-style": style,
96
- id: localId
96
+ role: role
97
97
  }, /*#__PURE__*/React.createElement(Lozenge, {
98
98
  appearance: appearance,
99
99
  maxWidth: MAX_WIDTH
@@ -16,19 +16,22 @@ function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Re
16
16
  import TextField from '@atlaskit/textfield';
17
17
  import { gridSize } from '@atlaskit/theme/constants';
18
18
  import React from 'react';
19
+ import { injectIntl } from 'react-intl-next';
19
20
  import { PureComponent } from 'react';
20
21
  import styled from 'styled-components';
21
22
  import ColorPalette from './internal/color-palette';
23
+ import { messages } from './i18n';
22
24
  var FieldTextWrapper = styled.div(_templateObject || (_templateObject = _taggedTemplateLiteral(["\n margin: 0 ", "px;\n"])), gridSize());
23
- export var StatusPicker = /*#__PURE__*/function (_PureComponent) {
24
- _inherits(StatusPicker, _PureComponent);
25
25
 
26
- var _super = _createSuper(StatusPicker);
26
+ var Picker = /*#__PURE__*/function (_PureComponent) {
27
+ _inherits(Picker, _PureComponent);
27
28
 
28
- function StatusPicker() {
29
+ var _super = _createSuper(Picker);
30
+
31
+ function Picker() {
29
32
  var _this;
30
33
 
31
- _classCallCheck(this, StatusPicker);
34
+ _classCallCheck(this, Picker);
32
35
 
33
36
  for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
34
37
  args[_key] = arguments[_key];
@@ -63,15 +66,15 @@ export var StatusPicker = /*#__PURE__*/function (_PureComponent) {
63
66
  return _this;
64
67
  }
65
68
 
66
- _createClass(StatusPicker, [{
69
+ _createClass(Picker, [{
67
70
  key: "render",
68
71
  value: function render() {
69
72
  var _this$props = this.props,
70
73
  text = _this$props.text,
71
74
  selectedColor = _this$props.selectedColor,
72
- localId = _this$props.localId,
73
75
  onColorClick = _this$props.onColorClick,
74
- onColorHover = _this$props.onColorHover; // Using <React.Fragment> instead of [] to workaround Enzyme
76
+ onColorHover = _this$props.onColorHover,
77
+ intl = _this$props.intl; // Using <React.Fragment> instead of [] to workaround Enzyme
75
78
  // (https://github.com/airbnb/enzyme/issues/1149)
76
79
 
77
80
  return /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(FieldTextWrapper, {
@@ -84,7 +87,7 @@ export var StatusPicker = /*#__PURE__*/function (_PureComponent) {
84
87
  onKeyPress: this.onKeyPress,
85
88
  spellCheck: false,
86
89
  autoComplete: "off",
87
- "aria-labelledby": localId
90
+ "aria-label": intl.formatMessage(messages.statusInputLabel)
88
91
  })), /*#__PURE__*/React.createElement(ColorPalette, {
89
92
  key: this.colorPaletteKey,
90
93
  onClick: onColorClick,
@@ -94,9 +97,11 @@ export var StatusPicker = /*#__PURE__*/function (_PureComponent) {
94
97
  }
95
98
  }]);
96
99
 
97
- return StatusPicker;
100
+ return Picker;
98
101
  }(PureComponent);
99
102
 
100
- _defineProperty(StatusPicker, "defaultProps", {
103
+ _defineProperty(Picker, "defaultProps", {
101
104
  autoFocus: true
102
- });
105
+ });
106
+
107
+ export var StatusPicker = injectIntl(Picker);
@@ -1,8 +1,8 @@
1
1
  import _defineProperty from "@babel/runtime/helpers/defineProperty";
2
2
 
3
- 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; }
3
+ 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; }
4
4
 
5
- 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; }
5
+ 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; }
6
6
 
7
7
  import { name as packageName, version as packageVersion } from '../version.json';
8
8
  export var ELEMENTS_CHANNEL = 'fabric-elements';
@@ -29,5 +29,10 @@ export var messages = defineMessages({
29
29
  id: 'fabric.status.color.green',
30
30
  defaultMessage: 'Green',
31
31
  description: 'Tooltip for the green color in color palette'
32
+ },
33
+ statusInputLabel: {
34
+ id: 'fabric.status.input.label',
35
+ defaultMessage: 'Set a status',
36
+ description: 'Aria label text for the status input field'
32
37
  }
33
38
  });
@@ -1,4 +1,4 @@
1
1
  {
2
2
  "name": "@atlaskit/status",
3
- "version": "1.0.0"
3
+ "version": "1.0.1"
4
4
  }
@@ -9,6 +9,7 @@ export interface OwnProps {
9
9
  localId?: string;
10
10
  onClick?: (event: React.SyntheticEvent<any>) => void;
11
11
  onHover?: () => void;
12
+ role?: string;
12
13
  }
13
14
  export declare type Props = OwnProps & WithAnalyticsEventsProps;
14
- export declare const Status: React.ForwardRefExoticComponent<Pick<Props, "text" | "color" | "style" | "localId" | "onClick" | "onHover"> & React.RefAttributes<any>>;
15
+ export declare const Status: React.ForwardRefExoticComponent<Pick<Props, "text" | "color" | "style" | "localId" | "onClick" | "onHover" | "role"> & React.RefAttributes<any>>;
@@ -1,4 +1,5 @@
1
- import { PureComponent } from 'react';
1
+ import React from 'react';
2
+ import { WrappedComponentProps } from 'react-intl-next';
2
3
  import { Color } from './Status';
3
4
  export declare type ColorType = Color;
4
5
  export interface Props {
@@ -9,16 +10,7 @@ export interface Props {
9
10
  onColorHover?: (value: ColorType) => void;
10
11
  onTextChanged: (value: string) => void;
11
12
  autoFocus?: boolean;
12
- localId?: string;
13
- }
14
- export declare class StatusPicker extends PureComponent<Props, any> {
15
- private fieldTextWrapperKey;
16
- private colorPaletteKey;
17
- static defaultProps: {
18
- autoFocus: boolean;
19
- };
20
- render(): JSX.Element;
21
- private onChange;
22
- private onKeyPress;
23
- private handleInputRef;
24
13
  }
14
+ export declare const StatusPicker: React.FC<import("react-intl-next").WithIntlProps<Props & WrappedComponentProps<"intl">>> & {
15
+ WrappedComponent: React.ComponentType<Props & WrappedComponentProps<"intl">>;
16
+ };
@@ -29,4 +29,9 @@ export declare const messages: {
29
29
  defaultMessage: string;
30
30
  description: string;
31
31
  };
32
+ statusInputLabel: {
33
+ id: string;
34
+ defaultMessage: string;
35
+ description: string;
36
+ };
32
37
  };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@atlaskit/status",
3
- "version": "1.0.0",
3
+ "version": "1.0.1",
4
4
  "description": "Fabric Status React Components",
5
5
  "publishConfig": {
6
6
  "registry": "https://registry.npmjs.org/"
@@ -26,10 +26,10 @@
26
26
  },
27
27
  "dependencies": {
28
28
  "@atlaskit/analytics-next": "^8.0.0",
29
- "@atlaskit/icon": "^21.9.0",
29
+ "@atlaskit/icon": "^21.10.0",
30
30
  "@atlaskit/lozenge": "^11.1.0",
31
31
  "@atlaskit/textfield": "^5.1.0",
32
- "@atlaskit/theme": "^12.0.0",
32
+ "@atlaskit/theme": "^12.1.0",
33
33
  "@babel/runtime": "^7.0.0",
34
34
  "styled-components": "^3.2.6"
35
35
  },
@@ -39,13 +39,14 @@
39
39
  },
40
40
  "devDependencies": {
41
41
  "@atlaskit/docs": "^9.0.0",
42
- "@atlaskit/editor-test-helpers": "^16.0.0",
42
+ "@atlaskit/editor-test-helpers": "^16.1.0",
43
43
  "@atlaskit/elements-test-helpers": "^0.7.0",
44
44
  "@atlaskit/visual-regression": "*",
45
45
  "@atlassian/atlassian-frontend-prettier-config-1.0.1": "npm:@atlassian/atlassian-frontend-prettier-config@1.0.1",
46
46
  "enzyme": "^3.10.0",
47
47
  "enzyme-adapter-react-16": "^1.15.1",
48
48
  "react": "^16.8.0",
49
+ "react-intl-next": "npm:react-intl@^5.18.1",
49
50
  "typescript": "3.9.6"
50
51
  },
51
52
  "keywords": [