@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.
- package/CHANGELOG.md +577 -0
- package/LICENSE +13 -0
- package/build/tsconfig.json +17 -0
- package/dist/cjs/components/Status.js +150 -0
- package/dist/cjs/components/StatusPicker.js +121 -0
- package/dist/cjs/components/analytics.js +40 -0
- package/dist/cjs/components/constants.js +8 -0
- package/dist/cjs/components/i18n.js +42 -0
- package/dist/cjs/components/internal/color-palette.js +67 -0
- package/dist/cjs/components/internal/color.js +139 -0
- package/dist/cjs/element.js +13 -0
- package/dist/cjs/i18n/cs.js +23 -0
- package/dist/cjs/i18n/da.js +23 -0
- package/dist/cjs/i18n/de.js +23 -0
- package/dist/cjs/i18n/en.js +16 -0
- package/dist/cjs/i18n/en_GB.js +16 -0
- package/dist/cjs/i18n/es.js +23 -0
- package/dist/cjs/i18n/et.js +23 -0
- package/dist/cjs/i18n/fi.js +23 -0
- package/dist/cjs/i18n/fr.js +23 -0
- package/dist/cjs/i18n/hu.js +23 -0
- package/dist/cjs/i18n/index.js +239 -0
- package/dist/cjs/i18n/is.js +16 -0
- package/dist/cjs/i18n/it.js +23 -0
- package/dist/cjs/i18n/ja.js +23 -0
- package/dist/cjs/i18n/ko.js +23 -0
- package/dist/cjs/i18n/languages.js +33 -0
- package/dist/cjs/i18n/nb.js +23 -0
- package/dist/cjs/i18n/nl.js +23 -0
- package/dist/cjs/i18n/pl.js +23 -0
- package/dist/cjs/i18n/pt_BR.js +23 -0
- package/dist/cjs/i18n/pt_PT.js +23 -0
- package/dist/cjs/i18n/ro.js +16 -0
- package/dist/cjs/i18n/ru.js +23 -0
- package/dist/cjs/i18n/sk.js +23 -0
- package/dist/cjs/i18n/sv.js +23 -0
- package/dist/cjs/i18n/th.js +23 -0
- package/dist/cjs/i18n/tr.js +23 -0
- package/dist/cjs/i18n/uk.js +23 -0
- package/dist/cjs/i18n/vi.js +23 -0
- package/dist/cjs/i18n/zh.js +23 -0
- package/dist/cjs/i18n/zh_TW.js +23 -0
- package/dist/cjs/index.js +21 -0
- package/dist/cjs/picker.js +13 -0
- package/dist/cjs/version.json +4 -0
- package/dist/es2019/components/Status.js +106 -0
- package/dist/es2019/components/StatusPicker.js +71 -0
- package/dist/es2019/components/analytics.js +18 -0
- package/dist/es2019/components/constants.js +1 -0
- package/dist/es2019/components/i18n.js +33 -0
- package/dist/es2019/components/internal/color-palette.js +33 -0
- package/dist/es2019/components/internal/color.js +102 -0
- package/dist/es2019/element.js +1 -0
- package/dist/es2019/i18n/cs.js +15 -0
- package/dist/es2019/i18n/da.js +15 -0
- package/dist/es2019/i18n/de.js +15 -0
- package/dist/es2019/i18n/en.js +9 -0
- package/dist/es2019/i18n/en_GB.js +9 -0
- package/dist/es2019/i18n/es.js +15 -0
- package/dist/es2019/i18n/et.js +15 -0
- package/dist/es2019/i18n/fi.js +15 -0
- package/dist/es2019/i18n/fr.js +15 -0
- package/dist/es2019/i18n/hu.js +15 -0
- package/dist/es2019/i18n/index.js +35 -0
- package/dist/es2019/i18n/is.js +9 -0
- package/dist/es2019/i18n/it.js +15 -0
- package/dist/es2019/i18n/ja.js +15 -0
- package/dist/es2019/i18n/ko.js +15 -0
- package/dist/es2019/i18n/languages.js +26 -0
- package/dist/es2019/i18n/nb.js +15 -0
- package/dist/es2019/i18n/nl.js +15 -0
- package/dist/es2019/i18n/pl.js +15 -0
- package/dist/es2019/i18n/pt_BR.js +15 -0
- package/dist/es2019/i18n/pt_PT.js +15 -0
- package/dist/es2019/i18n/ro.js +9 -0
- package/dist/es2019/i18n/ru.js +15 -0
- package/dist/es2019/i18n/sk.js +15 -0
- package/dist/es2019/i18n/sv.js +15 -0
- package/dist/es2019/i18n/th.js +15 -0
- package/dist/es2019/i18n/tr.js +15 -0
- package/dist/es2019/i18n/uk.js +15 -0
- package/dist/es2019/i18n/vi.js +15 -0
- package/dist/es2019/i18n/zh.js +15 -0
- package/dist/es2019/i18n/zh_TW.js +15 -0
- package/dist/es2019/index.js +2 -0
- package/dist/es2019/picker.js +1 -0
- package/dist/es2019/version.json +4 -0
- package/dist/esm/components/Status.js +130 -0
- package/dist/esm/components/StatusPicker.js +100 -0
- package/dist/esm/components/analytics.js +26 -0
- package/dist/esm/components/constants.js +1 -0
- package/dist/esm/components/i18n.js +33 -0
- package/dist/esm/components/internal/color-palette.js +42 -0
- package/dist/esm/components/internal/color.js +117 -0
- package/dist/esm/element.js +1 -0
- package/dist/esm/i18n/cs.js +15 -0
- package/dist/esm/i18n/da.js +15 -0
- package/dist/esm/i18n/de.js +15 -0
- package/dist/esm/i18n/en.js +9 -0
- package/dist/esm/i18n/en_GB.js +9 -0
- package/dist/esm/i18n/es.js +15 -0
- package/dist/esm/i18n/et.js +15 -0
- package/dist/esm/i18n/fi.js +15 -0
- package/dist/esm/i18n/fr.js +15 -0
- package/dist/esm/i18n/hu.js +15 -0
- package/dist/esm/i18n/index.js +35 -0
- package/dist/esm/i18n/is.js +9 -0
- package/dist/esm/i18n/it.js +15 -0
- package/dist/esm/i18n/ja.js +15 -0
- package/dist/esm/i18n/ko.js +15 -0
- package/dist/esm/i18n/languages.js +26 -0
- package/dist/esm/i18n/nb.js +15 -0
- package/dist/esm/i18n/nl.js +15 -0
- package/dist/esm/i18n/pl.js +15 -0
- package/dist/esm/i18n/pt_BR.js +15 -0
- package/dist/esm/i18n/pt_PT.js +15 -0
- package/dist/esm/i18n/ro.js +9 -0
- package/dist/esm/i18n/ru.js +15 -0
- package/dist/esm/i18n/sk.js +15 -0
- package/dist/esm/i18n/sv.js +15 -0
- package/dist/esm/i18n/th.js +15 -0
- package/dist/esm/i18n/tr.js +15 -0
- package/dist/esm/i18n/uk.js +15 -0
- package/dist/esm/i18n/vi.js +15 -0
- package/dist/esm/i18n/zh.js +15 -0
- package/dist/esm/i18n/zh_TW.js +15 -0
- package/dist/esm/index.js +2 -0
- package/dist/esm/picker.js +1 -0
- package/dist/esm/version.json +4 -0
- package/dist/types/components/Status.d.ts +14 -0
- package/dist/types/components/StatusPicker.d.ts +23 -0
- package/dist/types/components/analytics.d.ts +11 -0
- package/dist/types/components/constants.d.ts +1 -0
- package/dist/types/components/i18n.d.ts +2 -0
- package/dist/types/components/internal/color-palette.d.ts +10 -0
- package/dist/types/components/internal/color.d.ts +21 -0
- package/dist/types/element.d.ts +2 -0
- package/dist/types/i18n/cs.d.ts +15 -0
- package/dist/types/i18n/da.d.ts +15 -0
- package/dist/types/i18n/de.d.ts +15 -0
- package/dist/types/i18n/en.d.ts +9 -0
- package/dist/types/i18n/en_GB.d.ts +9 -0
- package/dist/types/i18n/es.d.ts +15 -0
- package/dist/types/i18n/et.d.ts +15 -0
- package/dist/types/i18n/fi.d.ts +15 -0
- package/dist/types/i18n/fr.d.ts +15 -0
- package/dist/types/i18n/hu.d.ts +15 -0
- package/dist/types/i18n/index.d.ts +35 -0
- package/dist/types/i18n/is.d.ts +9 -0
- package/dist/types/i18n/it.d.ts +15 -0
- package/dist/types/i18n/ja.d.ts +15 -0
- package/dist/types/i18n/ko.d.ts +15 -0
- package/dist/types/i18n/languages.d.ts +27 -0
- package/dist/types/i18n/nb.d.ts +15 -0
- package/dist/types/i18n/nl.d.ts +15 -0
- package/dist/types/i18n/pl.d.ts +15 -0
- package/dist/types/i18n/pt_BR.d.ts +15 -0
- package/dist/types/i18n/pt_PT.d.ts +15 -0
- package/dist/types/i18n/ro.d.ts +9 -0
- package/dist/types/i18n/ru.d.ts +15 -0
- package/dist/types/i18n/sk.d.ts +15 -0
- package/dist/types/i18n/sv.d.ts +15 -0
- package/dist/types/i18n/th.d.ts +15 -0
- package/dist/types/i18n/tr.d.ts +15 -0
- package/dist/types/i18n/uk.d.ts +15 -0
- package/dist/types/i18n/vi.d.ts +15 -0
- package/dist/types/i18n/zh.d.ts +15 -0
- package/dist/types/i18n/zh_TW.d.ts +15 -0
- package/dist/types/index.d.ts +4 -0
- package/dist/types/picker.d.ts +2 -0
- package/docs/0-intro.tsx +53 -0
- package/element/package.json +7 -0
- package/package.json +59 -0
- package/picker/package.json +7 -0
- 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 @@
|
|
|
1
|
+
export { StatusPicker } from './components/StatusPicker';
|
|
@@ -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 };
|