@atlaskit/reactions 21.6.2 → 21.8.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 +29 -0
- package/dist/cjs/MockReactionsClient.js +3 -1
- package/dist/cjs/analytics/analytics.js +21 -2
- package/dist/cjs/components/Counter/Counter.js +39 -31
- package/dist/cjs/components/Counter/index.js +8 -2
- package/dist/cjs/components/Counter/styles.js +4 -4
- package/dist/cjs/components/EmojiButton/EmojiButton.js +9 -4
- package/dist/cjs/components/EmojiButton/styles.js +2 -2
- package/dist/cjs/components/FlashAnimation/FlashAnimation.js +2 -2
- package/dist/cjs/components/FlashAnimation/styles.js +4 -4
- package/dist/cjs/components/Reaction/Reaction.js +15 -12
- package/dist/cjs/components/Reaction/styles.js +5 -5
- package/dist/cjs/components/ReactionPicker/ReactionPicker.js +59 -59
- package/dist/cjs/components/ReactionPicker/styles.js +7 -5
- package/dist/cjs/components/ReactionTooltip/ReactionTooltip.js +8 -8
- package/dist/cjs/components/ReactionTooltip/styles.js +4 -4
- package/dist/cjs/components/Reactions/Reactions.js +36 -41
- package/dist/cjs/components/Reactions/index.js +0 -6
- package/dist/cjs/components/Reactions/styles.js +3 -3
- package/dist/cjs/components/Selector/Selector.js +6 -6
- package/dist/cjs/components/Selector/styles.js +5 -5
- package/dist/cjs/components/ShowMore/ShowMore.js +13 -10
- package/dist/cjs/components/ShowMore/index.js +6 -0
- package/dist/cjs/components/ShowMore/styles.js +4 -4
- package/dist/cjs/components/Trigger/Trigger.js +28 -10
- package/dist/cjs/components/Trigger/index.js +6 -0
- package/dist/cjs/components/Trigger/styles.js +11 -5
- package/dist/cjs/containers/ConnectedReactionsView/ConnectedReactionsView.js +5 -7
- package/dist/cjs/hooks/useClickAway.js +5 -3
- package/dist/cjs/shared/constants.js +14 -2
- package/dist/cjs/shared/i18n.js +10 -0
- package/dist/cjs/store/MemoryReactionsStore.js +33 -29
- package/dist/cjs/types/reaction.js +5 -0
- package/dist/cjs/version.json +1 -1
- package/dist/es2019/MockReactionsClient.js +1 -1
- package/dist/es2019/analytics/analytics.js +17 -1
- package/dist/es2019/components/Counter/Counter.js +39 -32
- package/dist/es2019/components/Counter/index.js +1 -1
- package/dist/es2019/components/Counter/styles.js +1 -1
- package/dist/es2019/components/EmojiButton/EmojiButton.js +7 -3
- package/dist/es2019/components/EmojiButton/styles.js +1 -1
- package/dist/es2019/components/FlashAnimation/FlashAnimation.js +1 -1
- package/dist/es2019/components/FlashAnimation/styles.js +1 -1
- package/dist/es2019/components/Reaction/Reaction.js +9 -7
- package/dist/es2019/components/Reaction/styles.js +1 -1
- package/dist/es2019/components/ReactionPicker/ReactionPicker.js +33 -10
- package/dist/es2019/components/ReactionPicker/styles.js +4 -2
- package/dist/es2019/components/ReactionTooltip/ReactionTooltip.js +2 -2
- package/dist/es2019/components/ReactionTooltip/styles.js +1 -1
- package/dist/es2019/components/Reactions/Reactions.js +33 -34
- package/dist/es2019/components/Reactions/index.js +1 -1
- package/dist/es2019/components/Reactions/styles.js +1 -1
- package/dist/es2019/components/Selector/Selector.js +1 -1
- package/dist/es2019/components/Selector/styles.js +1 -1
- package/dist/es2019/components/ShowMore/ShowMore.js +5 -3
- package/dist/es2019/components/ShowMore/index.js +1 -1
- package/dist/es2019/components/ShowMore/styles.js +1 -1
- package/dist/es2019/components/Trigger/Trigger.js +22 -7
- package/dist/es2019/components/Trigger/index.js +1 -1
- package/dist/es2019/components/Trigger/styles.js +11 -6
- package/dist/es2019/containers/ConnectedReactionsView/ConnectedReactionsView.js +5 -7
- package/dist/es2019/hooks/useClickAway.js +5 -4
- package/dist/es2019/shared/constants.js +10 -0
- package/dist/es2019/shared/i18n.js +10 -0
- package/dist/es2019/store/MemoryReactionsStore.js +32 -29
- package/dist/es2019/types/reaction.js +5 -0
- package/dist/es2019/version.json +1 -1
- package/dist/esm/MockReactionsClient.js +1 -3
- package/dist/esm/analytics/analytics.js +16 -0
- package/dist/esm/components/Counter/Counter.js +26 -24
- package/dist/esm/components/Counter/index.js +1 -1
- package/dist/esm/components/Counter/styles.js +1 -1
- package/dist/esm/components/EmojiButton/EmojiButton.js +7 -3
- package/dist/esm/components/EmojiButton/styles.js +1 -1
- package/dist/esm/components/FlashAnimation/FlashAnimation.js +1 -1
- package/dist/esm/components/FlashAnimation/styles.js +1 -1
- package/dist/esm/components/Reaction/Reaction.js +9 -7
- package/dist/esm/components/Reaction/styles.js +1 -1
- package/dist/esm/components/ReactionPicker/ReactionPicker.js +50 -51
- package/dist/esm/components/ReactionPicker/styles.js +4 -2
- package/dist/esm/components/ReactionTooltip/ReactionTooltip.js +2 -2
- package/dist/esm/components/ReactionTooltip/styles.js +1 -1
- package/dist/esm/components/Reactions/Reactions.js +31 -34
- package/dist/esm/components/Reactions/index.js +1 -1
- package/dist/esm/components/Reactions/styles.js +1 -1
- package/dist/esm/components/Selector/Selector.js +1 -1
- package/dist/esm/components/Selector/styles.js +1 -1
- package/dist/esm/components/ShowMore/ShowMore.js +5 -3
- package/dist/esm/components/ShowMore/index.js +1 -1
- package/dist/esm/components/ShowMore/styles.js +1 -1
- package/dist/esm/components/Trigger/Trigger.js +24 -8
- package/dist/esm/components/Trigger/index.js +1 -1
- package/dist/esm/components/Trigger/styles.js +12 -6
- package/dist/esm/containers/ConnectedReactionsView/ConnectedReactionsView.js +5 -7
- package/dist/esm/hooks/useClickAway.js +5 -3
- package/dist/esm/shared/constants.js +10 -0
- package/dist/esm/shared/i18n.js +10 -0
- package/dist/esm/store/MemoryReactionsStore.js +32 -29
- package/dist/esm/types/reaction.js +5 -0
- package/dist/esm/version.json +1 -1
- package/dist/types/MockReactionsClient.d.ts +3 -0
- package/dist/types/analytics/analytics.d.ts +6 -0
- package/dist/types/components/Counter/Counter.d.ts +8 -3
- package/dist/types/components/Counter/index.d.ts +1 -1
- package/dist/types/components/Counter/styles.d.ts +3 -3
- package/dist/types/components/EmojiButton/styles.d.ts +1 -1
- package/dist/types/components/FlashAnimation/styles.d.ts +5 -3
- package/dist/types/components/Reaction/styles.d.ts +4 -4
- package/dist/types/components/ReactionPicker/ReactionPicker.d.ts +2 -5
- package/dist/types/components/ReactionPicker/styles.d.ts +3 -3
- package/dist/types/components/ReactionTooltip/styles.d.ts +3 -3
- package/dist/types/components/Reactions/Reactions.d.ts +8 -15
- package/dist/types/components/Reactions/index.d.ts +1 -1
- package/dist/types/components/Reactions/styles.d.ts +2 -2
- package/dist/types/components/Selector/Selector.d.ts +1 -1
- package/dist/types/components/Selector/styles.d.ts +6 -4
- package/dist/types/components/ShowMore/ShowMore.d.ts +2 -1
- package/dist/types/components/ShowMore/index.d.ts +1 -1
- package/dist/types/components/ShowMore/styles.d.ts +3 -3
- package/dist/types/components/Trigger/Trigger.d.ts +14 -2
- package/dist/types/components/Trigger/index.d.ts +1 -1
- package/dist/types/components/Trigger/styles.d.ts +1 -1
- package/dist/types/containers/ConnectedReactionsView/ConnectedReactionsView.d.ts +3 -3
- package/dist/types/hooks/useClickAway.d.ts +2 -1
- package/dist/types/shared/constants.d.ts +8 -0
- package/dist/types/shared/i18n.d.ts +10 -0
- package/dist/types/types/Actions.d.ts +2 -2
- package/dist/types/types/index.d.ts +1 -1
- package/dist/types/types/reaction.d.ts +19 -1
- package/dist/types-ts4.0/MockReactionsClient.d.ts +3 -0
- package/dist/types-ts4.0/analytics/analytics.d.ts +6 -0
- package/dist/types-ts4.0/components/Counter/Counter.d.ts +8 -3
- package/dist/types-ts4.0/components/Counter/index.d.ts +1 -1
- package/dist/types-ts4.0/components/Counter/styles.d.ts +3 -3
- package/dist/types-ts4.0/components/EmojiButton/styles.d.ts +1 -1
- package/dist/types-ts4.0/components/FlashAnimation/styles.d.ts +5 -3
- package/dist/types-ts4.0/components/Reaction/styles.d.ts +4 -4
- package/dist/types-ts4.0/components/ReactionPicker/ReactionPicker.d.ts +2 -5
- package/dist/types-ts4.0/components/ReactionPicker/styles.d.ts +3 -3
- package/dist/types-ts4.0/components/ReactionTooltip/styles.d.ts +3 -3
- package/dist/types-ts4.0/components/Reactions/Reactions.d.ts +8 -15
- package/dist/types-ts4.0/components/Reactions/index.d.ts +1 -1
- package/dist/types-ts4.0/components/Reactions/styles.d.ts +2 -2
- package/dist/types-ts4.0/components/Selector/Selector.d.ts +1 -1
- package/dist/types-ts4.0/components/Selector/styles.d.ts +6 -4
- package/dist/types-ts4.0/components/ShowMore/ShowMore.d.ts +2 -1
- package/dist/types-ts4.0/components/ShowMore/index.d.ts +1 -1
- package/dist/types-ts4.0/components/ShowMore/styles.d.ts +3 -3
- package/dist/types-ts4.0/components/Trigger/Trigger.d.ts +14 -2
- package/dist/types-ts4.0/components/Trigger/index.d.ts +1 -1
- package/dist/types-ts4.0/components/Trigger/styles.d.ts +1 -1
- package/dist/types-ts4.0/containers/ConnectedReactionsView/ConnectedReactionsView.d.ts +3 -3
- package/dist/types-ts4.0/hooks/useClickAway.d.ts +2 -1
- package/dist/types-ts4.0/shared/constants.d.ts +8 -0
- package/dist/types-ts4.0/shared/i18n.d.ts +10 -0
- package/dist/types-ts4.0/types/Actions.d.ts +2 -2
- package/dist/types-ts4.0/types/index.d.ts +1 -1
- package/dist/types-ts4.0/types/reaction.d.ts +19 -1
- package/package.json +11 -9
|
@@ -9,17 +9,15 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
9
9
|
});
|
|
10
10
|
exports.ReactionPicker = exports.RENDER_REACTIONPICKER_TESTID = void 0;
|
|
11
11
|
|
|
12
|
-
var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"));
|
|
13
|
-
|
|
14
12
|
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
|
15
13
|
|
|
16
|
-
var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
|
|
17
|
-
|
|
18
14
|
var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
|
|
19
15
|
|
|
20
16
|
var _react = _interopRequireWildcard(require("react"));
|
|
21
17
|
|
|
22
|
-
var
|
|
18
|
+
var _react2 = require("@emotion/react");
|
|
19
|
+
|
|
20
|
+
var _reactIntlNext = require("react-intl-next");
|
|
23
21
|
|
|
24
22
|
var _picker = require("@atlaskit/emoji/picker");
|
|
25
23
|
|
|
@@ -33,6 +31,8 @@ var _Trigger = require("../Trigger");
|
|
|
33
31
|
|
|
34
32
|
var _analytics = require("../../analytics");
|
|
35
33
|
|
|
34
|
+
var _shared = require("../../shared");
|
|
35
|
+
|
|
36
36
|
var _hooks = require("../../hooks");
|
|
37
37
|
|
|
38
38
|
var styles = _interopRequireWildcard(require("./styles"));
|
|
@@ -49,7 +49,12 @@ function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { va
|
|
|
49
49
|
* Test id for wrapper ReactionPicker div
|
|
50
50
|
*/
|
|
51
51
|
var RENDER_REACTIONPICKER_TESTID = 'reactionPicker-testid';
|
|
52
|
+
/**
|
|
53
|
+
* Emoji Picker Controller Id for Accessibility Labels
|
|
54
|
+
*/
|
|
55
|
+
|
|
52
56
|
exports.RENDER_REACTIONPICKER_TESTID = RENDER_REACTIONPICKER_TESTID;
|
|
57
|
+
var PICKER_CONTROL_ID = 'emoji-picker';
|
|
53
58
|
var popperModifiers = [
|
|
54
59
|
/**
|
|
55
60
|
Removing this applyStyle modifier as it throws client errors ref:
|
|
@@ -91,7 +96,9 @@ var ReactionPicker = /*#__PURE__*/_react.default.memo(function (props) {
|
|
|
91
96
|
pickerQuickReactionEmojiIds = props.pickerQuickReactionEmojiIds,
|
|
92
97
|
onShowMore = props.onShowMore,
|
|
93
98
|
onOpen = props.onOpen,
|
|
94
|
-
onCancel = props.onCancel
|
|
99
|
+
onCancel = props.onCancel,
|
|
100
|
+
_props$tooltipContent = props.tooltipContent,
|
|
101
|
+
tooltipContent = _props$tooltipContent === void 0 ? (0, _react2.jsx)(_reactIntlNext.FormattedMessage, _shared.i18n.messages.addReaction) : _props$tooltipContent;
|
|
95
102
|
/**
|
|
96
103
|
* Container <div /> reference (used by custom hook to detect click outside)
|
|
97
104
|
*/
|
|
@@ -101,9 +108,7 @@ var ReactionPicker = /*#__PURE__*/_react.default.memo(function (props) {
|
|
|
101
108
|
* a function you can ask Popper to recompute your tooltip's position. It will directly call the Popper#update method
|
|
102
109
|
*/
|
|
103
110
|
|
|
104
|
-
var updatePopper = (0, _react.useRef)(
|
|
105
|
-
return Promise.resolve();
|
|
106
|
-
});
|
|
111
|
+
var updatePopper = (0, _react.useRef)();
|
|
107
112
|
|
|
108
113
|
var _useState = (0, _react.useState)({
|
|
109
114
|
/**
|
|
@@ -130,7 +135,7 @@ var ReactionPicker = /*#__PURE__*/_react.default.memo(function (props) {
|
|
|
130
135
|
}
|
|
131
136
|
|
|
132
137
|
close();
|
|
133
|
-
});
|
|
138
|
+
}, 'click', true);
|
|
134
139
|
/**
|
|
135
140
|
* Event callback when the picker is closed
|
|
136
141
|
* @param _id Optional id if an emoji button was selected or undefineed if was clicked outside the picker
|
|
@@ -145,7 +150,7 @@ var ReactionPicker = /*#__PURE__*/_react.default.memo(function (props) {
|
|
|
145
150
|
_analytics.UFO.PickerRender.abort({
|
|
146
151
|
metadata: {
|
|
147
152
|
emojiId: _id,
|
|
148
|
-
source: '
|
|
153
|
+
source: 'ReactionPicker',
|
|
149
154
|
reason: 'close dialog'
|
|
150
155
|
}
|
|
151
156
|
});
|
|
@@ -155,39 +160,17 @@ var ReactionPicker = /*#__PURE__*/_react.default.memo(function (props) {
|
|
|
155
160
|
* @param e event param
|
|
156
161
|
*/
|
|
157
162
|
|
|
158
|
-
var onSelectMoreClick = (0, _react.useCallback)(
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
// Update popper position
|
|
170
|
-
setSettings({
|
|
171
|
-
isOpen: true,
|
|
172
|
-
showFullPicker: true
|
|
173
|
-
});
|
|
174
|
-
|
|
175
|
-
if (onShowMore) {
|
|
176
|
-
onShowMore();
|
|
177
|
-
}
|
|
178
|
-
|
|
179
|
-
case 5:
|
|
180
|
-
case "end":
|
|
181
|
-
return _context.stop();
|
|
182
|
-
}
|
|
183
|
-
}
|
|
184
|
-
}, _callee);
|
|
185
|
-
}));
|
|
186
|
-
|
|
187
|
-
return function (_x) {
|
|
188
|
-
return _ref.apply(this, arguments);
|
|
189
|
-
};
|
|
190
|
-
}(), [onShowMore]);
|
|
163
|
+
var onSelectMoreClick = (0, _react.useCallback)(function (e) {
|
|
164
|
+
e.preventDefault();
|
|
165
|
+
setSettings({
|
|
166
|
+
isOpen: true,
|
|
167
|
+
showFullPicker: true
|
|
168
|
+
});
|
|
169
|
+
|
|
170
|
+
if (onShowMore) {
|
|
171
|
+
onShowMore();
|
|
172
|
+
}
|
|
173
|
+
}, [onShowMore]);
|
|
191
174
|
/**
|
|
192
175
|
* Event callback when an emoji icon is selected
|
|
193
176
|
* @param item selected item
|
|
@@ -222,44 +205,61 @@ var ReactionPicker = /*#__PURE__*/_react.default.memo(function (props) {
|
|
|
222
205
|
|
|
223
206
|
_analytics.UFO.PickerRender.success();
|
|
224
207
|
};
|
|
208
|
+
/**
|
|
209
|
+
* When picker is opened, re-calculate the picker position
|
|
210
|
+
*/
|
|
211
|
+
|
|
225
212
|
|
|
213
|
+
(0, _react.useEffect)(function () {
|
|
214
|
+
if (settings.isOpen) {
|
|
215
|
+
if (updatePopper.current) {
|
|
216
|
+
updatePopper.current();
|
|
217
|
+
}
|
|
218
|
+
}
|
|
219
|
+
}, [settings]);
|
|
226
220
|
var wrapperClassName = " ".concat(settings.isOpen ? 'isOpen' : '', " ").concat(miniMode ? 'miniMode' : '', " ").concat(className);
|
|
227
|
-
return (0,
|
|
221
|
+
return (0, _react2.jsx)("div", {
|
|
228
222
|
className: wrapperClassName,
|
|
229
223
|
css: styles.pickerStyle,
|
|
230
224
|
ref: wrapperRef,
|
|
231
225
|
"data-testid": RENDER_REACTIONPICKER_TESTID
|
|
232
|
-
}, (0,
|
|
233
|
-
var popperRef =
|
|
226
|
+
}, (0, _react2.jsx)(_popper.Manager, null, (0, _react2.jsx)(_popper.Reference, null, function (_ref) {
|
|
227
|
+
var popperRef = _ref.ref;
|
|
234
228
|
return (// Render a button to open the <Selector /> panel
|
|
235
|
-
(0,
|
|
229
|
+
(0, _react2.jsx)(_Trigger.Trigger, {
|
|
230
|
+
ariaAttributes: {
|
|
231
|
+
'aria-expanded': settings.isOpen,
|
|
232
|
+
'aria-controls': PICKER_CONTROL_ID
|
|
233
|
+
},
|
|
236
234
|
ref: popperRef,
|
|
237
235
|
onClick: onTriggerClick,
|
|
238
236
|
miniMode: miniMode,
|
|
239
|
-
disabled: disabled
|
|
237
|
+
disabled: disabled,
|
|
238
|
+
tooltipContent: tooltipContent
|
|
240
239
|
})
|
|
241
240
|
);
|
|
242
|
-
}), (0,
|
|
241
|
+
}), (0, _react2.jsx)(_popper.Popper, {
|
|
243
242
|
placement: "bottom-start",
|
|
244
243
|
modifiers: popperModifiers
|
|
245
|
-
}, function (
|
|
246
|
-
var ref =
|
|
247
|
-
style =
|
|
248
|
-
update =
|
|
244
|
+
}, function (_ref2) {
|
|
245
|
+
var ref = _ref2.ref,
|
|
246
|
+
style = _ref2.style,
|
|
247
|
+
update = _ref2.update;
|
|
249
248
|
updatePopper.current = update;
|
|
250
|
-
return (0,
|
|
249
|
+
return (0, _react2.jsx)(_react.Fragment, null, settings.isOpen && (0, _react2.jsx)("div", {
|
|
250
|
+
id: PICKER_CONTROL_ID,
|
|
251
251
|
style: _objectSpread({
|
|
252
252
|
zIndex: _constants.layers.layer()
|
|
253
253
|
}, style),
|
|
254
254
|
ref: ref
|
|
255
|
-
}, (0,
|
|
255
|
+
}, (0, _react2.jsx)("div", {
|
|
256
256
|
css: styles.popupStyle
|
|
257
|
-
}, settings.showFullPicker ? (0,
|
|
257
|
+
}, settings.showFullPicker ? (0, _react2.jsx)(_picker.EmojiPicker, {
|
|
258
258
|
emojiProvider: emojiProvider,
|
|
259
259
|
onSelection: onEmojiSelected
|
|
260
|
-
}) : (0,
|
|
260
|
+
}) : (0, _react2.jsx)("div", {
|
|
261
261
|
css: styles.contentStyle
|
|
262
|
-
}, (0,
|
|
262
|
+
}, (0, _react2.jsx)(_Selector.Selector, {
|
|
263
263
|
emojiProvider: emojiProvider,
|
|
264
264
|
onSelection: onEmojiSelected,
|
|
265
265
|
showMore: allowAllEmojis,
|
|
@@ -5,7 +5,7 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
5
5
|
});
|
|
6
6
|
exports.popupStyle = exports.pickerStyle = exports.contentStyle = void 0;
|
|
7
7
|
|
|
8
|
-
var
|
|
8
|
+
var _react = require("@emotion/react");
|
|
9
9
|
|
|
10
10
|
var _constants = require("@atlaskit/theme/constants");
|
|
11
11
|
|
|
@@ -14,7 +14,7 @@ var _colors = require("@atlaskit/theme/colors");
|
|
|
14
14
|
var _tokens = require("@atlaskit/tokens");
|
|
15
15
|
|
|
16
16
|
/** @jsx jsx */
|
|
17
|
-
var pickerStyle = (0,
|
|
17
|
+
var pickerStyle = (0, _react.css)({
|
|
18
18
|
verticalAlign: 'middle',
|
|
19
19
|
'&.miniMode': {
|
|
20
20
|
display: 'inline-block',
|
|
@@ -22,16 +22,18 @@ var pickerStyle = (0, _core.css)({
|
|
|
22
22
|
}
|
|
23
23
|
});
|
|
24
24
|
exports.pickerStyle = pickerStyle;
|
|
25
|
-
var contentStyle = (0,
|
|
25
|
+
var contentStyle = (0, _react.css)({
|
|
26
26
|
display: 'flex'
|
|
27
27
|
});
|
|
28
28
|
exports.contentStyle = contentStyle;
|
|
29
|
-
var popupStyle = (0,
|
|
29
|
+
var popupStyle = (0, _react.css)({
|
|
30
30
|
background: (0, _tokens.token)('elevation.surface.overlay', _colors.N0),
|
|
31
31
|
borderRadius: "".concat((0, _constants.borderRadius)(), "px"),
|
|
32
32
|
boxShadow: (0, _tokens.token)('elevation.shadow.overlay', "0 4px 8px -2px ".concat(_colors.N50A, ", 0 0 1px ").concat(_colors.N60A)),
|
|
33
33
|
'&> div': {
|
|
34
|
-
boxShadow: undefined
|
|
34
|
+
boxShadow: undefined,
|
|
35
|
+
marginTop: '4px',
|
|
36
|
+
marginBottom: '4px'
|
|
35
37
|
}
|
|
36
38
|
});
|
|
37
39
|
exports.popupStyle = popupStyle;
|
|
@@ -13,7 +13,7 @@ var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends")
|
|
|
13
13
|
|
|
14
14
|
var _react = _interopRequireDefault(require("react"));
|
|
15
15
|
|
|
16
|
-
var
|
|
16
|
+
var _react2 = require("@emotion/react");
|
|
17
17
|
|
|
18
18
|
var _tooltip = _interopRequireDefault(require("@atlaskit/tooltip"));
|
|
19
19
|
|
|
@@ -46,25 +46,25 @@ var ReactionTooltip = function ReactionTooltip(_ref) {
|
|
|
46
46
|
/**
|
|
47
47
|
* Render list of users in the tooltip box
|
|
48
48
|
*/
|
|
49
|
-
var content = !users || users.length === 0 ? null : (0,
|
|
49
|
+
var content = !users || users.length === 0 ? null : (0, _react2.jsx)("div", {
|
|
50
50
|
css: styles.tooltipStyle
|
|
51
|
-
}, (0,
|
|
51
|
+
}, (0, _react2.jsx)("ul", null, emojiName ? (0, _react2.jsx)("li", {
|
|
52
52
|
css: styles.emojiNameStyle
|
|
53
53
|
}, emojiName) : null, users.slice(0, maxReactions).map(function (user, index) {
|
|
54
|
-
return (0,
|
|
54
|
+
return (0, _react2.jsx)("li", {
|
|
55
55
|
key: index
|
|
56
56
|
}, user.displayName);
|
|
57
|
-
}), users.length > maxReactions ? (0,
|
|
57
|
+
}), users.length > maxReactions ? (0, _react2.jsx)("li", {
|
|
58
58
|
css: styles.footerStyle
|
|
59
|
-
}, (0,
|
|
59
|
+
}, (0, _react2.jsx)(_reactIntlNext.FormattedMessage, (0, _extends2.default)({}, _shared.i18n.messages.otherUsers, {
|
|
60
60
|
values: {
|
|
61
61
|
count: users.length - maxReactions
|
|
62
62
|
}
|
|
63
63
|
}))) : null));
|
|
64
|
-
return (0,
|
|
64
|
+
return (0, _react2.jsx)(_tooltip.default, {
|
|
65
65
|
content: content,
|
|
66
66
|
position: "bottom",
|
|
67
|
-
|
|
67
|
+
testId: RENDER_REACTIONTOOLTIP_TESTID
|
|
68
68
|
}, _react.default.Children.only(children));
|
|
69
69
|
};
|
|
70
70
|
|
|
@@ -5,7 +5,7 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
5
5
|
});
|
|
6
6
|
exports.verticalMargin = exports.tooltipStyle = exports.footerStyle = exports.emojiNameStyle = void 0;
|
|
7
7
|
|
|
8
|
-
var
|
|
8
|
+
var _react = require("@emotion/react");
|
|
9
9
|
|
|
10
10
|
var _tokens = require("@atlaskit/tokens");
|
|
11
11
|
|
|
@@ -14,7 +14,7 @@ var _colors = require("@atlaskit/theme/colors");
|
|
|
14
14
|
/** @jsx jsx */
|
|
15
15
|
var verticalMargin = 5;
|
|
16
16
|
exports.verticalMargin = verticalMargin;
|
|
17
|
-
var tooltipStyle = (0,
|
|
17
|
+
var tooltipStyle = (0, _react.css)({
|
|
18
18
|
maxWidth: '150px',
|
|
19
19
|
textOverflow: 'ellipsis',
|
|
20
20
|
whiteSpace: 'nowrap',
|
|
@@ -33,13 +33,13 @@ var tooltipStyle = (0, _core.css)({
|
|
|
33
33
|
}
|
|
34
34
|
});
|
|
35
35
|
exports.tooltipStyle = tooltipStyle;
|
|
36
|
-
var emojiNameStyle = (0,
|
|
36
|
+
var emojiNameStyle = (0, _react.css)({
|
|
37
37
|
textTransform: 'capitalize',
|
|
38
38
|
color: (0, _tokens.token)('color.text.inverse', _colors.N90),
|
|
39
39
|
fontWeight: 600
|
|
40
40
|
});
|
|
41
41
|
exports.emojiNameStyle = emojiNameStyle;
|
|
42
|
-
var footerStyle = (0,
|
|
42
|
+
var footerStyle = (0, _react.css)({
|
|
43
43
|
color: (0, _tokens.token)('color.text.inverse', _colors.N90),
|
|
44
44
|
fontWeight: 300
|
|
45
45
|
});
|
|
@@ -1,22 +1,19 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
|
-
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
-
|
|
5
3
|
var _typeof = require("@babel/runtime/helpers/typeof");
|
|
6
4
|
|
|
7
5
|
Object.defineProperty(exports, "__esModule", {
|
|
8
6
|
value: true
|
|
9
7
|
});
|
|
10
|
-
exports.Reactions = exports.
|
|
8
|
+
exports.Reactions = exports.RENDER_REACTIONS_TESTID = void 0;
|
|
9
|
+
exports.getTooltip = getTooltip;
|
|
11
10
|
|
|
12
11
|
var _react = _interopRequireWildcard(require("react"));
|
|
13
12
|
|
|
14
|
-
var
|
|
13
|
+
var _react2 = require("@emotion/react");
|
|
15
14
|
|
|
16
15
|
var _analyticsNext = require("@atlaskit/analytics-next");
|
|
17
16
|
|
|
18
|
-
var _tooltip = _interopRequireDefault(require("@atlaskit/tooltip"));
|
|
19
|
-
|
|
20
17
|
var _reactIntlNext = require("react-intl-next");
|
|
21
18
|
|
|
22
19
|
var _analytics = require("../../analytics");
|
|
@@ -41,26 +38,40 @@ function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj &&
|
|
|
41
38
|
* Test id for wrapper Reactions div
|
|
42
39
|
*/
|
|
43
40
|
var RENDER_REACTIONS_TESTID = 'render-reactions';
|
|
41
|
+
exports.RENDER_REACTIONS_TESTID = RENDER_REACTIONS_TESTID;
|
|
42
|
+
|
|
44
43
|
/**
|
|
45
|
-
*
|
|
44
|
+
* Get content of the tooltip
|
|
46
45
|
*/
|
|
46
|
+
function getTooltip(status, errorMessage) {
|
|
47
|
+
switch (status) {
|
|
48
|
+
case _types.ReactionStatus.error:
|
|
49
|
+
return errorMessage || (0, _react2.jsx)(_reactIntlNext.FormattedMessage, _shared.i18n.messages.unexpectedError);
|
|
50
|
+
// When reaction is not available don't show any tooltip (e.g. Archive page in Confluence)
|
|
47
51
|
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
52
|
+
case _types.ReactionStatus.disabled:
|
|
53
|
+
return null;
|
|
54
|
+
|
|
55
|
+
case _types.ReactionStatus.notLoaded:
|
|
56
|
+
case _types.ReactionStatus.loading:
|
|
57
|
+
return (0, _react2.jsx)(_reactIntlNext.FormattedMessage, _shared.i18n.messages.loadingReactions);
|
|
51
58
|
|
|
59
|
+
case _types.ReactionStatus.ready:
|
|
60
|
+
return (0, _react2.jsx)(_reactIntlNext.FormattedMessage, _shared.i18n.messages.addReaction);
|
|
61
|
+
}
|
|
62
|
+
}
|
|
52
63
|
/**
|
|
53
64
|
* Renders list of reactions
|
|
54
65
|
*/
|
|
66
|
+
|
|
67
|
+
|
|
55
68
|
var Reactions = /*#__PURE__*/_react.default.memo(function (_ref) {
|
|
56
69
|
var _ref$flash = _ref.flash,
|
|
57
70
|
flash = _ref$flash === void 0 ? {} : _ref$flash,
|
|
58
71
|
status = _ref.status,
|
|
59
72
|
errorMessage = _ref.errorMessage,
|
|
60
73
|
loadReaction = _ref.loadReaction,
|
|
61
|
-
|
|
62
|
-
containerAri = _ref.containerAri,
|
|
63
|
-
ari = _ref.ari,
|
|
74
|
+
quickReactionEmojis = _ref.quickReactionEmojis,
|
|
64
75
|
pickerQuickReactionEmojiIds = _ref.pickerQuickReactionEmojiIds,
|
|
65
76
|
onReactionHover = _ref.onReactionHover,
|
|
66
77
|
onSelection = _ref.onSelection,
|
|
@@ -92,23 +103,6 @@ var Reactions = /*#__PURE__*/_react.default.memo(function (_ref) {
|
|
|
92
103
|
renderTime.current = undefined;
|
|
93
104
|
}
|
|
94
105
|
}, [createAnalyticsEvent, status]);
|
|
95
|
-
/**
|
|
96
|
-
* Get content of the tooltip
|
|
97
|
-
*/
|
|
98
|
-
|
|
99
|
-
var getTooltip = function getTooltip() {
|
|
100
|
-
switch (status) {
|
|
101
|
-
case _types.ReactionStatus.error:
|
|
102
|
-
return errorMessage || (0, _core.jsx)(_reactIntlNext.FormattedMessage, _shared.i18n.messages.unexpectedError);
|
|
103
|
-
|
|
104
|
-
case _types.ReactionStatus.loading:
|
|
105
|
-
case _types.ReactionStatus.notLoaded:
|
|
106
|
-
return (0, _core.jsx)(_reactIntlNext.FormattedMessage, _shared.i18n.messages.loadingReactions);
|
|
107
|
-
|
|
108
|
-
default:
|
|
109
|
-
return undefined;
|
|
110
|
-
}
|
|
111
|
-
};
|
|
112
106
|
|
|
113
107
|
var handleReactionMouseEnter = function handleReactionMouseEnter(summary) {
|
|
114
108
|
if (onReactionHover) {
|
|
@@ -147,12 +141,15 @@ var Reactions = /*#__PURE__*/_react.default.memo(function (_ref) {
|
|
|
147
141
|
/**
|
|
148
142
|
* If reactions not empty, don't show quick reactions Pre defined emoji or if its empty => return the current list of reactions
|
|
149
143
|
*/
|
|
150
|
-
if (reactions.length > 0 || !
|
|
144
|
+
if (reactions.length > 0 || !quickReactionEmojis) {
|
|
151
145
|
return reactions;
|
|
152
146
|
} // add any missing default reactions
|
|
153
147
|
|
|
154
148
|
|
|
155
|
-
var
|
|
149
|
+
var ari = quickReactionEmojis.ari,
|
|
150
|
+
containerAri = quickReactionEmojis.containerAri,
|
|
151
|
+
emojiIds = quickReactionEmojis.emojiIds;
|
|
152
|
+
var items = emojiIds.filter(function (emojiId) {
|
|
156
153
|
return !reactions.some(function (reaction) {
|
|
157
154
|
return reaction.emojiId === emojiId;
|
|
158
155
|
});
|
|
@@ -166,12 +163,12 @@ var Reactions = /*#__PURE__*/_react.default.memo(function (_ref) {
|
|
|
166
163
|
};
|
|
167
164
|
});
|
|
168
165
|
return reactions.concat(items);
|
|
169
|
-
}, [
|
|
170
|
-
return (0,
|
|
166
|
+
}, [quickReactionEmojis, reactions]);
|
|
167
|
+
return (0, _react2.jsx)("div", {
|
|
171
168
|
css: styles.wrapperStyle,
|
|
172
169
|
"data-testid": RENDER_REACTIONS_TESTID
|
|
173
170
|
}, memorizedReactions.map(function (reaction) {
|
|
174
|
-
return (0,
|
|
171
|
+
return (0, _react2.jsx)(_Reaction.Reaction, {
|
|
175
172
|
key: reaction.emojiId,
|
|
176
173
|
css: styles.reactionStyle,
|
|
177
174
|
reaction: reaction,
|
|
@@ -180,10 +177,7 @@ var Reactions = /*#__PURE__*/_react.default.memo(function (_ref) {
|
|
|
180
177
|
onMouseEnter: handleReactionMouseEnter,
|
|
181
178
|
flash: flash[reaction.emojiId]
|
|
182
179
|
});
|
|
183
|
-
}), (0,
|
|
184
|
-
testId: RENDER_TOOLTIP_TESTID,
|
|
185
|
-
content: getTooltip()
|
|
186
|
-
}, (0, _core.jsx)(_ReactionPicker.ReactionPicker, {
|
|
180
|
+
}), (0, _react2.jsx)(_ReactionPicker.ReactionPicker, {
|
|
187
181
|
css: styles.reactionStyle,
|
|
188
182
|
emojiProvider: emojiProvider,
|
|
189
183
|
miniMode: true,
|
|
@@ -193,8 +187,9 @@ var Reactions = /*#__PURE__*/_react.default.memo(function (_ref) {
|
|
|
193
187
|
onSelection: handleOnSelection,
|
|
194
188
|
onOpen: handlePickerOpen,
|
|
195
189
|
onCancel: handleOnCancel,
|
|
196
|
-
onShowMore: handleOnMore
|
|
197
|
-
|
|
190
|
+
onShowMore: handleOnMore,
|
|
191
|
+
tooltipContent: getTooltip(status, errorMessage)
|
|
192
|
+
}));
|
|
198
193
|
});
|
|
199
194
|
|
|
200
195
|
exports.Reactions = Reactions;
|
|
@@ -9,12 +9,6 @@ Object.defineProperty(exports, "RENDER_REACTIONS_TESTID", {
|
|
|
9
9
|
return _Reactions.RENDER_REACTIONS_TESTID;
|
|
10
10
|
}
|
|
11
11
|
});
|
|
12
|
-
Object.defineProperty(exports, "RENDER_TOOLTIP_TESTID", {
|
|
13
|
-
enumerable: true,
|
|
14
|
-
get: function get() {
|
|
15
|
-
return _Reactions.RENDER_TOOLTIP_TESTID;
|
|
16
|
-
}
|
|
17
|
-
});
|
|
18
12
|
Object.defineProperty(exports, "Reactions", {
|
|
19
13
|
enumerable: true,
|
|
20
14
|
get: function get() {
|
|
@@ -5,16 +5,16 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
5
5
|
});
|
|
6
6
|
exports.wrapperStyle = exports.reactionStyle = void 0;
|
|
7
7
|
|
|
8
|
-
var
|
|
8
|
+
var _react = require("@emotion/react");
|
|
9
9
|
|
|
10
10
|
/** @jsx jsx */
|
|
11
|
-
var reactionStyle = (0,
|
|
11
|
+
var reactionStyle = (0, _react.css)({
|
|
12
12
|
display: 'inline-block',
|
|
13
13
|
// top margin of 2px to allow spacing between rows when wrapped (paired with top margin in reactionsStyle)
|
|
14
14
|
margin: '2px 4px 0 4px'
|
|
15
15
|
});
|
|
16
16
|
exports.reactionStyle = reactionStyle;
|
|
17
|
-
var wrapperStyle = (0,
|
|
17
|
+
var wrapperStyle = (0, _react.css)({
|
|
18
18
|
display: 'flex',
|
|
19
19
|
flexWrap: 'wrap',
|
|
20
20
|
position: 'relative',
|
|
@@ -13,7 +13,7 @@ var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/sli
|
|
|
13
13
|
|
|
14
14
|
var _react = _interopRequireWildcard(require("react"));
|
|
15
15
|
|
|
16
|
-
var
|
|
16
|
+
var _react2 = require("@emotion/react");
|
|
17
17
|
|
|
18
18
|
var _tooltip = _interopRequireDefault(require("@atlaskit/tooltip"));
|
|
19
19
|
|
|
@@ -102,24 +102,24 @@ var Selector = function Selector(_ref) {
|
|
|
102
102
|
var renderEmoji = function renderEmoji(emoji, index) {
|
|
103
103
|
var _emoji$id;
|
|
104
104
|
|
|
105
|
-
return (0,
|
|
105
|
+
return (0, _react2.jsx)("div", {
|
|
106
106
|
key: (_emoji$id = emoji.id) !== null && _emoji$id !== void 0 ? _emoji$id : emoji.shortName,
|
|
107
107
|
className: emoji === selection ? 'selected' : undefined,
|
|
108
108
|
css: [styles.emojiStyle, styles.revealStyle],
|
|
109
109
|
style: emojiStyleAnimation(index),
|
|
110
110
|
"data-testid": RENDER_SELECTOR_TESTID
|
|
111
|
-
}, (0,
|
|
111
|
+
}, (0, _react2.jsx)(_tooltip.default, {
|
|
112
112
|
content: emoji.shortName
|
|
113
|
-
}, (0,
|
|
113
|
+
}, (0, _react2.jsx)(_EmojiButton.EmojiButton, {
|
|
114
114
|
emojiId: emoji,
|
|
115
115
|
emojiProvider: emojiProvider,
|
|
116
116
|
onClick: onSelected
|
|
117
117
|
})));
|
|
118
118
|
};
|
|
119
119
|
|
|
120
|
-
return (0,
|
|
120
|
+
return (0, _react2.jsx)("div", {
|
|
121
121
|
css: styles.selectorStyle
|
|
122
|
-
}, pickerQuickReactionEmojiIds ? pickerQuickReactionEmojiIds.map(renderEmoji) : null, showMore ? (0,
|
|
122
|
+
}, pickerQuickReactionEmojiIds ? pickerQuickReactionEmojiIds.map(renderEmoji) : null, showMore ? (0, _react2.jsx)(_ShowMore.ShowMore, {
|
|
123
123
|
key: "more",
|
|
124
124
|
buttonStyle: styles.revealStyle,
|
|
125
125
|
style: {
|
|
@@ -5,16 +5,16 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
5
5
|
});
|
|
6
6
|
exports.selectorStyle = exports.revealStyle = exports.revealAnimation = exports.emojiStyleAnimation = exports.emojiStyle = void 0;
|
|
7
7
|
|
|
8
|
-
var
|
|
8
|
+
var _react = require("@emotion/react");
|
|
9
9
|
|
|
10
10
|
/** @jsx jsx */
|
|
11
|
-
var selectorStyle = (0,
|
|
11
|
+
var selectorStyle = (0, _react.css)({
|
|
12
12
|
boxSizing: 'border-box',
|
|
13
13
|
display: 'flex',
|
|
14
14
|
padding: 0
|
|
15
15
|
});
|
|
16
16
|
exports.selectorStyle = selectorStyle;
|
|
17
|
-
var emojiStyle = (0,
|
|
17
|
+
var emojiStyle = (0, _react.css)({
|
|
18
18
|
display: 'inline-block',
|
|
19
19
|
opacity: 0,
|
|
20
20
|
'&.selected': {
|
|
@@ -23,7 +23,7 @@ var emojiStyle = (0, _core.css)({
|
|
|
23
23
|
}
|
|
24
24
|
});
|
|
25
25
|
exports.emojiStyle = emojiStyle;
|
|
26
|
-
var revealAnimation = (0,
|
|
26
|
+
var revealAnimation = (0, _react.keyframes)({
|
|
27
27
|
'0%': {
|
|
28
28
|
opacity: 1,
|
|
29
29
|
transform: 'scale(0.5)'
|
|
@@ -37,7 +37,7 @@ var revealAnimation = (0, _core.keyframes)({
|
|
|
37
37
|
}
|
|
38
38
|
});
|
|
39
39
|
exports.revealAnimation = revealAnimation;
|
|
40
|
-
var revealStyle = (0,
|
|
40
|
+
var revealStyle = (0, _react.css)({
|
|
41
41
|
animation: "".concat(revealAnimation, " 150ms ease-in-out forwards")
|
|
42
42
|
});
|
|
43
43
|
/**
|
|
@@ -7,11 +7,11 @@ var _typeof = require("@babel/runtime/helpers/typeof");
|
|
|
7
7
|
Object.defineProperty(exports, "__esModule", {
|
|
8
8
|
value: true
|
|
9
9
|
});
|
|
10
|
-
exports.ShowMore = exports.RENDER_SHOWMORE_TESTID = void 0;
|
|
10
|
+
exports.ShowMore = exports.RENDER_WRAPPER_TESTID = exports.RENDER_SHOWMORE_TESTID = void 0;
|
|
11
11
|
|
|
12
12
|
var _react = _interopRequireDefault(require("react"));
|
|
13
13
|
|
|
14
|
-
var
|
|
14
|
+
var _react2 = require("@emotion/react");
|
|
15
15
|
|
|
16
16
|
var _reactIntlNext = require("react-intl-next");
|
|
17
17
|
|
|
@@ -34,6 +34,8 @@ function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj &&
|
|
|
34
34
|
*/
|
|
35
35
|
var RENDER_SHOWMORE_TESTID = 'show-more-button';
|
|
36
36
|
exports.RENDER_SHOWMORE_TESTID = RENDER_SHOWMORE_TESTID;
|
|
37
|
+
var RENDER_WRAPPER_TESTID = 'show-more-wrapper';
|
|
38
|
+
exports.RENDER_WRAPPER_TESTID = RENDER_WRAPPER_TESTID;
|
|
37
39
|
|
|
38
40
|
/**
|
|
39
41
|
* Show more custom emojis button
|
|
@@ -45,24 +47,25 @@ var ShowMore = function ShowMore(_ref) {
|
|
|
45
47
|
_ref$className = _ref.className,
|
|
46
48
|
className = _ref$className === void 0 ? {} : _ref$className,
|
|
47
49
|
buttonStyle = _ref.buttonStyle;
|
|
48
|
-
return (0,
|
|
50
|
+
return (0, _react2.jsx)("div", {
|
|
49
51
|
className: className.container,
|
|
50
52
|
css: styles.moreEmojiContainerStyle,
|
|
51
|
-
style: style.container
|
|
52
|
-
|
|
53
|
+
style: style.container,
|
|
54
|
+
"data-testid": RENDER_WRAPPER_TESTID
|
|
55
|
+
}, (0, _react2.jsx)("div", {
|
|
53
56
|
css: styles.separatorStyle
|
|
54
|
-
}), (0,
|
|
55
|
-
return (0,
|
|
57
|
+
}), (0, _react2.jsx)(_reactIntlNext.FormattedMessage, _shared.i18n.messages.moreEmoji, function (message) {
|
|
58
|
+
return (0, _react2.jsx)(_tooltip.default, {
|
|
56
59
|
content: message
|
|
57
|
-
}, (0,
|
|
60
|
+
}, (0, _react2.jsx)("button", {
|
|
58
61
|
className: className.button,
|
|
59
62
|
css: [styles.moreButtonStyle, buttonStyle],
|
|
60
|
-
|
|
63
|
+
"aria-label": _shared.i18n.messages.moreEmoji.defaultMessage,
|
|
61
64
|
type: "button",
|
|
62
65
|
style: style.button,
|
|
63
66
|
onMouseDown: onClick,
|
|
64
67
|
"data-testid": RENDER_SHOWMORE_TESTID
|
|
65
|
-
}, (0,
|
|
68
|
+
}, (0, _react2.jsx)(_more.default, {
|
|
66
69
|
label: "More"
|
|
67
70
|
})));
|
|
68
71
|
}));
|
|
@@ -9,6 +9,12 @@ Object.defineProperty(exports, "RENDER_SHOWMORE_TESTID", {
|
|
|
9
9
|
return _ShowMore.RENDER_SHOWMORE_TESTID;
|
|
10
10
|
}
|
|
11
11
|
});
|
|
12
|
+
Object.defineProperty(exports, "RENDER_WRAPPER_TESTID", {
|
|
13
|
+
enumerable: true,
|
|
14
|
+
get: function get() {
|
|
15
|
+
return _ShowMore.RENDER_WRAPPER_TESTID;
|
|
16
|
+
}
|
|
17
|
+
});
|
|
12
18
|
Object.defineProperty(exports, "ShowMore", {
|
|
13
19
|
enumerable: true,
|
|
14
20
|
get: function get() {
|