@atlaskit/editor-plugin-find-replace 3.2.3 → 3.2.5
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 +14 -0
- package/dist/cjs/ui/Find.js +2 -2
- package/dist/cjs/ui/FindReplace.js +58 -56
- package/dist/es2019/ui/Find.js +2 -2
- package/dist/es2019/ui/FindReplace.js +58 -56
- package/dist/esm/ui/Find.js +2 -2
- package/dist/esm/ui/FindReplace.js +58 -56
- package/package.json +2 -2
- package/styles/package.json +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,19 @@
|
|
|
1
1
|
# @atlaskit/editor-plugin-find-replace
|
|
2
2
|
|
|
3
|
+
## 3.2.5
|
|
4
|
+
|
|
5
|
+
### Patch Changes
|
|
6
|
+
|
|
7
|
+
- [`3d41d42ada6d5`](https://bitbucket.org/atlassian/atlassian-frontend-monorepo/commits/3d41d42ada6d5) -
|
|
8
|
+
[ED-28600] fix A11Y violations for screen reader announcements
|
|
9
|
+
- Updated dependencies
|
|
10
|
+
|
|
11
|
+
## 3.2.4
|
|
12
|
+
|
|
13
|
+
### Patch Changes
|
|
14
|
+
|
|
15
|
+
- Updated dependencies
|
|
16
|
+
|
|
3
17
|
## 3.2.3
|
|
4
18
|
|
|
5
19
|
### Patch Changes
|
package/dist/cjs/ui/Find.js
CHANGED
|
@@ -140,11 +140,11 @@ var Find = /*#__PURE__*/function (_React$Component) {
|
|
|
140
140
|
_this.props.onFind(_this.props.findText);
|
|
141
141
|
}
|
|
142
142
|
});
|
|
143
|
-
(0, _defineProperty2.default)(_this, "matchCaseIconEle", function () {
|
|
143
|
+
(0, _defineProperty2.default)(_this, "matchCaseIconEle", function (iconProps) {
|
|
144
144
|
return (0, _expValEquals.expValEquals)('platform_editor_find_and_replace_improvements', 'isEnabled', true) && (0, _platformFeatureFlags.fg)('platform_editor_find_and_replace_improvements_1') ? (0, _react2.jsx)(_textLetterCase.default, {
|
|
145
145
|
LEGACY_size: 'small',
|
|
146
146
|
LEGACY_fallbackIcon: _textStyle.default,
|
|
147
|
-
label: _this.matchCase,
|
|
147
|
+
label: (0, _expValEquals.expValEquals)('platform_editor_find_replace_a11y_fixes', 'isEnabled', true) ? iconProps.label : _this.matchCase,
|
|
148
148
|
size: "small"
|
|
149
149
|
}) : (0, _react2.jsx)(_textStyleEmojiKeyboard.default, {
|
|
150
150
|
LEGACY_size: 'small',
|
|
@@ -123,63 +123,65 @@ var FindReplace = /*#__PURE__*/function (_React$PureComponent) {
|
|
|
123
123
|
shouldMatchCase = _this$props.shouldMatchCase,
|
|
124
124
|
onToggleMatchCase = _this$props.onToggleMatchCase;
|
|
125
125
|
var focusToolbarButton = this.props.focusToolbarButton || function () {};
|
|
126
|
-
return (
|
|
126
|
+
return (0, _react2.jsx)("div", {
|
|
127
|
+
role: (0, _expValEquals.expValEquals)('platform_editor_find_replace_a11y_fixes', 'isEnabled', true) ? 'dialog' : undefined,
|
|
128
|
+
"aria-label": (0, _expValEquals.expValEquals)('platform_editor_find_replace_a11y_fixes', 'isEnabled', true) ? 'Find and Replace' : undefined,
|
|
129
|
+
"aria-modal": (0, _expValEquals.expValEquals)('platform_editor_find_replace_a11y_fixes', 'isEnabled', true) ? false : undefined,
|
|
130
|
+
ref: this.modalRef
|
|
127
131
|
// eslint-disable-next-line @atlaskit/ui-styling-standard/no-imported-style-values -- Ignored via go/DSP-18766
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
}))
|
|
182
|
-
);
|
|
132
|
+
,
|
|
133
|
+
css: [_uiStyles.wrapperStyles, _uiStyles.wrapperPaddingStyles]
|
|
134
|
+
}, (0, _react2.jsx)(_Find.default, {
|
|
135
|
+
allowMatchCase: allowMatchCase,
|
|
136
|
+
shouldMatchCase: shouldMatchCase,
|
|
137
|
+
onToggleMatchCase: onToggleMatchCase,
|
|
138
|
+
findText: findText,
|
|
139
|
+
count: count,
|
|
140
|
+
shouldFocus: shouldFocus,
|
|
141
|
+
onFind: onFind,
|
|
142
|
+
onFindBlur: onFindBlur,
|
|
143
|
+
onFindPrev: onFindPrev,
|
|
144
|
+
onFindNext: onFindNext,
|
|
145
|
+
onFindTextfieldRefSet: this.setFindTextfieldRef,
|
|
146
|
+
onCancel: onCancel,
|
|
147
|
+
onArrowDown: this.setFocusToReplace,
|
|
148
|
+
findTyped: this.state.findTyped,
|
|
149
|
+
setFindTyped: this.setFindTyped
|
|
150
|
+
}), (0, _react2.jsx)("hr", {
|
|
151
|
+
role: "presentation",
|
|
152
|
+
css: _uiStyles.ruleStyles,
|
|
153
|
+
id: "replace-hr-element"
|
|
154
|
+
}), (0, _platformFeatureFlags.fg)('editor_a11y_refactor_find_replace_style') ? (0, _react2.jsx)(_ReplaceNext.default, {
|
|
155
|
+
canReplace: (0, _expValEquals.expValEquals)('platform_editor_find_and_replace_improvements', 'isEnabled', true) ? !!isReplaceable : count.total > 0,
|
|
156
|
+
replaceText: replaceText,
|
|
157
|
+
onReplace: onReplace,
|
|
158
|
+
onReplaceAll: onReplaceAll,
|
|
159
|
+
onReplaceTextfieldRefSet: this.setReplaceTextfieldRef,
|
|
160
|
+
onArrowUp: this.setFocusToFind,
|
|
161
|
+
onCancel: onCancel,
|
|
162
|
+
count: count,
|
|
163
|
+
onFindPrev: onFindPrev,
|
|
164
|
+
onFindNext: onFindNext,
|
|
165
|
+
dispatchAnalyticsEvent: dispatchAnalyticsEvent,
|
|
166
|
+
findTyped: this.state.findTyped,
|
|
167
|
+
setFindTyped: this.setFindTyped,
|
|
168
|
+
focusToolbarButton: focusToolbarButton
|
|
169
|
+
}) : (0, _react2.jsx)(_Replace.default, {
|
|
170
|
+
canReplace: (0, _expValEquals.expValEquals)('platform_editor_find_and_replace_improvements', 'isEnabled', true) ? !!isReplaceable : count.total > 0,
|
|
171
|
+
replaceText: replaceText,
|
|
172
|
+
onReplace: onReplace,
|
|
173
|
+
onReplaceAll: onReplaceAll,
|
|
174
|
+
onReplaceTextfieldRefSet: this.setReplaceTextfieldRef,
|
|
175
|
+
onArrowUp: this.setFocusToFind,
|
|
176
|
+
onCancel: onCancel,
|
|
177
|
+
count: count,
|
|
178
|
+
onFindPrev: onFindPrev,
|
|
179
|
+
onFindNext: onFindNext,
|
|
180
|
+
dispatchAnalyticsEvent: dispatchAnalyticsEvent,
|
|
181
|
+
findTyped: this.state.findTyped,
|
|
182
|
+
setFindTyped: this.setFindTyped,
|
|
183
|
+
focusToolbarButton: focusToolbarButton
|
|
184
|
+
}));
|
|
183
185
|
}
|
|
184
186
|
}]);
|
|
185
187
|
}(_react.default.PureComponent);
|
package/dist/es2019/ui/Find.js
CHANGED
|
@@ -128,11 +128,11 @@ class Find extends React.Component {
|
|
|
128
128
|
this.props.onFind(this.props.findText);
|
|
129
129
|
}
|
|
130
130
|
});
|
|
131
|
-
_defineProperty(this, "matchCaseIconEle",
|
|
131
|
+
_defineProperty(this, "matchCaseIconEle", iconProps => {
|
|
132
132
|
return expValEquals('platform_editor_find_and_replace_improvements', 'isEnabled', true) && fg('platform_editor_find_and_replace_improvements_1') ? jsx(TextLetterCaseIcon, {
|
|
133
133
|
LEGACY_size: 'small',
|
|
134
134
|
LEGACY_fallbackIcon: EditorTextStyleIcon,
|
|
135
|
-
label: this.matchCase,
|
|
135
|
+
label: expValEquals('platform_editor_find_replace_a11y_fixes', 'isEnabled', true) ? iconProps.label : this.matchCase,
|
|
136
136
|
size: "small"
|
|
137
137
|
}) : jsx(MatchCaseIcon, {
|
|
138
138
|
LEGACY_size: 'small',
|
|
@@ -101,63 +101,65 @@ class FindReplace extends React.PureComponent {
|
|
|
101
101
|
onToggleMatchCase
|
|
102
102
|
} = this.props;
|
|
103
103
|
const focusToolbarButton = this.props.focusToolbarButton || (() => {});
|
|
104
|
-
return (
|
|
104
|
+
return jsx("div", {
|
|
105
|
+
role: expValEquals('platform_editor_find_replace_a11y_fixes', 'isEnabled', true) ? 'dialog' : undefined,
|
|
106
|
+
"aria-label": expValEquals('platform_editor_find_replace_a11y_fixes', 'isEnabled', true) ? 'Find and Replace' : undefined,
|
|
107
|
+
"aria-modal": expValEquals('platform_editor_find_replace_a11y_fixes', 'isEnabled', true) ? false : undefined,
|
|
108
|
+
ref: this.modalRef
|
|
105
109
|
// eslint-disable-next-line @atlaskit/ui-styling-standard/no-imported-style-values -- Ignored via go/DSP-18766
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
}))
|
|
160
|
-
);
|
|
110
|
+
,
|
|
111
|
+
css: [wrapperStyles, wrapperPaddingStyles]
|
|
112
|
+
}, jsx(Find, {
|
|
113
|
+
allowMatchCase: allowMatchCase,
|
|
114
|
+
shouldMatchCase: shouldMatchCase,
|
|
115
|
+
onToggleMatchCase: onToggleMatchCase,
|
|
116
|
+
findText: findText,
|
|
117
|
+
count: count,
|
|
118
|
+
shouldFocus: shouldFocus,
|
|
119
|
+
onFind: onFind,
|
|
120
|
+
onFindBlur: onFindBlur,
|
|
121
|
+
onFindPrev: onFindPrev,
|
|
122
|
+
onFindNext: onFindNext,
|
|
123
|
+
onFindTextfieldRefSet: this.setFindTextfieldRef,
|
|
124
|
+
onCancel: onCancel,
|
|
125
|
+
onArrowDown: this.setFocusToReplace,
|
|
126
|
+
findTyped: this.state.findTyped,
|
|
127
|
+
setFindTyped: this.setFindTyped
|
|
128
|
+
}), jsx("hr", {
|
|
129
|
+
role: "presentation",
|
|
130
|
+
css: ruleStyles,
|
|
131
|
+
id: "replace-hr-element"
|
|
132
|
+
}), fg('editor_a11y_refactor_find_replace_style') ? jsx(ReplaceNext, {
|
|
133
|
+
canReplace: expValEquals('platform_editor_find_and_replace_improvements', 'isEnabled', true) ? !!isReplaceable : count.total > 0,
|
|
134
|
+
replaceText: replaceText,
|
|
135
|
+
onReplace: onReplace,
|
|
136
|
+
onReplaceAll: onReplaceAll,
|
|
137
|
+
onReplaceTextfieldRefSet: this.setReplaceTextfieldRef,
|
|
138
|
+
onArrowUp: this.setFocusToFind,
|
|
139
|
+
onCancel: onCancel,
|
|
140
|
+
count: count,
|
|
141
|
+
onFindPrev: onFindPrev,
|
|
142
|
+
onFindNext: onFindNext,
|
|
143
|
+
dispatchAnalyticsEvent: dispatchAnalyticsEvent,
|
|
144
|
+
findTyped: this.state.findTyped,
|
|
145
|
+
setFindTyped: this.setFindTyped,
|
|
146
|
+
focusToolbarButton: focusToolbarButton
|
|
147
|
+
}) : jsx(Replace, {
|
|
148
|
+
canReplace: expValEquals('platform_editor_find_and_replace_improvements', 'isEnabled', true) ? !!isReplaceable : count.total > 0,
|
|
149
|
+
replaceText: replaceText,
|
|
150
|
+
onReplace: onReplace,
|
|
151
|
+
onReplaceAll: onReplaceAll,
|
|
152
|
+
onReplaceTextfieldRefSet: this.setReplaceTextfieldRef,
|
|
153
|
+
onArrowUp: this.setFocusToFind,
|
|
154
|
+
onCancel: onCancel,
|
|
155
|
+
count: count,
|
|
156
|
+
onFindPrev: onFindPrev,
|
|
157
|
+
onFindNext: onFindNext,
|
|
158
|
+
dispatchAnalyticsEvent: dispatchAnalyticsEvent,
|
|
159
|
+
findTyped: this.state.findTyped,
|
|
160
|
+
setFindTyped: this.setFindTyped,
|
|
161
|
+
focusToolbarButton: focusToolbarButton
|
|
162
|
+
}));
|
|
161
163
|
}
|
|
162
164
|
}
|
|
163
165
|
export default FindReplace;
|
package/dist/esm/ui/Find.js
CHANGED
|
@@ -137,11 +137,11 @@ var Find = /*#__PURE__*/function (_React$Component) {
|
|
|
137
137
|
_this.props.onFind(_this.props.findText);
|
|
138
138
|
}
|
|
139
139
|
});
|
|
140
|
-
_defineProperty(_this, "matchCaseIconEle", function () {
|
|
140
|
+
_defineProperty(_this, "matchCaseIconEle", function (iconProps) {
|
|
141
141
|
return expValEquals('platform_editor_find_and_replace_improvements', 'isEnabled', true) && fg('platform_editor_find_and_replace_improvements_1') ? jsx(TextLetterCaseIcon, {
|
|
142
142
|
LEGACY_size: 'small',
|
|
143
143
|
LEGACY_fallbackIcon: EditorTextStyleIcon,
|
|
144
|
-
label: _this.matchCase,
|
|
144
|
+
label: expValEquals('platform_editor_find_replace_a11y_fixes', 'isEnabled', true) ? iconProps.label : _this.matchCase,
|
|
145
145
|
size: "small"
|
|
146
146
|
}) : jsx(MatchCaseIcon, {
|
|
147
147
|
LEGACY_size: 'small',
|
|
@@ -121,63 +121,65 @@ var FindReplace = /*#__PURE__*/function (_React$PureComponent) {
|
|
|
121
121
|
shouldMatchCase = _this$props.shouldMatchCase,
|
|
122
122
|
onToggleMatchCase = _this$props.onToggleMatchCase;
|
|
123
123
|
var focusToolbarButton = this.props.focusToolbarButton || function () {};
|
|
124
|
-
return (
|
|
124
|
+
return jsx("div", {
|
|
125
|
+
role: expValEquals('platform_editor_find_replace_a11y_fixes', 'isEnabled', true) ? 'dialog' : undefined,
|
|
126
|
+
"aria-label": expValEquals('platform_editor_find_replace_a11y_fixes', 'isEnabled', true) ? 'Find and Replace' : undefined,
|
|
127
|
+
"aria-modal": expValEquals('platform_editor_find_replace_a11y_fixes', 'isEnabled', true) ? false : undefined,
|
|
128
|
+
ref: this.modalRef
|
|
125
129
|
// eslint-disable-next-line @atlaskit/ui-styling-standard/no-imported-style-values -- Ignored via go/DSP-18766
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
}))
|
|
180
|
-
);
|
|
130
|
+
,
|
|
131
|
+
css: [wrapperStyles, wrapperPaddingStyles]
|
|
132
|
+
}, jsx(Find, {
|
|
133
|
+
allowMatchCase: allowMatchCase,
|
|
134
|
+
shouldMatchCase: shouldMatchCase,
|
|
135
|
+
onToggleMatchCase: onToggleMatchCase,
|
|
136
|
+
findText: findText,
|
|
137
|
+
count: count,
|
|
138
|
+
shouldFocus: shouldFocus,
|
|
139
|
+
onFind: onFind,
|
|
140
|
+
onFindBlur: onFindBlur,
|
|
141
|
+
onFindPrev: onFindPrev,
|
|
142
|
+
onFindNext: onFindNext,
|
|
143
|
+
onFindTextfieldRefSet: this.setFindTextfieldRef,
|
|
144
|
+
onCancel: onCancel,
|
|
145
|
+
onArrowDown: this.setFocusToReplace,
|
|
146
|
+
findTyped: this.state.findTyped,
|
|
147
|
+
setFindTyped: this.setFindTyped
|
|
148
|
+
}), jsx("hr", {
|
|
149
|
+
role: "presentation",
|
|
150
|
+
css: ruleStyles,
|
|
151
|
+
id: "replace-hr-element"
|
|
152
|
+
}), fg('editor_a11y_refactor_find_replace_style') ? jsx(ReplaceNext, {
|
|
153
|
+
canReplace: expValEquals('platform_editor_find_and_replace_improvements', 'isEnabled', true) ? !!isReplaceable : count.total > 0,
|
|
154
|
+
replaceText: replaceText,
|
|
155
|
+
onReplace: onReplace,
|
|
156
|
+
onReplaceAll: onReplaceAll,
|
|
157
|
+
onReplaceTextfieldRefSet: this.setReplaceTextfieldRef,
|
|
158
|
+
onArrowUp: this.setFocusToFind,
|
|
159
|
+
onCancel: onCancel,
|
|
160
|
+
count: count,
|
|
161
|
+
onFindPrev: onFindPrev,
|
|
162
|
+
onFindNext: onFindNext,
|
|
163
|
+
dispatchAnalyticsEvent: dispatchAnalyticsEvent,
|
|
164
|
+
findTyped: this.state.findTyped,
|
|
165
|
+
setFindTyped: this.setFindTyped,
|
|
166
|
+
focusToolbarButton: focusToolbarButton
|
|
167
|
+
}) : jsx(Replace, {
|
|
168
|
+
canReplace: expValEquals('platform_editor_find_and_replace_improvements', 'isEnabled', true) ? !!isReplaceable : count.total > 0,
|
|
169
|
+
replaceText: replaceText,
|
|
170
|
+
onReplace: onReplace,
|
|
171
|
+
onReplaceAll: onReplaceAll,
|
|
172
|
+
onReplaceTextfieldRefSet: this.setReplaceTextfieldRef,
|
|
173
|
+
onArrowUp: this.setFocusToFind,
|
|
174
|
+
onCancel: onCancel,
|
|
175
|
+
count: count,
|
|
176
|
+
onFindPrev: onFindPrev,
|
|
177
|
+
onFindNext: onFindNext,
|
|
178
|
+
dispatchAnalyticsEvent: dispatchAnalyticsEvent,
|
|
179
|
+
findTyped: this.state.findTyped,
|
|
180
|
+
setFindTyped: this.setFindTyped,
|
|
181
|
+
focusToolbarButton: focusToolbarButton
|
|
182
|
+
}));
|
|
181
183
|
}
|
|
182
184
|
}]);
|
|
183
185
|
}(React.PureComponent);
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@atlaskit/editor-plugin-find-replace",
|
|
3
|
-
"version": "3.2.
|
|
3
|
+
"version": "3.2.5",
|
|
4
4
|
"description": "find replace plugin for @atlaskit/editor-core",
|
|
5
5
|
"author": "Atlassian Pty Ltd",
|
|
6
6
|
"license": "Apache-2.0",
|
|
@@ -48,7 +48,7 @@
|
|
|
48
48
|
"@atlaskit/primitives": "^14.11.0",
|
|
49
49
|
"@atlaskit/textfield": "^8.0.0",
|
|
50
50
|
"@atlaskit/theme": "^19.0.0",
|
|
51
|
-
"@atlaskit/tmp-editor-statsig": "^
|
|
51
|
+
"@atlaskit/tmp-editor-statsig": "^11.2.0",
|
|
52
52
|
"@atlaskit/tokens": "^6.0.0",
|
|
53
53
|
"@atlaskit/tooltip": "^20.4.0",
|
|
54
54
|
"@babel/runtime": "^7.0.0",
|