@atlaskit/emoji 65.1.1 → 65.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.
- package/CHANGELOG.md +19 -0
- package/dist/cjs/components/common/CachingEmoji.js +84 -151
- package/dist/cjs/components/common/Emoji.js +2 -2
- package/dist/cjs/components/common/EmojiActions.js +129 -175
- package/dist/cjs/components/common/EmojiErrorMessage.js +23 -59
- package/dist/cjs/components/common/EmojiPreviewComponent.js +1 -0
- package/dist/cjs/components/common/EmojiUploadPicker.js +235 -293
- package/dist/cjs/components/common/FileChooser.js +34 -71
- package/dist/cjs/components/common/Popup.js +105 -154
- package/dist/cjs/components/common/RetryableButton.js +43 -64
- package/dist/cjs/components/common/ToneSelector.js +50 -89
- package/dist/cjs/components/common/styles.js +14 -16
- package/dist/cjs/components/hooks.js +16 -0
- package/dist/cjs/components/picker/EmojiPickerCategoryHeading.js +16 -48
- package/dist/cjs/components/picker/EmojiPickerComponent.js +496 -516
- package/dist/cjs/components/picker/EmojiPickerEmojiRow.js +33 -60
- package/dist/cjs/components/picker/EmojiPickerFooter.js +13 -48
- package/dist/cjs/components/uploader/EmojiUploadComponent.js +124 -109
- package/dist/cjs/hooks/useEmojiContext.js +16 -0
- package/dist/cjs/hooks/{index.js → usePrevious.js} +0 -0
- package/dist/cjs/index.js +16 -0
- package/dist/cjs/version.json +1 -1
- package/dist/es2019/components/common/CachingEmoji.js +65 -112
- package/dist/es2019/components/common/Emoji.js +2 -2
- package/dist/es2019/components/common/EmojiActions.js +124 -150
- package/dist/es2019/components/common/EmojiErrorMessage.js +22 -26
- package/dist/es2019/components/common/EmojiPreviewComponent.js +1 -0
- package/dist/es2019/components/common/EmojiUploadPicker.js +190 -253
- package/dist/es2019/components/common/FileChooser.js +37 -40
- package/dist/es2019/components/common/Popup.js +89 -109
- package/dist/es2019/components/common/RetryableButton.js +43 -34
- package/dist/es2019/components/common/ToneSelector.js +46 -59
- package/dist/es2019/components/common/styles.js +9 -9
- package/dist/es2019/components/hooks.js +8 -0
- package/dist/es2019/components/picker/EmojiPickerCategoryHeading.js +13 -17
- package/dist/es2019/components/picker/EmojiPickerComponent.js +417 -506
- package/dist/es2019/components/picker/EmojiPickerEmojiRow.js +32 -35
- package/dist/es2019/components/picker/EmojiPickerFooter.js +11 -21
- package/dist/es2019/components/uploader/EmojiUploadComponent.js +81 -91
- package/dist/es2019/hooks/useEmojiContext.js +3 -0
- package/dist/es2019/hooks/{index.js → usePrevious.js} +0 -0
- package/dist/es2019/index.js +4 -1
- package/dist/es2019/version.json +1 -1
- package/dist/esm/components/common/CachingEmoji.js +86 -156
- package/dist/esm/components/common/Emoji.js +2 -2
- package/dist/esm/components/common/EmojiActions.js +129 -176
- package/dist/esm/components/common/EmojiErrorMessage.js +21 -56
- package/dist/esm/components/common/EmojiPreviewComponent.js +1 -0
- package/dist/esm/components/common/EmojiUploadPicker.js +233 -299
- package/dist/esm/components/common/FileChooser.js +34 -70
- package/dist/esm/components/common/Popup.js +104 -155
- package/dist/esm/components/common/RetryableButton.js +40 -60
- package/dist/esm/components/common/ToneSelector.js +50 -87
- package/dist/esm/components/common/styles.js +10 -10
- package/dist/esm/components/hooks.js +8 -0
- package/dist/esm/components/picker/EmojiPickerCategoryHeading.js +14 -43
- package/dist/esm/components/picker/EmojiPickerComponent.js +486 -535
- package/dist/esm/components/picker/EmojiPickerEmojiRow.js +31 -59
- package/dist/esm/components/picker/EmojiPickerFooter.js +14 -49
- package/dist/esm/components/uploader/EmojiUploadComponent.js +119 -113
- package/dist/esm/hooks/useEmojiContext.js +5 -0
- package/dist/esm/hooks/{index.js → usePrevious.js} +0 -0
- package/dist/esm/index.js +4 -1
- package/dist/esm/version.json +1 -1
- package/dist/types/components/common/CachingEmoji.d.ts +3 -13
- package/dist/types/components/common/Emoji.d.ts +1 -1
- package/dist/types/components/common/EmojiActions.d.ts +6 -17
- package/dist/types/components/common/EmojiErrorMessage.d.ts +3 -6
- package/dist/types/components/common/EmojiPreviewComponent.d.ts +2 -2
- package/dist/types/components/common/EmojiUploadPicker.d.ts +3 -27
- package/dist/types/components/common/FileChooser.d.ts +3 -5
- package/dist/types/components/common/Popup.d.ts +3 -20
- package/dist/types/components/common/RetryableButton.d.ts +3 -7
- package/dist/types/components/common/ToneSelector.d.ts +4 -10
- package/dist/types/components/common/setSkinToneAriaLabelText.d.ts +1 -1
- package/dist/types/components/common/styles.d.ts +1 -3
- package/dist/types/components/hooks.d.ts +1 -0
- package/dist/types/components/picker/CategorySelector.d.ts +1 -1
- package/dist/types/components/picker/EmojiPicker.d.ts +3 -3
- package/dist/types/components/picker/EmojiPickerCategoryHeading.d.ts +3 -4
- package/dist/types/components/picker/EmojiPickerComponent.d.ts +4 -80
- package/dist/types/components/picker/EmojiPickerEmojiRow.d.ts +3 -4
- package/dist/types/components/picker/EmojiPickerFooter.d.ts +3 -6
- package/dist/types/components/uploader/EmojiUploadComponent.d.ts +3 -17
- package/dist/types/components/uploader/EmojiUploader.d.ts +5 -7
- package/dist/types/hooks/useEmojiContext.d.ts +1 -0
- package/dist/types/hooks/{index.d.ts → usePrevious.d.ts} +0 -0
- package/dist/types/index.d.ts +3 -1
- package/dist/types/types.d.ts +2 -1
- package/local-config-example.ts +3 -1
- package/package.json +17 -4
- package/dist/cjs/components/common/EmojiPreview.js +0 -194
- package/dist/es2019/components/common/EmojiPreview.js +0 -152
- package/dist/esm/components/common/EmojiPreview.js +0 -170
- package/dist/types/components/common/EmojiPreview.d.ts +0 -31
|
@@ -9,20 +9,6 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
9
9
|
});
|
|
10
10
|
exports.default = void 0;
|
|
11
11
|
|
|
12
|
-
var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
|
|
13
|
-
|
|
14
|
-
var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
|
|
15
|
-
|
|
16
|
-
var _assertThisInitialized2 = _interopRequireDefault(require("@babel/runtime/helpers/assertThisInitialized"));
|
|
17
|
-
|
|
18
|
-
var _inherits2 = _interopRequireDefault(require("@babel/runtime/helpers/inherits"));
|
|
19
|
-
|
|
20
|
-
var _possibleConstructorReturn2 = _interopRequireDefault(require("@babel/runtime/helpers/possibleConstructorReturn"));
|
|
21
|
-
|
|
22
|
-
var _getPrototypeOf2 = _interopRequireDefault(require("@babel/runtime/helpers/getPrototypeOf"));
|
|
23
|
-
|
|
24
|
-
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
|
25
|
-
|
|
26
12
|
var _react = _interopRequireWildcard(require("react"));
|
|
27
13
|
|
|
28
14
|
var _customThemeButton = _interopRequireDefault(require("@atlaskit/button/custom-theme-button"));
|
|
@@ -31,65 +17,42 @@ function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "functio
|
|
|
31
17
|
|
|
32
18
|
function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
|
|
33
19
|
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
var
|
|
42
|
-
|
|
43
|
-
function
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
(0, _classCallCheck2.default)(this, FileChooser);
|
|
47
|
-
|
|
48
|
-
for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
|
|
49
|
-
args[_key] = arguments[_key];
|
|
20
|
+
var FileChooser = function FileChooser(props) {
|
|
21
|
+
var accept = props.accept,
|
|
22
|
+
ariaDescribedBy = props.ariaDescribedBy,
|
|
23
|
+
isDisabled = props.isDisabled,
|
|
24
|
+
label = props.label,
|
|
25
|
+
onChange = props.onChange,
|
|
26
|
+
onClick = props.onClick;
|
|
27
|
+
var filePickerRef = (0, _react.useRef)(null);
|
|
28
|
+
|
|
29
|
+
var handleOnChooseFile = function handleOnChooseFile() {
|
|
30
|
+
if (!filePickerRef.current) {
|
|
31
|
+
return;
|
|
50
32
|
}
|
|
51
33
|
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
_this.props.onClick();
|
|
56
|
-
}
|
|
57
|
-
|
|
58
|
-
var chooseFile = _this.refs['chooseFile'];
|
|
59
|
-
|
|
60
|
-
if (chooseFile) {
|
|
61
|
-
chooseFile.click();
|
|
62
|
-
}
|
|
63
|
-
});
|
|
64
|
-
return _this;
|
|
65
|
-
}
|
|
34
|
+
if (onClick) {
|
|
35
|
+
onClick();
|
|
36
|
+
}
|
|
66
37
|
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
ref: "chooseFile",
|
|
83
|
-
onChange: onChange,
|
|
84
|
-
type: "file",
|
|
85
|
-
accept: accept,
|
|
86
|
-
style: {
|
|
87
|
-
display: 'none'
|
|
88
|
-
}
|
|
89
|
-
}));
|
|
38
|
+
filePickerRef.current.click();
|
|
39
|
+
};
|
|
40
|
+
|
|
41
|
+
return /*#__PURE__*/_react.default.createElement("span", null, /*#__PURE__*/_react.default.createElement(_customThemeButton.default, {
|
|
42
|
+
onClick: handleOnChooseFile,
|
|
43
|
+
isDisabled: isDisabled,
|
|
44
|
+
"aria-describedby": ariaDescribedBy
|
|
45
|
+
}, label), /*#__PURE__*/_react.default.createElement("input", {
|
|
46
|
+
className: "emojiUploadFileInput",
|
|
47
|
+
ref: filePickerRef,
|
|
48
|
+
onChange: onChange,
|
|
49
|
+
type: "file",
|
|
50
|
+
accept: accept,
|
|
51
|
+
style: {
|
|
52
|
+
display: 'none'
|
|
90
53
|
}
|
|
91
|
-
}
|
|
92
|
-
|
|
93
|
-
}(_react.PureComponent);
|
|
54
|
+
}));
|
|
55
|
+
};
|
|
94
56
|
|
|
95
|
-
|
|
57
|
+
var _default = FileChooser;
|
|
58
|
+
exports.default = _default;
|
|
@@ -9,19 +9,7 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
9
9
|
});
|
|
10
10
|
exports.default = void 0;
|
|
11
11
|
|
|
12
|
-
var
|
|
13
|
-
|
|
14
|
-
var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
|
|
15
|
-
|
|
16
|
-
var _assertThisInitialized2 = _interopRequireDefault(require("@babel/runtime/helpers/assertThisInitialized"));
|
|
17
|
-
|
|
18
|
-
var _inherits2 = _interopRequireDefault(require("@babel/runtime/helpers/inherits"));
|
|
19
|
-
|
|
20
|
-
var _possibleConstructorReturn2 = _interopRequireDefault(require("@babel/runtime/helpers/possibleConstructorReturn"));
|
|
21
|
-
|
|
22
|
-
var _getPrototypeOf2 = _interopRequireDefault(require("@babel/runtime/helpers/getPrototypeOf"));
|
|
23
|
-
|
|
24
|
-
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
|
12
|
+
var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
|
|
25
13
|
|
|
26
14
|
var _react = _interopRequireWildcard(require("react"));
|
|
27
15
|
|
|
@@ -31,10 +19,6 @@ function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "functio
|
|
|
31
19
|
|
|
32
20
|
function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
|
|
33
21
|
|
|
34
|
-
function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2.default)(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2.default)(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2.default)(this, result); }; }
|
|
35
|
-
|
|
36
|
-
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; } }
|
|
37
|
-
|
|
38
22
|
var getTargetNode = function getTargetNode(target) {
|
|
39
23
|
if (typeof target === 'string') {
|
|
40
24
|
return document.querySelector(target);
|
|
@@ -44,164 +28,131 @@ var getTargetNode = function getTargetNode(target) {
|
|
|
44
28
|
return target;
|
|
45
29
|
};
|
|
46
30
|
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
31
|
+
var Popup = function Popup(props) {
|
|
32
|
+
var _props$relativePositi = props.relativePosition,
|
|
33
|
+
relativePosition = _props$relativePositi === void 0 ? 'auto' : _props$relativePositi,
|
|
34
|
+
_props$offsetX = props.offsetX,
|
|
35
|
+
offsetX = _props$offsetX === void 0 ? 0 : _props$offsetX,
|
|
36
|
+
_props$offsetY = props.offsetY,
|
|
37
|
+
offsetY = _props$offsetY === void 0 ? 0 : _props$offsetY,
|
|
38
|
+
_props$zIndex = props.zIndex,
|
|
39
|
+
zIndex = _props$zIndex === void 0 ? 9 : _props$zIndex,
|
|
40
|
+
target = props.target,
|
|
41
|
+
children = props.children;
|
|
42
|
+
var popup = (0, _react.useRef)();
|
|
43
|
+
|
|
44
|
+
var _useState = (0, _react.useState)(null),
|
|
45
|
+
_useState2 = (0, _slicedToArray2.default)(_useState, 2),
|
|
46
|
+
debounced = _useState2[0],
|
|
47
|
+
setDebounced = _useState2[1];
|
|
48
|
+
|
|
49
|
+
var applyBelowPosition = (0, _react.useCallback)(function () {
|
|
50
|
+
var targetNode = getTargetNode(target);
|
|
51
|
+
|
|
52
|
+
if (targetNode && popup.current) {
|
|
53
|
+
var box = targetNode.getBoundingClientRect();
|
|
54
|
+
var top = box.bottom + (offsetY || 0);
|
|
55
|
+
var left = box.left + (offsetX || 0);
|
|
56
|
+
popup.current.style.top = "".concat(top, "px");
|
|
57
|
+
popup.current.style.bottom = '';
|
|
58
|
+
popup.current.style.left = "".concat(left, "px");
|
|
59
|
+
}
|
|
60
|
+
}, [offsetX, offsetY, target]);
|
|
61
|
+
var applyAbovePosition = (0, _react.useCallback)(function () {
|
|
62
|
+
if (typeof window === 'undefined') {
|
|
63
|
+
return;
|
|
62
64
|
}
|
|
63
65
|
|
|
64
|
-
|
|
65
|
-
(0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "debounced", null);
|
|
66
|
-
(0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "handleResize", function () {
|
|
67
|
-
if (_this.debounced) {
|
|
68
|
-
clearTimeout(_this.debounced);
|
|
69
|
-
_this.debounced = null;
|
|
70
|
-
}
|
|
71
|
-
|
|
72
|
-
if (typeof window === 'undefined') {
|
|
73
|
-
return;
|
|
74
|
-
} // Timeout set to 30ms as to not throttle IE11
|
|
75
|
-
|
|
66
|
+
var targetNode = getTargetNode(target);
|
|
76
67
|
|
|
77
|
-
|
|
78
|
-
|
|
68
|
+
if (targetNode && popup.current) {
|
|
69
|
+
var box = targetNode.getBoundingClientRect();
|
|
70
|
+
var bottom = window.innerHeight - box.top + (offsetY || 0);
|
|
71
|
+
var left = box.left + (offsetX || 0);
|
|
72
|
+
popup.current.style.top = '';
|
|
73
|
+
popup.current.style.bottom = "".concat(bottom, "px");
|
|
74
|
+
popup.current.style.left = "".concat(left, "px");
|
|
75
|
+
}
|
|
76
|
+
}, [offsetX, offsetY, target]);
|
|
77
|
+
var applyAbsolutePosition = (0, _react.useCallback)(function () {
|
|
78
|
+
if (typeof window === 'undefined') {
|
|
79
|
+
return;
|
|
80
|
+
}
|
|
79
81
|
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
})
|
|
83
|
-
|
|
84
|
-
|
|
82
|
+
if (relativePosition === 'above') {
|
|
83
|
+
applyAbovePosition();
|
|
84
|
+
} else if (relativePosition === 'below') {
|
|
85
|
+
applyBelowPosition();
|
|
86
|
+
} else {
|
|
87
|
+
var targetNode = getTargetNode(target);
|
|
85
88
|
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
this.popup = document.createElement('div');
|
|
90
|
-
document.body.appendChild(this.popup);
|
|
91
|
-
this.popup.style.position = 'absolute';
|
|
89
|
+
if (targetNode) {
|
|
90
|
+
var box = targetNode.getBoundingClientRect();
|
|
91
|
+
var viewPortHeight = window.innerHeight;
|
|
92
92
|
|
|
93
|
-
|
|
94
|
-
|
|
93
|
+
if (box.top < viewPortHeight / 2) {
|
|
94
|
+
applyBelowPosition();
|
|
95
|
+
} else {
|
|
96
|
+
applyAbovePosition();
|
|
97
|
+
}
|
|
95
98
|
}
|
|
99
|
+
}
|
|
96
100
|
|
|
97
|
-
|
|
98
|
-
|
|
101
|
+
if (zIndex && popup.current) {
|
|
102
|
+
popup.current.style.zIndex = "".concat(zIndex);
|
|
99
103
|
}
|
|
100
|
-
},
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
104
|
+
}, [applyAbovePosition, applyBelowPosition, relativePosition, target, zIndex]);
|
|
105
|
+
var handleResize = (0, _react.useCallback)(function () {
|
|
106
|
+
if (debounced) {
|
|
107
|
+
clearTimeout(debounced);
|
|
108
|
+
setDebounced(null);
|
|
105
109
|
}
|
|
106
|
-
}, {
|
|
107
|
-
key: "componentWillUnmount",
|
|
108
|
-
value: function componentWillUnmount() {
|
|
109
|
-
if (typeof window === 'undefined') {
|
|
110
|
-
return;
|
|
111
|
-
}
|
|
112
110
|
|
|
113
|
-
|
|
111
|
+
if (typeof window === 'undefined') {
|
|
112
|
+
return;
|
|
113
|
+
} // Timeout set to 30ms as to not throttle IE11
|
|
114
114
|
|
|
115
|
-
if (this.popup) {
|
|
116
|
-
_reactDom.default.unmountComponentAtNode(this.popup);
|
|
117
115
|
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
116
|
+
var debounceId = window.setTimeout(function () {
|
|
117
|
+
applyAbsolutePosition();
|
|
118
|
+
setDebounced(null);
|
|
119
|
+
}, 30);
|
|
120
|
+
setDebounced(debounceId);
|
|
121
|
+
}, [applyAbsolutePosition, debounced]);
|
|
122
|
+
var renderPopup = (0, _react.useCallback)(function () {
|
|
123
|
+
if (!popup.current) {
|
|
124
|
+
return;
|
|
125
|
+
}
|
|
121
126
|
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
127
|
+
_reactDom.default.render(children, popup.current);
|
|
128
|
+
}, [children]);
|
|
129
|
+
(0, _react.useEffect)(function () {
|
|
130
|
+
popup.current = document.createElement('div');
|
|
131
|
+
document.body.appendChild(popup.current);
|
|
132
|
+
popup.current.style.position = 'absolute';
|
|
126
133
|
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
var top = box.bottom + (this.props.offsetY || 0);
|
|
130
|
-
var left = box.left + (this.props.offsetX || 0);
|
|
131
|
-
this.popup.style.top = "".concat(top, "px");
|
|
132
|
-
this.popup.style.bottom = '';
|
|
133
|
-
this.popup.style.left = "".concat(left, "px");
|
|
134
|
-
}
|
|
134
|
+
if (typeof window !== 'undefined') {
|
|
135
|
+
window.addEventListener('resize', handleResize);
|
|
135
136
|
}
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
137
|
+
|
|
138
|
+
applyAbsolutePosition();
|
|
139
|
+
renderPopup();
|
|
140
|
+
return function () {
|
|
139
141
|
if (typeof window === 'undefined') {
|
|
140
142
|
return;
|
|
141
143
|
}
|
|
142
144
|
|
|
143
|
-
|
|
145
|
+
window.removeEventListener('resize', handleResize);
|
|
144
146
|
|
|
145
|
-
if (
|
|
146
|
-
|
|
147
|
-
var bottom = window.innerHeight - box.top + (this.props.offsetY || 0);
|
|
148
|
-
var left = box.left + (this.props.offsetX || 0);
|
|
149
|
-
this.popup.style.top = '';
|
|
150
|
-
this.popup.style.bottom = "".concat(bottom, "px");
|
|
151
|
-
this.popup.style.left = "".concat(left, "px");
|
|
152
|
-
}
|
|
153
|
-
}
|
|
154
|
-
}, {
|
|
155
|
-
key: "applyAbsolutePosition",
|
|
156
|
-
value: function applyAbsolutePosition() {
|
|
157
|
-
if (typeof window === 'undefined') {
|
|
158
|
-
return;
|
|
159
|
-
}
|
|
147
|
+
if (popup.current) {
|
|
148
|
+
_reactDom.default.unmountComponentAtNode(popup.current);
|
|
160
149
|
|
|
161
|
-
|
|
162
|
-
this.applyAbovePosition();
|
|
163
|
-
} else if (this.props.relativePosition === 'below') {
|
|
164
|
-
this.applyBelowPosition();
|
|
165
|
-
} else {
|
|
166
|
-
var targetNode = getTargetNode(this.props.target);
|
|
167
|
-
|
|
168
|
-
if (targetNode) {
|
|
169
|
-
var box = targetNode.getBoundingClientRect();
|
|
170
|
-
var viewPortHeight = window.innerHeight;
|
|
171
|
-
|
|
172
|
-
if (box.top < viewPortHeight / 2) {
|
|
173
|
-
this.applyBelowPosition();
|
|
174
|
-
} else {
|
|
175
|
-
this.applyAbovePosition();
|
|
176
|
-
}
|
|
177
|
-
}
|
|
150
|
+
document.body.removeChild(popup.current);
|
|
178
151
|
}
|
|
152
|
+
};
|
|
153
|
+
}, [applyAbsolutePosition, handleResize, renderPopup]);
|
|
154
|
+
return /*#__PURE__*/_react.default.createElement("div", null);
|
|
155
|
+
};
|
|
179
156
|
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
}
|
|
183
|
-
}
|
|
184
|
-
}, {
|
|
185
|
-
key: "renderContent",
|
|
186
|
-
value: function renderContent() {
|
|
187
|
-
if (this.popup) {
|
|
188
|
-
_reactDom.default.render(this.props.children, this.popup);
|
|
189
|
-
}
|
|
190
|
-
}
|
|
191
|
-
}, {
|
|
192
|
-
key: "render",
|
|
193
|
-
value: function render() {
|
|
194
|
-
// inline placeholder element for react to render inplace
|
|
195
|
-
return /*#__PURE__*/_react.default.createElement("div", null);
|
|
196
|
-
}
|
|
197
|
-
}]);
|
|
198
|
-
return Popup;
|
|
199
|
-
}(_react.PureComponent);
|
|
200
|
-
|
|
201
|
-
exports.default = Popup;
|
|
202
|
-
(0, _defineProperty2.default)(Popup, "defaultProps", {
|
|
203
|
-
relativePosition: 'auto',
|
|
204
|
-
offsetX: 0,
|
|
205
|
-
offsetY: 0,
|
|
206
|
-
zIndex: 0
|
|
207
|
-
});
|
|
157
|
+
var _default = Popup;
|
|
158
|
+
exports.default = _default;
|
|
@@ -7,82 +7,61 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
7
7
|
});
|
|
8
8
|
exports.default = void 0;
|
|
9
9
|
|
|
10
|
-
var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
|
|
11
|
-
|
|
12
|
-
var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
|
|
13
|
-
|
|
14
|
-
var _inherits2 = _interopRequireDefault(require("@babel/runtime/helpers/inherits"));
|
|
15
|
-
|
|
16
|
-
var _possibleConstructorReturn2 = _interopRequireDefault(require("@babel/runtime/helpers/possibleConstructorReturn"));
|
|
17
|
-
|
|
18
|
-
var _getPrototypeOf2 = _interopRequireDefault(require("@babel/runtime/helpers/getPrototypeOf"));
|
|
19
|
-
|
|
20
10
|
var _core = require("@emotion/core");
|
|
21
11
|
|
|
22
12
|
var _customThemeButton = _interopRequireDefault(require("@atlaskit/button/custom-theme-button"));
|
|
23
13
|
|
|
24
14
|
var _spinner = _interopRequireDefault(require("@atlaskit/spinner"));
|
|
25
15
|
|
|
26
|
-
var _react = require("react");
|
|
27
|
-
|
|
28
16
|
var _reactIntlNext = require("react-intl-next");
|
|
29
17
|
|
|
30
18
|
var _i18n = require("../i18n");
|
|
31
19
|
|
|
32
20
|
var _styles = require("./styles");
|
|
33
21
|
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
22
|
+
/** @jsx jsx */
|
|
23
|
+
var LoadingSpinner = function LoadingSpinner() {
|
|
24
|
+
return (0, _core.jsx)("span", {
|
|
25
|
+
css: _styles.buttonSpinner
|
|
26
|
+
}, (0, _core.jsx)(_spinner.default, null));
|
|
27
|
+
};
|
|
28
|
+
|
|
29
|
+
var RetryButton = function RetryButton(props) {
|
|
30
|
+
var onSubmit = props.onSubmit;
|
|
31
|
+
return (0, _core.jsx)(_reactIntlNext.FormattedMessage, _i18n.messages.retryLabel, function (retryLabel) {
|
|
32
|
+
return (0, _core.jsx)(_customThemeButton.default, {
|
|
33
|
+
css: _styles.uploadRetryButton,
|
|
34
|
+
appearance: "warning",
|
|
35
|
+
onClick: onSubmit
|
|
36
|
+
}, retryLabel);
|
|
37
|
+
});
|
|
38
|
+
};
|
|
39
|
+
|
|
40
|
+
var UploadButton = function UploadButton(props) {
|
|
41
|
+
var appearance = props.appearance,
|
|
42
|
+
onSubmit = props.onSubmit,
|
|
43
|
+
label = props.label;
|
|
44
|
+
return (0, _core.jsx)(_customThemeButton.default, {
|
|
45
|
+
css: _styles.uploadEmojiButton,
|
|
46
|
+
appearance: appearance,
|
|
47
|
+
onClick: onSubmit
|
|
48
|
+
}, label);
|
|
49
|
+
};
|
|
50
|
+
|
|
51
|
+
var RetryableButton = function RetryableButton(props) {
|
|
52
|
+
var loading = props.loading,
|
|
53
|
+
error = props.error;
|
|
54
|
+
|
|
55
|
+
if (loading) {
|
|
56
|
+
return (0, _core.jsx)(LoadingSpinner, null);
|
|
57
|
+
}
|
|
42
58
|
|
|
43
|
-
|
|
44
|
-
(0,
|
|
45
|
-
return _super.call(this, props);
|
|
59
|
+
if (error) {
|
|
60
|
+
return (0, _core.jsx)(RetryButton, props);
|
|
46
61
|
}
|
|
47
62
|
|
|
48
|
-
(0,
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
}, (0, _core.jsx)(_spinner.default, null));
|
|
54
|
-
}
|
|
55
|
-
}, {
|
|
56
|
-
key: "renderRetry",
|
|
57
|
-
value: function renderRetry() {
|
|
58
|
-
var _this$props = this.props,
|
|
59
|
-
loading = _this$props.loading,
|
|
60
|
-
onSubmit = _this$props.onSubmit;
|
|
61
|
-
return loading ? this.renderLoading() : (0, _core.jsx)(_reactIntlNext.FormattedMessage, _i18n.messages.retryLabel, function (retryLabel) {
|
|
62
|
-
return (0, _core.jsx)(_customThemeButton.default, {
|
|
63
|
-
css: _styles.uploadRetryButton,
|
|
64
|
-
appearance: "warning",
|
|
65
|
-
onClick: onSubmit
|
|
66
|
-
}, retryLabel);
|
|
67
|
-
});
|
|
68
|
-
}
|
|
69
|
-
}, {
|
|
70
|
-
key: "render",
|
|
71
|
-
value: function render() {
|
|
72
|
-
var _this$props2 = this.props,
|
|
73
|
-
loading = _this$props2.loading,
|
|
74
|
-
error = _this$props2.error,
|
|
75
|
-
appearance = _this$props2.appearance,
|
|
76
|
-
onSubmit = _this$props2.onSubmit,
|
|
77
|
-
label = _this$props2.label;
|
|
78
|
-
return error ? this.renderRetry() : loading ? this.renderLoading() : (0, _core.jsx)(_customThemeButton.default, {
|
|
79
|
-
css: _styles.uploadEmojiButton,
|
|
80
|
-
appearance: appearance,
|
|
81
|
-
onClick: onSubmit
|
|
82
|
-
}, label);
|
|
83
|
-
}
|
|
84
|
-
}]);
|
|
85
|
-
return RetryableButton;
|
|
86
|
-
}(_react.Component);
|
|
87
|
-
|
|
88
|
-
exports.default = RetryableButton;
|
|
63
|
+
return (0, _core.jsx)(UploadButton, props);
|
|
64
|
+
};
|
|
65
|
+
|
|
66
|
+
var _default = RetryableButton;
|
|
67
|
+
exports.default = _default;
|