@atlaskit/status 0.11.3

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 (175) hide show
  1. package/CHANGELOG.md +577 -0
  2. package/LICENSE +13 -0
  3. package/build/tsconfig.json +17 -0
  4. package/dist/cjs/components/Status.js +150 -0
  5. package/dist/cjs/components/StatusPicker.js +121 -0
  6. package/dist/cjs/components/analytics.js +40 -0
  7. package/dist/cjs/components/constants.js +8 -0
  8. package/dist/cjs/components/i18n.js +42 -0
  9. package/dist/cjs/components/internal/color-palette.js +67 -0
  10. package/dist/cjs/components/internal/color.js +139 -0
  11. package/dist/cjs/element.js +13 -0
  12. package/dist/cjs/i18n/cs.js +23 -0
  13. package/dist/cjs/i18n/da.js +23 -0
  14. package/dist/cjs/i18n/de.js +23 -0
  15. package/dist/cjs/i18n/en.js +16 -0
  16. package/dist/cjs/i18n/en_GB.js +16 -0
  17. package/dist/cjs/i18n/es.js +23 -0
  18. package/dist/cjs/i18n/et.js +23 -0
  19. package/dist/cjs/i18n/fi.js +23 -0
  20. package/dist/cjs/i18n/fr.js +23 -0
  21. package/dist/cjs/i18n/hu.js +23 -0
  22. package/dist/cjs/i18n/index.js +239 -0
  23. package/dist/cjs/i18n/is.js +16 -0
  24. package/dist/cjs/i18n/it.js +23 -0
  25. package/dist/cjs/i18n/ja.js +23 -0
  26. package/dist/cjs/i18n/ko.js +23 -0
  27. package/dist/cjs/i18n/languages.js +33 -0
  28. package/dist/cjs/i18n/nb.js +23 -0
  29. package/dist/cjs/i18n/nl.js +23 -0
  30. package/dist/cjs/i18n/pl.js +23 -0
  31. package/dist/cjs/i18n/pt_BR.js +23 -0
  32. package/dist/cjs/i18n/pt_PT.js +23 -0
  33. package/dist/cjs/i18n/ro.js +16 -0
  34. package/dist/cjs/i18n/ru.js +23 -0
  35. package/dist/cjs/i18n/sk.js +23 -0
  36. package/dist/cjs/i18n/sv.js +23 -0
  37. package/dist/cjs/i18n/th.js +23 -0
  38. package/dist/cjs/i18n/tr.js +23 -0
  39. package/dist/cjs/i18n/uk.js +23 -0
  40. package/dist/cjs/i18n/vi.js +23 -0
  41. package/dist/cjs/i18n/zh.js +23 -0
  42. package/dist/cjs/i18n/zh_TW.js +23 -0
  43. package/dist/cjs/index.js +21 -0
  44. package/dist/cjs/picker.js +13 -0
  45. package/dist/cjs/version.json +4 -0
  46. package/dist/es2019/components/Status.js +106 -0
  47. package/dist/es2019/components/StatusPicker.js +71 -0
  48. package/dist/es2019/components/analytics.js +18 -0
  49. package/dist/es2019/components/constants.js +1 -0
  50. package/dist/es2019/components/i18n.js +33 -0
  51. package/dist/es2019/components/internal/color-palette.js +33 -0
  52. package/dist/es2019/components/internal/color.js +102 -0
  53. package/dist/es2019/element.js +1 -0
  54. package/dist/es2019/i18n/cs.js +15 -0
  55. package/dist/es2019/i18n/da.js +15 -0
  56. package/dist/es2019/i18n/de.js +15 -0
  57. package/dist/es2019/i18n/en.js +9 -0
  58. package/dist/es2019/i18n/en_GB.js +9 -0
  59. package/dist/es2019/i18n/es.js +15 -0
  60. package/dist/es2019/i18n/et.js +15 -0
  61. package/dist/es2019/i18n/fi.js +15 -0
  62. package/dist/es2019/i18n/fr.js +15 -0
  63. package/dist/es2019/i18n/hu.js +15 -0
  64. package/dist/es2019/i18n/index.js +35 -0
  65. package/dist/es2019/i18n/is.js +9 -0
  66. package/dist/es2019/i18n/it.js +15 -0
  67. package/dist/es2019/i18n/ja.js +15 -0
  68. package/dist/es2019/i18n/ko.js +15 -0
  69. package/dist/es2019/i18n/languages.js +26 -0
  70. package/dist/es2019/i18n/nb.js +15 -0
  71. package/dist/es2019/i18n/nl.js +15 -0
  72. package/dist/es2019/i18n/pl.js +15 -0
  73. package/dist/es2019/i18n/pt_BR.js +15 -0
  74. package/dist/es2019/i18n/pt_PT.js +15 -0
  75. package/dist/es2019/i18n/ro.js +9 -0
  76. package/dist/es2019/i18n/ru.js +15 -0
  77. package/dist/es2019/i18n/sk.js +15 -0
  78. package/dist/es2019/i18n/sv.js +15 -0
  79. package/dist/es2019/i18n/th.js +15 -0
  80. package/dist/es2019/i18n/tr.js +15 -0
  81. package/dist/es2019/i18n/uk.js +15 -0
  82. package/dist/es2019/i18n/vi.js +15 -0
  83. package/dist/es2019/i18n/zh.js +15 -0
  84. package/dist/es2019/i18n/zh_TW.js +15 -0
  85. package/dist/es2019/index.js +2 -0
  86. package/dist/es2019/picker.js +1 -0
  87. package/dist/es2019/version.json +4 -0
  88. package/dist/esm/components/Status.js +130 -0
  89. package/dist/esm/components/StatusPicker.js +100 -0
  90. package/dist/esm/components/analytics.js +26 -0
  91. package/dist/esm/components/constants.js +1 -0
  92. package/dist/esm/components/i18n.js +33 -0
  93. package/dist/esm/components/internal/color-palette.js +42 -0
  94. package/dist/esm/components/internal/color.js +117 -0
  95. package/dist/esm/element.js +1 -0
  96. package/dist/esm/i18n/cs.js +15 -0
  97. package/dist/esm/i18n/da.js +15 -0
  98. package/dist/esm/i18n/de.js +15 -0
  99. package/dist/esm/i18n/en.js +9 -0
  100. package/dist/esm/i18n/en_GB.js +9 -0
  101. package/dist/esm/i18n/es.js +15 -0
  102. package/dist/esm/i18n/et.js +15 -0
  103. package/dist/esm/i18n/fi.js +15 -0
  104. package/dist/esm/i18n/fr.js +15 -0
  105. package/dist/esm/i18n/hu.js +15 -0
  106. package/dist/esm/i18n/index.js +35 -0
  107. package/dist/esm/i18n/is.js +9 -0
  108. package/dist/esm/i18n/it.js +15 -0
  109. package/dist/esm/i18n/ja.js +15 -0
  110. package/dist/esm/i18n/ko.js +15 -0
  111. package/dist/esm/i18n/languages.js +26 -0
  112. package/dist/esm/i18n/nb.js +15 -0
  113. package/dist/esm/i18n/nl.js +15 -0
  114. package/dist/esm/i18n/pl.js +15 -0
  115. package/dist/esm/i18n/pt_BR.js +15 -0
  116. package/dist/esm/i18n/pt_PT.js +15 -0
  117. package/dist/esm/i18n/ro.js +9 -0
  118. package/dist/esm/i18n/ru.js +15 -0
  119. package/dist/esm/i18n/sk.js +15 -0
  120. package/dist/esm/i18n/sv.js +15 -0
  121. package/dist/esm/i18n/th.js +15 -0
  122. package/dist/esm/i18n/tr.js +15 -0
  123. package/dist/esm/i18n/uk.js +15 -0
  124. package/dist/esm/i18n/vi.js +15 -0
  125. package/dist/esm/i18n/zh.js +15 -0
  126. package/dist/esm/i18n/zh_TW.js +15 -0
  127. package/dist/esm/index.js +2 -0
  128. package/dist/esm/picker.js +1 -0
  129. package/dist/esm/version.json +4 -0
  130. package/dist/types/components/Status.d.ts +14 -0
  131. package/dist/types/components/StatusPicker.d.ts +23 -0
  132. package/dist/types/components/analytics.d.ts +11 -0
  133. package/dist/types/components/constants.d.ts +1 -0
  134. package/dist/types/components/i18n.d.ts +2 -0
  135. package/dist/types/components/internal/color-palette.d.ts +10 -0
  136. package/dist/types/components/internal/color.d.ts +21 -0
  137. package/dist/types/element.d.ts +2 -0
  138. package/dist/types/i18n/cs.d.ts +15 -0
  139. package/dist/types/i18n/da.d.ts +15 -0
  140. package/dist/types/i18n/de.d.ts +15 -0
  141. package/dist/types/i18n/en.d.ts +9 -0
  142. package/dist/types/i18n/en_GB.d.ts +9 -0
  143. package/dist/types/i18n/es.d.ts +15 -0
  144. package/dist/types/i18n/et.d.ts +15 -0
  145. package/dist/types/i18n/fi.d.ts +15 -0
  146. package/dist/types/i18n/fr.d.ts +15 -0
  147. package/dist/types/i18n/hu.d.ts +15 -0
  148. package/dist/types/i18n/index.d.ts +35 -0
  149. package/dist/types/i18n/is.d.ts +9 -0
  150. package/dist/types/i18n/it.d.ts +15 -0
  151. package/dist/types/i18n/ja.d.ts +15 -0
  152. package/dist/types/i18n/ko.d.ts +15 -0
  153. package/dist/types/i18n/languages.d.ts +27 -0
  154. package/dist/types/i18n/nb.d.ts +15 -0
  155. package/dist/types/i18n/nl.d.ts +15 -0
  156. package/dist/types/i18n/pl.d.ts +15 -0
  157. package/dist/types/i18n/pt_BR.d.ts +15 -0
  158. package/dist/types/i18n/pt_PT.d.ts +15 -0
  159. package/dist/types/i18n/ro.d.ts +9 -0
  160. package/dist/types/i18n/ru.d.ts +15 -0
  161. package/dist/types/i18n/sk.d.ts +15 -0
  162. package/dist/types/i18n/sv.d.ts +15 -0
  163. package/dist/types/i18n/th.d.ts +15 -0
  164. package/dist/types/i18n/tr.d.ts +15 -0
  165. package/dist/types/i18n/uk.d.ts +15 -0
  166. package/dist/types/i18n/vi.d.ts +15 -0
  167. package/dist/types/i18n/zh.d.ts +15 -0
  168. package/dist/types/i18n/zh_TW.d.ts +15 -0
  169. package/dist/types/index.d.ts +4 -0
  170. package/dist/types/picker.d.ts +2 -0
  171. package/docs/0-intro.tsx +53 -0
  172. package/element/package.json +7 -0
  173. package/package.json +59 -0
  174. package/picker/package.json +7 -0
  175. package/tsconfig.json +14 -0
@@ -0,0 +1,15 @@
1
+ /**
2
+ * NOTE:
3
+ *
4
+ * This file is automatically generated by i18n-tools.
5
+ * DO NOT CHANGE IT BY HAND or your changes will be lost.
6
+ */
7
+ // Turkish
8
+ export default {
9
+ 'fabric.status.color.blue': 'Mavi',
10
+ 'fabric.status.color.green': 'Yeşil',
11
+ 'fabric.status.color.grey': 'Gri',
12
+ 'fabric.status.color.purple': 'Mor',
13
+ 'fabric.status.color.red': 'Kırmızı',
14
+ 'fabric.status.color.yellow': 'Sarı'
15
+ };
@@ -0,0 +1,15 @@
1
+ /**
2
+ * NOTE:
3
+ *
4
+ * This file is automatically generated by i18n-tools.
5
+ * DO NOT CHANGE IT BY HAND or your changes will be lost.
6
+ */
7
+ // Ukrainian
8
+ export default {
9
+ 'fabric.status.color.blue': 'Синій',
10
+ 'fabric.status.color.green': 'Зелений',
11
+ 'fabric.status.color.grey': 'Сірий',
12
+ 'fabric.status.color.purple': 'Фіолетовий',
13
+ 'fabric.status.color.red': 'Червоний',
14
+ 'fabric.status.color.yellow': 'Жовтий'
15
+ };
@@ -0,0 +1,15 @@
1
+ /**
2
+ * NOTE:
3
+ *
4
+ * This file is automatically generated by i18n-tools.
5
+ * DO NOT CHANGE IT BY HAND or your changes will be lost.
6
+ */
7
+ // Vietnamese
8
+ export default {
9
+ 'fabric.status.color.blue': 'Xanh lam',
10
+ 'fabric.status.color.green': 'Xanh lục',
11
+ 'fabric.status.color.grey': 'Xám',
12
+ 'fabric.status.color.purple': 'Tím',
13
+ 'fabric.status.color.red': 'Đỏ',
14
+ 'fabric.status.color.yellow': 'Vàng'
15
+ };
@@ -0,0 +1,15 @@
1
+ /**
2
+ * NOTE:
3
+ *
4
+ * This file is automatically generated by i18n-tools.
5
+ * DO NOT CHANGE IT BY HAND or your changes will be lost.
6
+ */
7
+ // Chinese
8
+ export default {
9
+ 'fabric.status.color.blue': '蓝色',
10
+ 'fabric.status.color.green': '绿色',
11
+ 'fabric.status.color.grey': '灰色',
12
+ 'fabric.status.color.purple': '紫色',
13
+ 'fabric.status.color.red': '红色',
14
+ 'fabric.status.color.yellow': '黄色'
15
+ };
@@ -0,0 +1,15 @@
1
+ /**
2
+ * NOTE:
3
+ *
4
+ * This file is automatically generated by i18n-tools.
5
+ * DO NOT CHANGE IT BY HAND or your changes will be lost.
6
+ */
7
+ // undefined
8
+ export default {
9
+ 'fabric.status.color.blue': '藍色',
10
+ 'fabric.status.color.green': '綠色',
11
+ 'fabric.status.color.grey': '灰色',
12
+ 'fabric.status.color.purple': '紫色',
13
+ 'fabric.status.color.red': '紅色',
14
+ 'fabric.status.color.yellow': '黃色'
15
+ };
@@ -0,0 +1,2 @@
1
+ export { Status } from './components/Status';
2
+ export { StatusPicker } from './components/StatusPicker';
@@ -0,0 +1 @@
1
+ export { StatusPicker } from './components/StatusPicker';
@@ -0,0 +1,4 @@
1
+ {
2
+ "name": "@atlaskit/status",
3
+ "version": "0.11.3"
4
+ }
@@ -0,0 +1,130 @@
1
+ import _classCallCheck from "@babel/runtime/helpers/classCallCheck";
2
+ import _createClass from "@babel/runtime/helpers/createClass";
3
+ import _assertThisInitialized from "@babel/runtime/helpers/assertThisInitialized";
4
+ import _inherits from "@babel/runtime/helpers/inherits";
5
+ import _possibleConstructorReturn from "@babel/runtime/helpers/possibleConstructorReturn";
6
+ import _getPrototypeOf from "@babel/runtime/helpers/getPrototypeOf";
7
+ import _defineProperty from "@babel/runtime/helpers/defineProperty";
8
+
9
+ 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); }; }
10
+
11
+ 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; } }
12
+
13
+ import React from 'react';
14
+ import { PureComponent } from 'react';
15
+ import Lozenge from '@atlaskit/lozenge';
16
+ import { withAnalyticsEvents } from '@atlaskit/analytics-next';
17
+ import { createStatusAnalyticsAndFire } from './analytics';
18
+ import { ANALYTICS_HOVER_DELAY } from './constants';
19
+ var colorToLozengeAppearanceMap = {
20
+ neutral: 'default',
21
+ purple: 'new',
22
+ blue: 'inprogress',
23
+ red: 'removed',
24
+ yellow: 'moved',
25
+ green: 'success'
26
+ };
27
+ var DEFAULT_APPEARANCE = 'default';
28
+ var MAX_WIDTH = 200;
29
+
30
+ var StatusInternal = /*#__PURE__*/function (_PureComponent) {
31
+ _inherits(StatusInternal, _PureComponent);
32
+
33
+ var _super = _createSuper(StatusInternal);
34
+
35
+ function StatusInternal() {
36
+ var _this;
37
+
38
+ _classCallCheck(this, StatusInternal);
39
+
40
+ for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
41
+ args[_key] = arguments[_key];
42
+ }
43
+
44
+ _this = _super.call.apply(_super, [this].concat(args));
45
+
46
+ _defineProperty(_assertThisInitialized(_this), "hoverStartTime", 0);
47
+
48
+ _defineProperty(_assertThisInitialized(_this), "handleMouseEnter", function (_e) {
49
+ _this.hoverStartTime = Date.now();
50
+ });
51
+
52
+ _defineProperty(_assertThisInitialized(_this), "handleMouseLeave", function (_e) {
53
+ var onHover = _this.props.onHover;
54
+
55
+ var delay = Date.now() - _this.hoverStartTime;
56
+
57
+ if (delay >= ANALYTICS_HOVER_DELAY && onHover) {
58
+ onHover();
59
+ }
60
+
61
+ _this.hoverStartTime = 0;
62
+ });
63
+
64
+ return _this;
65
+ }
66
+
67
+ _createClass(StatusInternal, [{
68
+ key: "componentWillUnmount",
69
+ value: function componentWillUnmount() {
70
+ this.hoverStartTime = 0;
71
+ }
72
+ }, {
73
+ key: "render",
74
+ value: function render() {
75
+ var _this$props = this.props,
76
+ text = _this$props.text,
77
+ color = _this$props.color,
78
+ style = _this$props.style,
79
+ onClick = _this$props.onClick;
80
+
81
+ if (text.trim().length === 0) {
82
+ return null;
83
+ }
84
+
85
+ var appearance = colorToLozengeAppearanceMap[color] || DEFAULT_APPEARANCE; // Note: ommitted data-local-id attribute to avoid copying/pasting the same localId
86
+
87
+ return /*#__PURE__*/React.createElement("span", {
88
+ className: "status-lozenge-span" // Using title here as `@atlaskit/tooltip` adds too much overhead
89
+ ,
90
+ title: text,
91
+ onClick: onClick,
92
+ onMouseEnter: this.handleMouseEnter,
93
+ onMouseLeave: this.handleMouseLeave,
94
+ "data-node-type": "status",
95
+ "data-color": color,
96
+ "data-style": style
97
+ }, /*#__PURE__*/React.createElement(Lozenge, {
98
+ appearance: appearance,
99
+ maxWidth: MAX_WIDTH
100
+ }, text));
101
+ }
102
+ }]);
103
+
104
+ return StatusInternal;
105
+ }(PureComponent);
106
+
107
+ _defineProperty(StatusInternal, "displayName", 'StatusInternal');
108
+
109
+ export var Status = withAnalyticsEvents({
110
+ onClick: function onClick(createEvent, props) {
111
+ var localId = props.localId;
112
+ return createStatusAnalyticsAndFire(createEvent)({
113
+ action: 'clicked',
114
+ actionSubject: 'statusLozenge',
115
+ attributes: {
116
+ localId: localId
117
+ }
118
+ });
119
+ },
120
+ onHover: function onHover(createEvent, props) {
121
+ var localId = props.localId;
122
+ return createStatusAnalyticsAndFire(createEvent)({
123
+ action: 'hovered',
124
+ actionSubject: 'statusLozenge',
125
+ attributes: {
126
+ localId: localId
127
+ }
128
+ });
129
+ }
130
+ })(StatusInternal);
@@ -0,0 +1,100 @@
1
+ import _classCallCheck from "@babel/runtime/helpers/classCallCheck";
2
+ import _createClass from "@babel/runtime/helpers/createClass";
3
+ import _assertThisInitialized from "@babel/runtime/helpers/assertThisInitialized";
4
+ import _inherits from "@babel/runtime/helpers/inherits";
5
+ import _possibleConstructorReturn from "@babel/runtime/helpers/possibleConstructorReturn";
6
+ import _getPrototypeOf from "@babel/runtime/helpers/getPrototypeOf";
7
+ import _defineProperty from "@babel/runtime/helpers/defineProperty";
8
+ import _taggedTemplateLiteral from "@babel/runtime/helpers/taggedTemplateLiteral";
9
+
10
+ var _templateObject;
11
+
12
+ 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
+ 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
+ import TextField from '@atlaskit/textfield';
17
+ import { gridSize } from '@atlaskit/theme/constants';
18
+ import React from 'react';
19
+ import { PureComponent } from 'react';
20
+ import styled from 'styled-components';
21
+ import ColorPalette from './internal/color-palette';
22
+ 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
+
26
+ var _super = _createSuper(StatusPicker);
27
+
28
+ function StatusPicker() {
29
+ var _this;
30
+
31
+ _classCallCheck(this, StatusPicker);
32
+
33
+ for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
34
+ args[_key] = arguments[_key];
35
+ }
36
+
37
+ _this = _super.call.apply(_super, [this].concat(args));
38
+
39
+ _defineProperty(_assertThisInitialized(_this), "fieldTextWrapperKey", Math.random().toString());
40
+
41
+ _defineProperty(_assertThisInitialized(_this), "colorPaletteKey", Math.random().toString());
42
+
43
+ _defineProperty(_assertThisInitialized(_this), "onChange", function (evt) {
44
+ // @ts-ignore
45
+ _this.props.onTextChanged(evt.target.value);
46
+ });
47
+
48
+ _defineProperty(_assertThisInitialized(_this), "onKeyPress", function (event) {
49
+ if (event.key === 'Enter') {
50
+ _this.props.onEnter();
51
+ }
52
+ });
53
+
54
+ _defineProperty(_assertThisInitialized(_this), "handleInputRef", function (ref) {
55
+ if (ref && _this.props.autoFocus) {
56
+ // Defer to prevent editor scrolling to top (See FS-3227, also ED-2992)
57
+ setTimeout(function () {
58
+ ref.focus();
59
+ });
60
+ }
61
+ });
62
+
63
+ return _this;
64
+ }
65
+
66
+ _createClass(StatusPicker, [{
67
+ key: "render",
68
+ value: function render() {
69
+ var _this$props = this.props,
70
+ text = _this$props.text,
71
+ selectedColor = _this$props.selectedColor,
72
+ onColorClick = _this$props.onColorClick,
73
+ onColorHover = _this$props.onColorHover; // Using <React.Fragment> instead of [] to workaround Enzyme
74
+ // (https://github.com/airbnb/enzyme/issues/1149)
75
+
76
+ return /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(FieldTextWrapper, {
77
+ key: this.fieldTextWrapperKey
78
+ }, /*#__PURE__*/React.createElement(TextField, {
79
+ value: text,
80
+ isCompact: true,
81
+ ref: this.handleInputRef,
82
+ onChange: this.onChange,
83
+ onKeyPress: this.onKeyPress,
84
+ spellCheck: false,
85
+ autoComplete: "off"
86
+ })), /*#__PURE__*/React.createElement(ColorPalette, {
87
+ key: this.colorPaletteKey,
88
+ onClick: onColorClick,
89
+ onHover: onColorHover,
90
+ selectedColor: selectedColor
91
+ }));
92
+ }
93
+ }]);
94
+
95
+ return StatusPicker;
96
+ }(PureComponent);
97
+
98
+ _defineProperty(StatusPicker, "defaultProps", {
99
+ autoFocus: true
100
+ });
@@ -0,0 +1,26 @@
1
+ import _defineProperty from "@babel/runtime/helpers/defineProperty";
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; }
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; }
6
+
7
+ import { name as packageName, version as packageVersion } from '../version.json';
8
+ export var ELEMENTS_CHANNEL = 'fabric-elements';
9
+ export var createStatusAnalyticsAndFire = function createStatusAnalyticsAndFire(createAnalyticsEvent) {
10
+ return function (payload) {
11
+ var statusPayload = _objectSpread(_objectSpread({}, payload), {}, {
12
+ eventType: 'ui'
13
+ });
14
+
15
+ if (!statusPayload.attributes) {
16
+ statusPayload.attributes = {};
17
+ }
18
+
19
+ statusPayload.attributes.packageName = packageName;
20
+ statusPayload.attributes.packageVersion = packageVersion;
21
+ statusPayload.attributes.componentName = 'status';
22
+ var event = createAnalyticsEvent(statusPayload);
23
+ event.fire(ELEMENTS_CHANNEL);
24
+ return event;
25
+ };
26
+ };
@@ -0,0 +1 @@
1
+ export var ANALYTICS_HOVER_DELAY = 1000;
@@ -0,0 +1,33 @@
1
+ import { defineMessages } from 'react-intl';
2
+ export var messages = defineMessages({
3
+ neutralColor: {
4
+ id: 'fabric.status.color.grey',
5
+ defaultMessage: 'Grey',
6
+ description: 'Tooltip for the grey color in color palette'
7
+ },
8
+ purpleColor: {
9
+ id: 'fabric.status.color.purple',
10
+ defaultMessage: 'Purple',
11
+ description: 'Tooltip for the purple color in color palette'
12
+ },
13
+ blueColor: {
14
+ id: 'fabric.status.color.blue',
15
+ defaultMessage: 'Blue',
16
+ description: 'Tooltip for the blue color in color palette'
17
+ },
18
+ redColor: {
19
+ id: 'fabric.status.color.red',
20
+ defaultMessage: 'Red',
21
+ description: 'Tooltip for the red color in color palette'
22
+ },
23
+ yellowColor: {
24
+ id: 'fabric.status.color.yellow',
25
+ defaultMessage: 'Yellow',
26
+ description: 'Tooltip for the yellow color in color palette'
27
+ },
28
+ greenColor: {
29
+ id: 'fabric.status.color.green',
30
+ defaultMessage: 'Green',
31
+ description: 'Tooltip for the green color in color palette'
32
+ }
33
+ });
@@ -0,0 +1,42 @@
1
+ import _slicedToArray from "@babel/runtime/helpers/slicedToArray";
2
+ import _taggedTemplateLiteral from "@babel/runtime/helpers/taggedTemplateLiteral";
3
+
4
+ var _templateObject;
5
+
6
+ import { gridSize } from '@atlaskit/theme/constants';
7
+ import * as colors from '@atlaskit/theme/colors';
8
+ import React from 'react';
9
+ import styled from 'styled-components';
10
+ import Color from './color'; // color value, label, background, borderColor
11
+
12
+ var palette = [['neutral', colors.N40, colors.N400], ['purple', colors.P50, colors.P400], ['blue', colors.B50, colors.B400], ['red', colors.R50, colors.R400], ['yellow', colors.Y75, colors.Y400], ['green', colors.G50, colors.G400]];
13
+ var ColorPaletteWrapper = styled.div(_templateObject || (_templateObject = _taggedTemplateLiteral(["\n margin: ", "px ", "px 0 ", "px;\n /* Firefox bug fix: https://product-fabric.atlassian.net/browse/ED-1789 */\n display: flex;\n flex-wrap: wrap;\n"])), gridSize(), gridSize(), gridSize());
14
+ export default (function (_ref) {
15
+ var _ref$cols = _ref.cols,
16
+ cols = _ref$cols === void 0 ? 7 : _ref$cols,
17
+ onClick = _ref.onClick,
18
+ selectedColor = _ref.selectedColor,
19
+ className = _ref.className,
20
+ onHover = _ref.onHover;
21
+ return /*#__PURE__*/React.createElement(ColorPaletteWrapper, {
22
+ className: className,
23
+ style: {
24
+ maxWidth: cols * 32
25
+ }
26
+ }, palette.map(function (_ref2) {
27
+ var _ref3 = _slicedToArray(_ref2, 3),
28
+ colorValue = _ref3[0],
29
+ backgroundColor = _ref3[1],
30
+ borderColor = _ref3[2];
31
+
32
+ return /*#__PURE__*/React.createElement(Color, {
33
+ key: colorValue,
34
+ value: colorValue,
35
+ backgroundColor: backgroundColor,
36
+ borderColor: borderColor,
37
+ onClick: onClick,
38
+ onHover: onHover,
39
+ isSelected: colorValue === selectedColor
40
+ });
41
+ }));
42
+ });
@@ -0,0 +1,117 @@
1
+ import _classCallCheck from "@babel/runtime/helpers/classCallCheck";
2
+ import _createClass from "@babel/runtime/helpers/createClass";
3
+ import _assertThisInitialized from "@babel/runtime/helpers/assertThisInitialized";
4
+ import _inherits from "@babel/runtime/helpers/inherits";
5
+ import _possibleConstructorReturn from "@babel/runtime/helpers/possibleConstructorReturn";
6
+ import _getPrototypeOf from "@babel/runtime/helpers/getPrototypeOf";
7
+ import _defineProperty from "@babel/runtime/helpers/defineProperty";
8
+ import _taggedTemplateLiteral from "@babel/runtime/helpers/taggedTemplateLiteral";
9
+
10
+ var _templateObject, _templateObject2;
11
+
12
+ 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
+ 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
+ import EditorDoneIcon from '@atlaskit/icon/glyph/editor/done';
17
+ import { N900, N0, N50 } from '@atlaskit/theme/colors';
18
+ import React from 'react';
19
+ import { PureComponent } from 'react';
20
+ import { FormattedMessage } from 'react-intl';
21
+ import styled from 'styled-components';
22
+ import { ANALYTICS_HOVER_DELAY } from '../constants';
23
+ import { messages } from '../i18n';
24
+ var Button = styled.button(_templateObject || (_templateObject = _taggedTemplateLiteral(["\n height: 24px;\n width: 24px;\n background: ", ";\n padding: 0;\n border-radius: 4px;\n border: 1px solid ", ";\n cursor: pointer;\n display: block;\n box-sizing: border-box;\n overflow: hidden;\n"])), N900, N0);
25
+ var ButtonWrapper = styled.span(_templateObject2 || (_templateObject2 = _taggedTemplateLiteral(["\n border: 1px solid transparent;\n margin: 0 2px;\n font-size: 0;\n display: flex;\n align-items: center;\n padding: 1px;\n border-radius: 6px;\n &:hover {\n border: 1px solid ", ";\n }\n"])), N50);
26
+
27
+ var Color = /*#__PURE__*/function (_PureComponent) {
28
+ _inherits(Color, _PureComponent);
29
+
30
+ var _super = _createSuper(Color);
31
+
32
+ function Color() {
33
+ var _this;
34
+
35
+ _classCallCheck(this, Color);
36
+
37
+ for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
38
+ args[_key] = arguments[_key];
39
+ }
40
+
41
+ _this = _super.call.apply(_super, [this].concat(args));
42
+
43
+ _defineProperty(_assertThisInitialized(_this), "hoverStartTime", 0);
44
+
45
+ _defineProperty(_assertThisInitialized(_this), "onMouseEnter", function () {
46
+ _this.hoverStartTime = Date.now();
47
+ });
48
+
49
+ _defineProperty(_assertThisInitialized(_this), "onMouseLeave", function () {
50
+ var onHover = _this.props.onHover;
51
+
52
+ var delay = Date.now() - _this.hoverStartTime;
53
+
54
+ if (delay >= ANALYTICS_HOVER_DELAY && onHover) {
55
+ onHover(_this.props.value);
56
+ }
57
+
58
+ _this.hoverStartTime = 0;
59
+ });
60
+
61
+ _defineProperty(_assertThisInitialized(_this), "onMouseDown", function (e) {
62
+ e.preventDefault();
63
+ });
64
+
65
+ _defineProperty(_assertThisInitialized(_this), "onClick", function (e) {
66
+ var _this$props = _this.props,
67
+ onClick = _this$props.onClick,
68
+ value = _this$props.value;
69
+ e.preventDefault();
70
+ onClick(value);
71
+ });
72
+
73
+ return _this;
74
+ }
75
+
76
+ _createClass(Color, [{
77
+ key: "render",
78
+ value: function render() {
79
+ var _this2 = this;
80
+
81
+ var _this$props2 = this.props,
82
+ tabIndex = _this$props2.tabIndex,
83
+ backgroundColor = _this$props2.backgroundColor,
84
+ isSelected = _this$props2.isSelected,
85
+ borderColor = _this$props2.borderColor,
86
+ value = _this$props2.value;
87
+ var borderStyle = "1px solid ".concat(borderColor);
88
+ return /*#__PURE__*/React.createElement(ButtonWrapper, null, /*#__PURE__*/React.createElement(FormattedMessage, messages["".concat(value, "Color")], function (label) {
89
+ return /*#__PURE__*/React.createElement(Button, {
90
+ onClick: _this2.onClick,
91
+ onMouseEnter: _this2.onMouseEnter,
92
+ onMouseLeave: _this2.onMouseLeave,
93
+ onMouseDown: _this2.onMouseDown,
94
+ tabIndex: tabIndex,
95
+ className: "".concat(isSelected ? 'selected' : ''),
96
+ title: label,
97
+ style: {
98
+ backgroundColor: backgroundColor || 'transparent',
99
+ border: borderStyle
100
+ }
101
+ }, isSelected && /*#__PURE__*/React.createElement(EditorDoneIcon, {
102
+ primaryColor: borderColor,
103
+ label: label
104
+ }));
105
+ }));
106
+ }
107
+ }, {
108
+ key: "componentWillUnmount",
109
+ value: function componentWillUnmount() {
110
+ this.hoverStartTime = 0;
111
+ }
112
+ }]);
113
+
114
+ return Color;
115
+ }(PureComponent);
116
+
117
+ export { Color as default };